.toast-container[data-v-42ec2f45]{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast[data-v-42ec2f45]{background:var(--surface-card);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:4px solid}.toast--success[data-v-42ec2f45]{border-left-color:var(--emerald-500)}.toast--error[data-v-42ec2f45]{border-left-color:var(--red-500)}.toast--warning[data-v-42ec2f45]{border-left-color:var(--amber-500)}.toast--info[data-v-42ec2f45]{border-left-color:var(--blue-500)}.toast-enter-active[data-v-42ec2f45],.toast-leave-active[data-v-42ec2f45]{transition:all .3s ease}.toast-enter-from[data-v-42ec2f45],.toast-leave-to[data-v-42ec2f45]{opacity:0;transform:translate(100%)}.toast__message[data-v-42ec2f45]{flex:1;font-size:.875rem;line-height:1.4}.toast__dismiss[data-v-42ec2f45]{background:none;border:none;font-size:1.25rem;line-height:1;color:var(--zinc-500);cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s}.toast__dismiss[data-v-42ec2f45]:hover{background:var(--zinc-100);color:var(--zinc-700)}.confirm-overlay[data-v-fd90b1eb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-dialog[data-v-fd90b1eb]{background:var(--surface-card, #ffffff);border-radius:var(--radius-lg, 12px);padding:1.5rem;width:100%;max-width:440px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000000a;border:1px solid var(--zinc-200, #e4e4e7)}.confirm-dialog__title[data-v-fd90b1eb]{font-size:1.125rem;font-weight:700;color:var(--gray-900, #18181b);margin:0 0 .5rem}.confirm-dialog__message[data-v-fd90b1eb]{font-size:.875rem;color:var(--gray-600, #52525b);margin:0 0 1.25rem;line-height:1.5}.confirm-dialog__input-group[data-v-fd90b1eb]{margin-bottom:1.25rem}.confirm-dialog__input-label[data-v-fd90b1eb]{display:block;font-size:.85rem;color:var(--gray-700, #3f3f46);margin-bottom:.4rem}.confirm-highlight[data-v-fd90b1eb]{font-weight:700;color:#dc2626;background:#fee2e2;padding:.1rem .35rem;border-radius:4px}.confirm-dialog__input[data-v-fd90b1eb]{width:100%;padding:.6rem .75rem;border-radius:8px;border:1.5px solid var(--gray-300, #d4d4d8);font-family:var(--font-mono);font-size:1rem;font-weight:700;letter-spacing:.05em;color:var(--gray-900, #18181b);box-sizing:border-box;transition:all .15s ease}.confirm-dialog__input[data-v-fd90b1eb]:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc262626}.confirm-dialog__actions[data-v-fd90b1eb]{display:flex;gap:.75rem;justify-content:flex-end}.btn[data-v-fd90b1eb]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.btn--secondary[data-v-fd90b1eb]{background:var(--gray-100, #f4f4f5);color:var(--gray-700, #3f3f46);border-color:var(--zinc-300, #d4d4d8)}.btn--secondary[data-v-fd90b1eb]:hover{background:var(--gray-200, #e4e4e7)}.btn--danger[data-v-fd90b1eb]{background:#dc2626;color:#fff}.btn--danger[data-v-fd90b1eb]:hover:not(:disabled){background:#b91c1c}.btn--warning[data-v-fd90b1eb]{background:#d97706;color:#fff}.btn--warning[data-v-fd90b1eb]:hover:not(:disabled){background:#b45309}.btn--info[data-v-fd90b1eb]{background:var(--brand-primary-hover);color:#fff}.btn--info[data-v-fd90b1eb]:hover:not(:disabled){background:var(--brand-primary-text)}.btn[data-v-fd90b1eb]:disabled{opacity:.45;cursor:not-allowed}.dialog-fade-enter-active[data-v-fd90b1eb],.dialog-fade-leave-active[data-v-fd90b1eb]{transition:opacity .2s ease}.dialog-fade-enter-active .confirm-dialog[data-v-fd90b1eb],.dialog-fade-leave-active .confirm-dialog[data-v-fd90b1eb]{transition:transform .2s ease}.dialog-fade-enter-from[data-v-fd90b1eb],.dialog-fade-leave-to[data-v-fd90b1eb]{opacity:0}.dialog-fade-enter-from .confirm-dialog[data-v-fd90b1eb],.dialog-fade-leave-to .confirm-dialog[data-v-fd90b1eb]{transform:scale(.95)}.app[data-v-74e523a7]{min-height:100vh}:root,.theme-lock-light{color-scheme:light;--brand-50: #eef3f6;--brand-100: #d6e4ec;--brand-200: #aecad9;--brand-300: #7fb3cf;--brand-400: #4e86a3;--brand-500: #2b6f99;--brand-600: #0e3a53;--brand-700: #0a2c40;--brand-800: #082536;--brand-900: #071f2e;--brand-rgb: 14, 58, 83;--brand-500-rgb: 43, 111, 153;--brand-primary: var(--brand-600);--brand-primary-hover: var(--brand-700);--brand-primary-soft: var(--brand-50);--brand-primary-text: var(--brand-600);--brand-on-primary: #ffffff;--brand-accent: #c47f00;--brand-accent-bright: #ffb000;--indigo-50: var(--brand-50);--indigo-100: var(--brand-100);--indigo-200: var(--brand-200);--indigo-300: var(--brand-300);--indigo-400: var(--brand-400);--indigo-500: var(--brand-primary);--indigo-600: var(--brand-primary-hover);--indigo-700: var(--brand-700);--indigo-800: var(--brand-800);--indigo-900: var(--brand-900);--font-sans: "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--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;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-200: #e4e4e7;--zinc-300: #d4d4d8;--zinc-400: #a1a1aa;--zinc-500: #71717a;--zinc-600: #52525b;--zinc-700: #3f3f46;--zinc-800: #27272a;--zinc-900: #18181b;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-200: #e9d5ff;--purple-300: #d8b4fe;--purple-400: #c084fc;--purple-500: #a855f7;--purple-600: #9333ea;--purple-700: #7e22ce;--purple-800: #6b21a8;--purple-900: #581c87;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--emerald-800: #065f46;--emerald-900: #064e3b;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--cyan-50: #ecfeff;--cyan-100: #cffafe;--cyan-200: #a5f3fc;--cyan-300: #67e8f9;--cyan-400: #22d3ee;--cyan-500: #06b6d4;--cyan-600: #0891b2;--cyan-700: #0e7490;--cyan-800: #155e75;--cyan-900: #164e63;--primary: var(--brand-primary);--primary-dark: var(--brand-primary-hover);--primary-light: var(--brand-primary-soft);--primary-500: var(--brand-primary);--primary-600: var(--brand-primary-hover);--primary-700: var(--brand-700);--primary-50: var(--brand-50);--primary-100: var(--brand-100);--primary-200: var(--brand-200);--success: var(--emerald-500);--success-light: var(--emerald-100);--danger: var(--red-500);--danger-light: var(--red-100);--warning: var(--amber-500);--warning-light: var(--amber-100);--info: var(--cyan-500);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-base: var(--text-primary);--text-inverse: var(--surface-raised);--surface-base: #f8fafc;--surface-card: #ffffff;--surface-raised: #ffffff;--surface-subtle: #f8fafc;--surface-muted: #f1f5f9;--surface-modal: #ffffff;--card-bg: var(--surface-card);--card-bg-hover: #f8fafc;--modal-backdrop: rgba(15, 23, 42, .5);--surface-overlay: rgba(255, 255, 255, .85);--surface-sidebar: #f8fafc;--surface-topbar: rgba(255, 255, 255, .85);--skeleton-base: #e8e8ee;--skeleton-highlight: #f4f4f8;--skeleton-gradient: linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 37%, var(--skeleton-base) 63%);--brand-gradient: linear-gradient(135deg, var(--brand-600) 0%, var(--brand-500) 100%);--brand-gradient-subtle: linear-gradient(135deg, var(--brand-50) 0%, #f3f7f9 50%, #f8f5ee 100%);--border-color: rgba(0, 0, 0, .08);--border-subtle: rgba(0, 0, 0, .05);--border-strong: rgba(0, 0, 0, .15);--badge-active-bg: #ecfdf5;--badge-active-color: #065f46;--badge-active-border: #a7f3d0;--badge-locked-bg: #fffbeb;--badge-locked-color: #92400e;--badge-locked-border: #fde68a;--badge-inactive-bg: #fef2f2;--badge-inactive-color: #991b1b;--badge-inactive-border: #fecaca;--badge-neutral-bg: #f1f5f9;--badge-neutral-color: #334155;--badge-neutral-border: #cbd5e1;--btn-primary-border: transparent;--btn-primary-disabled-bg: var(--brand-200);--btn-primary-disabled-color: var(--brand-400);--btn-primary-shadow: var(--shadow-sm);--btn-primary-focus-ring: rgba(var(--brand-rgb), .35);--btn-manage-bg: var(--brand-50);--btn-manage-color: var(--brand-primary-text);--btn-manage-border: var(--brand-200);--btn-manage-hover-bg: var(--brand-primary);--btn-manage-hover-color: #ffffff;--btn-lock-bg: #fffbeb;--btn-lock-color: #92400e;--btn-lock-border: #fde68a;--btn-lock-hover-bg: #d97706;--btn-lock-hover-color: #ffffff;--btn-renew-bg: #ecfdf5;--btn-renew-color: #065f46;--btn-renew-border: #a7f3d0;--btn-renew-hover-bg: #059669;--btn-renew-hover-color: #ffffff;--table-th-bg: #f8fafc;--table-th-color: #475569;--table-td-color: #0f172a;--table-border: rgba(0, 0, 0, .06);--table-hover-bg: rgba(0, 0, 0, .02);--pill-bg: transparent;--pill-color: #475569;--pill-border: transparent;--pill-hover-bg: #f1f5f9;--pill-hover-color: #0f172a;--pill-active-bg: var(--brand-50);--pill-active-color: var(--brand-primary-text);--pill-active-border: var(--brand-200);--pill-count-bg: #e2e8f0;--dropdown-bg: #ffffff;--dropdown-border: #e2e8f0;--dropdown-shadow: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--dropdown-item-color: #334155;--dropdown-item-hover-bg: #f8fafc;--dropdown-item-hover-color: #0f172a;--input-bg: #ffffff;--input-color: #0f172a;--input-border: #cbd5e1;--input-border-focus: var(--primary);--input-focus-ring: rgba(var(--brand-500-rgb), .22);--input-placeholder: #64748b;--input-caret: var(--primary);--input-autofill-bg: #ffffff;--input-autofill-color: #0f172a;--toggle-bg-off: var(--zinc-300);--toggle-bg-on: var(--brand-primary);--toggle-thumb: #ffffff;--toggle-focus-ring: rgba(var(--brand-500-rgb), .3);--btn-radius: var(--radius-md);--btn-min-height: 40px;--btn-gap: .75rem;--btn-primary-bg: var(--brand-gradient);--btn-primary-hover-bg: linear-gradient(135deg, var(--brand-700) 0%, var(--brand-600) 100%);--btn-primary-hover: var(--btn-primary-hover-bg);--btn-primary-color: var(--brand-on-primary, #ffffff);--btn-secondary-bg: var(--surface-card);--btn-secondary-color: var(--text-primary);--btn-secondary-border: var(--border-color);--btn-secondary-hover-bg: var(--surface-subtle);--bg-card: var(--surface-card);--bg-hover: var(--zinc-100);--text-color: var(--text-primary);--gray-50: var(--zinc-50);--gray-100: var(--zinc-100);--gray-200: var(--zinc-200);--gray-300: var(--zinc-300);--gray-400: var(--zinc-400);--gray-500: var(--zinc-500);--gray-600: var(--zinc-600);--gray-700: var(--zinc-700);--gray-800: var(--zinc-800);--gray-900: var(--zinc-900);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-glow: 0 0 0 1px rgba(var(--brand-rgb), .08), 0 4px 12px rgba(var(--brand-rgb), .1);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 25px -5px rgba(0, 0, 0, .08), 0 4px 10px -4px rgba(0, 0, 0, .03);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}:root{--motion-ease-out: cubic-bezier(.16, 1, .3, 1);--motion-duration-overlay: .2s;--motion-duration-panel: .3s}@keyframes ux-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ux-modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ux-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-overlay,.modal-backdrop,.drawer-overlay{animation:ux-overlay-in var(--motion-duration-overlay) ease both}.modal-overlay>*:not(.drawer-content),.modal-backdrop>*{animation:ux-modal-in var(--motion-duration-panel) var(--motion-ease-out) both}.drawer-overlay>.drawer-content{animation:ux-drawer-in var(--motion-duration-panel) var(--motion-ease-out) both}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-backdrop,.drawer-overlay,.modal-overlay>*,.modal-backdrop>*,.drawer-overlay>.drawer-content{animation-duration:.01ms!important}}.ux-overlay-leave-active{transition:opacity .2s ease}.ux-overlay-leave-active>*{transition:transform .2s ease-in,opacity .2s ease-in}.ux-overlay-leave-to{opacity:0}.ux-overlay-leave-to>.drawer-content{transform:translate(100%)}.modal-overlay.ux-overlay-leave-to>*,.modal-backdrop.ux-overlay-leave-to>*{transform:translateY(8px) scale(.98);opacity:0}[data-theme=dark],.theme-dark,.dark{color-scheme:dark;--zinc-50: #18181b;--zinc-100: #1f1f24;--zinc-200: #2c2c33;--zinc-300: #3f3f46;--zinc-400: #71717a;--zinc-500: #a1a1aa;--zinc-600: #d4d4d8;--zinc-700: #e4e4e7;--zinc-800: #f4f4f5;--zinc-900: #fafafa;--brand-50: rgba(127, 179, 207, .1);--brand-100: rgba(127, 179, 207, .16);--brand-200: rgba(127, 179, 207, .26);--brand-300: #7fb3cf;--brand-400: #5e9bbe;--brand-500: #3a82b0;--brand-600: #2b6f99;--brand-700: #a3cbe0;--brand-800: #c4ddea;--brand-900: #e2eef5;--brand-rgb: 43, 111, 153;--brand-500-rgb: 127, 179, 207;--brand-primary: #2b6f99;--brand-primary-hover: #3a82b0;--brand-primary-soft: rgba(127, 179, 207, .12);--brand-primary-text: #7fb3cf;--brand-accent: #ffb000;--primary-light: var(--brand-primary-soft);--primary-50: var(--brand-50);--primary-100: var(--brand-100);--primary-200: var(--brand-200);--primary-700: var(--brand-700);--primary-800: var(--brand-800);--primary-900: var(--brand-900);--blue-50: rgba(59, 130, 246, .1);--blue-100: rgba(59, 130, 246, .16);--blue-200: rgba(59, 130, 246, .26);--blue-300: rgba(59, 130, 246, .38);--blue-700: #93c5fd;--blue-800: #bfdbfe;--blue-900: #dbeafe;--purple-50: rgba(168, 85, 247, .1);--purple-100: rgba(168, 85, 247, .16);--purple-200: rgba(168, 85, 247, .26);--purple-300: rgba(168, 85, 247, .38);--purple-700: #d8b4fe;--purple-800: #e9d5ff;--purple-900: #f3e8ff;--emerald-50: rgba(16, 185, 129, .1);--emerald-100: rgba(16, 185, 129, .16);--emerald-200: rgba(16, 185, 129, .26);--emerald-300: rgba(16, 185, 129, .38);--emerald-700: #6ee7b7;--emerald-800: #a7f3d0;--emerald-900: #d1fae5;--red-50: rgba(239, 68, 68, .1);--red-100: rgba(239, 68, 68, .16);--red-200: rgba(239, 68, 68, .26);--red-300: rgba(239, 68, 68, .38);--red-700: #fca5a5;--red-800: #fecaca;--red-900: #fee2e2;--amber-50: rgba(245, 158, 11, .1);--amber-100: rgba(245, 158, 11, .16);--amber-200: rgba(245, 158, 11, .26);--amber-300: rgba(245, 158, 11, .38);--amber-700: #fcd34d;--amber-800: #fde68a;--amber-900: #fef3c7;--cyan-50: rgba(6, 182, 212, .1);--cyan-100: rgba(6, 182, 212, .16);--cyan-200: rgba(6, 182, 212, .26);--cyan-300: rgba(6, 182, 212, .38);--cyan-700: #67e8f9;--cyan-800: #a5f3fc;--cyan-900: #cffafe;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-base: var(--text-primary);--text-inverse: #0f172a;--surface-base: #0b0d12;--surface-card: #141720;--surface-raised: #1a1e29;--surface-subtle: #181c26;--surface-muted: #1e2230;--surface-modal: #141720;--card-bg: var(--surface-card);--card-bg-hover: #1e2230;--modal-backdrop: rgba(0, 0, 0, .75);--surface-overlay: rgba(20, 23, 32, .85);--surface-sidebar: #0f1218;--surface-topbar: rgba(11, 13, 18, .85);--skeleton-base: #1a1e29;--skeleton-highlight: #2c2c33;--skeleton-gradient: linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 37%, var(--skeleton-base) 63%);--brand-gradient-subtle: linear-gradient(135deg, rgba(127, 179, 207, .12) 0%, rgba(43, 111, 153, .1) 50%, rgba(255, 176, 0, .05) 100%);--border-color: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .16);--badge-active-bg: rgba(16, 185, 129, .15);--badge-active-color: #34d399;--badge-active-border: rgba(16, 185, 129, .3);--badge-locked-bg: rgba(245, 158, 11, .15);--badge-locked-color: #fbbf24;--badge-locked-border: rgba(245, 158, 11, .35);--badge-inactive-bg: rgba(239, 68, 68, .15);--badge-inactive-color: #f87171;--badge-inactive-border: rgba(239, 68, 68, .3);--badge-neutral-bg: rgba(255, 255, 255, .08);--badge-neutral-color: #cbd5e1;--badge-neutral-border: rgba(255, 255, 255, .12);--btn-primary-border: transparent;--btn-primary-disabled-bg: rgba(43, 111, 153, .25);--btn-primary-disabled-color: rgba(255, 255, 255, .4);--btn-primary-shadow: 0 1px 2px rgba(0, 0, 0, .3);--btn-primary-focus-ring: rgba(var(--brand-500-rgb), .5);--btn-manage-bg: rgba(127, 179, 207, .14);--btn-manage-color: #7fb3cf;--btn-manage-border: rgba(127, 179, 207, .3);--btn-manage-hover-bg: var(--brand-primary);--btn-manage-hover-color: #ffffff;--btn-lock-bg: rgba(245, 158, 11, .15);--btn-lock-color: #fbbf24;--btn-lock-border: rgba(245, 158, 11, .35);--btn-lock-hover-bg: #d97706;--btn-lock-hover-color: #ffffff;--btn-renew-bg: rgba(16, 185, 129, .15);--btn-renew-color: #34d399;--btn-renew-border: rgba(16, 185, 129, .3);--btn-renew-hover-bg: #059669;--btn-renew-hover-color: #ffffff;--table-th-bg: rgba(255, 255, 255, .03);--table-th-color: #94a3b8;--table-td-color: #f8fafc;--table-border: rgba(255, 255, 255, .06);--table-hover-bg: rgba(255, 255, 255, .03);--pill-bg: transparent;--pill-color: #94a3b8;--pill-border: transparent;--pill-hover-bg: rgba(255, 255, 255, .06);--pill-hover-color: #f8fafc;--pill-active-bg: rgba(127, 179, 207, .14);--pill-active-color: #7fb3cf;--pill-active-border: rgba(127, 179, 207, .3);--pill-count-bg: rgba(255, 255, 255, .08);--dropdown-bg: #141720;--dropdown-border: rgba(255, 255, 255, .12);--dropdown-shadow: 0 16px 36px -8px rgba(0, 0, 0, .7);--dropdown-item-color: #cbd5e1;--dropdown-item-hover-bg: rgba(255, 255, 255, .08);--dropdown-item-hover-color: #f8fafc;--input-bg: var(--surface-card);--input-color: #fafafa;--input-border: var(--border-color);--input-border-focus: #5e9bbe;--input-focus-ring: rgba(127, 179, 207, .28);--input-placeholder: var(--zinc-500);--input-caret: #7fb3cf;--input-autofill-bg: var(--surface-card);--input-autofill-color: #fafafa;--toggle-bg-off: var(--zinc-600);--toggle-bg-on: var(--brand-primary);--toggle-thumb: #ffffff;--toggle-focus-ring: rgba(127, 179, 207, .35);--btn-primary-bg: var(--brand-primary);--btn-primary-hover-bg: var(--brand-primary-hover);--btn-primary-hover: var(--brand-primary-hover);--btn-primary-color: #ffffff;--btn-secondary-bg: var(--surface-card);--btn-secondary-color: var(--text-primary, #fafafa);--btn-secondary-border: var(--border-color);--btn-secondary-hover-bg: var(--surface-subtle);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .55), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .45);--shadow-glow: 0 0 0 1px rgba(127, 179, 207, .18), 0 4px 12px rgba(43, 111, 153, .25);--shadow-card: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 25px -5px rgba(0, 0, 0, .6), 0 4px 10px -4px rgba(0, 0, 0, .4)}.theme-dark-studio,.login-page{color-scheme:dark;--surface-base: #071822;--surface-card: #0b2130;--surface-raised: #0e2a3a;--surface-subtle: #091d29;--surface-muted: #0d2533;--surface-modal: #0b2130;--modal-backdrop: rgba(0, 0, 0, .85);--surface-overlay: rgba(7, 24, 34, .85);--studio-accent: #ffb000;--studio-accent-hover: #ffc233;--studio-accent-soft: #ffd88a;--studio-accent-rgb: 255, 176, 0;--studio-cta-bg: #ffb000;--studio-cta-hover: #ffc233;--studio-cta-border: #e09a00;--studio-cta-color: #0b1320;--logo-ink: #f8f5ee;--logo-accent: #ffb000;--btn-primary-bg: var(--brand-gradient);--btn-primary-hover-bg: linear-gradient(135deg, var(--brand-700) 0%, var(--brand-500) 100%);--btn-primary-color: #ffffff;--btn-primary-border: transparent;--btn-primary-disabled-bg: rgba(14, 58, 83, .4);--btn-primary-disabled-color: rgba(255, 255, 255, .35);--btn-primary-shadow: 0 1px 3px rgba(0, 0, 0, .4);--btn-primary-focus-ring: rgba(255, 176, 0, .4);--btn-secondary-bg: rgba(255, 255, 255, .08);--btn-secondary-color: #f8fafc;--btn-secondary-border: rgba(255, 255, 255, .16);--btn-secondary-hover-bg: rgba(255, 255, 255, .14);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-inverse: #071822;--border-color: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .2);--input-bg: rgba(7, 24, 34, .65);--input-color: #f8fafc;--input-border: rgba(255, 255, 255, .16);--input-border-focus: #ffb000;--input-focus-ring: rgba(255, 176, 0, .3);--input-placeholder: rgba(255, 255, 255, .45);--input-caret: #ffb000;--input-autofill-bg: #0b2130;--input-autofill-color: #f8fafc;--gray-900: #f8fafc;--gray-800: #f1f5f9;--gray-700: #e2e8f0;--gray-600: #cbd5e1;--gray-500: #94a3b8;--gray-400: #64748b;--gray-300: #475569;--gray-200: #334155;--gray-100: #1e293b;--gray-50: #0f172a}@media (prefers-reduced-motion: no-preference){html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .25s ease,border-color .25s ease,color .2s ease,fill .2s ease,stroke .2s ease!important}}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mb-1{margin-bottom:1rem}.btn-icon-minimal{padding:.2rem;min-width:auto;border:none;background:transparent}.btn-icon-minimal:hover{opacity:.8}.text-truncate-bold{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.text-truncate-medium{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-truncate-small{font-size:.65rem;color:var(--zinc-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex-col-gap-1{display:flex;flex-direction:column;gap:1rem}.flex-col-center-pt{display:flex;flex-direction:column;justify-content:center;padding-top:1.5rem}.form-select-custom{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;background:var(--surface-card);color:var(--text-primary)}.text-small-muted{color:var(--text-muted);font-size:.75rem}.modal-actions-row{margin:0;width:100%;display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.flex-1{flex:1}.badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;line-height:1.25;border:1px solid transparent;white-space:nowrap}.badge-sm{font-size:.7rem;padding:.125rem .45rem}.badge-active,.badge-success{background:var(--emerald-50);color:var(--emerald-700);border-color:var(--emerald-200)}[data-theme=dark] .badge-active,.dark .badge-active,[data-theme=dark] .badge-success,.dark .badge-success{background:#10b98126;color:#34d399;border-color:#10b9814d}.badge-archived,.badge-danger{background:var(--red-50);color:var(--red-700);border-color:var(--red-200)}[data-theme=dark] .badge-archived,.dark .badge-archived,[data-theme=dark] .badge-danger,.dark .badge-danger{background:#ef444426;color:#f87171;border-color:#ef44444d}.badge-billable{background:var(--emerald-50);color:var(--emerald-700);border-color:var(--emerald-200)}[data-theme=dark] .badge-billable,.dark .badge-billable{background:#10b98126;color:#34d399;border-color:#10b9814d}.badge-internal{background:var(--zinc-100);color:var(--zinc-700);border-color:var(--zinc-200)}[data-theme=dark] .badge-internal,.dark .badge-internal{background:var(--zinc-800);color:var(--zinc-300);border-color:var(--zinc-700)}.badge-warning{background:var(--amber-50);color:var(--amber-700);border-color:var(--amber-200)}[data-theme=dark] .badge-warning,.dark .badge-warning{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}.badge-primary,.badge-info{background:var(--indigo-50);color:var(--indigo-700);border-color:var(--indigo-200)}[data-theme=dark] .badge-primary,.dark .badge-primary,[data-theme=dark] .badge-info,.dark .badge-info{background:#7fb3cf24;color:#7fb3cf;border-color:#7fb3cf4d}.btn-action{padding:.25rem .55rem;font-size:.75rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.btn-outline-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-outline-secondary:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary);border-color:var(--border-strong)}.btn-outline-primary{background:transparent;color:var(--indigo-600);border:1px solid var(--indigo-300)}[data-theme=dark] .btn-outline-primary,.dark .btn-outline-primary{color:#7fb3cf;border-color:#7fb3cf59}.btn-outline-primary:hover:not(:disabled){background:var(--indigo-50);color:var(--indigo-500);border-color:var(--indigo-400)}.btn-outline-warning{background:transparent;color:var(--amber-700);border:1px solid var(--amber-300)}[data-theme=dark] .btn-outline-warning,.dark .btn-outline-warning{color:#fbbf24;border-color:#fbbf2459}.btn-outline-warning:hover:not(:disabled){background:var(--amber-50);color:var(--amber-500);border-color:var(--amber-400)}.btn-outline-danger{background:transparent;color:var(--red-700);border:1px solid var(--red-300)}[data-theme=dark] .btn-outline-danger,.dark .btn-outline-danger{color:#f87171;border-color:#f8717159}.btn-outline-danger:hover:not(:disabled){background:var(--red-50);color:var(--red-500);border-color:var(--red-400)}.projects-table-wrapper{margin-bottom:1.5rem;background:var(--surface-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.projects-table{width:100%;border-collapse:collapse}.projects-table thead tr{background:var(--surface-subtle);border-bottom:1px solid var(--border-color)}.projects-table th{padding:12px 16px;text-align:left;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.projects-table th.th-right{text-align:right}.projects-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast, .15s ease)}.projects-table tbody tr:hover{background:var(--surface-subtle)}.projects-table td{padding:12px 16px;color:var(--text-primary);font-size:.875rem;vertical-align:middle}.projects-table td.td-actions{text-align:right;white-space:nowrap}.project-name-cell{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.project-code-cell{font-family:var(--font-mono, monospace);font-size:.85rem;color:var(--text-secondary)}.budget-health-card{margin:.75rem 0;padding:.65rem .85rem;background:var(--surface-subtle);border-radius:8px;border:1px solid var(--border-color);color:var(--text-primary)}.budget-health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.budget-health-title{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.consumed-vs-remaining-breakdown{font-size:.8rem;color:var(--text-primary);margin-bottom:.35rem;line-height:1.4}.consumed-vs-remaining-sub{display:block;color:var(--text-muted);font-size:.7rem;margin-top:2px}.progress-bar-bg{height:6px;background:var(--zinc-200);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.progress-bar-fill.fill-healthy{background:var(--emerald-500)}.progress-bar-fill.fill-alert{background:var(--red-500)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.project-actions-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.75rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-box{background:var(--surface-modal);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:520px;padding:1.5rem;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0,0,0,.3));color:var(--text-primary)}.modal-header-view{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-title-view{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;font-size:1.35rem;line-height:1;cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast, .15s ease);padding:.25rem}.modal-close-btn:hover{color:var(--text-primary)}.modal-body-section{margin-bottom:1.25rem}.modal-subhead-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.modal-subhead-label{font-weight:600;color:var(--text-secondary)}.modal-detail-card{padding:1rem;background:var(--surface-subtle);border-radius:8px;border:1px solid var(--border-color)}.modal-detail-card-title{font-size:.9rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.modal-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.modal-stat-label{font-size:.75rem;color:var(--text-muted);display:block;margin-bottom:2px}.modal-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.modal-progress-bar{height:8px;background:var(--zinc-200);border-radius:4px;overflow:hidden}.modal-footer-view{display:flex;justify-content:flex-end;gap:.5rem}.alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.45;border:1px solid transparent}.alert-warning{background:var(--amber-50);border-color:var(--amber-200);color:var(--amber-800)}[data-theme=dark] .alert-warning,.dark .alert-warning{background:#f59e0b1f;border-color:#f59e0b4d;color:#fde68a}.alert-success{background:var(--emerald-50);border-color:var(--emerald-200);color:var(--emerald-800)}[data-theme=dark] .alert-success,.dark .alert-success{background:#10b9811f;border-color:#10b9814d;color:#a7f3d0}.alert-danger{background:var(--red-50);border-color:var(--red-200);color:var(--red-800)}[data-theme=dark] .alert-danger,.dark .alert-danger{background:#ef44441f;border-color:#ef44444d;color:#fecaca}.plan-option-card{border:2px solid var(--border-color);padding:1rem;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--surface-card);transition:all var(--transition-fast, .15s ease)}.plan-option-card:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.plan-option-card.is-selected{border-color:var(--indigo-500);background:var(--indigo-50)}.plan-name-title{display:block;font-size:1rem;font-weight:600;color:var(--text-primary)}.plan-meta-info{font-size:.85rem;color:var(--text-muted)}.custom-calendar-event{padding:4px;height:100%;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-sans);font-size:.75rem;line-height:1.2;border-radius:4px;box-shadow:var(--shadow-xs);transition:all var(--transition-fast, .15s ease)}.custom-calendar-event.event-regular{background-color:var(--surface-card);color:var(--text-primary);border-left:3px solid var(--primary-600)}.custom-calendar-event.event-running{background-color:var(--red-50);color:var(--red-700);border-left:3px solid var(--red-500)}.calendar-event-time{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.calendar-event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-project{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-0{margin:0!important}.w-full{width:100%!important}.btn-block-action{width:100%;padding:.65rem 1rem;font-weight:600;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.icon-inline-prefix{margin-right:6px;display:inline-block;vertical-align:-2px;flex-shrink:0}.icon-inline-sm{margin-right:4px;display:inline-block;vertical-align:-1px;flex-shrink:0}.icon-inline-bottom{margin-right:4px;display:inline-block;vertical-align:bottom;flex-shrink:0}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);line-height:1.6;color:var(--gray-900);background-color:var(--surface-base);letter-spacing:-.01em}.font-mono{font-family:var(--font-mono)}.tabular-nums{font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}p{margin-top:0;margin-bottom:1rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:inherit;font-size:.95rem;padding:.6rem 1rem;border:1px solid var(--input-border, var(--zinc-300));border-radius:var(--radius-sm);background-color:var(--input-bg, var(--surface-card));color:var(--input-color, var(--text-primary));caret-color:var(--input-caret, var(--primary));transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--input-border-focus, var(--primary));box-shadow:0 0 0 3px var(--input-focus-ring, rgba(var(--brand-rgb), .18))}input::placeholder,textarea::placeholder{color:var(--input-placeholder, var(--zinc-400));opacity:1}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--input-autofill-bg, var(--surface-card)) inset!important;-webkit-text-fill-color:var(--input-autofill-color, var(--text-primary))!important;caret-color:var(--input-caret, var(--primary))!important;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,textarea:autofill,textarea:autofill:hover,textarea:autofill:focus,select:autofill,select:autofill:hover,select:autofill:focus{box-shadow:0 0 0 1000px var(--input-autofill-bg, var(--surface-card)) inset!important;-webkit-text-fill-color:var(--input-autofill-color, var(--text-primary))!important;filter:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2371717a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}input[type=time],input[type=date],input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:text}input[type=time]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}input[type=time]::-webkit-calendar-picker-indicator:hover,input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.25rem;height:1.25rem;border:1.5px solid var(--gray-300);border-radius:4px;background-color:var(--surface-card);cursor:pointer;display:inline-grid;place-content:center;transition:all var(--transition-fast);margin:0;vertical-align:middle}input[type=checkbox]:before{content:"";width:.65em;height:.65em;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transform-origin:bottom left;transition:.12s transform ease-in-out;box-shadow:inset 1em 1em #fff;background-color:var(--surface-card)}input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--brand-rgb),.15);border-color:var(--primary)}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:relative;display:inline-block;flex-shrink:0;width:44px;height:24px;background-color:var(--toggle-bg-off, var(--zinc-300));transition:all .25s cubic-bezier(.16,1,.3,1);border-radius:24px;border:1px solid var(--border-color, rgba(0, 0, 0, .08))}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--toggle-thumb, #ffffff);transition:all .25s cubic-bezier(.16,1,.3,1);border-radius:50%;box-shadow:0 1px 3px #00000040}.toggle-switch input:checked+.toggle-slider{background-color:var(--toggle-bg-on, var(--brand-primary));border-color:var(--toggle-bg-on, var(--brand-primary));box-shadow:0 2px 8px rgba(var(--brand-rgb),.35)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 3px var(--toggle-focus-ring, rgba(var(--brand-rgb), .25))}.toggle-label{font-weight:500;font-size:.95rem;color:var(--gray-700);line-height:1;margin-top:1px}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;line-height:1.2}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn-primary{background:var(--btn-primary-bg, var(--brand-gradient));color:var(--btn-primary-color, #ffffff);border:1px solid var(--btn-primary-border, transparent);box-shadow:var(--btn-primary-shadow, var(--shadow-sm));min-width:105px}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover-bg, var(--brand-primary-hover));box-shadow:var(--shadow-md),0 0 0 2px var(--surface-base),0 0 0 4px var(--btn-primary-focus-ring, rgba(var(--brand-rgb), .25));transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--btn-primary-disabled-bg, var(--brand-200));color:var(--btn-primary-disabled-color, var(--brand-400));border-color:transparent;box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.btn-secondary{background:var(--btn-secondary-bg, var(--surface-card));color:var(--btn-secondary-color, var(--text-primary));border:1px solid var(--btn-secondary-border, var(--border-color));box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover-bg, var(--surface-subtle));color:var(--btn-secondary-color, var(--text-primary));border-color:var(--border-medium, var(--border-color));transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-start{background:var(--btn-primary-bg, var(--brand-gradient));color:var(--btn-primary-color, var(--brand-on-primary, #ffffff));border:1px solid var(--btn-primary-border, transparent);box-shadow:var(--btn-primary-shadow, var(--shadow-sm))}.btn-start:hover:not(:disabled){background:var(--btn-primary-hover-bg, var(--brand-primary-hover));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-start:active:not(:disabled){transform:translateY(0)}.btn-start:disabled{background:var(--btn-primary-disabled-bg, var(--brand-200));color:var(--btn-primary-disabled-color, var(--brand-400));box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--zinc-100);color:var(--text-primary)}.btn-danger{background:var(--red-50);color:var(--red-600);border-color:var(--red-100)}.btn-danger:hover:not(:disabled){background:var(--red-500);color:#fff}.btn-outline{background:transparent;color:var(--text-secondary);border-color:var(--gray-300)}.btn-outline:hover:not(:disabled){background:var(--gray-50);color:var(--text-primary);border-color:var(--gray-400)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer}.btn-icon svg{width:1.125rem;height:1.125rem}.btn-icon:hover:not(:disabled){background-color:var(--zinc-100);color:var(--primary)}.btn:disabled,.btn-icon:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.p-4{padding:1rem}.p-8{padding:2rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}::selection{background:var(--primary-200);color:var(--primary-700)}h1,h2,h3{letter-spacing:-.02em}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@media (max-width: 768px){html{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.25rem}}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-base, var(--surface-base));--sidebar-w: 248px;--sidebar-collapsed-w: 68px;--topbar-h: 56px;--nav-active-bg: var(--brand-gradient-subtle);--nav-active-color: var(--brand-primary-text);--nav-active-border: var(--brand-primary);--nav-hover-bg: rgba(var(--brand-rgb), .04);--text-primary: var(--zinc-900);--text-secondary: var(--zinc-600);--text-muted: var(--zinc-400);--border-color: rgba(0, 0, 0, .06);--border-subtle: rgba(0, 0, 0, .04)}.topbar{display:flex;justify-content:space-between;align-items:center;background:var(--surface-topbar);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);padding:0 1.25rem;height:var(--topbar-h);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #00000008,0 1px 2px #00000005}.topbar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-500),var(--brand-accent),var(--brand-primary));background-size:200% 100%;animation:accentShimmer 6s ease-in-out infinite}@keyframes accentShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.topbar-left{display:flex;align-items:center;gap:.5rem}.sidebar-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:7px;border-radius:8px;transition:all var(--transition-fast, .15s ease)}.sidebar-toggle:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:7px;border-radius:8px}.hamburger:hover{background:var(--nav-hover-bg)}.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;text-decoration:none;color:var(--text-primary);letter-spacing:-.02em}.logo-lockup,.logo-monogram{--logo-height: 1.75rem}.topbar .logo .logo-monogram{display:none}.topbar-right{display:flex;align-items:center;gap:.5rem}.timer-indicator{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--emerald-100) 0%,var(--emerald-100) 100%);color:var(--emerald-700);padding:5px 14px;border-radius:9999px;font-size:.75rem;font-weight:600;text-decoration:none;border:1px solid rgba(16,185,129,.15);animation:timerPulse 2s ease-in-out infinite;transition:all var(--transition-fast, .15s ease)}.timer-indicator:hover{background:linear-gradient(135deg,var(--emerald-200) 0%,var(--emerald-100) 100%);box-shadow:0 2px 8px #10b98126}.timer-dot{width:6px;height:6px;background:var(--emerald-500);border-radius:50%;animation:dotBlink 1s ease-in-out infinite}.user-chip{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary);padding:3px 12px 3px 3px;border-radius:9999px;transition:all var(--transition-fast, .15s ease);border:1px solid transparent}.user-chip:hover{background:var(--nav-hover-bg);border-color:var(--border-color)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--brand-500),var(--brand-primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 8px rgba(var(--brand-rgb),.25)}.user-name-topbar{font-size:.8rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:7px;border-radius:8px;transition:all var(--transition-fast, .15s ease)}.btn-logout:hover{background:var(--red-50);color:var(--red-600)}.app-body{display:flex;flex:1;min-height:calc(100vh - var(--topbar-h))}.form-row{display:flex;gap:16px}@media (max-width: 768px){.form-row{flex-direction:column;gap:8px}}.sidebar{width:var(--sidebar-w);background:var(--surface-sidebar);border-right:1px solid var(--border-color);position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;overflow-x:hidden;transition:width .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;z-index:40}.sidebar-overlay{display:none}.sidebar-nav{display:flex;flex-direction:column;padding:.875rem 0 .5rem;min-height:100%}.nav-group{padding:0 .75rem;margin-bottom:.25rem}.nav-group-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:.75rem .75rem .375rem;white-space:nowrap;overflow:hidden;transition:opacity .15s}.nav-group a{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:10px;text-decoration:none;color:var(--text-secondary);font-size:.825rem;font-weight:450;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;margin-bottom:1px;position:relative}.nav-group a svg{width:18px;height:18px;flex-shrink:0;transition:color .15s}.nav-group a:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.nav-group a.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:600;box-shadow:inset 3px 0 0 var(--nav-active-border)}.nav-group a.active svg{color:var(--nav-active-color)}.nav-label{overflow:hidden;text-overflow:ellipsis;transition:opacity .15s}.nav-badge{font-size:.55rem;font-weight:700;padding:2px 6px;border-radius:5px;letter-spacing:.04em;margin-left:auto;flex-shrink:0}.nav-badge.live{background:linear-gradient(135deg,var(--red-50),var(--red-100));color:var(--red-600);border:1px solid rgba(220,38,38,.12);animation:badgePulse 1.5s ease-in-out infinite}.sidebar-footer{margin-top:auto;padding:.625rem .75rem;border-top:1px solid var(--border-subtle)}.profile-link{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:10px;text-decoration:none;color:var(--text-primary);transition:all .15s cubic-bezier(.4,0,.2,1)}.profile-link:hover{background:var(--nav-hover-bg)}.profile-link.active{background:var(--nav-active-bg);box-shadow:inset 3px 0 0 var(--nav-active-border)}.profile-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand-500),var(--brand-primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;letter-spacing:.5px;flex-shrink:0;box-shadow:0 2px 8px rgba(var(--brand-rgb),.25)}.profile-info{display:flex;flex-direction:column;overflow:hidden;transition:opacity .15s}.profile-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{font-size:.65rem;color:var(--text-muted);font-weight:500;text-transform:capitalize}.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-w)}.sidebar-collapsed .nav-group-label{opacity:0;height:0;padding:0;margin:0;pointer-events:none}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-badge{opacity:0;width:0;overflow:hidden;pointer-events:none}.sidebar-collapsed .nav-group a{justify-content:center;padding:.5rem;gap:0}.sidebar-collapsed .nav-group a.active{box-shadow:none;border-radius:10px}.sidebar-collapsed .profile-info{opacity:0;width:0;overflow:hidden;pointer-events:none}.sidebar-collapsed .profile-link{justify-content:center;gap:0;padding:.5rem}.sidebar-collapsed .nav-group a[title]{position:relative}.main-content{flex:1;min-width:0;overflow-x:hidden;position:relative}@keyframes dotBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes timerPulse{0%,to{box-shadow:0 0 #10b98126}50%{box-shadow:0 0 0 5px #10b9810f}}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.4}}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.sidebar:hover::-webkit-scrollbar-thumb{background:#0000001a}@media (max-width: 1024px){.app-layout{--sidebar-w: 224px}}@media (max-width: 768px){.app-layout{--topbar-h: 48px}.sidebar-toggle{display:none}.hamburger{display:flex}.user-name-topbar,.timer-label{display:none}.topbar{padding:0 .75rem}.topbar-right{gap:.25rem}.logo-lockup{--logo-height: 1.5rem}.timer-indicator{padding:3px 8px;font-size:.675rem}.sidebar{position:fixed;top:var(--topbar-h);left:0;bottom:0;width:272px;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:none}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 30px #00000014}.sidebar.mobile-open .sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--topbar-h);background:#0003;z-index:-1}.sidebar-collapsed .sidebar{width:272px}.sidebar-collapsed .nav-group-label{opacity:1;height:auto;padding:.75rem .75rem .375rem;pointer-events:auto}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-badge{opacity:1;width:auto;pointer-events:auto}.sidebar-collapsed .nav-group a{justify-content:flex-start;padding:.5rem .75rem;gap:.625rem}.sidebar-collapsed .nav-group a.active{box-shadow:inset 3px 0 0 var(--nav-active-border)}.sidebar-collapsed .profile-info{opacity:1;width:auto;pointer-events:auto}.sidebar-collapsed .profile-link{justify-content:flex-start;gap:.625rem;padding:.5rem .625rem}}@media (max-width: 380px){.topbar .logo .logo-lockup{display:none}.topbar .logo .logo-monogram{display:block}.topbar{padding:0 .5rem}}.impersonation-controls{display:flex;align-items:center;gap:.5rem}.impersonation-badge{background:var(--amber-200);color:var(--amber-800);padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.btn-return-platform{display:flex;align-items:center;gap:.5rem;background:var(--red-50);color:var(--red-800);border:1px solid var(--red-200);padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-return-platform:hover{background:var(--red-100)}@media (max-width: 640px){.btn-return-platform .btn-text,.impersonation-badge{display:none}}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease-out}.drawer-content{width:100%;max-width:480px;height:100%;background:var(--surface-card);box-shadow:-10px 0 25px #0000001a;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.drawer-header{padding:1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.drawer-header h2{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0}.drawer-body{flex:1;padding:1.5rem;overflow-y:auto}.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:.75rem;background:var(--gray-50)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-header{text-align:center;margin-bottom:3.5rem}.section-tag{display:inline-block;background:rgba(var(--brand-rgb),.12);color:var(--c-primary-bright);padding:.3rem .9rem;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.section-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;color:var(--c-text-bright);margin-bottom:.75rem}.section-sub{color:var(--c-text-dim);font-size:1.05rem;max-width:540px;margin:0 auto;line-height:1.6}.modal-actions,.drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.875rem;width:100%}.drawer-footer>.btn,.modal-actions>.btn{min-width:105px}@page{size:letter portrait;margin:12mm 15mm}@media print{html,body,#app{background:#fff!important;color:#0f172a!important;margin:0!important;padding:0!important;width:100%!important;min-height:auto!important;height:auto!important;overflow:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.topbar,.sidebar,.sidebar-overlay,.subscription-inactive-overlay,.no-print,.hamburger,.sidebar-toggle,.drawer-overlay,.base-drawer,.timer-indicator,.theme-toggle,.notification-bell,.workspace-nav-group,.user-chip,.btn-logout,.impersonation-controls,button:not(.btn-keep-print){display:none!important}.app-layout,.app-body,.main-content{display:block!important;width:100%!important;min-width:100%!important;max-width:100%!important;min-height:auto!important;height:auto!important;padding:0!important;margin:0!important;border:none!important;box-shadow:none!important;overflow:visible!important;background:transparent!important}}
