:root{--color-primary:#f68c2c;--color-primary-hover:#e67a16;--color-primary-active:#d86c08;--color-on-primary:#fff;--color-secondary:#3b82f6;--accent-primary:#f68c2c;--accent-hover:#e67a16;--accent-light:#f68c2c1f;--primary:var(--color-primary);--color-accent:#d97706;--color-accent-hover:#b45309;--color-on-accent:#fff;--color-accent-light:#d9770624;--bg-primary:#f8f9fb;--bg-secondary:#fff;--bg-tertiary:#f1f3f6;--bg-panel:#ffffffe6;--bg-panel-hover:#f3f4f6f2;--bg-hover:#1118270a;--bg-input:#fff;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-tertiary:#9ca3af;--success:#16a34a;--success-color:#16a34a;--success-light:#16a34a24;--warning:#d97706;--warning-color:#d97706;--warning-light:#d9770624;--error:#dc2626;--error-color:#dc2626;--error-light:#dc262624;--info:#2563eb;--info-light:#2563eb24;--border-color:#e5e7eb;--border-strong:#d1d5db;--border-focus:#f68c2c8c;--ring:#f68c2c4d;--shadow-glow:0 0 0 3px #f68c2c2e;--shadow-glow-accent:0 0 0 3px #d9770638;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--shadow-xl:0 20px 40px #0f172a29;--bg-gradient-1:#f68c2c0f;--bg-gradient-2:#3b82f60a;--chart-bar-start:#d86c08;--chart-bar-end:#f68c2c;--chart-line:#3b82f6;--chart-1:#f68c2c;--chart-2:#3b82f6;--chart-3:#16a34a;--chart-4:#7c3aed;--chart-5:#0891b2;--chart-6:#d97706;--slate-panel-bg:#fff;--slate-panel-border:#e2e8f0;--slate-panel-shadow:0 4px 24px -1px #0f172a0f;--slate-input-bg:#fff;--slate-input-border:#d1d5db;--slate-input-focus-shadow:0 0 0 3px #f68c2c33;--slate-table-cell:#fff;--slate-table-cell-hover:#f1f3f6;--slate-table-border:#e5e7eb;--font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-heading:"Fira Code",ui-monospace,"Fira Sans","Segoe UI",sans-serif;--font-mono:"Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:34px;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.7;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--control-h:40px;--control-h-sm:32px;--control-h-lg:48px;--tap-min:44px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-drawer:800;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--radius-sm:6px;--radius-md:8px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--header-h:60px;--bottomnav-h:60px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color-scheme:light}[data-theme=dark]{--color-primary:#f79a3c;--color-primary-hover:#fbb36b;--color-primary-active:#fdcb98;--color-on-primary:#1a1206;--color-secondary:#60a5fa;--accent-primary:#f79a3c;--accent-hover:#fbb36b;--accent-light:#f79a3c2e;--color-accent:#f59e0b;--color-accent-hover:#fbbf24;--color-on-accent:#0b1220;--color-accent-light:#f59e0b29;--bg-primary:#0b1220;--bg-secondary:#111a2e;--bg-tertiary:#1b2740;--bg-panel:#111a2eb8;--bg-panel-hover:#1b2740d9;--bg-hover:#ffffff0d;--bg-input:#02061780;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-tertiary:#64748b;--success:#22c55e;--success-color:#22c55e;--success-light:#22c55e2e;--warning:#f59e0b;--warning-color:#f59e0b;--warning-light:#f59e0b2e;--error:#f87171;--error-color:#f87171;--error-light:#f871712e;--info:#60a5fa;--info-light:#60a5fa2e;--border-color:#ffffff14;--border-strong:#ffffff29;--border-focus:#f79a3c99;--ring:#f79a3c59;--shadow-glow:0 0 0 3px #f79a3c47;--shadow-glow-accent:0 0 0 3px #f59e0b4d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 12px 40px #0009;--shadow-xl:0 20px 48px #000000b3;--bg-gradient-1:#f79a3c1f;--bg-gradient-2:#3b82f61a;--chart-bar-start:#d86c08;--chart-bar-end:#f79a3c;--chart-line:#60a5fa;--chart-1:#f79a3c;--chart-2:#60a5fa;--chart-3:#22c55e;--chart-4:#a78bfa;--chart-5:#22d3ee;--chart-6:#fbbf24;--slate-panel-bg:#1e293b80;--slate-panel-border:#ffffff0f;--slate-panel-shadow:0 4px 24px -1px #0000004d;--slate-input-bg:#02061780;--slate-input-border:#ffffff1f;--slate-input-focus-shadow:0 0 0 3px #f79a3c47;--slate-table-cell:#0f172a66;--slate-table-cell-hover:#1e293b99;--slate-table-border:#ffffff0f;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fb;background:var(--bg-primary);background-attachment:fixed;background-image:radial-gradient(circle at 15% 50%,#f68c2c0f,#0000 25%),radial-gradient(circle at 85% 30%,#3b82f60a,#0000 25%);background-image:radial-gradient(circle at 15% 50%,var(--bg-gradient-1),#0000 25%),radial-gradient(circle at 85% 30%,var(--bg-gradient-2),#0000 25%);display:flex;flex-direction:column;font-family:Fira Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-family);font-size:14px;font-size:var(--text-base);font-weight:400;font-weight:var(--weight-normal);line-height:1.5;line-height:var(--leading-normal);min-height:100vh;min-height:100dvh}body,h1,h2,h3,h4,h5,h6{color:#111827;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Fira Code,ui-monospace,Fira Sans,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:600;font-weight:var(--weight-semibold);line-height:1.25;line-height:var(--leading-tight)}code,kbd,pre,samp{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-family:var(--font-mono)}table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:#d86c08;color:var(--color-primary-active);text-decoration:none}a:hover{color:#e67a16;color:var(--color-primary-hover)}img,video{height:auto;max-width:100%}:focus-visible{outline:2px solid #f68c2c;outline:2px solid var(--color-primary);outline-offset:2px}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #f68c2c;outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--border-strong);border-radius:999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-muted)}.glass-panel{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe6;background:var(--bg-panel);border:1px solid #e5e7eb;border:1px solid var(--border-color);box-shadow:0 12px 32px #0f172a1f;box-shadow:var(--shadow-lg)}.text-muted{color:#6b7280;color:var(--text-secondary)}.text-center{text-align:center}.w-100{width:100%}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-family:var(--font-mono)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.hide-mobile{display:inline;display:initial}.only-mobile{display:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .25s ease forwards;animation:fadeIn var(--transition-base) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media (max-width:1024px){:root{--header-h:56px}}@media (max-width:768px){:root{--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:12px}.hide-mobile{display:none!important}.only-mobile{display:inline;display:initial}}.theme-toggle-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-md);color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;height:var(--control-h);justify-content:center;min-width:40px;min-width:var(--control-h);transition:all .15s ease;transition:all var(--transition-fast);width:40px;width:var(--control-h)}.theme-toggle-btn:hover{background:#1118270a;background:var(--bg-hover);border-color:#e5e7eb;border-color:var(--border-color);color:#f68c2c;color:var(--color-primary)}.container{margin-inline:auto;max-width:1440px;padding-inline:clamp(12px,4vw,32px);width:100%}.grid-auto{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid-auto--sm{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}.stack-md{display:flex;gap:var(--space-md)}.safe-area-x{padding-left:max(var(--space-md),var(--safe-left));padding-right:max(var(--space-md),var(--safe-right))}.safe-area-bottom{padding-bottom:max(var(--space-md),var(--safe-bottom))}@media (max-width:1024px){.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}}@media (max-width:768px){body{font-size:var(--text-base)}.stack-md{align-items:stretch;flex-direction:column}.container{padding-inline:var(--space-md)}.theme-toggle-btn,[role=button],a.btn,button{min-height:var(--tap-min)}}.ui-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-weight:var(--weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-btn:active{transform:translateY(.5px)}.ui-btn:disabled{cursor:not-allowed;opacity:.55}.ui-btn__label{display:inline-block}.ui-btn--sm{font-size:var(--text-sm);height:var(--control-h-sm);padding:0 12px}.ui-btn--md{font-size:var(--text-base);height:var(--control-h);padding:0 16px}.ui-btn--lg{font-size:var(--text-md);height:var(--control-h-lg);padding:0 22px}.ui-btn--block{width:100%}.ui-btn--icon{aspect-ratio:1/1;padding:0}.ui-btn--icon.ui-btn--sm{width:var(--control-h-sm)}.ui-btn--icon.ui-btn--md{width:var(--control-h)}.ui-btn--icon.ui-btn--lg{width:var(--control-h-lg)}.ui-btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-btn--primary:active:not(:disabled){background:var(--color-primary-active)}.ui-btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.ui-btn--accent:hover:not(:disabled){background:var(--color-accent-hover)}.ui-btn--info{background:#1e40af;color:#fff}.ui-btn--info:hover:not(:disabled){background:#1e3a8a}.ui-btn--info:active:not(:disabled){background:#172f6e}[data-theme=dark] .ui-btn--info{background:#3b82f6;color:#0b1220}[data-theme=dark] .ui-btn--info:hover:not(:disabled){background:#60a5fa}.ui-btn--secondary{background:var(--bg-secondary);border-color:var(--border-strong);color:var(--text-primary)}.ui-btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.ui-btn--ghost{background:#0000;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--color-primary)}.ui-btn--danger{background:var(--error);color:#fff}.ui-btn--danger:hover:not(:disabled){filter:brightness(.94)}.ui-btn--success{background:var(--success);color:#fff}.ui-btn--success:hover:not(:disabled){filter:brightness(.94)}@media (max-width:768px){.ui-btn--lg,.ui-btn--md{min-height:var(--tap-min)}}.ui-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary)}.ui-card--padded{padding:var(--space-lg)}.ui-card--interactive{cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card__header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-md)}.ui-card__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.ui-card__subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:2px 0 0}.ui-card__header-actions{flex-shrink:0}.ui-card__footer,.ui-card__header-actions{align-items:center;display:flex;gap:var(--space-sm)}.ui-card__footer{border-top:1px solid var(--border-color);margin-top:var(--space-md);padding-top:var(--space-md)}.ui-statcard{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) var(--space-lg)}.ui-statcard__top{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.ui-statcard__label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.ui-statcard__icon{color:var(--color-primary);display:inline-flex}.ui-statcard__value{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:1.1}.ui-statcard__hint{color:var(--text-muted);font-size:var(--text-xs)}.ui-statcard__hint--up{color:var(--success)}.ui-statcard__hint--down{color:var(--error)}@media (max-width:768px){.ui-card--padded{padding:var(--space-md)}}.ui-field{display:flex;flex-direction:column;gap:var(--space-xs)}.ui-field__label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.ui-field__req{color:var(--error)}.ui-field__msg{color:var(--text-muted);font-size:var(--text-xs);margin:0}.ui-field__msg--error{color:var(--error)}.ui-input{-webkit-appearance:none;appearance:none;background:var(--bg-input);border:1px solid var(--slate-input-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--text-base);height:var(--control-h);padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover:not(:disabled){border-color:var(--border-strong)}.ui-input:focus{border-color:var(--color-primary);box-shadow:var(--slate-input-focus-shadow);outline:none}.ui-input:disabled{cursor:not-allowed;opacity:.6}.ui-input--invalid,.ui-input--invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.ui-textarea{height:auto;line-height:var(--leading-normal);min-height:96px;padding:10px 12px;resize:vertical}.ui-input-wrap{display:block;position:relative}.ui-input-wrap__icon{color:var(--text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-input--with-icon{padding-left:36px}.ui-select-wrap{display:block;position:relative}.ui-select{cursor:pointer;padding-right:36px}.ui-select__chevron{color:var(--text-muted);pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@media (max-width:768px){.ui-input{font-size:16px;min-height:var(--tap-min)}}.ui-badge{align-items:center;border:1px solid #0000;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);gap:6px;line-height:1.4;padding:3px 10px;white-space:nowrap}.ui-badge__dot{background:currentColor;border-radius:50%;height:6px;width:6px}.ui-badge--neutral{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.ui-badge--primary{background:var(--accent-light);color:var(--color-primary)}.ui-badge--success{background:var(--success-light);color:var(--success)}.ui-badge--warning{background:var(--warning-light);color:var(--warning)}.ui-badge--danger{background:var(--error-light);color:var(--error)}.ui-badge--info{background:var(--info-light);color:var(--info)}[data-theme=dark] .ui-badge--primary{color:var(--color-primary-active)}.ui-modal__backdrop{align-items:center;animation:fadeIn var(--transition-fast) forwards;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#0206178c;display:flex;inset:0;justify-content:center;padding:var(--space-md);padding-bottom:max(var(--space-md),var(--safe-bottom));position:fixed;z-index:var(--z-modal)}.ui-modal{animation:scaleIn var(--transition-fast) forwards;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:calc(100dvh - var(--space-lg)*2);width:100%}.ui-modal--sm{max-width:400px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:820px}.ui-modal__header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-md);justify-content:space-between;padding:var(--space-md) var(--space-lg)}.ui-modal__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.ui-modal__body{overflow-y:auto;padding:var(--space-lg)}.ui-modal__footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-md) var(--space-lg)}@media (max-width:768px){.ui-modal__backdrop{align-items:flex-end;padding:0}.ui-modal{animation:slideUp var(--transition-base) forwards;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh;max-width:100%}.ui-modal__body{padding:var(--space-md)}}.ui-drawer__backdrop{animation:fadeIn var(--transition-fast) forwards;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#02061780;inset:0;position:fixed;z-index:var(--z-drawer)}.ui-drawer{background:var(--bg-secondary);bottom:0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:88vw;padding-bottom:var(--safe-bottom);padding-top:var(--safe-top);position:fixed;top:0}.ui-drawer--left{animation:drawerInLeft var(--transition-base) forwards;border-right:1px solid var(--border-color);left:0;padding-left:var(--safe-left)}.ui-drawer--right{animation:slideInRight var(--transition-base) forwards;border-left:1px solid var(--border-color);padding-right:var(--safe-right);right:0}@keyframes drawerInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.ui-drawer__header{border-bottom:1px solid var(--border-color);font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--weight-semibold);padding:var(--space-md) var(--space-lg)}.ui-drawer__body{flex:1 1;overflow-y:auto;padding:var(--space-md)}.ui-tabs{-webkit-overflow-scrolling:touch;align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--weight-medium);gap:var(--space-sm);margin-bottom:-1px;padding:10px 14px;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.ui-tab:hover{color:var(--text-primary)}.ui-tab--active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.ui-tab__badge{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-on-primary);display:inline-flex;font-size:var(--text-2xs);font-weight:var(--weight-semibold);height:18px;justify-content:center;min-width:18px;padding:0 5px}@media (max-width:768px){.ui-tab{min-height:var(--tap-min)}}.scroll-tabs{align-items:center;display:flex;gap:6px;min-width:0;position:relative;width:100%}.scroll-tabs__viewport{flex:1 1;min-width:0}.scroll-tabs--r .scroll-tabs__viewport{-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.scroll-tabs--l.scroll-tabs--r .scroll-tabs__viewport{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6%,#000 88%,#0000);mask-image:linear-gradient(90deg,#0000 0,#000 6%,#000 88%,#0000)}.scroll-tabs--l:not(.scroll-tabs--r) .scroll-tabs__viewport{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6%);mask-image:linear-gradient(90deg,#0000 0,#000 6%)}.scroll-tabs__arrow{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:34px}.scroll-tabs__arrow:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.ui-spinner{color:var(--color-primary);display:inline-flex}.ui-page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg)}.ui-page-header__main{align-items:center;display:flex;gap:var(--space-md);min-width:0}.ui-page-header__icon{align-items:center;background:var(--accent-light);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.ui-page-header__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1.2;margin:0}.ui-page-header__subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:2px 0 0}.ui-page-header__actions{flex-wrap:wrap}.ui-empty,.ui-page-header__actions{align-items:center;display:flex;gap:var(--space-sm)}.ui-empty{color:var(--text-secondary);flex-direction:column;padding:var(--space-2xl) var(--space-lg);text-align:center}.ui-empty__icon{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-muted);display:inline-flex;height:72px;justify-content:center;margin-bottom:var(--space-xs);width:72px}.ui-empty__title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.ui-empty__desc{font-size:var(--text-base);margin:0;max-width:42ch}.ui-empty__action{margin-top:var(--space-sm)}@media (max-width:768px){.ui-page-header__title{font-size:var(--text-lg)}}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:400% 100%;border-radius:var(--radius-sm)}.skeleton-text{height:1rem;margin-bottom:.5rem;width:100%}.skeleton-text:last-child{margin-bottom:0}.skeleton-title{height:1.5rem;margin-bottom:1rem;width:60%}.skeleton-avatar{border-radius:50%;height:40px;width:40px}.skeleton-button{border-radius:var(--radius-md);height:2.5rem;width:120px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-table{border-collapse:collapse;font-size:var(--text-base);width:100%}.ui-table thead th{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:10px 14px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:var(--z-base)}.ui-table tbody td{background:var(--slate-table-cell);border-bottom:1px solid var(--slate-table-border);color:var(--text-primary);padding:11px 14px}.ui-table tbody tr:hover td{background:var(--slate-table-cell-hover)}.ui-table--clickable tbody tr{cursor:pointer}.ta-left{text-align:left}.ta-right{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.ta-center{text-align:center}.ui-table__primary{font-weight:var(--weight-medium)}.ui-table__loading{display:flex;justify-content:center;padding:var(--space-md)}@media (max-width:768px){.ui-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.ui-table,.ui-table tbody,.ui-table td,.ui-table tr{display:block;width:100%}.ui-table tbody tr{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm)}.ui-table tbody td{align-items:center;background:#0000;border-bottom:1px solid var(--slate-table-border);display:flex;gap:var(--space-md);justify-content:space-between;padding:8px 6px;text-align:right}.ui-table tbody td:last-child{border-bottom:none}.ui-table tbody td:before{color:var(--text-secondary);content:attr(data-label);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left}.ui-table tbody td.ui-table__primary{font-size:var(--text-md);font-weight:var(--weight-semibold)}.ui-table tbody td.ui-table__primary:before{display:none}}.ui-switch{align-items:center;cursor:pointer;display:inline-flex;gap:var(--space-sm);-webkit-user-select:none;user-select:none}.ui-switch--disabled{cursor:not-allowed;opacity:.6}.ui-switch__input{height:0;opacity:0;position:absolute;width:0}.ui-switch__track{background:var(--border-strong);border-radius:var(--radius-full);flex-shrink:0;height:22px;position:relative;transition:background var(--transition-fast);width:40px}.ui-switch__thumb{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);height:18px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:18px}.ui-switch__input:checked+.ui-switch__track{background:var(--color-primary)}.ui-switch__input:checked+.ui-switch__track .ui-switch__thumb{transform:translateX(18px)}.ui-switch__input:focus-visible+.ui-switch__track{box-shadow:0 0 0 3px var(--ring)}.ui-switch__label{color:var(--text-primary);font-size:var(--text-base)}.ui-check{align-items:center;cursor:pointer;display:inline-flex;gap:var(--space-sm);-webkit-user-select:none;user-select:none}.ui-check--disabled{cursor:not-allowed;opacity:.6}.ui-check__input{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.ui-check__label{color:var(--text-primary);font-size:var(--text-base)}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:24px;z-index:9999}.toast{align-items:flex-start;animation:slideInRight var(--transition-base);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0000004d;display:flex;gap:12px;max-width:400px;min-width:300px;padding:16px;pointer-events:auto}.toast.toast-closing{animation:fadeOutRight var(--transition-fast) forwards}.toast.success{border-left:4px solid var(--success-color)}.toast.error{border-left:4px solid var(--error-color)}.toast.warning{border-left:4px solid var(--warning-color)}.toast.info{border-left:4px solid var(--accent-primary)}.toast-icon{flex-shrink:0;margin-top:2px}.toast.success .toast-icon{color:var(--success-color)}.toast.error .toast-icon{color:var(--error-color)}.toast.warning .toast-icon{color:var(--warning-color)}.toast.info .toast-icon{color:var(--accent-primary)}.toast-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.toast-message{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.4;margin:0}.toast-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin:-2px;padding:2px;transition:all var(--transition-fast)}.toast-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:768px){.toast-container{bottom:16px;left:16px;right:16px}.toast{max-width:100%;min-width:100%}}.login-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-lg);padding-bottom:max(var(--space-lg),var(--safe-bottom));padding-top:max(var(--space-lg),var(--safe-top));position:relative}.login-theme-toggle{position:absolute;right:var(--space-md);top:max(var(--space-md),var(--safe-top))}.login-card{animation:slideUp var(--transition-slow) forwards;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--space-2xl) var(--space-xl);width:100%}.login-brand{align-items:center;display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.login-brand__logo{display:block;object-fit:contain}.login-brand__name{color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:.02em}.login-header{margin-bottom:var(--space-xl);text-align:center}.login-header h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-xs)}.login-header p{color:var(--text-secondary);font-size:var(--text-base);margin:0 auto;max-width:30ch}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.login-alert{align-items:center;background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);display:flex;font-size:var(--text-sm);gap:var(--space-sm);padding:10px 12px}.login-footer{color:var(--text-muted);font-size:var(--text-xs)}@media (max-width:480px){.login-card{background:#0000;border-color:#0000;box-shadow:none;padding:var(--space-xl) var(--space-lg)}.login-container{justify-content:flex-start;padding-top:var(--space-2xl)}}.pwa-update{align-items:center;animation:slideUp var(--transition-base) forwards;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);bottom:max(16px,var(--safe-bottom));box-shadow:var(--shadow-lg);color:var(--text-primary);display:flex;gap:var(--space-md);left:0;margin:0 auto;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;position:fixed;right:0;width:-webkit-fit-content;width:fit-content;z-index:var(--z-toast)}.pwa-update__text{font-size:var(--text-sm)}.pwa-update .ui-btn{flex-shrink:0}