:root{--brand-50:#eff4ff;--brand-100:#dbe6fe;--brand-200:#bfdbfe;--brand-500:#3b6ef5;--brand-600:#2f5be0;--brand-700:#2748c7;--brand-800:#1e3a8a;--brand-900:#152a63;--surface:#ffffff;--surface-muted:#f3f6fb;--surface-border:#e4e9f2;--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--danger:#dc2626;--success:#059669;--warning:#d97706;--sidebar-width:248px;--font-sans:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--ease-out:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--text);background:var(--surface-muted);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{text-decoration:none}button,input,select,textarea{font:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}*,: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:rgb(59 130 246/0.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:rgb(59 130 246/0.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:var(--font-sans),Segoe UI,PingFang SC,Microsoft YaHei,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}.page-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.page-desc{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.card{border-radius:.75rem;border-width:1px;border-color:var(--surface-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(37,99,235,0.06);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.hover-lift{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.hover-lift:hover{--tw-translate-y:-0.125rem;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));--tw-shadow:0 8px 28px rgba(37,99,235,0.1);--tw-shadow-colored:0 8px 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--brand-600);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (prefers-reduced-motion:reduce){.btn-primary{transition:none}}.btn-primary:hover{background-color:var(--brand-700)}.btn-primary:active{--tw-scale-x:0.98;--tw-scale-y:0.98;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))}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{border-width:1px;border-color:var(--surface-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}@media (prefers-reduced-motion:reduce){.btn-secondary{transition:none}}.btn-secondary:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.btn-secondary:active{--tw-scale-x:0.98;--tw-scale-y:0.98;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))}.input{width:100%;border-radius:.5rem;border-width:1px;border-color:var(--surface-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.input::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.input:focus{border-color:var(--brand-500);--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(2px + 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);--tw-ring-color:var(--brand-100)}.label{margin-bottom:.375rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.table-wrap{overflow-x:auto}.badge-ok{background-color:rgb(236 253 245/var(--tw-bg-opacity,1));color:rgb(4 120 87/var(--tw-text-opacity,1))}.badge-ok,.badge-warn{display:inline-flex;align-items:center;border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity:1;--tw-text-opacity:1}.badge-warn{background-color:rgb(255 251 235/var(--tw-bg-opacity,1));color:rgb(180 83 9/var(--tw-text-opacity,1))}.badge-danger{background-color:rgb(254 242 242/var(--tw-bg-opacity,1));color:rgb(185 28 28/var(--tw-text-opacity,1))}.badge-danger,.badge-info{display:inline-flex;align-items:center;border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity:1;--tw-text-opacity:1}.badge-info{background-color:rgb(239 246 255/var(--tw-bg-opacity,1));color:rgb(29 78 216/var(--tw-text-opacity,1))}.badge-muted{display:inline-flex;align-items:center;border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.table{width:100%;min-width:640px;border-collapse:collapse;text-align:left;font-size:.875rem;line-height:1.25rem}.table th{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:rgb(100 116 139/var(--tw-text-opacity,1))}.table td,.table th{border-bottom-width:1px;border-color:var(--surface-border);padding:.75rem 1rem;--tw-text-opacity:1}.table td{color:rgb(51 65 85/var(--tw-text-opacity,1))}.code{overflow-x:auto;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));padding:1rem;font-size:.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.animate-fade-in{animation:fade-in .22s var(--ease-out)}.animate-pulse-soft{animation:pulse-soft 1.8s ease-in-out infinite}.fixed{position:fixed}.sticky{position:sticky}.inset-y-0{top:0;bottom:0}.left-0{left:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.min-h-\[180px\]{min-height:180px}.min-h-screen{min-height:100vh}.\!w-auto{width:auto!important}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-full{width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;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))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-\[140px_1fr_88px\]{grid-template-columns:140px 1fr 88px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/60{border-color:rgb(253 230 138/.6)}.border-amber-200\/80{border-color:rgb(253 230 138/.8)}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-200\/80{border-color:rgb(186 230 253/.8)}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-surface-border{border-color:var(--surface-border)}.border-white\/10{border-color:rgb(255 255 255/.1)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-brand-50{background-color:var(--brand-50)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/80{background-color:rgb(248 250 252/.8)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/15{background-color:rgb(255 255 255/.15)}.bg-white\/85{background-color:rgb(255 255 255/.85)}.bg-\[linear-gradient\(180deg\2c \#0f1f4d_0\%\2c \#1a3278_45\%\2c \#2748c7_100\%\)\]{background-image:linear-gradient(180deg,#0f1f4d,#1a3278 45%,#2748c7)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 251 235/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-50{--tw-gradient-from:#f0f9ff var(--tw-gradient-from-position);--tw-gradient-to:rgb(240 249 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from:#0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to:rgb(14 165 233/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.fill-slate-400{fill:#94a3b8}.fill-slate-500{fill:#64748b}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.\!px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.\!py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0\.5{padding-bottom:.125rem}.pb-2{padding-bottom:.5rem}.pl-5{padding-left:1.25rem}.pl-\[var\(--sidebar-width\)\]{padding-left:var(--sidebar-width)}.pr-2{padding-right:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-700\/80{color:rgb(180 83 9/.8)}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-800\/80{color:rgb(146 64 14/.8)}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-100\/70{color:rgb(219 234 254/.7)}.text-blue-100\/75{color:rgb(219 234 254/.75)}.text-blue-100\/80{color:rgb(219 234 254/.8)}.text-brand-700{color:var(--brand-700)}.text-cyan-100\/70{color:rgb(207 250 254/.7)}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.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-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-700\/80{color:rgb(3 105 161/.8)}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-\[4px_0_24px_rgba\(15\2c 31\2c 77\2c 0\.18\)\]{--tw-shadow:4px 0 24px rgba(15,31,77,0.18);--tw-shadow-colored:4px 0 24px var(--tw-shadow-color)}.shadow-\[4px_0_24px_rgba\(15\2c 31\2c 77\2c 0\.18\)\],.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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\/10{--tw-ring-color:rgb(255 255 255/0.1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{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-blur-md{--tw-backdrop-blur:blur(12px)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-pulse-soft,.hover-lift:hover{animation:none!important;transform:none!important}.btn,.card,.hover-lift{transition:none!important}.login-aurora,.login-grid,.login-logo-ring,.login-particle,.login-pulse-dot,.login-scan,.login-submit-shine{animation:none!important}.login-shell .login-card,.login-shell .login-hero,.login-shell .login-mobile-brand{opacity:1!important;transform:none!important}}.login-screen{--login-bg:#050b18;--login-cyan:#22d3ee;--login-blue:#3b82f6;--login-text:#e8f4ff;position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow:hidden;padding:1.5rem;color:var(--login-text);background:radial-gradient(ellipse 80% 60% at 20% 20%,rgba(34,211,238,.12),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 75%,rgba(59,130,246,.18),transparent 50%),linear-gradient(160deg,#030712,#0a1628 45%,#07101f);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.login-grid{inset:0;background-image:linear-gradient(rgba(34,211,238,.06) 1px,transparent 0),linear-gradient(90deg,rgba(34,211,238,.06) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 20%,transparent 75%);animation:login-grid-drift 28s linear infinite}.login-aurora,.login-grid{pointer-events:none;position:absolute}.login-aurora{border-radius:999px;filter:blur(64px);opacity:.55}.login-aurora-a{top:-10%;left:-5%;width:42vw;height:42vw;background:rgba(34,211,238,.22);animation:login-float 12s ease-in-out infinite}.login-aurora-b{right:-8%;bottom:-15%;width:48vw;height:48vw;background:rgba(59,130,246,.28);animation:login-float 15s ease-in-out infinite reverse}.login-scan{background:linear-gradient(180deg,transparent,rgba(34,211,238,.04) 48%,rgba(34,211,238,.1) 50%,rgba(34,211,238,.04) 52%,transparent);background-size:100% 220%;animation:login-scan 7s ease-in-out infinite;opacity:.7}.login-particles,.login-scan{pointer-events:none;position:absolute;inset:0}.login-particles{overflow:hidden}.login-particle{position:absolute;bottom:-10px;border-radius:999px;background:rgba(34,211,238,.75);box-shadow:0 0 8px rgba(34,211,238,.6);animation:login-rise linear infinite}.login-shell{position:relative;z-index:1;display:grid;width:min(980px,100%);gap:1.75rem;align-items:stretch}@media (min-width:900px){.login-shell{grid-template-columns:1.05fr .95fr;gap:2.25rem}}.login-shell .login-card,.login-shell .login-hero,.login-shell .login-mobile-brand{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}.login-shell.is-ready .login-hero,.login-shell.is-ready .login-mobile-brand{opacity:1;transform:none}.login-shell.is-ready .login-card{opacity:1;transform:none;transition-delay:.12s}.login-mobile-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:-.5rem}.login-mobile-brand .login-brand{font-size:1.55rem}@media (min-width:900px){.login-mobile-brand{display:none}}.login-hero{display:none;flex-direction:column;justify-content:center;padding:.5rem .25rem}@media (min-width:900px){.login-hero{display:flex}}.login-hero-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.5rem;border:1px solid rgba(34,211,238,.35);border-radius:999px;background:rgba(34,211,238,.08);padding:.35rem .75rem;font-size:.75rem;letter-spacing:.04em;color:#a5f3fc}.login-brand{margin:1.25rem 0 0;font-size:clamp(1.85rem,3vw,2.45rem);font-weight:700;letter-spacing:.02em;line-height:1.2;background:linear-gradient(120deg,#f0fdff 10%,#67e8f9 45%,#93c5fd 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.login-tagline{margin:.75rem 0 0;font-size:.95rem;color:rgba(186,230,253,.72)}.login-features{margin:1.75rem 0 0;padding:0;list-style:none;display:grid;gap:.85rem}.login-features li{display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem;color:rgba(224,242,254,.86)}.login-features svg{margin-top:.15rem;flex-shrink:0;color:#22d3ee}.login-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2rem}.login-metrics>div{border:1px solid rgba(148,163,184,.18);border-radius:.9rem;background:rgba(15,23,42,.45);padding:.85rem .75rem;backdrop-filter:blur(8px)}.login-metric-value{font-size:1.15rem;font-weight:700;letter-spacing:.04em;color:#67e8f9}.login-metric-label{margin-top:.2rem;font-size:.7rem;color:rgba(148,163,184,.9)}.login-card{position:relative;border-radius:1.25rem}.login-card-glow{position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(34,211,238,.65),rgba(59,130,246,.15),rgba(34,211,238,.45));opacity:.85;filter:blur(.5px);animation:login-border-pulse 4.5s ease-in-out infinite}.login-card-inner{position:relative;z-index:1;border-radius:inherit;border:1px solid rgba(148,163,184,.2);background:rgba(8,15,30,.78);padding:1.75rem 1.5rem 1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(18px)}@media (min-width:640px){.login-card-inner{padding:2rem}}.login-card-head{display:flex;align-items:center;gap:.9rem}.login-logo-mark{position:relative;display:grid;place-items:center;width:3rem;height:3rem;border-radius:.9rem;background:linear-gradient(145deg,rgba(34,211,238,.25),rgba(59,130,246,.35));color:#a5f3fc;box-shadow:0 0 24px rgba(34,211,238,.25)}.login-logo-ring{position:absolute;inset:-4px;border-radius:1rem;border:1px solid rgba(34,211,238,.45);animation:login-ring 2.8s ease-out infinite}.login-card-head h2{margin:0;font-size:1.2rem;font-weight:650;color:#f0f9ff}.login-card-head p{margin:.2rem 0 0;font-size:.82rem;color:rgba(148,163,184,.95)}.login-error{margin-top:1rem;border:1px solid rgba(248,113,113,.45);border-radius:.75rem;background:rgba(127,29,29,.35);padding:.7rem .85rem;font-size:.875rem;color:#fecaca;animation:fade-in .2s var(--ease-out)}.login-fields{margin-top:1.35rem;display:grid;gap:1rem}.login-field label{display:block;margin-bottom:.45rem;font-size:.84rem;font-weight:550;color:#bae6fd}.login-input-wrap{position:relative}.login-input-icon{pointer-events:none;position:absolute;top:50%;left:.85rem;width:1rem;height:1rem;transform:translateY(-50%);color:rgba(103,232,249,.7)}.login-input-wrap input{width:100%;border:1px solid rgba(56,189,248,.22);border-radius:.8rem;background:rgba(2,8,23,.65);padding:.8rem 2.6rem .8rem 2.4rem;color:#f0f9ff;outline:none;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s var(--ease-out)}.login-input-wrap input::-moz-placeholder{color:rgba(148,163,184,.65)}.login-input-wrap input::placeholder{color:rgba(148,163,184,.65)}.login-input-wrap input:hover{border-color:rgba(56,189,248,.4)}.login-input-wrap input:focus{border-color:rgba(34,211,238,.75);background:rgba(2,12,27,.85);box-shadow:0 0 0 3px rgba(34,211,238,.15),0 0 24px rgba(34,211,238,.12)}.login-eye{position:absolute;top:50%;right:.45rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;transform:translateY(-50%);border:0;border-radius:.55rem;background:transparent;color:rgba(148,163,184,.9);cursor:pointer;transition:color .15s ease,background .15s ease}.login-eye:hover{color:#67e8f9;background:rgba(34,211,238,.08)}.login-submit{position:relative;margin-top:1.4rem;display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;overflow:hidden;border:0;border-radius:.85rem;background:linear-gradient(105deg,#0891b2,#2563eb 55%,#0ea5e9);background-size:160% 100%;padding:.9rem 1rem;font-size:.95rem;font-weight:650;color:white;cursor:pointer;box-shadow:0 10px 28px rgba(14,165,233,.28);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background-position .35s ease}.login-submit:hover:not(:disabled){background-position:100% 0;transform:translateY(-1px);box-shadow:0 14px 32px rgba(14,165,233,.4)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.7}.login-submit-shine{pointer-events:none;position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 45%,transparent 65%);transform:translateX(-120%);animation:login-shine 3.2s ease-in-out infinite}.login-footer{margin-top:1.1rem;display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.75rem;color:rgba(148,163,184,.9)}.login-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:.85rem 0 1rem;padding:.25rem;border-radius:.75rem;background:rgba(15,23,42,.55);border:1px solid rgba(56,189,248,.18)}.login-mode-tab{border:0;border-radius:.55rem;padding:.55rem .75rem;font-size:.875rem;font-weight:600;color:rgba(186,230,253,.75);background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.login-mode-tab:hover{color:#e0f2fe}.login-mode-tab.is-active{color:#0f172a;background:linear-gradient(135deg,#67e8f9,#38bdf8);box-shadow:0 0 18px rgba(56,189,248,.35)}.login-ok{margin-bottom:.85rem;border-radius:.65rem;border:1px solid rgba(52,211,153,.35);background:rgba(6,78,59,.35);color:#a7f3d0;padding:.65rem .8rem;font-size:.85rem}.login-pulse-dot{width:.45rem;height:.45rem;border-radius:999px;background:#34d399;box-shadow:0 0 10px rgba(52,211,153,.8);animation:pulse-soft 1.6s ease-in-out infinite}@keyframes login-grid-drift{0%{background-position:0 0}to{background-position:48px 48px}}@keyframes login-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3%,-4%) scale(1.05)}}@keyframes login-scan{0%{background-position:0 -40%}to{background-position:0 140%}}@keyframes login-rise{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:.9}to{transform:translateY(-110vh) scale(.6);opacity:0}}@keyframes login-border-pulse{0%,to{opacity:.55}50%{opacity:.95}}@keyframes login-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.35);opacity:0}}@keyframes login-shine{0%,55%{transform:translateX(-120%)}80%,to{transform:translateX(120%)}}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255/.1)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-sky-500:focus{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.focus\:ring-sky-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 242 254/var(--tw-ring-opacity,1))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}