:root{--kim-font-sans:"DM Sans",system-ui,"Segoe UI",Roboto,sans-serif;--kim-font-mono:ui-monospace,"Cascadia Code","Segoe UI Mono",monospace;--kim-text-xs:0.75rem;--kim-text-sm:0.875rem;--kim-text-base:1rem;--kim-text-lg:1.125rem;--kim-font-normal:400;--kim-font-medium:500;--kim-font-semibold:600;--kim-font-bold:700;--kim-tracking-tight:-0.02em;--kim-tracking-wide:0.06em;--kim-brand:#166534;--kim-brand-hover:#14532d;--kim-brand-soft:#dcfce7;--kim-accent:#2563eb;--kim-accent-hover:#1d4ed8;--kim-accent-soft:#dbeafe;--kim-teal:#0d9488;--kim-teal-hover:#0f766e;--kim-teal-soft:#ccfbf1;--kim-bg:#f1f5f9;--kim-bg-subtle:#f8fafc;--kim-surface:#fff;--kim-border:#e2e8f0;--kim-border-strong:#cbd5e1;--kim-text:#0f172a;--kim-text-secondary:#475569;--kim-muted:#64748b;--kim-text-inverse:#fff;--kim-ok:#16a34a;--kim-ok-bg:#dcfce7;--kim-ok-border:#86efac;--kim-warn:#ca8a04;--kim-warn-bg:#fef9c3;--kim-warn-border:#fde047;--kim-danger:#dc2626;--kim-danger-bg:#fee2e2;--kim-danger-border:#fecaca;--kim-day:#16a34a;--kim-night:#ea580c;--kim-radius-sm:0.375rem;--kim-radius:0.5rem;--kim-radius-lg:0.75rem;--kim-radius-xl:1rem;--kim-radius-full:9999px;--kim-shadow-sm:0 1px 2px rgba(15,23,42,.04);--kim-shadow-card:0 1px 2px rgba(15,23,42,.04),0 8px 28px -12px rgba(15,23,42,.08);--kim-shadow-md:0 4px 12px -4px rgba(15,23,42,.1);--kim-shadow-lg:0 20px 40px -16px rgba(15,23,42,.18);--kim-shadow-modal:0 25px 50px -12px rgba(15,23,42,.25);--kim-focus-ring:0 0 0 3px rgba(37,99,235,.22);--kim-focus-ring-teal:0 0 0 3px rgba(13,148,136,.22);--kim-table-min-width:1040px;--kim-table-font-size:0.875rem;--kim-table-head-bg:linear-gradient(180deg,#f8fafc,#f1f5f9);--kim-table-head-color:#334155;--kim-table-cell-padding-y:1rem;--kim-table-cell-padding-x:1.125rem;--kim-table-row-border:#f3f4f6;--kim-table-row-hover:#f0f9ff;--kim-table-row-zebra:#fafbfc;--kim-badge-padding-y:0.28rem;--kim-badge-padding-x:0.55rem;--kim-badge-font-weight:800;--kim-badge-radius:var(--kim-radius-sm);--kim-modal-backdrop:rgba(15,23,42,.45);--kim-modal-radius:var(--kim-radius-xl);--kim-modal-max-width:28rem;--kim-modal-z:99999;--kim-sidebar-width:256px;--kim-sidebar-collapsed:72px;--kim-sidebar-bg:hsla(0,0%,100%,.94);--kim-sidebar-border:rgba(0,0,0,.06);--kim-sidebar-link-active-bg:rgba(37,99,235,.1);--kim-sidebar-link-active-color:var(--kim-accent);--kim-sidebar-top-offset:56px;--login-cover-overlay:linear-gradient(rgba(2,6,23,.52),rgba(2,6,23,.68));--login-cover-image:none;--login-splash-bg:linear-gradient(165deg,#020617,#0b1220 40%,#0f172a 70%,#111827);--login-page-bg:linear-gradient(165deg,#020617,#0f172a 35%,#1e293b 65%,#0f172a);--login-grid-color:rgba(148,163,184,.06);--login-glass-bg:rgba(15,23,42,.52);--login-glass-bg-strong:rgba(15,23,42,.72);--login-glass-border:rgba(148,163,184,.2);--login-glass-border-top:hsla(0,0%,100%,.12);--login-glass-shadow:0 32px 64px -16px rgba(0,0,0,.55),0 0 0 1px hsla(0,0%,100%,.04) inset;--login-text:#f1f5f9;--login-text-muted:#94a3b8;--login-input-bg:rgba(2,6,23,.45);--login-input-border:rgba(100,116,139,.35);--login-focus:rgba(45,212,191,.45);--login-accent-line:linear-gradient(90deg,transparent,var(--kim-teal),var(--kim-accent),transparent)}html.login-page,html.login-page body.login-page-body{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;color:var(--login-text);background-color:#020617;background-image:var(--login-page-bg);background-size:cover}.login-page-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.login-page-bg__photo{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block}.login-page-bg__overlay{position:absolute;inset:0;background:var(--login-cover-overlay)}.login-page-bg__grid{position:absolute;inset:0;background-image:linear-gradient(var(--login-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--login-grid-color) 1px,transparent 1px);background-size:40px 40px;opacity:.4}.login-splash{display:none;position:relative;z-index:50;background:transparent}.login-splash:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--login-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--login-grid-color) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 75%);pointer-events:none}.login-splash__logo-wrap{position:relative;z-index:1;animation:login-logo-in 1.25s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:scale(.88);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.14);box-shadow:0 0 40px rgba(13,148,136,.15)}.login-splash__typing{position:relative;z-index:1;min-height:1.5em;color:var(--login-text);text-shadow:0 0 24px rgba(45,212,191,.25)}.login-splash__cursor{display:inline-block;width:2px;height:1em;margin-left:4px;background:var(--kim-teal);vertical-align:text-bottom;animation:login-cursor-blink 1.15s ease-in-out infinite}.login-splash--out{animation:login-splash-out .9s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.login-root{position:relative;z-index:40;background:transparent;opacity:0;transform:translateY(16px);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),visibility .95s ease}.login-root:after{content:"";position:absolute;top:-20%;left:50%;width:120%;max-width:900px;height:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(13,148,136,.12) 0,transparent 65%);pointer-events:none}.login-root--hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px)}.login-root--visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.login-card{position:relative;z-index:2;background:var(--login-glass-bg);border:1px solid var(--login-glass-border);border-top-color:var(--login-glass-border-top);box-shadow:var(--login-glass-shadow);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2)}.login-card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:var(--login-accent-line);opacity:.9}.login-card.error-shake{animation:login-shake .32s ease}.login-logo-wrap{background:rgba(0,0,0,.25);border:1px solid var(--login-glass-border);box-shadow:0 0 20px rgba(13,148,136,.12)}.login-title{color:var(--login-text);letter-spacing:var(--kim-tracking-tight)}.login-subtitle{color:var(--login-text-muted)}.login-label{color:#cbd5e1;font-weight:var(--kim-font-semibold)}.login-footer{color:#64748b}.form-input-login{background:var(--login-input-bg);border:1px solid var(--login-input-border);color:var(--login-text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-input-login::-moz-placeholder{color:#64748b}.form-input-login::placeholder{color:#64748b}.form-input-login:focus{border-color:var(--kim-teal);background:rgba(2,6,23,.65);box-shadow:0 0 0 3px var(--login-focus);outline:none}.form-input-login.error{border-color:#f87171!important;box-shadow:0 0 0 3px hsla(0,91%,71%,.2)}.login-password-toggle{color:#94a3b8}.login-password-toggle:hover{background:hsla(0,0%,100%,.06);color:var(--login-text)}.login-remember{color:var(--login-text-muted)}.login-forgot{color:#5eead4}.login-forgot:hover{color:#99f6e4}.login-error-banner{border:1px solid hsla(0,91%,71%,.35);background:rgba(127,29,29,.35);color:#fecaca}.logout-toast{border-color:rgba(52,211,153,.35)!important;background:rgba(6,78,59,.35)!important;color:#a7f3d0!important;animation:login-fade-up .4s ease forwards}.login-btn-primary{background:linear-gradient(135deg,#0d9488,#2563eb 55%,#4338ca);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 4px 20px rgba(13,148,136,.25);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.login-btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 8px 32px rgba(13,148,136,.35),0 0 24px rgba(37,99,235,.2);transform:translateY(-2px)}.login-btn-primary:active:not(:disabled){transform:translateY(0)}.login-btn-primary:disabled{opacity:.65;cursor:not-allowed}.login-btn-primary.loading .login-btn-text{opacity:0}.login-btn-spinner{display:none;width:1.25rem;height:1.25rem;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}.login-btn-primary.loading .login-btn-spinner{display:inline-block}@keyframes login-logo-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes login-cursor-blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes login-splash-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02);visibility:hidden}}@keyframes login-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes login-spin{to{transform:rotate(1turn)}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,system-ui,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-3{right:.75rem}.top-1\/2{top:50%}.z-40{z-index:40}.z-50{z-index:50}.mb-1\.5{margin-bottom:.375rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.hidden{display:none}.h-14{height:3.5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-\[440px\]{max-width:440px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-slate-900\/50{background-color:rgba(15,23,42,.5)}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-700{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.pl-4{padding-left:1rem}.pr-12{padding-right:3rem}.text-center{text-align:center}.font-sans{font-family:DM Sans,system-ui,Segoe UI,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tracking-tight{letter-spacing:-.025em}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-white\/20{--tw-ring-color:hsla(0,0%,100%,.2)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.focus\:ring-teal-500\/40:focus{--tw-ring-color:rgba(20,184,166,.4)}@media (min-width:640px){.sm\:p-10{padding:2.5rem}.sm\:p-6{padding:1.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}