.auth-form[data-v-8ce6081e]{gap:var(--space-4)}.field[data-v-8ce6081e]{position:relative;display:flex;align-items:center}.field-input[data-v-8ce6081e]{width:100%;height:3.5rem;padding:1.15rem 2.75rem 0;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-md);line-height:1.2;transition:border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default),background-color var(--duration-base) var(--ease-default)}.field-input[data-v-8ce6081e]::placeholder{color:transparent}.field-input[data-v-8ce6081e]:hover{border-color:var(--color-border-strong)}.field-input[data-v-8ce6081e]:focus{outline:none;background:var(--color-surface);border-color:var(--color-border-focus);box-shadow:0 0 0 3px #f0c04029}.field-icon[data-v-8ce6081e]{position:absolute;left:.95rem;width:1.15rem;height:1.15rem;color:var(--color-text-tertiary);pointer-events:none;transition:color var(--duration-base) var(--ease-default)}.field-input:focus~.field-icon[data-v-8ce6081e]{color:var(--color-text-brand)}.field-label[data-v-8ce6081e]{position:absolute;left:2.75rem;top:50%;transform:translateY(-50%);transform-origin:left center;color:var(--color-text-tertiary);font-size:var(--text-md);pointer-events:none;transition:transform var(--duration-base) var(--ease-default),color var(--duration-base) var(--ease-default)}.field-input:focus~.field-label[data-v-8ce6081e],.field-input:not(:placeholder-shown)~.field-label[data-v-8ce6081e]{transform:translateY(-1.05rem) scale(.74);color:var(--color-text-brand);font-weight:var(--font-medium)}.field-toggle[data-v-8ce6081e]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2.25rem;height:2.25rem;color:var(--color-text-tertiary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-base) var(--ease-default),background-color var(--duration-base) var(--ease-default)}.field-toggle svg[data-v-8ce6081e]{width:1.15rem;height:1.15rem}.field-toggle[data-v-8ce6081e]:hover{color:var(--color-text);background:var(--color-glass-strong)}.field-toggle[data-v-8ce6081e]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.field-invalid .field-input[data-v-8ce6081e]{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444424}.field-caps[data-v-8ce6081e]{display:flex;align-items:center;gap:var(--space-2);margin-top:calc(var(--space-2) * -1);color:var(--color-warning-text);font-size:var(--text-sm)}.field-caps svg[data-v-8ce6081e]{width:.95rem;height:.95rem}.auth-submit-label[data-v-8ce6081e]{display:inline-flex;align-items:center;gap:var(--space-2)}.auth-submit-label svg[data-v-8ce6081e]{width:1.05rem;height:1.05rem;transition:transform var(--duration-base) var(--ease-default)}.auth-submit-btn:hover .auth-submit-label svg[data-v-8ce6081e]{transform:translate(3px)}.auth-secure-note[data-v-8ce6081e]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.auth-secure-note svg[data-v-8ce6081e]{width:.9rem;height:.9rem;color:var(--color-success)}.auth-card[data-v-8ce6081e]{position:relative;overflow:hidden}.auth-card[data-v-8ce6081e]:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-300),transparent);opacity:.7}.caps-fade-enter-active[data-v-8ce6081e],.caps-fade-leave-active[data-v-8ce6081e]{transition:opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}.caps-fade-enter-from[data-v-8ce6081e],.caps-fade-leave-to[data-v-8ce6081e]{opacity:0;transform:translateY(-4px)}@media (prefers-reduced-motion: reduce){.field-input[data-v-8ce6081e],.field-label[data-v-8ce6081e],.field-icon[data-v-8ce6081e],.auth-submit-label svg[data-v-8ce6081e]{transition:none}}.sidebar-user[data-v-235e3c6e]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.sidebar-user-info[data-v-235e3c6e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-user-name[data-v-235e3c6e]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-inverse);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role[data-v-235e3c6e]{font-size:var(--text-xs);color:#ffffff73;text-transform:uppercase;letter-spacing:var(--tracking-wider)}.sidebar-user-logout[data-v-235e3c6e]{color:#ffffff73;background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);transition:color var(--duration-base),background var(--duration-base);display:flex;align-items:center;justify-content:center}.sidebar-user-logout[data-v-235e3c6e]:hover{color:var(--color-text-inverse);background:var(--color-sidebar-hover)}.main-content[data-v-235e3c6e]{flex:1;overflow-y:auto;padding:var(--space-8);background:transparent}.dashboard-grid[data-v-43dde82b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.kpi-card[data-v-43dde82b]{display:flex;flex-direction:column;gap:var(--space-3);text-decoration:none}a.kpi-card[data-v-43dde82b]{color:inherit}.kpi-head[data-v-43dde82b]{display:flex;align-items:center;gap:var(--space-2)}.kpi-icon[data-v-43dde82b]{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-lg);color:var(--color-text-brand);background:var(--color-brand-soft);border:1px solid var(--color-brand-muted)}.kpi-label[data-v-43dde82b]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.kpi-value[data-v-43dde82b]{font-size:var(--text-4xl);min-height:2.25rem}.kpi-hint[data-v-43dde82b]{font-size:var(--text-sm);color:var(--color-text-tertiary)}.kpi-skeleton[data-v-43dde82b]{display:inline-block;width:3rem;height:2rem;border-radius:var(--radius-md);background:var(--color-glass);animation:kpi-pulse-43dde82b 1.2s ease-in-out infinite}@keyframes kpi-pulse-43dde82b{0%,to{opacity:.4}50%{opacity:.8}}:root{--blue-50: #EFF6FF;--blue-100: #DBEAFE;--blue-200: #BFDBFE;--blue-300: #93C5FD;--blue-400: #60A5FA;--blue-500: #3B82F6;--blue-600: #2563EB;--blue-700: #1D4ED8;--blue-800: #1E40AF;--blue-900: #1E3A8A;--blue-950: #172554;--gold-50: #FDF8EC;--gold-100: #FBF0CF;--gold-200: #F8D57E;--gold-300: #F0C040;--gold-400: #D9A441;--gold-500: #C49A30;--gold-600: #A67C20;--gold-700: #8B5E1A;--gold-900: #4A300A;--midnight-990: #04070f;--midnight-980: #070b14;--midnight-950: #060d18;--midnight-925: #0a1322;--midnight-900: #0b1220;--midnight-870: #0e1729;--midnight-840: #13203a;--midnight-800: #111c30;--midnight-700: #172240;--midnight-600: #1e2d52;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--gray-950: #030712;--green-50: #ECFDF5;--green-100: #D1FAE5;--green-300: #6EE7B7;--green-400: #34D399;--green-500: #10B981;--green-600: #059669;--green-700: #047857;--red-50: #FEF2F2;--red-100: #FEE2E2;--red-300: #FCA5A5;--red-400: #F87171;--red-500: #EF4444;--red-600: #DC2626;--red-700: #B91C1C;--amber-50: #FFFBEB;--amber-100: #FEF3C7;--amber-300: #FCD34D;--amber-400: #FBBF24;--amber-500: #F59E0B;--amber-600: #D97706;--sky-50: #F0F9FF;--sky-100: #E0F2FE;--sky-300: #7DD3FC;--sky-400: #38BDF8;--sky-500: #0EA5E9;--sky-600: #0284C7;--white: #FFFFFF;--black: #000000}:root{--color-brand: var(--gold-300);--color-brand-hover: var(--gold-200);--color-brand-active: var(--gold-400);--color-brand-soft: rgba(240,192,64,.12);--color-brand-muted: rgba(240,192,64,.28);--color-gold-gradient: linear-gradient(135deg, #F8D57E 0%, #D9A441 50%, #F8D57E 100%);--color-bg: var(--midnight-990);--color-surface: var(--midnight-870);--color-surface-raised: var(--midnight-840);--color-surface-sunken: var(--midnight-925);--color-glass: rgba(255,255,255,.04);--color-glass-strong: rgba(255,255,255,.07);--color-sidebar: var(--midnight-980);--color-sidebar-hover: rgba(255,255,255,.06);--color-sidebar-active: rgba(240,192,64,.1);--color-text: #E9EEF8;--color-text-secondary: #98A6C0;--color-text-tertiary: #6A7894;--color-text-disabled: #3C4659;--color-text-inverse: var(--white);--color-text-brand: var(--gold-200);--color-text-on-brand: var(--midnight-950);--color-border: rgba(255,255,255,.09);--color-border-strong: rgba(255,255,255,.17);--color-border-focus: var(--gold-300);--color-border-brand: var(--gold-300);--color-success: var(--green-400);--color-success-bg: rgba(52,211,153,.12);--color-success-border: rgba(52,211,153,.3);--color-success-text: var(--green-300);--color-danger: var(--red-500);--color-danger-bg: rgba(248,113,113,.12);--color-danger-border: rgba(248,113,113,.32);--color-danger-text: var(--red-300);--color-warning: var(--amber-400);--color-warning-bg: rgba(251,191,36,.12);--color-warning-border: rgba(251,191,36,.3);--color-warning-text: var(--amber-300);--color-info: var(--sky-400);--color-info-bg: rgba(56,189,248,.12);--color-info-border: rgba(56,189,248,.3);--color-info-text: var(--sky-300);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--font-serif: "Cinzel", "Trajan Pro", "Times New Roman", Georgia, serif;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed:1.625;--tracking-tight: -.025em;--tracking-normal: 0em;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest:.1em;--space-0: 0px;--space-1: .25rem;--space-1-5:.375rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0,0,0,.4);--shadow-sm: 0 1px 3px 0 rgba(0,0,0,.5), 0 1px 2px -1px rgba(0,0,0,.5);--shadow-md: 0 6px 16px -4px rgba(0,0,0,.55), 0 2px 6px -2px rgba(0,0,0,.5);--shadow-lg: 0 16px 32px -8px rgba(0,0,0,.6), 0 6px 12px -6px rgba(0,0,0,.5);--shadow-xl: 0 28px 56px -12px rgba(0,0,0,.7), 0 10px 20px -8px rgba(0,0,0,.55);--shadow-inner: inset 0 1px 2px 0 rgba(0,0,0,.4);--shadow-brand: 0 0 0 3px rgba(240,192,64,.3);--shadow-glow: 0 0 24px -2px rgba(240,192,64,.35);--shadow-glow-soft: 0 0 40px -8px rgba(240,192,64,.2);--edge-highlight: inset 0 1px 0 0 rgba(255,255,255,.06);--duration-fast: .1s;--duration-base: .15s;--duration-slow: .25s;--duration-slower: .35s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500;--sidebar-width: 240px;--sidebar-width-icon: 64px;--topbar-height: 56px;--content-max-width: 1280px}:root{--btn-height-sm: 2rem;--btn-height-md: 2.25rem;--btn-height-lg: 2.625rem;--btn-px-sm: var(--space-3);--btn-px-md: var(--space-4);--btn-px-lg: var(--space-6);--btn-radius: var(--radius-md);--btn-font-size: var(--text-base);--btn-font-weight:var(--font-medium);--input-height-sm: 2rem;--input-height-md: 2.25rem;--input-height-lg: 2.625rem;--input-px: var(--space-3);--input-radius: var(--radius-md);--input-bg: var(--color-surface);--input-border: var(--color-border);--input-border-focus: var(--color-border-focus);--input-font-size: var(--text-base);--card-radius: var(--radius-xl);--card-padding: var(--space-6);--card-border: var(--color-border);--card-shadow: var(--shadow-md), var(--edge-highlight);--card-bg: var(--color-surface);--badge-radius: var(--radius-sm);--badge-px: var(--space-2);--badge-py: .125rem;--badge-font-size: var(--text-xs);--badge-font-weight: var(--font-medium)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(240,192,64,.06) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 50% 110%,rgba(30,58,138,.16) 0%,transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}a{color:var(--color-text-brand);text-decoration:none;transition:color var(--duration-base) var(--ease-default)}a:hover{color:var(--color-brand);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{list-style:none}img,video,svg{display:block;max-width:100%}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit}button,[role=button]{cursor:pointer;border:none;background:none}button:disabled,[role=button]:disabled{cursor:not-allowed}input,textarea,select{background:none;border:none;outline:none}textarea{resize:vertical}table{border-collapse:collapse;width:100%}hr{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-4)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.125em .375em;color:var(--color-text)}pre{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);overflow-x:auto}pre code{background:none;border:none;padding:0;font-size:var(--text-sm)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff38}::selection{background:#f0c04047;color:var(--color-text)}.text-display{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide)}.text-heading-1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-normal)}.text-heading-2{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.text-heading-3{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.text-heading-4{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.text-body-lg{font-size:var(--text-md);line-height:var(--leading-relaxed)}.text-body{font-size:var(--text-base);line-height:var(--leading-normal)}.text-body-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-label{font-size:var(--text-base);font-weight:var(--font-medium);line-height:1}.text-label-sm{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1}.text-caption{font-size:var(--text-xs);font-weight:var(--font-normal);line-height:var(--leading-snug)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-imperial{font-family:var(--font-serif);font-weight:var(--font-bold);letter-spacing:var(--tracking-wider);background:var(--color-gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-200)}.text-mono{font-family:var(--font-mono)}.text-kpi{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.text-stat{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:1;font-variant-numeric:tabular-nums}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-disabled{color:var(--color-text-disabled)}.text-brand{color:var(--color-text-brand)}.text-success{color:var(--color-success-text)}.text-danger{color:var(--color-danger-text)}.text-warning{color:var(--color-warning-text)}.text-info{color:var(--color-info-text)}.text-inverse{color:var(--color-text-inverse)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.page-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text);letter-spacing:var(--tracking-wide)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.section-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding-inline:var(--btn-px-md);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);font-family:var(--font-sans);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;border:1px solid transparent;outline:none;transition:background-color var(--duration-base) var(--ease-default),color var(--duration-base) var(--ease-default),border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default),transform var(--duration-fast) var(--ease-default),opacity var(--duration-base) var(--ease-default)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none;pointer-events:none}.btn-sm{height:var(--btn-height-sm);padding-inline:var(--btn-px-sm);font-size:var(--text-sm)}.btn-lg{height:var(--btn-height-lg);padding-inline:var(--btn-px-lg);font-size:var(--text-md)}.btn-icon{padding-inline:0;width:var(--btn-height-md);flex-shrink:0}.btn-icon.btn-sm{width:var(--btn-height-sm)}.btn-icon.btn-lg{width:var(--btn-height-lg)}.btn-primary{background-image:var(--color-gold-gradient);background-color:var(--color-brand);color:var(--color-text-on-brand);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-brand-hover);color:var(--color-text-on-brand);box-shadow:var(--shadow-sm),var(--shadow-glow);text-decoration:none}.btn-primary:active{background-image:none;background-color:var(--color-brand-active);box-shadow:none}.btn-primary:focus-visible{box-shadow:var(--shadow-brand),var(--shadow-glow-soft)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background-color:var(--color-surface-sunken);border-color:var(--color-border-strong)}.btn-secondary:active{background-color:var(--color-glass-strong)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-surface-sunken);color:var(--color-text)}.btn-danger{background-color:var(--color-danger);color:var(--white);box-shadow:var(--shadow-xs)}.btn-danger:hover{background-color:var(--red-700);color:var(--white);box-shadow:var(--shadow-sm);text-decoration:none}.btn-danger-ghost{background-color:transparent;color:var(--color-danger-text);border-color:transparent}.btn-danger-ghost:hover{background-color:var(--color-danger-bg);border-color:var(--color-danger-border)}.btn.loading{position:relative;color:transparent!important;pointer-events:none}.btn.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite;color:inherit}.btn-primary.loading:after{color:#060d1899}.btn-secondary.loading:after{color:var(--color-text-secondary)}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-full{width:100%}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:var(--leading-snug);white-space:nowrap;border:1px solid transparent}.badge-gray{background:var(--color-glass);color:var(--color-text-secondary);border-color:var(--color-border)}.badge-blue{background:var(--color-brand-soft);color:var(--gold-200);border-color:var(--color-brand-muted)}.badge-green{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-red{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-amber{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge-sky{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-brand{background:var(--color-brand-soft);color:var(--gold-200);border-color:var(--color-brand-muted)}.badge-sm{font-size:.625rem;padding:.0625rem var(--space-1)}.badge-lg{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.badge-dot{display:inline-flex;align-items:center;gap:var(--space-2)}.badge-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge-dot.badge-green:before{background:var(--color-success)}.badge-dot.badge-red:before{background:var(--color-danger)}.badge-dot.badge-amber:before{background:var(--color-warning)}.badge-dot.badge-gray:before{background:var(--gray-400)}.input{display:block;width:100%;height:var(--input-height-md);padding-inline:var(--input-px);border-radius:var(--input-radius);font-size:var(--input-font-size);font-family:var(--font-sans);color:var(--color-text);background:var(--input-bg);border:1px solid var(--input-border);outline:none;transition:border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default);-moz-appearance:none;appearance:none;-webkit-appearance:none}.input::placeholder{color:var(--color-text-tertiary)}.input:hover:not(:disabled):not(.input-error){border-color:var(--color-border-strong)}.input:focus:not(.input-error){border-color:var(--input-border-focus);box-shadow:0 0 0 3px #d9a44126}.input:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed}.input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px #ef44441f!important}.input-sm{height:var(--input-height-sm);font-size:var(--text-sm)}.input-lg{height:var(--input-height-lg);font-size:var(--text-md)}textarea.input{height:auto;min-height:6rem;padding-block:var(--space-2);resize:vertical;line-height:var(--leading-normal)}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2398A6C0' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:1rem;padding-right:calc(var(--space-3) + 1.5rem);cursor:pointer}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .input{padding-inline-start:2.5rem}.input-wrapper .input-icon{position:absolute;left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;display:flex;align-items:center;width:1rem;height:1rem}.input-wrapper .input-icon-right{position:absolute;right:var(--space-3);color:var(--color-text-tertiary);display:flex;align-items:center;width:1rem;height:1rem}.input-wrapper .input-icon-right+.input,.input-wrapper .input:has(~.input-icon-right){padding-inline-end:2.5rem}.checkbox,.radio{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1rem;height:1rem;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex-shrink:0;transition:background-color var(--duration-base) var(--ease-default),border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default);display:inline-grid;place-items:center}.radio{border-radius:var(--radius-full)}.checkbox:checked{background:var(--color-brand);border-color:var(--color-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 12 12'%3E%3Cpath stroke='%23060d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 6l3 3 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.7rem}.radio:checked{border-color:var(--color-brand);background-image:radial-gradient(circle,var(--color-brand) 40%,transparent 40%)}.checkbox:focus-visible,.radio:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.checkbox-label,.radio-label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);color:var(--color-text);-webkit-user-select:none;user-select:none}.toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:2.25rem;height:1.25rem;background:var(--gray-300);border-radius:var(--radius-full);cursor:pointer;flex-shrink:0;transition:background-color var(--duration-slow) var(--ease-spring)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);background:var(--white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--duration-slow) var(--ease-spring)}.toggle:checked{background:var(--color-brand)}.toggle:checked:after{transform:translate(1rem)}.toggle:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-full);animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:1rem;height:1rem}.spinner-lg{width:1.75rem;height:1.75rem;border-width:3px}.spinner-white{border-color:#ffffff4d;border-top-color:var(--white)}.spinner-brand{border-color:var(--color-brand-soft);border-top-color:var(--color-brand)}@keyframes spin{to{transform:rotate(360deg)}}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070fb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:var(--z-modal)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);background:var(--color-brand-soft);color:var(--color-brand);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none;object-fit:cover;overflow:hidden;border:1.5px solid var(--color-border)}.avatar-xs{width:1.25rem;height:1.25rem;font-size:.5rem}.avatar-sm{width:1.5rem;height:1.5rem;font-size:var(--text-xs)}.avatar-lg{width:2.5rem;height:2.5rem;font-size:var(--text-md)}.avatar-xl{width:3.5rem;height:3.5rem;font-size:var(--text-xl)}.avatar-2xl{width:5rem;height:5rem;font-size:var(--text-2xl)}.avatar-group{display:flex;align-items:center}.avatar-group .avatar{margin-inline-start:-.5rem;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-inline-start:0}.divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.divider-vertical{width:1px;background:var(--color-border);align-self:stretch;margin-inline:var(--space-2)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border-strong);line-height:1.5}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip-wrapper:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) scale(.95);background:var(--gray-900);color:var(--white);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default);z-index:var(--z-tooltip)}.tooltip-wrapper:hover:after{opacity:1;transform:translate(-50%) scale(1)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-padding);container-type:inline-size}.card-hover{transition:box-shadow var(--duration-slow) var(--ease-default),transform var(--duration-slow) var(--ease-default),border-color var(--duration-slow) var(--ease-default);cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-lg),var(--shadow-glow-soft);transform:translateY(-2px);border-color:var(--color-brand-muted)}.card-flush{padding:0}.card-inset{background:var(--color-surface-sunken);box-shadow:var(--shadow-inner)}.card-dashed{border-style:dashed;background:transparent;box-shadow:none}.card-brand{background-image:var(--color-gold-gradient);border-color:var(--color-brand-muted);color:var(--color-text-on-brand)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-border);margin:calc(var(--card-padding) * -1) calc(var(--card-padding) * -1) var(--card-padding)}.card-header-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug)}.card-header-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.card-body{flex:1}.card-footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--card-padding);border-top:1px solid var(--color-border);margin:var(--card-padding) calc(var(--card-padding) * -1) calc(var(--card-padding) * -1);background:var(--color-surface-sunken);border-radius:0 0 var(--card-radius) var(--card-radius)}.card-stat{display:flex;flex-direction:column;gap:var(--space-3)}.card-stat-value{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;background:var(--color-gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-200)}.card-stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.card-stat-delta{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium)}.card-stat-delta.positive{color:var(--color-success-text)}.card-stat-delta.negative{color:var(--color-danger-text)}.form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);line-height:1}.form-label.required:after{content:" *";color:var(--color-danger);font-weight:var(--font-normal)}.form-hint{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-snug)}.form-error{font-size:var(--text-sm);color:var(--color-danger-text);display:flex;align-items:center;gap:var(--space-1)}.form-inline .form-group{flex-direction:row;align-items:center;gap:var(--space-4)}.form-inline .form-label{min-width:8rem;text-align:right;flex-shrink:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4)}.form-section{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.form-section-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid;font-size:var(--text-sm);line-height:var(--leading-snug)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.alert-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.alert-icon{display:flex;align-items:center;flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.0625rem}.alert-content{flex:1}.alert-title{font-weight:var(--font-semibold);line-height:1.25}.alert-body{margin-top:var(--space-1);opacity:.9}.alert-close{flex-shrink:0;opacity:.6;cursor:pointer;background:none;border:none;padding:0;line-height:1;transition:opacity var(--duration-base) var(--ease-default)}.alert-close:hover{opacity:1}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table thead{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border)}.table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-align:left;white-space:nowrap;letter-spacing:var(--tracking-wider);text-transform:uppercase}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--duration-base) var(--ease-default)}.table th.sortable:hover{color:var(--color-text)}.table td{padding:var(--space-3) var(--space-4);color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--duration-fast) var(--ease-default)}.table tbody tr:hover{background:var(--color-surface-sunken)}.table .row-actions{opacity:0;transition:opacity var(--duration-base) var(--ease-default);display:flex;align-items:center;gap:var(--space-1);justify-content:flex-end}.table tbody tr:hover .row-actions{opacity:1}.table-compact th,.table-compact td{padding:var(--space-2) var(--space-3)}.table-fixed{table-layout:fixed}.table-empty{padding:var(--space-16) var(--space-8);text-align:center;color:var(--color-text-tertiary)}.table-empty-icon{width:2.5rem;height:2.5rem;margin:0 auto var(--space-3);opacity:.4}.table-empty-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-secondary)}.table-empty-desc{font-size:var(--text-sm);margin-top:var(--space-1)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020409a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal);animation:overlay-in var(--duration-slow) var(--ease-out)}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:28rem;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;animation:modal-in var(--duration-slow) var(--ease-spring)}.modal-sm{max-width:20rem}.modal-lg{max-width:40rem}.modal-xl{max-width:56rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug)}.modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:background-color var(--duration-base) var(--ease-default)}.modal-close:hover{background:var(--color-surface-sunken);color:var(--color-text)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);flex-shrink:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dropdown{position:relative;display:inline-flex}.dropdown-menu{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:11rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-dropdown);animation:dropdown-in var(--duration-base) var(--ease-out)}.dropdown-menu-right{left:auto;right:0}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-default)}.dropdown-item:hover{background:var(--color-glass-strong)}.dropdown-item:active{background:var(--color-brand-soft)}.dropdown-item-danger{color:var(--color-danger-text)}.dropdown-item-danger:hover{background:var(--color-danger-bg)}.dropdown-item-icon{width:1rem;height:1rem;color:var(--color-text-secondary);flex-shrink:0}.dropdown-separator{height:1px;background:var(--color-border);margin:var(--space-1) calc(var(--space-1) * -1)}.dropdown-header{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.tabs{display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-border);padding-inline:var(--space-1)}.tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:2.5rem;padding-inline:var(--space-3);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:color var(--duration-base) var(--ease-default),background-color var(--duration-base) var(--ease-default)}.tab:hover{color:var(--color-text);background:var(--color-surface-sunken)}.tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:var(--font-semibold)}.tabs-pill{border-bottom:none;background:var(--color-surface-sunken);padding:var(--space-1);border-radius:var(--radius-lg);width:fit-content}.tabs-pill .tab{border-bottom:none;margin-bottom:0;border-radius:var(--radius-md);height:2rem}.tabs-pill .tab.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);border-bottom-color:transparent}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--space-8);gap:var(--space-3)}.empty-state-icon{width:3rem;height:3rem;color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.empty-state-desc{font-size:var(--text-base);color:var(--color-text-secondary);max-width:24rem}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm)}.breadcrumb-item{color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-base) var(--ease-default)}.breadcrumb-item:hover{color:var(--color-text)}.breadcrumb-item.active{color:var(--color-text);font-weight:var(--font-medium)}.breadcrumb-sep{color:var(--color-text-tertiary)}.progress{width:100%;height:.375rem;background:var(--color-surface-sunken);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-border)}.progress-bar{height:100%;width:var(--progress, 0%);background:var(--color-brand);border-radius:var(--radius-full);transition:width var(--duration-slower) var(--ease-out)}.progress-bar.success{background:var(--color-success)}.progress-bar.danger{background:var(--color-danger)}.progress-bar.warning{background:var(--color-warning)}.progress-sm{height:.25rem}.progress-lg{height:.5rem}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:100dvh;min-height:100dvh;background:transparent}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-width-icon) 1fr}.sidebar{background:var(--color-sidebar);display:flex;flex-direction:column;height:100dvh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;transition:width var(--duration-slow) var(--ease-default);scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);min-height:var(--topbar-height);flex-shrink:0;border-bottom:1px solid rgba(212,160,40,.15);overflow:hidden}.sidebar-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 100% 140% at 20% 50%,rgba(212,160,40,.07) 0%,transparent 65%);pointer-events:none}.sidebar-brand-logo{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:transparent;border-radius:0;flex-shrink:0;position:relative;z-index:1;filter:drop-shadow(0 2px 10px rgba(212,160,40,.55)) drop-shadow(0 1px 3px rgba(0,0,0,.5))}.sidebar-brand-name{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--font-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1;background:var(--color-gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--tracking-wide)}.sidebar-brand-tag{font-size:var(--text-xs);color:#ffffff61;font-weight:var(--font-normal);white-space:nowrap;position:relative;z-index:1;letter-spacing:var(--tracking-wide)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-3) var(--space-3);overflow-y:auto;overflow-x:hidden}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section-label{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:#ffffff59;text-transform:uppercase;letter-spacing:var(--tracking-widest);white-space:nowrap;overflow:hidden}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);color:#ffffffa6;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;transition:background-color var(--duration-base) var(--ease-default),color var(--duration-base) var(--ease-default);position:relative}.sidebar-item:hover{background:var(--color-sidebar-hover);color:var(--white);text-decoration:none}.sidebar-item.active{background:var(--color-sidebar-active);color:var(--white);font-weight:var(--font-semibold)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:25%;height:50%;width:3px;background:#d9a441;border-radius:0 var(--radius-full) var(--radius-full) 0}.sidebar-item-icon{width:1.125rem;height:1.125rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.8}.sidebar-item.active .sidebar-item-icon{opacity:1}.sidebar-item-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar-item-badge{font-size:var(--text-xs);font-weight:var(--font-semibold);background:#ffffff26;color:#fffc;padding:.0625rem .375rem;border-radius:var(--radius-full);flex-shrink:0;min-width:1.25rem;text-align:center;line-height:1.6}.sidebar-divider{height:1px;background:#ffffff14;margin:var(--space-2) var(--space-3)}.sidebar-footer{padding:var(--space-4) var(--space-3);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--duration-base) var(--ease-default);text-decoration:none}.sidebar-user:hover{background:var(--color-sidebar-hover)}.sidebar-user-info{flex:1;overflow:hidden}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--text-xs);color:#ffffff73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.sidebar-collapsed .sidebar-brand-name,.app-shell.sidebar-collapsed .sidebar-brand-tag,.app-shell.sidebar-collapsed .sidebar-section-label,.app-shell.sidebar-collapsed .sidebar-item-label,.app-shell.sidebar-collapsed .sidebar-item-badge,.app-shell.sidebar-collapsed .sidebar-user-info{display:none}.app-shell.sidebar-collapsed .sidebar-item{justify-content:center;padding-inline:0;width:var(--sidebar-width-icon)}.app-shell.sidebar-collapsed .sidebar-item:before{display:none}.app-shell.sidebar-collapsed .sidebar-brand,.app-shell.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}.topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;gap:var(--space-4);position:sticky;top:0;z-index:var(--z-sticky)}.topbar-left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.topbar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.topbar-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-base) var(--ease-default),border-color var(--duration-base) var(--ease-default);min-width:14rem}.topbar-search:hover{background:var(--color-glass-strong);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.topbar-notif{position:relative}.topbar-notif-dot{position:absolute;top:.375rem;right:.375rem;width:.5rem;height:.5rem;background:var(--color-danger);border-radius:var(--radius-full);border:2px solid var(--color-surface)}.page{flex:1;overflow-y:auto;padding:var(--space-6);max-width:var(--content-max-width);width:100%;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-6)}.page-full{max-width:100%}.page-sm{max-width:48rem}.page-md{max-width:64rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-header-info{display:flex;flex-direction:column;gap:var(--space-1)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.section{display:flex;flex-direction:column;gap:var(--space-4)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-4)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-4)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.grid-split-sm{display:grid;grid-template-columns:16rem 1fr;gap:var(--space-6);align-items:start}.grid-split-lg{display:grid;grid-template-columns:24rem 1fr;gap:var(--space-6);align-items:start}.kanban-board{display:flex;gap:var(--space-4);align-items:flex-start;overflow-x:auto;padding-bottom:var(--space-4);scrollbar-width:thin}.kanban-column{flex-shrink:0;width:18rem;display:flex;flex-direction:column;gap:var(--space-3)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kanban-column-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.kanban-column-count{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border);padding:0 var(--space-2);border-radius:var(--radius-full);line-height:1.6}.kanban-cards{display:flex;flex-direction:column;gap:var(--space-2);min-height:2rem;padding:var(--space-2);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);cursor:grab;box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}.kanban-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);line-height:var(--leading-snug)}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);gap:var(--space-2)}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:var(--color-bg)}.auth-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b1220;background-image:radial-gradient(ellipse 70% 60% at 50% 30%,rgba(212,160,40,.13) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 50% 75%,rgba(30,58,138,.25) 0%,transparent 60%);overflow:hidden;padding:var(--space-12) var(--space-10)}.auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");opacity:.6;pointer-events:none}.auth-hero-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:520px;height:520px;background:radial-gradient(circle,rgba(212,160,40,.08) 0%,transparent 65%);pointer-events:none}.auth-hero-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);z-index:1}.auth-hero-logo{width:clamp(180px,22vw,280px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 44px rgba(240,192,64,.32)) drop-shadow(0 4px 14px rgba(0,0,0,.65));-webkit-mask-image:radial-gradient(ellipse 58% 70% at 50% 43%,#000 26%,rgba(0,0,0,.55) 52%,transparent 78%);mask-image:radial-gradient(ellipse 58% 70% at 50% 43%,#000 26%,rgba(0,0,0,.55) 52%,transparent 78%);animation:auth-logo-float 6s ease-in-out infinite}@keyframes auth-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-hero-text{text-align:center}.auth-hero-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:#fff;letter-spacing:.12em;line-height:var(--leading-tight);font-family:var(--font-serif);background:linear-gradient(135deg,#f8d57e,#d9a441 45%,#f8d57e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-hero-subtitle{margin-top:var(--space-2);font-size:var(--text-sm);color:#ffffff73;letter-spacing:var(--tracking-wide);text-transform:uppercase}.auth-hero-footer{position:absolute;bottom:var(--space-6);font-size:var(--text-xs);color:#fff3;letter-spacing:var(--tracking-wide);z-index:1}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6);background:var(--color-bg);background-image:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(240,192,64,.05) 0%,transparent 70%),radial-gradient(ellipse 70% 50% at 50% 100%,rgba(30,58,138,.14) 0%,transparent 65%)}.auth-card{width:100%;max-width:22rem;background:linear-gradient(160deg,#ffffff0d,#ffffff04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--edge-highlight);padding:var(--space-8)}.auth-card-header{margin-bottom:var(--space-8)}.auth-card-badge{display:inline-flex;align-items:center;padding:.1875rem var(--space-3);background:var(--color-brand-soft);color:var(--color-text-brand);border:1px solid var(--color-brand-muted);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-4)}.auth-card-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);margin-bottom:var(--space-2)}.auth-card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.auth-submit-btn{margin-top:var(--space-2);height:2.75rem;font-size:var(--text-md);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide)}@media (max-width: 1024px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-split-sm,.grid-split-lg,.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}}@media (max-width: 768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{height:auto;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--duration-slow) var(--ease-default)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.page{padding:var(--space-4);gap:var(--space-4)}.topbar{padding-inline:var(--space-4)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.kanban-column{width:15rem}.auth-form-panel{padding:var(--space-6) var(--space-4)}.auth-card{padding:var(--space-6)}.page-header{flex-direction:column;align-items:flex-start}}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%;min-width:0}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.place-center{display:grid;place-items:center}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-screen{height:100dvh}.min-w-0{min-width:0}.min-h-screen{min-height:100dvh}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-full{max-width:100%}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-inline:var(--space-2)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-6{padding-block:var(--space-6)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-strong{border-color:var(--color-border-strong)}.border-none{border:none}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.bg-surface{background:var(--color-surface)}.bg-sunken{background:var(--color-surface-sunken)}.bg-brand{background:var(--color-brand)}.bg-success{background:var(--color-success-bg)}.bg-danger{background:var(--color-danger-bg)}.bg-warning{background:var(--color-warning-bg)}.bg-info{background:var(--color-info-bg)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}.select-text{-webkit-user-select:text;user-select:text}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.z-raised{z-index:var(--z-raised)}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}.transition{transition:all var(--duration-base) var(--ease-default)}.transition-none{transition:none}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,to{transform:translateY(-10%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:.875rem;border-radius:var(--radius-sm)}.skeleton-title{height:1.25rem;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:var(--radius-full)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.glass{background:linear-gradient(160deg,#ffffff0f,#ffffff05);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);border:1px solid rgba(255,255,255,.1);box-shadow:var(--edge-highlight)}.glass-dark{background:#060d188c;-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);border:1px solid rgba(255,255,255,.08)}.list-disc{list-style:disc;padding-left:var(--space-5)}.list-decimal{list-style:decimal;padding-left:var(--space-5)}.ring{outline:2px solid var(--color-border-focus);outline-offset:2px}.ring-brand{outline:2px solid var(--color-brand);outline-offset:2px}.sidebar-highlight{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-4)}
