:root{--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--mavo-accent:#0d9488;--mavo-accent-strong:#0f766e;--mavo-accent-soft:#5eead4;--mavo-accent-tint:#f0fdfa;--success:#10b981;--success-bg:#ecfdf5;--success-border:#6ee7b7;--success-text:#065f46;--warning:#f59e0b;--warning-bg:#fffbeb;--warning-border:#fcd34d;--warning-text:#92400e;--danger:#ef4444;--danger-bg:#fef2f2;--danger-border:#fca5a5;--danger-text:#991b1b;--info:#3b82f6;--info-bg:#eff6ff;--info-border:#93c5fd;--info-text:#1e40af;--surface-base:var(--gray-50);--surface-card:#fff;--surface-elevated:#fff;--surface-overlay:rgba(15,23,42,.5);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--text-inverse:var(--gray-50);--text-link:var(--mavo-accent);--text-link-hover:var(--mavo-accent-strong);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-muted:var(--gray-100);--border-focus:var(--mavo-accent);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Monaco,"Cascadia Code",monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.6;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(15,23,42,.06);--shadow-md:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.04);--shadow-lg:0 10px 15px -3px rgba(15,23,42,.1),0 4px 6px -4px rgba(15,23,42,.05);--shadow-xl:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.05);--motion-hover:150ms ease-out;--motion-state:200ms ease-in-out;--motion-skeleton:1200ms ease-in-out;--z-sidebar:10;--z-sticky:20;--z-dropdown:100;--z-modal-backdrop:200;--z-modal:201;--z-toast:300;--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;--touch-target-min:44px;--sidebar-width:240px;--bottom-nav-h:56px;--focus-ring:0 0 0 2px var(--surface-base),0 0 0 4px var(--mavo-accent)}[data-theme=auto]:root,[data-theme=dark]:not(.does-not-exist){--surface-base:var(--gray-900);--surface-card:var(--gray-800);--surface-elevated:var(--gray-800);--surface-overlay:rgba(0,0,0,.7);--text-primary:var(--gray-50);--text-secondary:var(--gray-300);--text-muted:var(--gray-400);--text-inverse:var(--gray-900);--border-default:var(--gray-700);--border-strong:var(--gray-600);--border-muted:var(--gray-800);--success-bg:rgba(16,185,129,.12);--warning-bg:rgba(245,158,11,.12);--danger-bg:rgba(239,68,68,.12);--info-bg:rgba(59,130,246,.12);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.6),0 8px 10px -6px rgba(0,0,0,.4);--focus-ring:0 0 0 2px var(--gray-900),0 0 0 4px var(--mavo-accent-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-base:var(--gray-900);--surface-card:var(--gray-800);--surface-elevated:var(--gray-800);--surface-overlay:rgba(0,0,0,.7);--text-primary:var(--gray-50);--text-secondary:var(--gray-300);--text-muted:var(--gray-400);--text-inverse:var(--gray-900);--border-default:var(--gray-700);--border-strong:var(--gray-600);--border-muted:var(--gray-800);--success-bg:rgba(16,185,129,.12);--warning-bg:rgba(245,158,11,.12);--danger-bg:rgba(239,68,68,.12);--info-bg:rgba(59,130,246,.12);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.6),0 8px 10px -6px rgba(0,0,0,.4);--focus-ring:0 0 0 2px var(--gray-900),0 0 0 4px var(--mavo-accent-soft)}}@media (prefers-reduced-motion:reduce){:root{--motion-hover:1ms;--motion-state:1ms;--motion-skeleton:1ms}}*,:after,:before{box-sizing:border-box}*{margin:0}body,html{height:100%}body{background:#f8fafc;background:var(--surface-base);color:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:16px;font-size:var(--text-base);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.5;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;padding-bottom:env(safe-area-inset-bottom)}:focus:not(:focus-visible){outline:none}:focus-visible{border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 0 0 2px #f8fafc,0 0 0 4px #0d9488;box-shadow:var(--focus-ring);outline:none}canvas,img,picture,svg,video{display:block;max-width:100%}h1,h2,h3,h4,h5,h6{color:#0f172a;color:var(--text-primary);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1.2;line-height:var(--leading-tight)}h1{font-size:32px;font-size:var(--text-2xl)}h2{font-size:24px;font-size:var(--text-xl)}h3{font-size:20px;font-size:var(--text-lg)}h4{font-size:16px;font-size:var(--text-base)}h5,h6{font-size:14px;font-size:var(--text-sm)}p{line-height:1.5;line-height:var(--leading-normal)}a{color:#0d9488;color:var(--text-link);-webkit-text-decoration:none;text-decoration:none;transition:color .15s ease-out;transition:color var(--motion-hover)}a:hover{color:#0f766e;color:var(--text-link-hover);-webkit-text-decoration:underline;text-decoration:underline}small{color:#64748b;color:var(--text-muted);font-size:14px;font-size:var(--text-sm)}code,kbd,pre,samp{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Cascadia Code,monospace;font-family:var(--font-mono);font-size:.9em}code{background:#f1f5f9;background:var(--gray-100);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);padding:2px 6px}[data-theme=auto] code,[data-theme=dark] code{background:#334155;background:var(--gray-700)}.dashboard-stats,.invoice-list,.kpi-card,.tabular,table{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:none;cursor:pointer;padding:0}button:disabled{cursor:not-allowed}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--gray-300);border:2px solid #f8fafc;border:2px solid var(--surface-base);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--gray-400)}.ico{display:inline-block;fill:none;flex-shrink:0;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:20px}.ico-sm{height:16px;width:16px}.ico-md{height:20px;width:20px}.ico-lg{height:24px;width:24px}.admin-shell{display:grid;grid-template-columns:240px 1fr;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}@media (max-width:768px){.admin-shell{grid-template-columns:1fr}}.admin-sidebar{background:#0f172a;background:var(--brand-primary,var(--gray-900));color:#f1f5f9;color:var(--gray-100);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:10;z-index:var(--z-sidebar)}@media (max-width:768px){.admin-sidebar{bottom:0;box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.05);box-shadow:var(--shadow-xl);left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .2s ease-in-out;transition:transform var(--motion-state);width:280px}.admin-sidebar.is-open,.admin-sidebar.open{transform:translateX(0)}}.admin-sidebar-brand{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;padding:16px;padding:var(--space-4);padding-top:max(16px,env(safe-area-inset-top));padding-top:max(var(--space-4),env(safe-area-inset-top))}.admin-sidebar-logo{height:32px;max-width:180px;-o-object-fit:contain;object-fit:contain;width:auto}.admin-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px;padding:var(--space-3)}.admin-nav-item{align-items:center;border-left:3px solid transparent;border-radius:8px;border-radius:var(--radius-md);color:hsla(0,0%,100%,.78);display:flex;font-size:14px;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:12px;gap:var(--space-3);margin-left:-3px;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out;transition:background-color var(--motion-hover),color var(--motion-hover),border-color var(--motion-hover)}.admin-nav-item,.admin-nav-item:hover{-webkit-text-decoration:none;text-decoration:none}.admin-nav-item:hover{background:hsla(0,0%,100%,.08);color:#fff}.admin-nav-item.active,.admin-nav-item.is-active{background:hsla(0,0%,100%,.12);border-left-color:#0d9488;border-left-color:var(--mavo-accent);color:#fff}.admin-nav-item .ico{flex-shrink:0;opacity:.85}.admin-sidebar-section{display:flex;flex-direction:column;gap:2px;margin-top:16px;margin-top:var(--space-4)}.admin-sidebar-label{color:hsla(0,0%,100%,.5);font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.06em;padding:8px 12px;padding:var(--space-2) var(--space-3);text-transform:uppercase}.admin-sidebar-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:8px;gap:var(--space-2);padding:12px;padding:var(--space-3);padding-bottom:max(12px,env(safe-area-inset-bottom));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.admin-sidebar-overlay{background:rgba(0,0,0,.5);bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .2s ease-in-out;transition:opacity var(--motion-state);z-index:9;z-index:calc(var(--z-sidebar) - 1)}.admin-sidebar-overlay.is-open,.admin-sidebar-overlay.open{opacity:1;pointer-events:auto}@media (min-width:769px){.admin-sidebar-overlay{display:none}}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-topbar{align-items:center;background:#fff;background:var(--surface-card);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-default);display:flex;gap:12px;gap:var(--space-3);height:56px;padding:0 24px;padding:0 var(--space-6);padding-top:env(safe-area-inset-top);position:sticky;top:0;z-index:20;z-index:var(--z-sticky)}@media (max-width:768px){.admin-topbar{padding:0 16px;padding:0 var(--space-4);padding-left:max(16px,env(safe-area-inset-left));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-right:max(var(--space-4),env(safe-area-inset-right))}}.admin-topbar-hamburger{align-items:center;background:transparent;border:none;border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:none;height:44px;height:var(--touch-target-min);justify-content:center;width:44px;width:var(--touch-target-min)}@media (max-width:768px){.admin-topbar-hamburger{display:inline-flex}}.admin-topbar-title{color:#0f172a;color:var(--text-primary);flex:1;font-size:16px;font-size:var(--text-base);font-weight:600;font-weight:var(--font-weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-actions{align-items:center;display:flex;gap:8px;gap:var(--space-2)}.admin-content{flex:1;margin:0 auto;max-width:1280px;padding:24px;padding:var(--space-6);width:100%}@media (max-width:768px){.admin-content{padding:16px;padding:var(--space-4)}}.admin-page-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-3);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--space-6)}.admin-page-head h1{font-size:24px;font-size:var(--text-xl);font-weight:600;font-weight:var(--font-weight-semibold)}.admin-page-head .lead{color:#64748b;color:var(--text-muted);font-size:14px;font-size:var(--text-sm);margin-top:2px}.admin-page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;gap:var(--space-2)}.badge{align-items:center;display:inline-flex;font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);gap:4px;gap:var(--space-1);line-height:1;padding:2px 8px;padding:2px var(--space-2);text-transform:capitalize;white-space:nowrap}.badge,.badge-dot:before{border-radius:9999px;border-radius:var(--radius-full)}.badge-dot:before{background:currentColor;content:"";flex-shrink:0;height:6px;width:6px}.badge-success{background:#ecfdf5;background:var(--success-bg);color:#065f46;color:var(--success-text)}.badge-warning{background:#fffbeb;background:var(--warning-bg);color:#92400e;color:var(--warning-text)}.badge-danger{background:#fef2f2;background:var(--danger-bg);color:#991b1b;color:var(--danger-text)}.badge-info{background:#eff6ff;background:var(--info-bg);color:#1e40af;color:var(--info-text)}.badge-neutral{background:#f1f5f9;background:var(--gray-100);color:#475569;color:var(--text-secondary)}[data-theme=auto] .badge-success,[data-theme=dark] .badge-success{color:#10b981;color:var(--success)}[data-theme=auto] .badge-warning,[data-theme=dark] .badge-warning{color:#f59e0b;color:var(--warning)}[data-theme=auto] .badge-danger,[data-theme=dark] .badge-danger{color:#ef4444;color:var(--danger)}[data-theme=auto] .badge-info,[data-theme=dark] .badge-info{color:#3b82f6;color:var(--info)}[data-theme=auto] .badge-neutral,[data-theme=dark] .badge-neutral{background:#334155;background:var(--gray-700);color:#e2e8f0;color:var(--gray-200)}.action-bar{background:#fff;background:var(--surface-card);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-default);bottom:0;display:flex;gap:12px;gap:var(--space-3);left:0;padding:12px 16px;padding:var(--space-3) var(--space-4);padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-right:max(var(--space-4),env(safe-area-inset-right));position:fixed;right:0;z-index:20;z-index:var(--z-sticky)}.action-bar .btn{flex:1;min-height:48px;min-height:var(--control-h-lg)}.action-bar .btn:only-child{width:100%}.has-action-bar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.action-bar-compact{padding-bottom:calc(8px + env(safe-area-inset-bottom));padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));padding-top:8px;padding-top:var(--space-2)}.action-bar-compact .btn{min-height:40px;min-height:var(--control-h-md)}.btn{align-items:center;border:1px solid transparent;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-size:var(--text-sm);font-weight:600;font-weight:var(--font-weight-semibold);gap:8px;gap:var(--space-2);justify-content:center;line-height:1;position:relative;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out;transition:background-color var(--motion-hover),border-color var(--motion-hover),color var(--motion-hover),box-shadow var(--motion-hover);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn.is-loading,.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-sm{font-size:12px;font-size:var(--text-xs);height:32px;height:var(--control-h-sm);padding:0 12px;padding:0 var(--space-3)}.btn-md{height:40px;height:var(--control-h-md);padding:0 16px;padding:0 var(--space-4)}.btn-lg{font-size:16px;font-size:var(--text-base);height:48px;height:var(--control-h-lg);min-width:44px;min-width:var(--touch-target-min);padding:0 24px;padding:0 var(--space-6)}.btn-primary{background:#0d9488;background:var(--mavo-accent);border-color:#0d9488;border-color:var(--mavo-accent);color:#fff}.btn-primary:hover{background:#0f766e;background:var(--mavo-accent-strong);border-color:#0f766e;border-color:var(--mavo-accent-strong)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:#fff;background:var(--surface-card);border-color:#cbd5e1;border-color:var(--border-strong);color:#0f172a;color:var(--text-primary)}.btn-secondary:hover{background:#f8fafc;background:var(--gray-50);border-color:#94a3b8;border-color:var(--gray-400)}[data-theme=auto] .btn-secondary:hover,[data-theme=dark] .btn-secondary:hover{background:#334155;background:var(--gray-700)}.btn-ghost{background:transparent;border-color:transparent;color:#475569;color:var(--text-secondary)}.btn-ghost:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .btn-ghost:hover,[data-theme=dark] .btn-ghost:hover{background:#334155;background:var(--gray-700)}.btn-danger{background:#ef4444;background:var(--danger);border-color:#ef4444;border-color:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn.is-loading .btn-label{visibility:hidden}.btn.is-loading:after{animation:btn-spin .6s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid transparent;content:"";height:14px;position:absolute;width:14px}@keyframes btn-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.btn.is-loading:after{animation-duration:1.5s}}.btn-icon{padding:0;width:40px;width:var(--control-h-md)}.btn-icon.btn-sm{width:32px;width:var(--control-h-sm)}.btn-icon.btn-lg{width:48px;width:var(--control-h-lg)}.card{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);overflow:hidden}.card-header{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);padding:16px 24px;padding:var(--space-4) var(--space-6)}.card-title{color:#0f172a;color:var(--text-primary);font-size:16px;font-size:var(--text-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:4px;margin-bottom:var(--space-1)}.card-subtitle{color:#64748b;color:var(--text-muted);font-size:14px;font-size:var(--text-sm)}.card-body{padding:24px;padding:var(--space-6)}.card-body-tight{padding:16px;padding:var(--space-4)}.card-footer{align-items:center;background:#f8fafc;background:var(--gray-50);border-top:1px solid #f1f5f9;border-top:1px solid var(--border-muted);display:flex;gap:8px;gap:var(--space-2);justify-content:flex-end;padding:12px 24px;padding:var(--space-3) var(--space-6)}[data-theme=auto] .card-footer,[data-theme=dark] .card-footer{background:#0f172a;background:var(--gray-900)}.card-emphasized{border-radius:16px;border-radius:var(--radius-xl)}.card-clickable{cursor:pointer;transition:border-color .15s ease-out,transform .15s ease-out;transition:border-color var(--motion-hover),transform var(--motion-hover)}.card-clickable:hover{border-color:#cbd5e1;border-color:var(--border-strong);transform:translateY(-1px)}.collapsible{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);overflow:hidden}.collapsible-trigger{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:12px 24px;padding:var(--space-3) var(--space-6);text-align:left;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:100%}.collapsible-trigger:hover{background:#f8fafc;background:var(--gray-50)}[data-theme=auto] .collapsible-trigger:hover,[data-theme=dark] .collapsible-trigger:hover{background:#334155;background:var(--gray-700)}.collapsible-title{color:#0f172a;color:var(--text-primary);font-size:16px;font-size:var(--text-base);font-weight:600;font-weight:var(--font-weight-semibold)}.collapsible-chevron{color:#64748b;color:var(--text-muted);flex-shrink:0;transition:transform .2s ease-in-out;transition:transform var(--motion-state)}.collapsible.is-open .collapsible-chevron,.collapsible.open .collapsible-chevron{transform:rotate(180deg)}.collapsible-body{border-top:1px solid #f1f5f9;border-top:1px solid var(--border-muted);padding:16px 24px 24px;padding:var(--space-4) var(--space-6) var(--space-6)}.collapsible:not(.is-open):not(.open) .collapsible-body{display:none}.cmdk-backdrop{align-items:flex-start;animation:cmdk-fade-in .2s ease-in-out;animation:cmdk-fade-in var(--motion-state);background:rgba(15,23,42,.5);background:var(--surface-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:10vh 16px 16px;padding:10vh var(--space-4) var(--space-4);position:fixed;right:0;top:0;z-index:200;z-index:var(--z-modal-backdrop)}.cmdk-backdrop[hidden]{display:none}.cmdk-panel{animation:cmdk-pop-in .2s ease-in-out;animation:cmdk-pop-in var(--motion-state);background:#fff;background:var(--surface-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.05);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:70vh;max-width:600px;overflow:hidden;width:100%}.cmdk-search{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);display:flex;gap:12px;gap:var(--space-3);padding:12px 16px;padding:var(--space-3) var(--space-4)}.cmdk-search-ico{color:#64748b;color:var(--text-muted);flex-shrink:0}.cmdk-input{background:transparent;border:none;color:#0f172a;color:var(--text-primary);flex:1;font:inherit;font-size:16px;font-size:var(--text-base);outline:none}.cmdk-input::-moz-placeholder{color:#64748b;color:var(--text-muted)}.cmdk-input::placeholder{color:#64748b;color:var(--text-muted)}.cmdk-hint{background:#f1f5f9;background:var(--gray-100);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:6px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);flex-shrink:0;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Cascadia Code,monospace;font-family:var(--font-mono);font-size:12px;font-size:var(--text-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:2px 8px;padding:2px var(--space-2)}[data-theme=auto] .cmdk-hint,[data-theme=dark] .cmdk-hint{background:#334155;background:var(--gray-700)}.cmdk-results{flex:1;overflow-y:auto;padding:8px 0;padding:var(--space-2) 0}.cmdk-empty{color:#64748b;color:var(--text-muted);font-size:14px;font-size:var(--text-sm);padding:24px 16px;padding:var(--space-6) var(--space-4);text-align:center}.cmdk-group{margin-bottom:12px;margin-bottom:var(--space-3)}.cmdk-group:last-child{margin-bottom:0}.cmdk-group-label{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.06em;padding:4px 16px;padding:var(--space-1) var(--space-4);text-transform:uppercase}.cmdk-result{align-items:center;background:transparent;border:none;color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font:inherit;gap:12px;gap:var(--space-3);padding:8px 16px;padding:var(--space-2) var(--space-4);text-align:left;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:100%}.cmdk-result.is-active,.cmdk-result:hover{background:#f1f5f9;background:var(--gray-100)}[data-theme=auto] .cmdk-result.is-active,[data-theme=auto] .cmdk-result:hover,[data-theme=dark] .cmdk-result.is-active,[data-theme=dark] .cmdk-result:hover{background:#334155;background:var(--gray-700)}.cmdk-result.is-active{outline:2px solid #0d9488;outline:2px solid var(--mavo-accent);outline-offset:-2px}.cmdk-result-ico{color:#64748b;color:var(--text-muted);flex-shrink:0}.cmdk-result-body{flex:1;min-width:0}.cmdk-result-title{font-size:14px;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-result-sub{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-footer,.cmdk-result-sub{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs)}.cmdk-footer{align-items:center;background:#f8fafc;background:var(--gray-50);border-top:1px solid #f1f5f9;border-top:1px solid var(--border-muted);display:flex;gap:12px;gap:var(--space-3);padding:8px 16px;padding:var(--space-2) var(--space-4)}[data-theme=auto] .cmdk-footer,[data-theme=dark] .cmdk-footer{background:#0f172a;background:var(--gray-900)}.cmdk-footer kbd{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:6px;border-radius:var(--radius-sm);display:inline-block;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Cascadia Code,monospace;font-family:var(--font-mono);font-size:10px;margin-right:2px;padding:1px 6px;vertical-align:middle}@keyframes cmdk-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cmdk-pop-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.cmdk-backdrop{padding:12px;padding:var(--space-3);padding-top:5vh}.cmdk-panel{max-height:90vh}.cmdk-input{font-size:16px;font-size:var(--text-base)}.cmdk-footer{display:none}}.kbd-sheet-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;grid-gap:var(--space-3) var(--space-6);gap:12px 24px;gap:var(--space-3) var(--space-6);padding:16px;padding:var(--space-4)}@media (max-width:640px){.kbd-sheet-grid{grid-template-columns:1fr}}.kbd-sheet-row{align-items:center;display:flex;font-size:14px;font-size:var(--text-sm);gap:12px;gap:var(--space-3);justify-content:space-between}.kbd-sheet-label{color:#475569;color:var(--text-secondary)}.kbd-sheet-keys kbd{background:#f1f5f9;background:var(--gray-100);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);display:inline-block;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Cascadia Code,monospace;font-family:var(--font-mono);font-size:11px;margin-left:2px;padding:2px 6px}[data-theme=auto] .kbd-sheet-keys kbd,[data-theme=dark] .kbd-sheet-keys kbd{background:#334155;background:var(--gray-700)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:12px;gap:var(--space-3);margin:0 auto;max-width:480px;padding:48px 16px;padding:var(--space-12) var(--space-4);text-align:center}.empty-state-ico{color:#64748b;color:var(--text-muted);height:48px;margin-bottom:4px;margin-bottom:var(--space-1);width:48px}.empty-state-title{color:#0f172a;color:var(--text-primary);font-size:20px;font-size:var(--text-lg);font-weight:600;font-weight:var(--font-weight-semibold)}.empty-state-message{color:#475569;color:var(--text-secondary);font-size:14px;font-size:var(--text-sm);line-height:1.5;line-height:var(--leading-normal);max-width:400px}.empty-state .btn{margin-top:8px;margin-top:var(--space-2)}.empty-state-inline{padding:32px 16px;padding:var(--space-8) var(--space-4)}.empty-state-inline .empty-state-ico{height:32px;width:32px}.empty-state-inline .empty-state-title{font-size:16px;font-size:var(--text-base)}.banner{align-items:flex-start;border:1px solid;border-radius:8px;border-radius:var(--radius-md);display:flex;gap:12px;gap:var(--space-3);padding:12px 16px;padding:var(--space-3) var(--space-4)}.banner-ico{flex-shrink:0;margin-top:2px}.banner-body{flex:1;min-width:0}.banner-title{color:#0f172a;color:var(--text-primary);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:2px}.banner-message,.banner-title{font-size:14px;font-size:var(--text-sm)}.banner-message{color:#475569;color:var(--text-secondary);line-height:1.35;line-height:var(--leading-snug)}.banner-danger{background:#fef2f2;background:var(--danger-bg);border-color:#fca5a5;border-color:var(--danger-border)}.banner-danger .banner-ico{color:#ef4444;color:var(--danger)}.banner-danger .banner-title{color:#991b1b;color:var(--danger-text)}.banner-warning{background:#fffbeb;background:var(--warning-bg);border-color:#fcd34d;border-color:var(--warning-border)}.banner-warning .banner-ico{color:#f59e0b;color:var(--warning)}.banner-warning .banner-title{color:#92400e;color:var(--warning-text)}.banner-success{background:#ecfdf5;background:var(--success-bg);border-color:#6ee7b7;border-color:var(--success-border)}.banner-success .banner-ico{color:#10b981;color:var(--success)}.banner-success .banner-title{color:#065f46;color:var(--success-text)}.banner-info{background:#eff6ff;background:var(--info-bg);border-color:#93c5fd;border-color:var(--info-border)}.banner-info .banner-ico{color:#3b82f6;color:var(--info)}.banner-info .banner-title{color:#1e40af;color:var(--info-text)}[data-theme=auto] .banner-danger .banner-title,[data-theme=dark] .banner-danger .banner-title{color:#ef4444;color:var(--danger)}[data-theme=auto] .banner-warning .banner-title,[data-theme=dark] .banner-warning .banner-title{color:#f59e0b;color:var(--warning)}[data-theme=auto] .banner-success .banner-title,[data-theme=dark] .banner-success .banner-title{color:#10b981;color:var(--success)}[data-theme=auto] .banner-info .banner-title,[data-theme=dark] .banner-info .banner-title{color:#3b82f6;color:var(--info)}.inline-form{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);display:none;margin-top:16px;margin-top:var(--space-4);padding:16px 24px;padding:var(--space-4) var(--space-6)}.inline-form.is-open,.inline-form.open{display:block}.inline-form-title{color:#0f172a;color:var(--text-primary);font-size:20px;font-size:var(--text-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:16px;margin-bottom:var(--space-4)}.inline-form-body{display:flex;flex-direction:column;gap:12px;gap:var(--space-3)}.inline-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;grid-gap:var(--space-3);gap:12px;gap:var(--space-3)}@media (max-width:640px){.inline-form-row{grid-template-columns:1fr}}.inline-form-actions{display:flex;gap:8px;gap:var(--space-2);justify-content:flex-end;margin-top:16px;margin-top:var(--space-4)}.inline-form-error{color:#ef4444;color:var(--danger);font-size:14px;font-size:var(--text-sm);margin-top:8px;margin-top:var(--space-2)}.inline-form-error:empty{display:none}.field{display:flex;flex-direction:column;gap:8px;gap:var(--space-2)}.label{color:#0f172a;color:var(--text-primary);font-size:14px;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:-.005em}.label-required:after{color:#ef4444;color:var(--danger);content:" *"}.input,.select,.textarea{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);display:block;font:inherit;font-size:16px;font-size:var(--text-base);height:44px;padding:0 12px;padding:0 var(--space-3);transition:border-color .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out;transition:border-color var(--motion-hover),box-shadow var(--motion-hover),background-color var(--motion-hover);width:100%}.input:hover:not(:focus):not(:disabled),.select:hover:not(:focus):not(:disabled),.textarea:hover:not(:focus):not(:disabled){border-color:#94a3b8;border-color:var(--gray-400)}.input:focus,.select:focus,.textarea:focus{border-color:#0d9488;border-color:var(--mavo-accent);box-shadow:0 0 0 3px #f0fdfa;box-shadow:0 0 0 3px var(--mavo-accent-tint);outline:none}[data-theme=auto] .input:focus,[data-theme=auto] .select:focus,[data-theme=auto] .textarea:focus,[data-theme=dark] .input:focus,[data-theme=dark] .select:focus,[data-theme=dark] .textarea:focus{box-shadow:0 0 0 3px rgba(13,148,136,.22)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#64748b;color:var(--text-muted);font-weight:400;font-weight:var(--font-weight-regular)}.input::placeholder,.textarea::placeholder{color:#64748b;color:var(--text-muted);font-weight:400;font-weight:var(--font-weight-regular)}.textarea{height:auto;line-height:1.5;line-height:var(--leading-normal);min-height:96px;padding:12px;padding:var(--space-3);resize:vertical}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-position:right var(--space-3) center;background-repeat:no-repeat;cursor:pointer;padding-right:32px;padding-right:var(--space-8)}.input-sm,.select-sm{font-size:14px;font-size:var(--text-sm);height:36px;padding:0 12px;padding:0 var(--space-3)}.input-sm.select-sm,.select.select-sm{padding-right:32px;padding-right:var(--space-8)}.input-lg,.select-lg{font-size:16px;font-size:var(--text-base);height:52px}.input-with-prefix,.input-with-suffix{position:relative}.input-prefix,.input-suffix{color:#64748b;color:var(--text-muted);font-feature-settings:"tnum";font-size:14px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-prefix{left:12px;left:var(--space-3)}.input-suffix{right:12px;right:var(--space-3)}.input-with-prefix .input{padding-left:28px}.input-with-suffix .input{padding-right:32px}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:#ef4444;border-color:var(--danger)}.field.has-error .input:focus,.field.has-error .select:focus,.field.has-error .textarea:focus{box-shadow:0 0 0 3px #fef2f2;box-shadow:0 0 0 3px var(--danger-bg)}.field-help{color:#64748b;color:var(--text-muted)}.field-error,.field-help{font-size:12px;font-size:var(--text-xs);line-height:1.35;line-height:var(--leading-snug)}.field-error{align-items:center;color:#991b1b;color:var(--danger-text);display:flex;gap:4px;gap:var(--space-1)}[data-theme=auto] .field-error,[data-theme=dark] .field-error{color:#ef4444;color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:#f8fafc;background:var(--gray-50);border-color:#e2e8f0;border-color:var(--border-default);color:#64748b;color:var(--text-muted);cursor:not-allowed}[data-theme=auto] .input:disabled,[data-theme=auto] .select:disabled,[data-theme=auto] .textarea:disabled,[data-theme=dark] .input:disabled,[data-theme=dark] .select:disabled,[data-theme=dark] .textarea:disabled{background:#1e293b;background:var(--gray-800)}.checkbox,.radio{align-items:center;color:#0f172a;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-size:var(--text-sm);gap:8px;gap:var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox input,.radio input{accent-color:#0d9488;accent-color:var(--mavo-accent);cursor:pointer;flex-shrink:0;height:18px;width:18px}.form-group{display:flex;flex-direction:column;gap:8px;gap:var(--space-2);margin-bottom:16px;margin-bottom:var(--space-4)}.form-group>label{color:#0f172a;color:var(--text-primary);font-size:14px;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium)}.form-group>input:not([type=checkbox]):not([type=radio]),.form-group>select,.form-group>textarea{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font:inherit;font-size:16px;font-size:var(--text-base);height:44px;padding:0 12px;padding:0 var(--space-3);transition:border-color .15s ease-out,box-shadow .15s ease-out;transition:border-color var(--motion-hover),box-shadow var(--motion-hover);width:100%}.form-group>textarea{height:auto;line-height:1.5;line-height:var(--leading-normal);min-height:96px;padding:12px;padding:var(--space-3);resize:vertical}.form-group>input:focus:not([type=checkbox]):not([type=radio]),.form-group>select:focus,.form-group>textarea:focus{border-color:#0d9488;border-color:var(--mavo-accent);box-shadow:0 0 0 3px #f0fdfa;box-shadow:0 0 0 3px var(--mavo-accent-tint);outline:none}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;grid-gap:var(--space-3);gap:12px;gap:var(--space-3);margin-bottom:16px;margin-bottom:var(--space-4)}.form-row.form-row--3{grid-template-columns:repeat(3,1fr)}@media (max-width:640px){.form-row,.form-row.form-row--3{grid-template-columns:1fr}}.form-section{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);padding:16px 0;padding:var(--space-4) 0}.form-section:last-child{border-bottom:none}.form-section-title{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.06em;margin-bottom:12px;margin-bottom:var(--space-3);text-transform:uppercase}.form-actions{border-top:1px solid #f1f5f9;border-top:1px solid var(--border-muted);display:flex;gap:8px;gap:var(--space-2);justify-content:flex-end;margin-top:16px;margin-top:var(--space-4);padding-top:12px;padding-top:var(--space-3)}.form-hint{color:#64748b;color:var(--text-muted);display:block;font-size:12px;font-size:var(--text-xs);line-height:1.35;line-height:var(--leading-snug);margin-top:2px}.form-control{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font:inherit;font-size:16px;font-size:var(--text-base);height:44px;padding:0 12px;padding:0 var(--space-3);transition:border-color .15s ease-out,box-shadow .15s ease-out;transition:border-color var(--motion-hover),box-shadow var(--motion-hover);width:100%}textarea.form-control{height:auto;line-height:1.5;line-height:var(--leading-normal);min-height:80px;padding:12px;padding:var(--space-3);resize:vertical}.form-control:focus{border-color:#0d9488;border-color:var(--mavo-accent);box-shadow:0 0 0 3px #f0fdfa;box-shadow:0 0 0 3px var(--mavo-accent-tint);outline:none}select.form-control{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-position:right var(--space-3) center;background-repeat:no-repeat;cursor:pointer;padding-right:32px;padding-right:var(--space-8)}.kpi-card{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);display:flex;flex-direction:column;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;gap:8px;gap:var(--space-2);min-height:112px;padding:16px 24px;padding:var(--space-4) var(--space-6);position:relative;transition:border-color .15s ease-out;transition:border-color var(--motion-hover)}.kpi-card:hover{border-color:#cbd5e1;border-color:var(--border-strong)}.kpi-label{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.04em;text-transform:uppercase}.kpi-value{color:#0f172a;color:var(--text-primary);font-size:32px;font-size:var(--text-2xl);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.2;line-height:var(--leading-tight)}.kpi-meta{align-items:center;display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;margin-top:auto}.kpi-trend{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);gap:4px;gap:var(--space-1);padding:2px 8px;padding:2px var(--space-2)}.kpi-trend-up{background:#ecfdf5;background:var(--success-bg);color:#065f46;color:var(--success-text)}[data-theme=auto] .kpi-trend-up,[data-theme=dark] .kpi-trend-up{color:#10b981;color:var(--success)}.kpi-trend-down{background:#fef2f2;background:var(--danger-bg);color:#991b1b;color:var(--danger-text)}[data-theme=auto] .kpi-trend-down,[data-theme=dark] .kpi-trend-down{color:#ef4444;color:var(--danger)}.kpi-trend-flat{background:#f1f5f9;background:var(--gray-100);color:#64748b;color:var(--text-muted)}[data-theme=auto] .kpi-trend-flat,[data-theme=dark] .kpi-trend-flat{background:#334155;background:var(--gray-700)}.kpi-spark{color:#0d9488;color:var(--mavo-accent);flex-shrink:0;height:24px;width:80px}.kpi-spark svg{fill:none;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:100%}.modal-backdrop{align-items:center;animation:modal-fade-in .2s ease-in-out;animation:modal-fade-in var(--motion-state);background:rgba(15,23,42,.5);background:var(--surface-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:16px;padding:var(--space-4);position:fixed;right:0;top:0;z-index:200;z-index:var(--z-modal-backdrop)}.modal{animation:modal-pop-in .2s ease-in-out;animation:modal-pop-in var(--motion-state);background:#fff;background:var(--surface-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px rgba(15,23,42,.1),0 4px 6px -4px rgba(15,23,42,.05);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100vh - var(--space-8));max-width:480px;position:relative;width:100%;z-index:201;z-index:var(--z-modal)}.modal-wide{max-width:640px}.modal-large{max-width:800px}.modal-header{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:16px 24px;padding:var(--space-4) var(--space-6)}.modal-title{font-size:20px;font-size:var(--text-lg);font-weight:600;font-weight:var(--font-weight-semibold)}.modal-body,.modal-title{color:#0f172a;color:var(--text-primary)}.modal-body{line-height:1.5;line-height:var(--leading-normal);overflow-y:auto;padding:24px;padding:var(--space-6)}.modal-footer{align-items:center;background:#f8fafc;background:var(--gray-50);border-top:1px solid #f1f5f9;border-top:1px solid var(--border-muted);display:flex;gap:8px;gap:var(--space-2);justify-content:flex-end;padding:12px 24px;padding:var(--space-3) var(--space-6)}[data-theme=auto] .modal-footer,[data-theme=dark] .modal-footer{background:#0f172a;background:var(--gray-900)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{animation:modal-slide-up .2s ease-in-out;animation:modal-slide-up var(--motion-state);border-radius:12px 12px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;max-width:100%}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.row-kebab-wrap{position:relative}.row-kebab-trigger{align-items:center;background:transparent;border:none;border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:44px;height:var(--touch-target-min);justify-content:center;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:44px;width:var(--touch-target-min)}.row-kebab-trigger:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .row-kebab-trigger:hover,[data-theme=dark] .row-kebab-trigger:hover{background:#334155;background:var(--gray-700)}.row-kebab-menu{background:#fff;background:var(--surface-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 10px 15px -3px rgba(15,23,42,.1),0 4px 6px -4px rgba(15,23,42,.05);box-shadow:var(--shadow-lg);display:none;min-width:200px;padding:4px;padding:var(--space-1);position:absolute;right:0;top:calc(100% + 4px);z-index:100;z-index:var(--z-dropdown)}.row-kebab-menu.is-open,.row-kebab-menu.open{display:block}.row-kebab-item{align-items:center;background:transparent;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font:inherit;font-size:14px;font-size:var(--text-sm);gap:8px;gap:var(--space-2);padding:8px 12px;padding:var(--space-2) var(--space-3);text-align:left;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:100%}.row-kebab-item:hover{background:#f1f5f9;background:var(--gray-100)}[data-theme=auto] .row-kebab-item:hover,[data-theme=dark] .row-kebab-item:hover{background:#334155;background:var(--gray-700)}.row-kebab-item .ico{color:#64748b;color:var(--text-muted);flex-shrink:0}.row-kebab-item.is-danger,.row-kebab-item.is-danger .ico{color:#ef4444;color:var(--danger)}.row-kebab-item:disabled{cursor:not-allowed;opacity:.4}@media (max-width:768px){.row-kebab-menu.is-open,.row-kebab-menu.open{border-radius:12px;border-radius:var(--radius-lg);bottom:calc(12px + env(safe-area-inset-bottom));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.05);box-shadow:var(--shadow-xl);left:12px;left:var(--space-3);padding:8px;padding:var(--space-2);position:fixed;right:12px;right:var(--space-3);top:auto}.row-kebab-item{font-size:16px;font-size:var(--text-base);min-height:44px;min-height:var(--touch-target-min);padding:12px 16px;padding:var(--space-3) var(--space-4)}}.action-overflow-wrap{position:relative}.action-overflow-trigger{align-items:center;background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;gap:4px;gap:var(--space-1);height:40px;height:var(--control-h-md);justify-content:center;padding:0 12px;padding:0 var(--space-3)}.action-overflow-trigger:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .action-overflow-trigger:hover,[data-theme=dark] .action-overflow-trigger:hover{background:#334155;background:var(--gray-700)}.action-overflow-menu{background:#fff;background:var(--surface-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 10px 15px -3px rgba(15,23,42,.1),0 4px 6px -4px rgba(15,23,42,.05);box-shadow:var(--shadow-lg);display:none;min-width:280px;padding:4px;padding:var(--space-1);position:absolute;right:0;top:calc(100% + 4px);z-index:100;z-index:var(--z-dropdown)}.action-overflow-menu.is-open,.action-overflow-menu.open{display:block}.action-overflow-item{align-items:flex-start;background:transparent;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font:inherit;gap:12px;gap:var(--space-3);padding:12px;padding:var(--space-3) var(--space-3);text-align:left;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:100%}.action-overflow-item:hover{background:#f1f5f9;background:var(--gray-100)}[data-theme=auto] .action-overflow-item:hover,[data-theme=dark] .action-overflow-item:hover{background:#334155;background:var(--gray-700)}.action-overflow-item .ico{color:#64748b;color:var(--text-muted);flex-shrink:0;margin-top:2px}.action-overflow-item-label{font-size:14px;font-size:var(--text-sm);font-weight:600;font-weight:var(--font-weight-semibold)}.action-overflow-item-desc{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);line-height:1.35;line-height:var(--leading-snug);margin-top:2px}.action-overflow-item.is-danger .action-overflow-item-label,.action-overflow-item.is-danger .ico{color:#ef4444;color:var(--danger)}@media (max-width:768px){.action-overflow-menu.is-open,.action-overflow-menu.open{border-radius:12px;border-radius:var(--radius-lg);bottom:calc(12px + env(safe-area-inset-bottom));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.05);box-shadow:var(--shadow-xl);left:12px;left:var(--space-3);min-width:0;position:fixed;right:12px;right:var(--space-3);top:auto}}.photo-strip{display:flex;gap:8px;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;padding:4px 0;padding:var(--space-1) 0;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin}.photo-strip::-webkit-scrollbar{height:4px}.photo-thumb{background:#f1f5f9;background:var(--gray-100);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;height:96px;overflow:hidden;padding:0;position:relative;scroll-snap-align:start;transition:transform .15s ease-out,border-color .15s ease-out;transition:transform var(--motion-hover),border-color var(--motion-hover);width:96px}[data-theme=auto] .photo-thumb,[data-theme=dark] .photo-thumb{background:#1e293b;background:var(--gray-800)}.photo-thumb:active{transform:scale(.97)}.photo-thumb img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.photo-thumb-label{background:linear-gradient(transparent,rgba(0,0,0,.6));bottom:0;color:#fff;font-size:10px;font-weight:600;font-weight:var(--font-weight-semibold);left:0;letter-spacing:.05em;padding:4px 8px;padding:var(--space-1) var(--space-2);position:absolute;right:0;text-transform:uppercase}.photo-strip-tight .photo-thumb{height:64px;width:64px}.photo-thumb-placeholder{align-items:center;border-style:dashed;color:#64748b;color:var(--text-muted);display:flex;justify-content:center}.photo-thumb-placeholder .ico{height:24px;width:24px}.right-rail{background:#fff;background:var(--surface-card);border-left:1px solid #e2e8f0;border-left:1px solid var(--border-default);bottom:0;box-shadow:0 10px 15px -3px rgba(15,23,42,.1),0 4px 6px -4px rgba(15,23,42,.05);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:100vw;position:fixed;right:0;top:56px;transform:translateX(100%);transition:transform .2s ease-in-out;transition:transform var(--motion-state);width:400px;z-index:20;z-index:var(--z-sticky)}.right-rail.is-open{transform:translateX(0)}.right-rail[hidden]{display:none}.right-rail-head{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:12px 16px;padding:var(--space-3) var(--space-4)}.right-rail-title{color:#0f172a;color:var(--text-primary);font-size:16px;font-size:var(--text-base);font-weight:600;font-weight:var(--font-weight-semibold)}.right-rail-close{align-items:center;background:transparent;border:none;border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;height:44px;height:var(--touch-target-min);justify-content:center;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:44px;width:var(--touch-target-min)}.right-rail-close:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .right-rail-close:hover,[data-theme=dark] .right-rail-close:hover{background:#334155;background:var(--gray-700)}.right-rail-body{flex:1;overflow-y:auto;padding:16px 16px 48px;padding:var(--space-4) var(--space-4) var(--space-12)}@media (max-width:640px){.right-rail{border-left:none;border-radius:12px 12px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-default);bottom:0;height:80vh;left:0;max-height:80vh;top:auto;transform:translateY(100%);width:100%}.right-rail.is-open{transform:translateY(0)}}tr.is-kbd-active{background:#f0fdfa!important;background:var(--mavo-accent-tint)!important;outline:2px solid #0d9488;outline:2px solid var(--mavo-accent);outline-offset:-2px}[data-theme=auto] tr.is-kbd-active,[data-theme=dark] tr.is-kbd-active{background:rgba(13,148,136,.12)!important}.schedule-header{flex-wrap:wrap;gap:12px;gap:var(--space-3);justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-4)}.schedule-header,.week-nav{align-items:center;display:flex}.week-nav{gap:8px;gap:var(--space-2)}.week-nav-btn{align-items:center;background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:44px;height:var(--touch-target-min);justify-content:center;transition:background-color .15s ease-out,color .15s ease-out;transition:background-color var(--motion-hover),color var(--motion-hover);width:44px;width:var(--touch-target-min)}.week-nav-btn:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .week-nav-btn:hover,[data-theme=dark] .week-nav-btn:hover{background:#334155;background:var(--gray-700)}.week-label{color:#0f172a;color:var(--text-primary);font-size:16px;font-size:var(--text-base);min-width:220px;text-align:center}.btn-today,.week-label{font-weight:600;font-weight:var(--font-weight-semibold)}.btn-today{align-items:center;background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:14px;font-size:var(--text-sm);height:36px;justify-content:center;padding:0 12px;padding:0 var(--space-3)}.btn-today:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .btn-today:hover,[data-theme=dark] .btn-today:hover{background:#334155;background:var(--gray-700)}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;grid-gap:var(--space-2);gap:8px;gap:var(--space-2)}@media (max-width:1024px){.schedule-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.schedule-grid{gap:12px;gap:var(--space-3);grid-template-columns:1fr}}.day-column{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:120px;overflow:hidden}.day-column.is-today{border-color:#0d9488;border-color:var(--mavo-accent);box-shadow:0 0 0 1px #0d9488;box-shadow:0 0 0 1px var(--mavo-accent)}.day-header{background:#f8fafc;background:var(--gray-50);border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);display:flex;flex-direction:column;gap:2px;padding:8px 12px;padding:var(--space-2) var(--space-3)}[data-theme=auto] .day-header,[data-theme=dark] .day-header{background:#0f172a;background:var(--gray-900)}.day-name{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.day-date,.day-name{font-weight:600;font-weight:var(--font-weight-semibold)}.day-date{color:#0f172a;color:var(--text-primary);font-feature-settings:"tnum";font-size:16px;font-size:var(--text-base);font-variant-numeric:tabular-nums}.day-column.is-today .day-name{color:#0d9488;color:var(--mavo-accent)}.day-body{display:flex;flex:1;flex-direction:column;gap:8px;gap:var(--space-2);padding:8px;padding:var(--space-2)}.day-empty{color:#64748b;color:var(--text-muted);font-size:12px;font-size:var(--text-xs);font-style:italic;padding:12px 8px;padding:var(--space-3) var(--space-2);text-align:center}.sched-stop{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-left-width:3px;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:transform .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;transition:transform var(--motion-hover),border-color var(--motion-hover),box-shadow var(--motion-hover)}.sched-stop:hover{box-shadow:0 1px 2px 0 rgba(15,23,42,.06);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sched-stop[data-type=delivery]{border-left-color:#3b82f6;border-left-color:var(--info)}.sched-stop[data-type=pickup]{border-left-color:#f59e0b;border-left-color:var(--warning)}.sched-stop[data-type=cleaning]{border-left-color:#10b981;border-left-color:var(--success)}.sched-stop[data-type=relocation]{border-left-color:#0d9488;border-left-color:var(--mavo-accent)}.sched-stop[data-type=repair]{border-left-color:#ef4444;border-left-color:var(--danger)}.sched-stop[data-type=inspection]{border-left-color:#64748b;border-left-color:var(--gray-500)}.sched-stop-type{color:#64748b;color:var(--text-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.sched-stop-type,.sched-stop-unit{font-weight:600;font-weight:var(--font-weight-semibold)}.sched-stop-unit{color:#0f172a;color:var(--text-primary);font-feature-settings:"tnum";font-size:14px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-top:2px}.sched-stop-customer{color:#475569;color:var(--text-secondary);font-size:12px;font-size:var(--text-xs);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sched-stop-skeleton{border-radius:6px;border-radius:var(--radius-sm);height:56px}.sidebar{background:#0f172a;background:var(--brand-primary,var(--gray-900));color:#f1f5f9;color:var(--gray-100);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;width:240px;width:var(--sidebar-width);z-index:10;z-index:var(--z-sidebar)}.sidebar-brand{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;padding:16px;padding:var(--space-4)}.sidebar-logo{height:32px;max-width:180px;-o-object-fit:contain;object-fit:contain;width:auto}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px;padding:var(--space-3)}.nav-item{align-items:center;border-left:3px solid transparent;border-radius:8px;border-radius:var(--radius-md);color:hsla(0,0%,100%,.75);display:flex;font-size:14px;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:12px;gap:var(--space-3);margin-left:-3px;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out;transition:background-color var(--motion-hover),color var(--motion-hover),border-color var(--motion-hover)}.nav-item,.nav-item:hover{-webkit-text-decoration:none;text-decoration:none}.nav-item:hover{background:hsla(0,0%,100%,.08);color:#fff}.nav-item.is-active{background:hsla(0,0%,100%,.12);border-left-color:#0d9488;border-left-color:var(--mavo-accent);color:#fff}.nav-item .ico{flex-shrink:0;opacity:.85}.nav-group{display:flex;flex-direction:column;gap:2px;margin-top:12px;margin-top:var(--space-3)}.nav-group-label{color:hsla(0,0%,100%,.5);font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.06em;padding:8px 12px;padding:var(--space-2) var(--space-3);text-transform:uppercase}.sidebar-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:8px;gap:var(--space-2);padding:12px;padding:var(--space-3)}@media (max-width:768px){.sidebar{display:none}}.bottom-tabs{background:#fff;background:var(--surface-card);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-default);bottom:0;display:none;height:56px;height:var(--bottom-nav-h);left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:10;z-index:var(--z-sidebar)}@media (max-width:768px){.bottom-tabs{display:flex}}.tab{align-items:center;color:#64748b;color:var(--text-muted);display:flex;flex:1;flex-direction:column;font-size:12px;font-size:var(--text-xs);gap:2px;justify-content:center;min-height:44px;min-height:var(--touch-target-min);transition:color .15s ease-out;transition:color var(--motion-hover)}.tab,.tab:hover{-webkit-text-decoration:none;text-decoration:none}.tab:hover{color:#475569;color:var(--text-secondary)}.tab.is-active{color:#0d9488;color:var(--mavo-accent)}.tab .ico{height:22px;width:22px}.skeleton{animation:skeleton-shimmer linear 1.2s ease-in-out infinite;animation:skeleton-shimmer var(--motion-skeleton) infinite linear;background:linear-gradient(90deg,#e2e8f0,#f1f5f9 50%,#e2e8f0);background:linear-gradient(90deg,var(--gray-200) 0,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;border-radius:6px;border-radius:var(--radius-sm);color:transparent;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-theme=auto] .skeleton,[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1e293b,#334155 50%,#1e293b);background:linear-gradient(90deg,var(--gray-800) 0,var(--gray-700) 50%,var(--gray-800) 100%);background-size:200% 100%}.skeleton-line{border-radius:6px;border-radius:var(--radius-sm);height:12px;width:100%}.skeleton-line-short{width:60%}.skeleton-line-tiny{width:30%}.skeleton-block{border-radius:8px;border-radius:var(--radius-md);min-height:80px;width:100%}.skeleton-circle{border-radius:9999px;border-radius:var(--radius-full);height:40px;width:40px}.skeleton-text-stack{display:flex;flex-direction:column;gap:8px;gap:var(--space-2)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:#e2e8f0;background:var(--gray-200)}[data-theme=auto] .skeleton,[data-theme=dark] .skeleton{background:#334155;background:var(--gray-700)}}th.sortable{cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable:hover{color:#0f172a;color:var(--text-primary)}th.sortable .sort-icon{align-items:center;display:inline-flex;flex-direction:column;height:14px;margin-left:4px;margin-left:var(--space-1);position:relative;top:-1px;vertical-align:middle}th.sortable .sort-icon .ico{height:10px;margin:-1px 0;opacity:.3;width:10px}th.sortable.is-sorted-asc .sort-asc,th.sortable.is-sorted-desc .sort-desc,th.sortable[aria-sort=ascending] .sort-asc,th.sortable[aria-sort=descending] .sort-desc{color:#0d9488;color:var(--mavo-accent);opacity:1}.table-wrap{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-lg);overflow:hidden}.table{border-collapse:collapse;font-feature-settings:"tnum";font-size:14px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;width:100%}.table thead{background:#f8fafc;background:var(--gray-50);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:20;z-index:var(--z-sticky)}[data-theme=auto] .table thead,[data-theme=dark] .table thead{background:#0f172a;background:var(--gray-900)}.table th{color:#475569;color:var(--text-secondary);font-size:12px;font-size:var(--text-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.table td,.table th{padding:12px 16px;padding:var(--space-3) var(--space-4)}.table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);color:#0f172a;color:var(--text-primary);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .15s ease-out;transition:background-color var(--motion-hover)}.table tbody tr:hover{background:#f8fafc;background:var(--gray-50)}[data-theme=auto] .table tbody tr:hover,[data-theme=dark] .table tbody tr:hover{background:#334155;background:var(--gray-700)}.table-zebra tbody tr:nth-child(2n){background:#f8fafc;background:var(--gray-50)}[data-theme=auto] .table-zebra tbody tr:nth-child(2n),[data-theme=dark] .table-zebra tbody tr:nth-child(2n){background:#0f172a;background:var(--gray-900)}.table-zebra tbody tr:hover{background:#f1f5f9;background:var(--gray-100)}[data-theme=auto] .table-zebra tbody tr:hover,[data-theme=dark] .table-zebra tbody tr:hover{background:#334155;background:var(--gray-700)}.table .num{text-align:right}.th-sort{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:4px;gap:var(--space-1);letter-spacing:inherit;padding:0;text-transform:inherit}.th-sort:hover{color:#0f172a;color:var(--text-primary)}.th-sort:not([aria-sort]) .ico-sort-down,.th-sort:not([aria-sort]) .ico-sort-up,.th-sort[aria-sort=ascending] .ico-sort-down,.th-sort[aria-sort=descending] .ico-sort-up{display:none}@media (max-width:640px){.table-mobile-stack thead{display:none}.table-mobile-stack tbody tr{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-muted);display:block;padding:12px 16px;padding:var(--space-3) var(--space-4)}.table-mobile-stack tbody tr:hover{background:transparent}.table-mobile-stack td{align-items:center;border:none;display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:4px 0;padding:var(--space-1) 0}.table-mobile-stack td:before{color:#64748b;color:var(--text-muted);content:attr(data-label);flex-shrink:0;font-size:12px;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}}.toast-region{display:flex;flex-direction:column;gap:8px;gap:var(--space-2);max-width:calc(100vw - 32px);max-width:calc(100vw - var(--space-8));pointer-events:none;position:fixed;right:16px;right:var(--space-4);top:16px;top:var(--space-4);width:360px;z-index:300;z-index:var(--z-toast)}.toast-region>*{pointer-events:auto}.toast{align-items:flex-start;animation:toast-slide-in .2s ease-in-out;animation:toast-slide-in var(--motion-state);background:#fff;background:var(--surface-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-default);border-left-width:4px;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.04);box-shadow:var(--shadow-md);display:flex;gap:12px;gap:var(--space-3);padding:12px 16px;padding:var(--space-3) var(--space-4)}.toast.is-leaving{animation:toast-slide-out .2s ease-in-out forwards;animation:toast-slide-out var(--motion-state) forwards}.toast-success{border-left-color:#10b981;border-left-color:var(--success)}.toast-warning{border-left-color:#f59e0b;border-left-color:var(--warning)}.toast-danger{border-left-color:#ef4444;border-left-color:var(--danger)}.toast-info{border-left-color:#3b82f6;border-left-color:var(--info)}.toast-success .toast-ico{color:#10b981;color:var(--success)}.toast-warning .toast-ico{color:#f59e0b;color:var(--warning)}.toast-danger .toast-ico{color:#ef4444;color:var(--danger)}.toast-info .toast-ico{color:#3b82f6;color:var(--info)}.toast-ico{flex-shrink:0;margin-top:2px}.toast-body{flex:1;min-width:0}.toast-title{color:#0f172a;color:var(--text-primary);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:4px;margin-bottom:var(--space-1)}.toast-message,.toast-title{font-size:14px;font-size:var(--text-sm)}.toast-message{color:#475569;color:var(--text-secondary);line-height:1.35;line-height:var(--leading-snug);word-wrap:break-word}.toast-dismiss{align-items:center;border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:24px}.toast-dismiss:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .toast-dismiss:hover,[data-theme=dark] .toast-dismiss:hover{background:#334155;background:var(--gray-700)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}@media (max-width:640px){.toast-region{left:12px;left:var(--space-3);right:12px;right:var(--space-3);top:12px;top:var(--space-3);width:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}}.topbar{align-items:center;background:#fff;background:var(--surface-card);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-default);display:flex;gap:12px;gap:var(--space-3);height:56px;padding:0 16px;padding:0 var(--space-4);padding-left:max(16px,env(safe-area-inset-left));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-top:env(safe-area-inset-top);position:sticky;top:0;z-index:20;z-index:var(--z-sticky)}.topbar-back{align-items:center;border-radius:9999px;border-radius:var(--radius-full);color:#475569;color:var(--text-secondary);display:inline-flex;flex-shrink:0;height:44px;height:var(--touch-target-min);justify-content:center;margin-left:-8px;margin-left:calc(var(--space-2)*-1);transition:background-color .15s ease-out;transition:background-color var(--motion-hover);width:44px;width:var(--touch-target-min)}.topbar-back:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary);-webkit-text-decoration:none;text-decoration:none}[data-theme=auto] .topbar-back:hover,[data-theme=dark] .topbar-back:hover{background:#334155;background:var(--gray-700)}.topbar-title{flex:1;min-width:0}.topbar-title h1{color:#0f172a;color:var(--text-primary);font-size:16px;font-size:var(--text-base);font-weight:600;font-weight:var(--font-weight-semibold)}.topbar-subtitle,.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-subtitle{color:#64748b;color:var(--text-muted)}.topbar-chip,.topbar-subtitle{font-size:12px;font-size:var(--text-xs)}.topbar-chip{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-weight:600;font-weight:var(--font-weight-semibold);gap:4px;gap:var(--space-1);padding:4px 8px;padding:var(--space-1) var(--space-2);white-space:nowrap}.topbar-chip-offline{background:#fffbeb;background:var(--warning-bg);border:1px solid #fcd34d;border:1px solid var(--warning-border);color:#92400e;color:var(--warning-text)}[data-theme=auto] .topbar-chip-offline,[data-theme=dark] .topbar-chip-offline{color:#f59e0b;color:var(--warning)}.topbar-chip-online{background:#ecfdf5;background:var(--success-bg);color:#065f46;color:var(--success-text)}[data-theme=auto] .topbar-chip-online,[data-theme=dark] .topbar-chip-online{color:#10b981;color:var(--success)}.topbar-action{align-items:center;border-radius:9999px;border-radius:var(--radius-full);color:#475569;color:var(--text-secondary);display:inline-flex;flex-shrink:0;height:44px;height:var(--touch-target-min);justify-content:center;margin-right:-8px;margin-right:calc(var(--space-2)*-1);width:44px;width:var(--touch-target-min)}.topbar-action:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--text-primary)}[data-theme=auto] .topbar-action:hover,[data-theme=dark] .topbar-action:hover{background:#334155;background:var(--gray-700)}