.stat-card{align-items:center;gap:var(--s-3);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);box-shadow:var(--elev-card);padding:var(--s-3) var(--s-4);min-width:0;transition:box-shadow var(--t-fast), border-color var(--t-fast);display:flex}.stat-card-icon{border-radius:var(--r-md);background:var(--c-surface-muted);width:36px;height:36px;color:var(--c-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card--primary .stat-card-icon{background:var(--c-primary-soft);color:var(--c-primary)}.stat-card--success .stat-card-icon{background:var(--c-success-soft);color:var(--c-success)}.stat-card--warning .stat-card-icon{background:var(--c-warning-soft);color:var(--c-warning)}.stat-card--danger .stat-card-icon{background:var(--c-danger-soft);color:var(--c-danger)}.stat-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stat-card-label{margin:0}.stat-card-value{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--c-text);font-variant-numeric:tabular-nums;word-break:break-word}.stat-card-hint{margin-top:0}.stat-card--compact{padding:var(--s-3)}.stat-card--compact .stat-card-value{font-size:var(--fs-lg)}.stat-card--compact .stat-card-icon{width:32px;height:32px}.statbar{background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-lg);display:flex;overflow:hidden}.statbar-item{gap:var(--s-1);min-width:0;padding:var(--s-3) var(--s-4);flex-direction:column;flex:1;display:flex}.statbar-item+.statbar-item{border-left:1px solid var(--c-border-subtle)}.statbar-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-text-subtle)}.statbar-value{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--c-text);font-variant-numeric:tabular-nums}.statbar-hint{font-size:var(--fs-sm);color:var(--c-text-muted)}@media (width<=640px){.statbar{grid-template-columns:1fr 1fr;display:grid}.statbar-item+.statbar-item{border-left:none}.statbar-item{border-top:1px solid var(--c-border-subtle)}.statbar-item:nth-child(-n+2){border-top:none}.statbar-item:nth-child(2n){border-left:1px solid var(--c-border-subtle)}}.search-input{flex:1;min-width:0;position:relative}.search-input>.input{padding-left:44px;padding-right:40px}.search-input-clear{right:var(--s-2);border-radius:var(--r-sm);width:24px;height:24px;color:var(--c-text-subtle);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.search-input-clear:hover{background:var(--c-surface-muted);color:var(--c-text)}.avatar{border-radius:var(--r-pill);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);-webkit-user-select:none;user-select:none;object-fit:cover;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-primary{background:var(--c-primary-soft);color:var(--c-primary)}.avatar-xs{font-size:10px}.avatar-sm{font-size:11px}.avatar-md{font-size:13px}.avatar-lg{font-size:15px}.avatar-xl{font-size:18px}.avatar-2xl{font-size:24px}.tab-count{margin-left:var(--s-2)}.tab-icon{margin-right:var(--s-2);align-items:center;display:inline-flex}.tabs-pills{gap:var(--s-2);border-bottom:none}.tabs-pills>.tab{border-radius:var(--r-md);padding:var(--s-2) var(--s-4);background:var(--c-surface-muted);color:var(--c-text-muted);transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast)}.tabs-pills>.tab:after{display:none}.tabs-pills>.tab:hover{background:var(--c-border-subtle);color:var(--c-text)}.tabs-pills>.tab.active{background:var(--c-primary);color:var(--c-text-on-primary);box-shadow:var(--glow-primary)}.tabs-pills>.tab.active .tab-count{background:color-mix(in srgb, var(--c-text-on-primary) 20%, transparent);color:var(--c-text-on-primary)}.section-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-2) 0 var(--s-4);display:flex}.section-header-text{flex-direction:column;gap:2px;min-width:0;display:flex}.section-header-actions{align-items:center;gap:var(--s-2);flex-shrink:0;display:flex}.page-header-actions{align-items:center;gap:var(--s-3);flex-shrink:0;display:flex}.segmented{align-items:stretch;display:inline-flex}.segmented-full{width:100%;display:flex}.segmented-item{justify-content:center;align-items:center;gap:var(--s-2);padding:0 var(--s-4);height:36px;color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal);cursor:pointer;white-space:nowrap;transition:color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);background:0 0;border:none;flex:1;font-family:inherit;display:inline-flex}.segmented-item:disabled{opacity:.5;cursor:not-allowed}.segmented-item svg{flex-shrink:0;width:14px;height:14px}.segmented--soft{background:var(--c-surface-muted);border:1px solid var(--c-border-subtle);border-radius:var(--r-lg);gap:2px;padding:3px}.segmented--soft .segmented-item{border-radius:var(--r-md)}.segmented--soft .segmented-item:hover:not(:disabled):not(.active){color:var(--c-text)}.segmented--soft .segmented-item.active{background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-xs), 0 0 0 1px var(--c-border-subtle)}.segmented--solid{border:1px solid var(--c-border-subtle);border-radius:var(--r-md);background:var(--c-surface);overflow:hidden}.segmented--solid .segmented-item{border-right:1px solid var(--c-border-subtle);font-weight:var(--fw-medium)}.segmented--solid .segmented-item:last-child{border-right:none}.segmented--solid .segmented-item:hover:not(:disabled):not(.active){background:var(--c-surface-subtle);color:var(--c-text)}.segmented--solid .segmented-item.active{background:var(--c-text);color:var(--c-surface)}.segmented--solid .segmented-item.active svg{stroke:var(--c-surface)}.dropdown{display:inline-block;position:relative}.dropdown-menu{z-index:var(--z-popover);min-width:200px;padding:var(--s-2);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);box-shadow:var(--elev-popover);animation:ds-scale-in var(--t-base);transform-origin:100% 0;position:absolute}.dropdown-bottom-end{top:calc(100% + var(--s-1));right:0}.dropdown-bottom-start{top:calc(100% + var(--s-1));transform-origin:0 0;left:0}.dropdown-top-end{bottom:calc(100% + var(--s-1));transform-origin:100% 100%;right:0}.dropdown-top-start{bottom:calc(100% + var(--s-1));transform-origin:0 100%;left:0}.dropdown-item{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);color:var(--c-text);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;display:flex}.dropdown-item:hover:not(:disabled),.dropdown-item.is-focused:not(:disabled){background:var(--c-surface-subtle)}.dropdown-item.is-danger{color:var(--c-danger)}.dropdown-item.is-danger:hover:not(:disabled),.dropdown-item.is-danger.is-focused:not(:disabled){background:var(--c-danger-soft)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item-icon{color:var(--c-text-muted);flex-shrink:0;align-items:center;display:inline-flex}.dropdown-divider{height:1px;margin:var(--s-1) 0;background:var(--c-divider)}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{z-index:var(--z-tooltip);padding:var(--s-2) var(--s-3);background:var(--c-text);color:var(--c-surface);border-radius:var(--r-md);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-snug);white-space:nowrap;pointer-events:none;animation:ds-fade-in var(--t-fast);box-shadow:var(--shadow-lg);position:absolute}.tooltip-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.tooltip-right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.form-field{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.form-field-required{color:var(--c-danger);margin-left:2px}.form-field.has-error>.input,.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--c-danger)}.form-field.has-error>.input:focus,.form-field.has-error input:focus,.form-field.has-error select:focus,.form-field.has-error textarea:focus{box-shadow:var(--focus-ring-danger)}.skeleton{background:linear-gradient(90deg, var(--c-surface-muted) 0%, var(--c-border-subtle) 50%, var(--c-surface-muted) 100%);border-radius:var(--r-md);vertical-align:middle;background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-wave;display:inline-block}.skeleton-text{border-radius:var(--r-sm);width:100%;height:12px;display:block}.skeleton-title{border-radius:var(--r-sm);width:60%;height:18px;display:block}.skeleton-badge{border-radius:var(--r-pill);width:56px;height:20px}.skeleton-circle{border-radius:var(--r-pill);width:36px;height:36px}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.page-toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;min-width:0;padding:0;display:flex}.page-toolbar-search{flex:260px;min-width:0}.page-toolbar-filters{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.page-toolbar-actions{align-items:center;gap:var(--s-2);flex-shrink:0;margin-left:auto;display:flex}@media (width<=767px){.page-toolbar{gap:var(--s-2)}.page-toolbar-search,.page-toolbar-filters,.page-toolbar-actions{width:100%;margin-left:0}.stat-card{padding:var(--s-3) var(--s-4)}.stat-card-value{font-size:var(--fs-2xl)}.section-header{gap:var(--s-3)}.page-header-actions{gap:var(--s-2)}.segmented{overscroll-behavior-x:contain;scrollbar-width:none;max-width:100%;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented-item{font-size:var(--fs-sm);min-height:var(--touch-target)}.tabs{overscroll-behavior-x:contain}.tab{min-height:var(--touch-target);align-items:center;display:inline-flex}.form-field,.search-input,.searchable-select{min-width:0;max-width:100%}.dropdown-menu{max-width:calc(100vw - var(--s-6))}.dropdown-item,.searchable-select-item{min-height:var(--touch-target)}}.searchable-select{width:100%;position:relative}.searchable-select-trigger{justify-content:space-between;align-items:center;gap:var(--s-2);text-align:left;cursor:pointer;width:100%;display:flex}.searchable-select-trigger[disabled]{cursor:not-allowed;opacity:.6}.searchable-select-placeholder{color:var(--c-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.searchable-select-value{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.searchable-select-chevron{color:var(--c-text-muted);transition:transform var(--t-fast);flex-shrink:0}.searchable-select-trigger.is-open .searchable-select-chevron{transform:rotate(180deg)}.searchable-select-popover{top:calc(100% + var(--s-2));z-index:var(--z-popover);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);box-shadow:var(--elev-popover);padding:var(--s-2);gap:var(--s-2);max-height:min(480px,60dvh);animation:ds-scale-in var(--t-base);flex-direction:column;display:flex;position:absolute;left:0;right:0}.searchable-select-search{flex-shrink:0}.searchable-select-list{overscroll-behavior:contain;flex-direction:column;gap:2px;display:flex;overflow:hidden auto}.searchable-select-item{text-align:left;width:100%;min-height:32px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--c-text);cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;flex-shrink:0;align-items:center;display:flex}.searchable-select-item>span{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.searchable-select-item.is-highlighted,.searchable-select-item:hover{background:var(--c-surface-subtle)}.searchable-select-item.is-selected{color:var(--c-primary);font-weight:var(--fw-semibold)}.searchable-select-empty{padding:var(--s-3);text-align:center;color:var(--c-text-muted);font-size:var(--fs-sm)}@media (prefers-reduced-motion:reduce){.dropdown-menu,.searchable-select-popover,.tooltip,.skeleton{animation:none!important}}.app-alert{right:var(--s-6);bottom:calc(var(--s-5) + 48px + var(--s-3));z-index:var(--z-toast);align-items:center;gap:var(--s-3);min-width:320px;max-width:min(520px,100vw - 32px);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--c-text);box-shadow:var(--elev-toast);-webkit-backdrop-filter:var(--blur-md);animation:app-alert-slide-in var(--t-slow);display:flex;position:fixed}.app-alert-icon{border-radius:var(--r-lg);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.app-alert-message{min-width:0;font-weight:var(--fw-medium);flex:1}.app-alert-close{color:currentColor;flex-shrink:0}.app-alert-error{background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-danger) 28%, transparent);color:var(--c-danger-ink)}.app-alert-error .app-alert-icon{background:color-mix(in srgb, var(--c-danger) 15%, transparent);color:var(--c-danger)}.app-alert-success{background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 26%, transparent);color:var(--c-success-ink)}.app-alert-success .app-alert-icon{background:color-mix(in srgb, var(--c-success) 15%, transparent);color:var(--c-success)}.app-alert-info{background:var(--c-info-soft);border-color:color-mix(in srgb, var(--c-info) 26%, transparent);color:var(--c-info-ink)}.app-alert-info .app-alert-icon{background:color-mix(in srgb, var(--c-info) 15%, transparent);color:var(--c-info)}@keyframes app-alert-slide-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=767px){.app-alert{left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-4) + env(safe-area-inset-bottom,0px));border-radius:var(--r-pill);min-width:0;max-width:none;padding:var(--s-2) var(--s-3) var(--s-2) var(--s-3);font-size:var(--fs-base);font-weight:var(--fw-medium);box-shadow:var(--elev-toast)}.app-alert-icon{border-radius:var(--r-pill);width:26px;height:26px}.app-alert-message{word-break:break-word;line-height:var(--lh-snug)}}@media (width<=479px){.app-alert{left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px));padding:var(--s-2) var(--s-3) var(--s-2) var(--s-3);font-size:var(--fs-sm)}.app-alert-icon{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.app-alert{animation:none!important}}.app-empty-state{padding:var(--s-10) var(--s-7);text-align:center;color:var(--c-text-muted);justify-content:center;align-items:center;gap:var(--s-1);animation:ds-fade-in var(--t-slow);flex-direction:column;display:flex}.app-empty-icon{border-radius:var(--r-2xl);background:var(--c-surface-muted);border:1px solid var(--c-border-subtle);width:64px;height:64px;box-shadow:var(--shadow-none);color:var(--c-text-subtle);margin-bottom:var(--s-5);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-empty-icon svg{width:30px;height:30px}.app-empty-state h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--c-text);letter-spacing:var(--ls-snug);margin:0}.app-empty-state p{margin:var(--s-3) 0 0;font-size:var(--fs-base);max-width:420px;color:var(--c-text-muted);line-height:var(--lh-relaxed)}.app-empty-cta{margin-top:var(--s-6)}@media (width<=767px){.app-empty-state{padding:var(--s-8) var(--s-5)}.app-empty-icon{border-radius:var(--r-xl);width:56px;height:56px}.app-empty-state h3{font-size:var(--fs-md)}.app-empty-state p{font-size:var(--fs-sm);max-width:320px}}@media (width<=479px){.app-empty-state{padding:var(--s-7) var(--s-4)}.app-empty-icon{border-radius:var(--r-lg);width:52px;height:52px}}@media (prefers-reduced-motion:reduce){.app-empty-state{animation:none!important}}.modal-overlay{background:var(--c-overlay);-webkit-backdrop-filter:var(--blur-lg);z-index:var(--z-backdrop);padding:var(--s-6);overscroll-behavior:contain;animation:ds-fade-in var(--t-base);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{z-index:var(--z-modal);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);box-shadow:var(--elev-modal);width:min(560px,92vw);max-height:min(100dvh - 48px,88vh);animation:modal-pop-in var(--t-slow);flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-6) var(--s-6) var(--s-5);border-bottom:1px solid var(--c-divider);background:var(--c-surface);flex-shrink:0;display:flex}.modal-header h2,.modal-header h3,.modal-header h4{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--c-text);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);margin:0}.modal-header .modal-subtitle{margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--c-text-muted);line-height:var(--lh-normal)}.modal-close{border-radius:var(--r-md);width:32px;min-width:32px;height:32px;color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-close:hover{background:var(--c-surface-muted);color:var(--c-text)}.modal-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.modal-body{padding:var(--s-6) var(--s-6) var(--s-7);overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:var(--r-pill);border:none}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--c-border-strong)}.modal-actions{gap:var(--s-3);padding:var(--s-5) var(--s-6);border-top:1px solid var(--c-divider);background:var(--c-surface-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.modal-actions>.btn{justify-content:center;min-width:112px}@media (width<=1023px){.modal-overlay{padding:var(--s-4)}}@media (width<=767px){.modal-overlay{padding:var(--s-3)}.modal-header{padding:var(--s-4) var(--s-5)}.modal-header h2,.modal-header h3,.modal-header h4{font-size:var(--fs-lg)}.modal-close{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);border-radius:var(--r-pill);background:var(--c-surface-muted)}.modal-close:hover,.modal-close:active{background:var(--c-border)}.modal-body{padding:var(--s-5)}.modal-actions{gap:var(--s-2);padding:var(--s-3) var(--s-5) calc(var(--s-3) + env(safe-area-inset-bottom,0));flex-direction:column-reverse}.modal-actions .btn,.modal-actions button{width:100%;min-height:44px}.modal-as-sheet{align-items:flex-end;padding:0}.modal-as-sheet .modal-content{border-radius:var(--r-2xl) var(--r-2xl) 0 0;width:100%;max-width:100%;max-height:92dvh;box-shadow:var(--elev-modal);padding-bottom:env(safe-area-inset-bottom,0);animation:modal-sheet-up var(--t-slow);border-bottom:none;border-left:none;border-right:none}.modal-as-sheet .modal-content:before{content:"";background:var(--c-border-strong);border-radius:var(--r-pill);width:40px;height:4px;margin:var(--s-2) auto var(--s-1);opacity:.8;z-index:1;flex-shrink:0;display:block;position:sticky;top:0}}@keyframes modal-sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.modal-overlay.modal-overlay--flush{align-items:stretch;padding:0}.modal-overlay--flush .modal-content{border:none;border-radius:0;max-height:100dvh;padding-bottom:0}.modal-overlay--flush .modal-content:before{display:none}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content,.modal-as-sheet .modal-content{animation:none!important}}.app-progress-wrap{width:100%}.app-progress-label{justify-content:space-between;align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:var(--s-2);display:flex}.app-progress-label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-progress-label>span:last-child{color:var(--c-text);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex-shrink:0}.app-progress-track{border-radius:var(--r-pill);background:var(--c-border-subtle);height:6px;overflow:hidden}.app-progress-fill{border-radius:var(--r-pill);background:var(--c-primary);height:100%;transition:width var(--t-slow)}.app-progress-fill.animated{animation:1.5s ease-in-out infinite app-progress-pulse}@keyframes app-progress-pulse{0%,to{opacity:.85}50%{opacity:1}}@media (width<=767px){.app-progress-label{font-size:var(--fs-sm);gap:var(--s-2);flex-wrap:wrap}.app-progress-track{height:6px}}@media (prefers-reduced-motion:reduce){.app-progress-fill.animated{animation:none!important}}.theme-switch{font-family:var(--font-sans)}.theme-switch--floating{z-index:4;top:max(var(--s-4), env(safe-area-inset-top));right:max(var(--s-4), env(safe-area-inset-right));align-items:center;gap:var(--s-3);padding:var(--s-2);border:1px solid color-mix(in srgb, var(--c-border) 84%, transparent);border-radius:var(--r-lg);background:color-mix(in srgb, var(--c-surface) 92%, transparent);box-shadow:var(--elev-popover);color:var(--c-text);-webkit-backdrop-filter:blur(14px)saturate(120%);display:flex;position:fixed}.theme-switch__label{padding-left:var(--s-2);color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase}.theme-switch__status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-switch__options{border:1px solid var(--c-border-subtle);border-radius:var(--r-md);background:var(--c-surface-muted);gap:2px;padding:3px;display:inline-flex}.theme-switch__option{justify-content:center;align-items:center;gap:var(--s-2);min-height:34px;padding:0 var(--s-3);border-radius:calc(var(--r-md) - 3px);color:var(--c-text-muted);cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);background:0 0;border:0;display:inline-flex}.theme-switch__option svg,.theme-switch--compact svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.theme-switch__option:hover{color:var(--c-text);background:color-mix(in srgb, var(--c-surface) 72%, transparent)}.theme-switch__option[aria-pressed=true]{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--shadow-xs)}:root[data-theme=dark] .theme-switch__option[aria-pressed=true]{color:var(--c-primary-300)}.theme-switch__option:focus-visible,.theme-switch--compact:focus-visible{box-shadow:var(--focus-ring);outline:none}.theme-switch--compact{border:1px solid var(--c-border-subtle);border-radius:var(--r-md);background:var(--c-surface);width:40px;height:40px;color:var(--c-text-muted);box-shadow:var(--shadow-xs);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);flex:none;place-items:center;padding:0;display:inline-grid}.theme-switch--compact:hover{border-color:var(--c-border-strong);background:var(--c-surface-muted);color:var(--c-text)}@media (width<=960px){.theme-switch--floating{z-index:3;width:fit-content;max-width:100%;margin:0 auto 12px;position:relative;top:auto;right:auto}.theme-switch--floating+.lg__card{min-height:calc(100dvh - 88px)}.theme-switch--floating .theme-switch__label{display:none}}@media (width<=420px){.theme-switch--floating,.theme-switch--floating .theme-switch__options{width:100%}.theme-switch--floating .theme-switch__option{min-width:0;padding-inline:var(--s-2);flex:1 1 0}}.brand-lockup{--brand-name:var(--c-text);--brand-suffix:var(--c-primary-700);--brand-tagline:var(--c-text-muted);align-items:center;gap:var(--s-3);min-width:0;color:var(--brand-name);display:inline-flex}.brand-lockup--dark{--brand-name:var(--c-neutral-0);--brand-suffix:var(--c-primary-300);--brand-tagline:var(--sidebar-text)}.brand-lockup__mark{flex:none;display:block}.brand-lockup__copy{gap:1px;min-width:0;display:grid}.brand-lockup__name{color:var(--brand-name);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.025em;white-space:nowrap;align-items:baseline;gap:3px;line-height:1;display:inline-flex}.brand-lockup__suffix{color:var(--brand-suffix);font-weight:var(--fw-medium)}.brand-lockup__tagline{color:var(--brand-tagline);font-size:var(--fs-xs);font-weight:var(--fw-normal);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.brand-lockup:not(.brand-lockup--with-tagline){gap:var(--s-2)}.brand-lockup:not(.brand-lockup--with-tagline) .brand-lockup__name{font-size:var(--fs-md)}.app-shell{background:var(--c-bg);height:100dvh;display:flex;overflow:hidden}.app-shell.mobile{flex-direction:column}.shell-skip-link{top:var(--s-3);left:var(--s-3);z-index:calc(var(--z-modal) + 1);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);box-shadow:var(--elev-popover);transition:transform var(--t-fast);position:fixed;transform:translateY(-160%)}.shell-skip-link:focus{box-shadow:var(--focus-ring), var(--elev-popover);outline:none;transform:translateY(0)}.shell-topbar{height:calc(56px + max(env(safe-area-inset-top), 0px));padding:max(env(safe-area-inset-top), 0px) var(--s-4) 0;background:var(--c-bg);border-bottom:1px solid var(--c-border-subtle);z-index:var(--z-nav);flex-shrink:0;justify-content:space-between;align-items:center;display:none}.app-shell.mobile .shell-topbar{display:flex}.shell-icon-button,.shell-avatar-button,.shell-collapse-button{border-radius:var(--r-md);width:40px;height:40px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.shell-icon-button:hover,.shell-avatar-button:hover,.shell-collapse-button:hover{color:var(--c-text);background:var(--c-surface-muted)}.shell-icon-button:focus-visible,.shell-avatar-button:focus-visible,.shell-collapse-button:focus-visible,.shell-brand:focus-visible,.shell-topbar-brand:focus-visible,.shell-nav-item:focus-visible,.shell-nav-group-toggle:focus-visible,.shell-user-button:focus-visible,.shell-account-menu button:focus-visible{box-shadow:var(--focus-ring);outline:none}.shell-avatar-button{border-radius:var(--r-pill);padding:0}.shell-topbar-brand{min-height:var(--touch-target);padding-inline:var(--s-1);color:var(--c-text);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.shell-topbar-actions{align-items:center;gap:var(--s-2);display:flex}.shell-backdrop{z-index:var(--z-backdrop);background:var(--c-overlay);cursor:default;border:0;position:fixed;inset:0}.shell-sidebar{width:264px;min-width:264px;color:var(--sidebar-accent);background:linear-gradient(180deg, var(--sidebar-bg) 0%, color-mix(in srgb, var(--sidebar-bg) 88%, var(--c-neutral-950)) 100%);border-right:1px solid var(--sidebar-border);transition:width var(--t-base), min-width var(--t-base), transform var(--t-base);z-index:var(--z-drawer);flex-direction:column;display:flex;overflow:hidden}.app-shell.nav-collapsed .shell-sidebar{width:76px;min-width:76px}.shell-sidebar.mobile{width:min(320px,88vw);min-width:min(320px,88vw);height:100dvh;padding-top:max(env(safe-area-inset-top), 0px);box-shadow:var(--elev-modal);border-right:0;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell-sidebar.mobile.open{transform:translate(0)}.shell-brand-row{min-height:72px;padding:var(--s-3);border-bottom:1px solid var(--sidebar-border);align-items:center;display:flex}.shell-brand{min-width:0;color:var(--sidebar-accent);text-decoration:none;display:inline-flex}.shell-brand .brand-lockup{gap:var(--s-2)}.shell-brand-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.shell-brand-actions .shell-icon-button,.shell-brand-actions .shell-collapse-button,.shell-brand-actions .theme-switch--compact{width:28px;height:28px;color:var(--sidebar-text-muted);box-shadow:none;background:0 0;border-color:#0000}.shell-brand-actions .shell-icon-button:hover,.shell-brand-actions .shell-collapse-button:hover,.shell-brand-actions .theme-switch--compact:hover{color:var(--sidebar-accent);background:var(--sidebar-hover-bg);border-color:#0000}.app-shell.nav-collapsed .shell-brand-row{justify-content:center;gap:var(--s-2);min-height:104px;padding-inline:var(--s-3);flex-direction:column}.app-shell.nav-collapsed .shell-brand-actions{grid-template-columns:repeat(2,28px);justify-content:center;margin:0;display:grid}.app-shell.nav-collapsed .shell-brand-actions .shell-collapse-button{grid-column:1/-1;justify-self:center}.app-shell.nav-collapsed .shell-brand-actions .shell-icon-button,.app-shell.nav-collapsed .shell-brand-actions .shell-collapse-button,.app-shell.nav-collapsed .shell-brand-actions .theme-switch--compact{width:28px;height:28px}.shell-close-button{color:var(--sidebar-text-muted)}.shell-nav{min-height:0;padding:var(--s-4) var(--s-3);overscroll-behavior:contain;scrollbar-color:color-mix(in srgb, var(--sidebar-accent) 16%, transparent) transparent;flex:1;overflow-y:auto}.shell-nav::-webkit-scrollbar{width:8px}.shell-nav::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:color-mix(in srgb, var(--sidebar-accent) 16%, transparent);background-clip:padding-box;border:2px solid #0000}.shell-nav-group+.shell-nav-group{margin-top:var(--s-5)}.shell-nav-group-label{margin:0 0 var(--s-2);padding:0 var(--s-3);color:var(--sidebar-text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase}.shell-nav-group-items{gap:2px;display:grid}.shell-nav-group-items[hidden]{display:none}.shell-nav-group-toggle{align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--sidebar-text);cursor:pointer;font:inherit;text-align:left;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto 16px;display:grid}.shell-nav-group-toggle:hover,.shell-nav-group.has-active-item .shell-nav-group-toggle{color:var(--sidebar-accent);background:color-mix(in srgb, var(--sidebar-accent) 3.5%, transparent)}.shell-nav-group-toggle>span:nth-child(2){font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-nav-group-toggle small{min-width:22px;padding:2px var(--s-2);border:1px solid var(--sidebar-border);border-radius:var(--r-pill);color:var(--sidebar-accent);font-size:var(--fs-xs);text-align:center;line-height:1.25}.shell-nav-group-chevron{color:var(--sidebar-text-muted);transition:transform var(--t-fast)}.shell-nav-group-toggle[aria-expanded=true] .shell-nav-group-chevron{transform:rotate(180deg)}.shell-nav-group-items--nested{margin-top:var(--s-1);padding-left:var(--s-4);border-left:1px solid var(--sidebar-border);gap:1px}.shell-nav-group-items--nested .shell-nav-item{min-height:42px;padding-left:var(--s-3)}.shell-nav-item{align-items:center;gap:var(--s-3);min-height:44px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--sidebar-text);transition:background var(--t-fast), color var(--t-fast);text-decoration:none;display:flex;position:relative}.shell-nav-item:hover{color:var(--sidebar-accent);background:var(--sidebar-hover-bg)}.shell-nav-item.active{color:var(--sidebar-accent);background:var(--sidebar-active-bg)}.shell-nav-item.active:before{content:"";border-radius:var(--r-pill);background:linear-gradient(180deg, var(--c-primary-300), var(--c-primary-500));width:3px;height:20px;animation:shell-active-marker .18s var(--ease-out) both;position:absolute;top:50%;left:0;transform:translateY(-50%)}@keyframes shell-active-marker{0%{opacity:0;height:8px}to{opacity:1;height:20px}}.shell-nav-icon{color:var(--sidebar-text-muted);transition:color var(--t-fast), transform var(--t-fast);flex:0 0 20px;justify-content:center;align-items:center;display:inline-flex}.shell-nav-item:hover .shell-nav-icon{transform:translate(1px)}.shell-nav-item.active .shell-nav-icon{color:var(--c-primary-400)}.shell-nav-copy{gap:1px;min-width:0;line-height:1.2;display:grid}.shell-nav-copy>span{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-nav-copy small{color:var(--sidebar-text-muted);font-size:var(--fs-xs);font-weight:var(--fw-normal);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell.nav-collapsed .shell-nav{padding-inline:var(--s-3)}.app-shell.nav-collapsed .shell-nav-group+.shell-nav-group{margin-top:var(--s-3)}.app-shell.nav-collapsed .shell-nav-group+.shell-nav-group:before{content:"";height:1px;margin:0 var(--s-2) var(--s-3);background:var(--sidebar-border);display:block}.app-shell.nav-collapsed .shell-nav-group-items--nested{border:0;margin:0;padding:0}.app-shell.nav-collapsed .shell-nav-item{padding:var(--s-2);justify-content:center}.app-shell.nav-collapsed .shell-nav-item.active:before{left:-1px}.shell-footer{padding:var(--s-3);border-top:1px solid var(--sidebar-border);padding-bottom:max(env(safe-area-inset-bottom), var(--s-3));position:relative}.shell-sidebar .avatar-primary{background:color-mix(in srgb, var(--sidebar-accent) 9%, transparent);color:var(--sidebar-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-accent) 10%, transparent)}.shell-user-button{align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:var(--s-2);border-radius:var(--r-md);color:var(--sidebar-accent);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.shell-user-button:hover,.shell-user-button.is-open{background:var(--sidebar-hover-bg)}.shell-user-copy{flex:1;gap:1px;min-width:0;display:grid}.shell-user-copy strong,.shell-user-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-user-copy strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.shell-user-copy small{color:var(--sidebar-text-muted);font-size:var(--fs-xs)}.shell-user-chevron{color:var(--sidebar-text-muted);transition:transform var(--t-fast);flex:none}.shell-user-button.is-open .shell-user-chevron{transform:rotate(180deg)}.app-shell.nav-collapsed .shell-user-button{justify-content:center}.shell-account-menu{z-index:var(--z-popover);width:264px;max-height:calc(100dvh - 16px);padding:var(--s-2);border:1px solid var(--sidebar-border);border-radius:var(--r-lg);background:var(--sidebar-surface);box-shadow:var(--elev-popover);position:fixed;overflow-y:auto}.shell-account-summary{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3);border-radius:var(--r-md);color:var(--sidebar-accent);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.shell-account-summary:hover{background:var(--sidebar-hover-bg)}.shell-account-summary>span{gap:2px;min-width:0;display:grid}.shell-account-summary strong,.shell-account-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-account-summary strong{font-size:var(--fs-sm)}.shell-account-summary small{color:var(--sidebar-text-muted);font-size:var(--fs-xs)}.shell-account-divider{height:1px;margin:var(--s-2) var(--s-1);background:var(--sidebar-border)}.shell-account-section-label{margin:var(--s-2) var(--s-3) var(--s-1);color:var(--sidebar-text-muted);font-size:.68rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase}.shell-account-action{align-items:center;gap:var(--s-2);width:100%;min-height:38px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--sidebar-text);cursor:pointer;font:inherit;font-size:var(--fs-sm);text-align:left;background:0 0;border:0;display:flex}.shell-account-action>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.shell-account-action:hover{color:var(--sidebar-accent);background:var(--sidebar-hover-bg)}.shell-account-action.danger{margin-top:var(--s-1);border:1px solid color-mix(in srgb, var(--c-danger) 32%, transparent);background:var(--c-danger-soft);color:var(--c-danger-ink);font-weight:var(--fw-semibold)}.shell-account-action.danger:hover{border-color:color-mix(in srgb, var(--c-danger) 58%, transparent);color:var(--c-danger-ink);background:color-mix(in srgb, var(--c-danger) 22%, var(--c-danger-soft))}.shell-content{background:var(--c-bg);flex:1;min-width:0;overflow:hidden}.shell-content:focus{outline:none}.app-route-stage{width:100%;height:100%;min-height:0;animation:shell-route-enter .18s var(--ease-out) both}@keyframes shell-route-enter{0%{opacity:.35}to{opacity:1}}.app-shell.mobile .shell-content{height:calc(100dvh - 56px - max(env(safe-area-inset-top), 0px));overscroll-behavior:contain}.app-shell.mobile .shell-icon-button,.app-shell.mobile .shell-avatar-button{width:var(--touch-target);height:var(--touch-target)}@media (prefers-reduced-motion:reduce){.app-route-stage,.shell-nav-item.active:before{animation:none}.shell-nav-item:hover .shell-nav-icon{transform:none}.shell-sidebar,.shell-nav-item,.shell-nav-group-toggle,.shell-nav-group-chevron,.shell-user-chevron,.shell-skip-link{transition:none}}@media (width<=899px){.shell-brand-row{min-height:68px;padding-inline:var(--s-5)}.shell-nav{padding:var(--s-4)}.shell-nav-item{min-height:48px;padding:var(--s-3) var(--s-4)}.shell-nav-group-label{padding-inline:var(--s-4)}.shell-footer{padding:var(--s-4);padding-bottom:max(env(safe-area-inset-bottom), var(--s-4))}.shell-account-menu{right:var(--s-4)}}.offline-status{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:1400;border:1px solid color-mix(in srgb, var(--c-warning) 45%, var(--c-border));width:min(620px,100vw - 32px);color:var(--c-warning-ink);background:color-mix(in srgb, var(--c-warning-soft) 97%, transparent);box-shadow:var(--elev-toast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;position:fixed;transform:translate(-50%)}.offline-status.has-error{border-color:color-mix(in srgb, var(--c-danger) 45%, var(--c-border));background:color-mix(in srgb, var(--c-danger-soft) 98%, transparent);color:var(--c-danger-ink)}.offline-status-head{align-items:center;gap:10px;min-height:52px;padding:9px 12px;display:flex}.offline-status-head>div{flex:1;min-width:0}.offline-status-head strong,.offline-status-head span{display:block}.offline-status-head strong{font-size:.86rem}.offline-status-head span{color:currentColor;opacity:.75;font-size:.74rem}.offline-status-dot{background:var(--c-warning);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--c-warning) 14%, transparent);border-radius:50%;flex:none}.offline-status-dot.online{background:var(--c-success);box-shadow:0 0 0 4px color-mix(in srgb, var(--c-success) 14%, transparent)}.offline-status-link,.offline-status-sync,.offline-status-discard,.offline-status-confirm button{cursor:pointer;border:0;border-radius:8px;padding:7px 9px;font-weight:700}.offline-status-link{color:inherit;background:0 0}.offline-status-sync{color:var(--c-text-on-primary);background:var(--c-primary)}.offline-status-sync:disabled{opacity:.6;cursor:wait}.offline-status-list{border-top:1px solid color-mix(in srgb, currentColor 16%, transparent);max-height:min(300px,45vh);padding:6px 12px 10px;overflow:auto}.offline-status-item{border-bottom:1px solid color-mix(in srgb, currentColor 12%, transparent);align-items:center;gap:10px;padding:9px 0;display:flex}.offline-status-item>div{flex:1;min-width:0}.offline-status-item strong,.offline-status-item span,.offline-status-item small{display:block}.offline-status-item strong{font-size:.8rem}.offline-status-item span{opacity:.72;font-size:.71rem}.offline-status-item small{color:var(--c-danger-ink);margin-top:3px;font-size:.7rem}.offline-status-discard{color:var(--c-danger-ink);background:var(--c-danger-soft)}.offline-status-confirm{gap:5px;display:flex!important}.offline-status-confirm button:first-child{color:var(--c-text-on-primary);background:var(--c-danger)}.offline-status-confirm button:last-child{color:var(--c-text);background:var(--c-surface-muted)}.offline-status-help{opacity:.7;margin:9px 0 0;font-size:.69rem}@media (width<=640px){.offline-status{bottom:max(8px, env(safe-area-inset-bottom));width:calc(100vw - 16px)}.offline-status-head{flex-wrap:wrap}.offline-status-head>div{min-width:180px}.offline-status-link,.offline-status-sync,.offline-status-discard,.offline-status-confirm button{min-height:44px}}.pwa-manager{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:1500;border:1px solid var(--c-border);width:min(440px,100vw - 32px);color:var(--c-text);background:color-mix(in srgb, var(--c-surface-raised) 96%, transparent);box-shadow:var(--elev-toast);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;align-items:center;gap:12px;padding:13px 68px 13px 16px;display:flex;position:fixed}.pwa-manager--stacked{bottom:calc(max(16px, env(safe-area-inset-bottom)) + var(--pwa-stack-offset,76px))}.pwa-manager>div{flex:1;min-width:0}.pwa-manager strong,.pwa-manager span{display:block}.pwa-manager strong{font-size:.92rem}.pwa-manager span{color:var(--c-text-muted);margin-top:2px;font-size:.78rem;line-height:1.35}.pwa-manager button:not(.pwa-manager-dismiss){color:var(--c-text-on-primary);background:var(--c-primary);cursor:pointer;border:0;border-radius:9px;padding:8px 12px;font-weight:700}.pwa-manager-dismiss{width:36px;height:36px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:1.35rem;display:grid;position:absolute;top:7px;right:9px}@media (width<=640px){.pwa-manager{width:auto;left:16px;right:16px}.pwa-manager button{min-height:44px}.pwa-manager-dismiss{width:44px;top:2px;right:2px}.pwa-manager--stacked{bottom:calc(max(8px, env(safe-area-inset-bottom)) + var(--pwa-stack-offset,116px))}}@media (width<=380px){.pwa-manager span{display:none}}@media (width<=640px) and (height<=700px){.pwa-manager{left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));gap:8px;padding:10px 66px 10px 12px}.pwa-manager span{display:none}.pwa-manager strong{font-size:.82rem}.pwa-manager button:not(.pwa-manager-dismiss){padding:7px 10px}.pwa-manager--stacked{display:none}body:has(.pwa-manager) .lg__card{padding-bottom:92px}:is(body:has(.pwa-manager) .lg__brand,body:has(.pwa-manager) .lg__header){margin-bottom:var(--s-5)}body:has(.pwa-manager) .lg__footer{margin-top:var(--s-4)}}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-BqRLTx4X.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-italic-Bg-PIjcQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-primary-50:#edf5ef;--c-primary-100:#d6e8da;--c-primary-200:#b5d5bd;--c-primary-300:#8dbb9b;--c-primary-400:#619d7d;--c-primary-500:#3e7c60;--c-primary-600:#2e654d;--c-primary-700:#25533f;--c-primary-800:#1e4333;--c-primary-900:#18362a;--c-primary:var(--c-primary-600);--c-primary-hover:var(--c-primary-700);--c-primary-soft:var(--c-primary-50);--c-primary-ring:#2e654d40;--c-neutral-0:#fdfcf9;--c-neutral-25:#f9f8f4;--c-neutral-50:#f4f2ed;--c-neutral-100:#ebe8e1;--c-neutral-150:#dedad1;--c-neutral-200:#cec9bf;--c-neutral-300:#b8b1a6;--c-neutral-400:#766f66;--c-neutral-500:#625d55;--c-neutral-600:#4e4943;--c-neutral-700:#3a3732;--c-neutral-800:#2a2825;--c-neutral-900:#22211e;--c-neutral-950:#191816;--c-accent:#927246;--c-accent-hover:#755a35;--c-accent-soft:#f6f0e5;--c-accent-ink:#614a2a;--c-secondary:#566b74;--c-secondary-soft:#edf2f2;--c-secondary-ink:#40545b;--c-success:#497458;--c-success-soft:#edf5ee;--c-success-ink:#355541;--c-warning:#906526;--c-warning-soft:#faf2e5;--c-warning-ink:#684817;--c-danger:#a34c4c;--c-danger-soft:#faeded;--c-danger-ink:#7c3636;--c-info:var(--c-secondary);--c-info-soft:var(--c-secondary-soft);--c-info-ink:var(--c-secondary-ink);--c-bg:#f4f2ed;--c-surface:var(--c-neutral-0);--c-surface-muted:var(--c-neutral-100);--c-surface-subtle:var(--c-neutral-25);--c-surface-raised:#fefdf9;--c-text:var(--c-neutral-900);--c-text-muted:var(--c-neutral-500);--c-text-subtle:var(--c-neutral-400);--c-text-on-primary:#fdfcf9;--c-border:var(--c-neutral-300);--c-border-strong:#a8a095;--c-border-subtle:var(--c-neutral-200);--c-divider:var(--c-neutral-150);--c-overlay:#1c1b1894;--c-overlay-soft:#1c1b1842;--c-map-gutter:#e7e5dd;--c-map-control-bg:#fdfcf9f5;--c-map-control-text:var(--c-neutral-800);--c-map-control-border:#2a28252e;--c-map-control-shadow:0 2px 8px #1f1e1b24;--c-map-density-gap:#7c3aed;--c-map-detection:#06b6d4;--c-map-health-mask:#0f766e;--c-map-health-optimal:#16a34a;--c-map-health-warning:#eab308;--c-map-health-critical:#dc2626;--focus-ring:0 0 0 3px var(--c-primary-ring);--focus-ring-danger:0 0 0 3px #a34c4c3d;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:8px;--r-xl:10px;--r-2xl:14px;--r-pill:9999px;--s-0:0;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--font-sans:"Source Sans 3 Variable", "Source Sans 3", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:13px;--fs-sm:14px;--fs-base:16px;--fs-md:17px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--fs-4xl:32px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--ls-tight:-.03em;--ls-snug:-.02em;--ls-normal:-.005em;--ls-wide:.02em;--ls-caps:.08em;--shadow-none:0 0 transparent;--shadow-xs:0 1px 2px #1f1e1b0d;--shadow-sm:0 1px 3px #1f1e1b14;--shadow-md:0 6px 16px -4px #1f1e1b21, 0 2px 5px -2px #1f1e1b12;--shadow-lg:0 16px 32px -8px #1f1e1b2e, 0 6px 14px -6px #1f1e1b1c;--shadow-xl:0 28px 56px -14px #1f1e1b3b, 0 10px 24px -10px #1f1e1b26;--shadow-inset:inset 0 1px 2px #1f1e1b0f;--elev-card:var(--shadow-none);--elev-card-hover:var(--shadow-xs);--elev-popover:var(--shadow-md);--elev-modal:var(--shadow-lg);--elev-dropdown:var(--shadow-md);--elev-toast:var(--shadow-md);--glow-primary:var(--shadow-xs);--glow-primary-lg:var(--shadow-sm);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1);--t-fast:.12s var(--ease-in-out);--t-base:.18s var(--ease-in-out);--t-slow:.28s var(--ease-spring);--z-base:1;--z-sticky:20;--z-nav:40;--z-backdrop:60;--z-drawer:70;--z-modal:80;--z-popover:90;--z-toast:100;--z-tooltip:110;--blur-sm:saturate(120%) blur(4px);--blur-md:saturate(130%) blur(8px);--blur-lg:saturate(140%) blur(14px);--sidebar-bg:#292a26;--sidebar-surface:#34352f;--sidebar-text:#deded6;--sidebar-text-muted:#b5b6ad;--sidebar-accent:#faf9f4;--sidebar-hover-bg:#faf9f414;--sidebar-active-bg:#8dbb9b3d;--sidebar-border:#faf9f41f}:root[data-theme=dark]{--c-primary:var(--c-primary-400);--c-primary-hover:var(--c-primary-300);--c-primary-soft:#252a28;--c-primary-ring:#8dbb9b5c;--c-accent:#c9a977;--c-accent-hover:#ddc093;--c-accent-soft:#3b3021;--c-accent-ink:#f0dfc1;--c-secondary:#9bb5bd;--c-secondary-soft:#26363a;--c-secondary-ink:#d5e1e2;--c-success:#88ba97;--c-success-soft:#223b2a;--c-success-ink:#cbe7d0;--c-warning:#d9af6d;--c-warning-soft:#41331f;--c-warning-ink:#f4dbb4;--c-danger:#e09292;--c-danger-soft:#442626;--c-danger-ink:#f5c8c8;--c-info:var(--c-secondary);--c-info-soft:var(--c-secondary-soft);--c-info-ink:var(--c-secondary-ink);--c-bg:#1a1b1d;--c-surface:#202124;--c-surface-muted:#2a2b2e;--c-surface-subtle:#1c1d20;--c-surface-raised:#303135;--c-text:#e7e8ea;--c-text-muted:#c0c2c5;--c-text-subtle:#9b9da2;--c-text-on-primary:#13251b;--c-border:#4b4d52;--c-border-strong:#666870;--c-border-subtle:#34363a;--c-divider:#3e4045;--c-overlay:#111214b8;--c-overlay-soft:#1112147a;--c-map-gutter:#222326;--c-map-control-bg:#202124f5;--c-map-control-text:#e7e8ea;--c-map-control-border:#e7e8ea38;--c-map-control-shadow:0 3px 10px #1112146b;--shadow-xs:0 1px 2px #11121447;--shadow-sm:0 2px 5px #1112144d;--shadow-md:0 10px 24px -8px #11121494, 0 3px 8px -3px #11121457;--shadow-lg:0 20px 40px -12px #111214b3, 0 8px 16px -7px #1112146b;--shadow-xl:0 32px 64px -18px #111214c7, 0 12px 28px -12px #11121480;--sidebar-bg:#141519;--sidebar-surface:#202126;--sidebar-text:#d0d2d5;--sidebar-text-muted:#999da4;--sidebar-accent:#f0f1f2;--sidebar-hover-bg:#f0f1f212;--sidebar-active-bg:#8dbb9b21;--sidebar-border:#f0f1f21c}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-feature-settings:"cv11", "ss01";font-variant-numeric:tabular-nums;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-size:16px}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--c-bg);min-height:100vh;color:var(--c-text)}#root{min-height:100dvh;overflow-x:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--c-text-subtle)}input,select,textarea{font-family:inherit;font-size:inherit}body,button,input,select,textarea{font-synthesis:none}p{color:var(--c-text-muted)}.loading-state{justify-content:center;align-items:center;gap:var(--s-4);min-height:100vh;font-size:var(--fs-base);color:var(--c-text-muted);flex-direction:column;display:flex}.loading-state-spinner{border:3px solid var(--c-border-subtle);border-top-color:var(--c-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite global-spin}@keyframes global-spin{to{transform:rotate(360deg)}}.app-crash-screen{min-height:100vh;padding:var(--s-7);text-align:center;color:var(--c-text);flex-direction:column;justify-content:center;align-items:center;display:flex}.app-crash-screen--route{background:radial-gradient(circle at 50% 38%, var(--c-primary-soft), transparent 280px), var(--c-bg);min-height:100%}.app-crash-icon{background:var(--c-danger-soft);width:56px;height:56px;color:var(--c-danger);margin-bottom:var(--s-5);border-radius:50%;justify-content:center;align-items:center;display:flex}.app-crash-eyebrow{font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;margin:0 0 var(--s-2)!important;color:var(--c-danger)!important;font-size:var(--fs-xs)!important}.app-crash-screen h2{max-width:520px;font-size:var(--fs-2xl);margin:0 0 var(--s-2)}.app-crash-screen p{color:var(--c-text-muted);font-size:var(--fs-base);max-width:560px;margin:0}.app-crash-error{margin:var(--s-4) auto 0;text-align:left;max-width:700px;font-size:var(--fs-sm);color:var(--c-danger-ink);background:var(--c-danger-soft);padding:var(--s-3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--c-danger) 18%, transparent);overflow:auto}.app-crash-details{margin:var(--s-2) auto 0;text-align:left;max-width:700px}.app-crash-details summary{cursor:pointer;font-size:var(--fs-sm);color:var(--c-text-muted)}.app-crash-details pre{font-size:var(--fs-xs);color:var(--c-text-muted);background:var(--c-surface-subtle);padding:var(--s-2);border-radius:var(--r-md);max-height:200px;overflow:auto}.app-crash-btn{padding:var(--s-2) var(--s-6);cursor:pointer;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-base);font-weight:var(--fw-medium);transition:background var(--t-fast), border-color var(--t-fast);margin-top:0}.app-crash-actions{justify-content:center;gap:var(--s-3);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.app-crash-btn--primary{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-text-on-primary)}.app-crash-btn:hover{background:var(--c-surface-subtle);border-color:var(--c-border-strong)}.app-crash-btn--primary:hover{border-color:var(--c-primary-hover);background:var(--c-primary-hover)}html .maplibregl-ctrl-group{border:1px solid var(--c-map-control-border);background:var(--c-map-control-bg);box-shadow:var(--c-map-control-shadow);overflow:hidden}html .maplibregl-ctrl-group button{color:var(--c-map-control-text);background-color:#0000}html .maplibregl-ctrl-group button+button{border-top-color:var(--c-map-control-border)}html .maplibregl-ctrl-group button:not(:disabled):hover{background-color:var(--c-surface-muted)}html .maplibregl-ctrl-group button:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}html[data-theme=dark] .maplibregl-ctrl-icon{filter:invert()brightness(1.5)}html .maplibregl-ctrl-attrib{background:var(--c-map-control-bg);color:var(--c-map-control-text)}html .maplibregl-ctrl-attrib a{color:var(--c-primary)}.app-forbidden-screen{min-height:60vh;padding:var(--s-7);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.app-forbidden-icon{background:var(--c-warning-soft);width:56px;height:56px;color:var(--c-warning);margin-bottom:var(--s-5);border-radius:50%;justify-content:center;align-items:center;display:flex}.app-forbidden-screen h2{font-size:var(--fs-xl);margin:0 0 var(--s-2);color:var(--c-text)}.app-forbidden-screen p{color:var(--c-text-muted);font-size:var(--fs-base);max-width:360px;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-feature-settings:"cv02", "cv03", "cv04", "cv11", "ss01";text-rendering:optimizelegibility}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:450;line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-xs{font-size:var(--fs-xs);line-height:var(--lh-snug)}.text-sm{font-size:var(--fs-sm);line-height:var(--lh-snug)}.text-muted{color:var(--c-text-muted)}.text-caps{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-text-subtle);line-height:var(--lh-snug)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--c-text);line-height:var(--lh-tight);letter-spacing:var(--ls-snug);margin:0}h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}h2{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}h3{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug)}h4{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}h5{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}h6{font-size:var(--fs-md);font-weight:var(--fw-semibold)}:where(button,a,input,select,textarea,[role=button],[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-color:var(--c-primary);outline:none}.btn{--btn-bg:var(--c-surface);--btn-fg:var(--c-text);--btn-border:var(--c-border);--btn-bg-hover:var(--c-surface-subtle);--btn-shadow:var(--shadow-xs);--btn-shadow-hover:var(--shadow-xs);--btn-height:36px;--btn-padding:0 var(--s-5);--btn-font:var(--fs-base);--btn-radius:var(--r-md);justify-content:center;align-items:center;gap:var(--s-2);height:var(--btn-height);padding:var(--btn-padding);background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-border);border-radius:var(--btn-radius);font-family:inherit;font-size:var(--btn-font);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal);box-shadow:var(--btn-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast), color var(--t-fast), transform var(--t-fast);line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-bg-hover);box-shadow:var(--btn-shadow-hover)}.btn:active:not(:disabled){box-shadow:var(--shadow-none);transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--shadow-none)}.btn-sm{--btn-height:32px;--btn-padding:0 var(--s-4);--btn-font:var(--fs-sm);--btn-radius:var(--r-md)}.btn-lg{--btn-height:44px;--btn-padding:0 var(--s-6);--btn-font:var(--fs-md);--btn-radius:var(--r-lg)}.btn-primary{--btn-bg:var(--c-primary);--btn-fg:var(--c-text-on-primary);--btn-border:transparent;--btn-bg-hover:var(--c-primary-hover);--btn-shadow:var(--glow-primary);--btn-shadow-hover:var(--glow-primary-lg)}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){transform:translateY(-1px)}}.btn-secondary{--btn-bg:var(--c-surface);--btn-fg:var(--c-text);--btn-border:var(--c-border);--btn-bg-hover:var(--c-surface-subtle)}.btn-ghost{--btn-bg:transparent;--btn-border:transparent;--btn-shadow:none;--btn-bg-hover:var(--c-surface-muted);--btn-shadow-hover:none}.btn-ghost:hover:not(:disabled){transform:none}.btn-danger{--btn-bg:var(--c-danger);--btn-fg:var(--c-text-on-primary);--btn-border:transparent;--btn-bg-hover:color-mix(in srgb, var(--c-danger) 86%, var(--c-text));--btn-shadow:var(--shadow-xs);--btn-shadow-hover:var(--shadow-xs)}.btn-danger-soft{--btn-bg:transparent;--btn-fg:var(--c-text-muted);--btn-border:transparent;--btn-bg-hover:var(--c-danger-soft);--btn-shadow:var(--shadow-none);--btn-shadow-hover:var(--shadow-none)}.btn-danger-soft:hover:not(:disabled){color:var(--c-danger)}.btn-danger-soft:focus-visible{box-shadow:var(--focus-ring-danger);border-color:var(--c-danger)}.btn-icon{--btn-padding:0;width:var(--btn-height);padding:0}.btn-block{width:100%}.input,input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=submit]):not([type=button])),select,textarea{width:100%;height:38px;padding:0 var(--s-4);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-base);transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);line-height:1}textarea{height:auto;min-height:96px;padding:var(--s-3) var(--s-4);line-height:var(--lh-normal);resize:vertical}select{padding-right:var(--s-4);appearance:auto}.input:hover:not(:disabled),input:hover:not(:disabled):not([type=checkbox]):not([type=radio]),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--c-border-strong)}.input:focus,.input:focus-visible,input:focus-visible:not([type=checkbox]):not([type=radio]),select:focus-visible,textarea:focus-visible{border-color:var(--c-primary);box-shadow:var(--focus-ring);outline:none}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--c-text-subtle)}.input:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--c-surface-muted);color:var(--c-text-subtle);cursor:not-allowed}.input-sm{height:34px;padding:0 var(--s-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.input-lg{height:44px;font-size:var(--fs-md);border-radius:var(--r-lg)}.label{margin-bottom:var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--c-text);letter-spacing:var(--ls-normal);display:block}.helper-text{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:var(--s-2);line-height:var(--lh-snug)}.field-error{font-size:var(--fs-sm);color:var(--c-danger);margin-top:var(--s-2);line-height:var(--lh-snug)}.input-group{align-items:center;display:flex;position:relative}.input-group>.input,.input-group>input{padding-left:var(--s-9)}.input-group-icon{left:var(--s-4);color:var(--c-text-subtle);pointer-events:none;transition:color var(--t-base);justify-content:center;align-items:center;display:flex;position:absolute}.input-group:focus-within .input-group-icon{color:var(--c-text-muted)}.card{background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);box-shadow:var(--elev-card);transition:box-shadow var(--t-fast), border-color var(--t-fast);overflow:hidden}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--c-border);box-shadow:var(--elev-card-hover)}.card-interactive:active{box-shadow:var(--elev-card)}.card-flat{box-shadow:var(--shadow-none)}.card-header{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-divider);justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--c-text);letter-spacing:var(--ls-snug);margin:0}.card-body{padding:var(--s-5)}.badge{align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--c-surface-muted);height:22px;color:var(--c-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal);white-space:nowrap;display:inline-flex}.badge-primary{background:var(--c-primary-soft);color:var(--c-primary)}.badge-success{background:var(--c-success-soft);color:var(--c-success-ink)}.badge-warning{background:var(--c-warning-soft);color:var(--c-warning-ink)}.badge-danger{background:var(--c-danger-soft);color:var(--c-danger-ink)}.badge-info{background:var(--c-info-soft);color:var(--c-info-ink)}.badge-neutral{background:var(--c-surface-muted);color:var(--c-text-muted)}.badge-dot:before{content:"";border-radius:var(--r-pill);opacity:.7;background:currentColor;width:6px;height:6px}.divider-vertical{background:var(--c-divider);width:1px;height:auto;margin:0 var(--s-3);align-self:stretch}.tabs{gap:var(--s-2);border-bottom:1px solid var(--c-divider);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--s-3) var(--s-4) var(--s-4);color:var(--c-text-muted);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal);cursor:pointer;transition:color var(--t-base);white-space:nowrap;background:0 0;border:none;position:relative}.tab:hover{color:var(--c-text)}.tab:after{content:"";left:var(--s-4);right:var(--s-4);background:var(--c-primary);border-radius:var(--r-pill);opacity:0;height:2px;transition:opacity var(--t-base), transform var(--t-base);position:absolute;bottom:-1px;transform:scaleX(.6)}.tab.active{color:var(--c-text)}.tab.active:after{opacity:1;transform:scaleX(1)}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-base)}.table th{text-align:left;padding:var(--s-3) var(--s-4);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-text-subtle);background:var(--c-surface-subtle);border-bottom:1px solid var(--c-border-subtle)}.table th:first-child{border-top-left-radius:var(--r-xl)}.table th:last-child{border-top-right-radius:var(--r-xl)}.table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-divider);color:var(--c-text);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--t-fast)}.table-interactive tbody tr:hover{background:var(--c-surface-subtle)}.table-interactive tbody tr{cursor:pointer}.data-shell{border:1px solid var(--c-border-subtle);border-radius:var(--r-xl);background:var(--c-surface);min-height:240px;box-shadow:var(--elev-card);scrollbar-gutter:stable;scrollbar-color:var(--c-text-muted) var(--c-surface-subtle);flex:1;overflow:auto}.data-shell::-webkit-scrollbar{width:14px;height:14px}.data-shell::-webkit-scrollbar-track{background:var(--c-surface-subtle);border-top:1px solid var(--c-border-subtle);border-bottom-left-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl)}.data-shell::-webkit-scrollbar-thumb{background:var(--c-text-subtle);border:2px solid var(--c-surface-subtle);border-radius:var(--r-pill);min-width:90px;min-height:90px;transition:background var(--t-fast)}.data-shell::-webkit-scrollbar-thumb:hover{background:var(--c-text-muted)}.data-shell::-webkit-scrollbar-thumb:active{background:var(--c-text)}.table-sticky-head thead th{z-index:2;position:sticky;top:0}kbd{min-width:20px;height:20px;padding:0 var(--s-1);background:var(--c-surface-muted);border:1px solid var(--c-border);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-muted);border-bottom-width:2px;justify-content:center;align-items:center;display:inline-flex}a{color:var(--c-primary);transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--c-primary-hover)}.surface-blur{background:color-mix(in srgb, var(--c-surface) 84%, transparent);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--c-border-subtle);box-shadow:var(--elev-card)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:var(--r-pill);border:2px solid var(--c-bg);transition:background var(--t-base)}::-webkit-scrollbar-thumb:hover{background:var(--c-border-strong)}::-webkit-scrollbar-thumb:active{background:var(--c-text-subtle)}::selection{background:var(--c-primary-soft);color:var(--c-primary)}.row-between{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.truncate{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ds-scale-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.anim-fade-in{animation:ds-fade-in var(--t-base)}.anim-slide-up{animation:ds-slide-up var(--t-slow)}@media (prefers-reduced-motion:reduce){.anim-fade-in,.anim-slide-up{animation:none!important}*{transition-duration:.01ms!important}}:root{--touch-target:44px;--page-pad-x:32px;--page-pad-y:24px;--page-gap:16px}@media (width<=1023px){:root{--page-pad-x:20px;--page-pad-y:20px}}@media (width<=767px){:root{--page-pad-x:14px;--page-pad-y:14px;--page-gap:12px}}@media (width<=479px){:root{--page-pad-x:12px;--page-pad-y:12px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden}@media (pointer:coarse){body{overscroll-behavior:none}}img,svg,video,canvas{max-width:100%;height:auto}@media (width<=767px){input:not([type=checkbox]):not([type=radio]),select,textarea,.input{font-size:16px!important}input.input,select.input,textarea.input{min-height:var(--touch-target);scroll-margin-block:22dvh 128px}.modal-body{scroll-padding-block:20dvh calc(112px + env(safe-area-inset-bottom,0px))}button,.btn,[role=button],summary{touch-action:manipulation}}@media (hover:none) and (pointer:coarse){button,.btn,[role=button],a.btn{min-height:var(--touch-target)}.btn-sm{min-height:36px}}.form-grid{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=767px){.form-grid{grid-template-columns:1fr}}.hide-on-mobile{display:initial}.show-on-mobile{display:none!important}@media (width<=767px){.hide-on-mobile{display:none!important}.show-on-mobile{display:initial!important}.show-on-mobile.flex{display:flex!important}.show-on-mobile.block{display:block!important}}.safe-pad-bottom{padding-bottom:max(env(safe-area-inset-bottom), 0px)}.m-scroll-x{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=639px){.modal-overlay.modal-as-sheet{align-items:flex-end}.modal-as-sheet.modal-as-sheet>.modal-content,.modal-as-sheet.modal-as-sheet>[class*=modal]{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:100%;max-height:92vh;margin:0}}@media (width<=767px){h1{font-size:1.375rem}h2{font-size:1.125rem}h3{font-size:1rem}}@media (width<=479px){h1{font-size:1.25rem}}:root{--m-radius-sm:10px;--m-radius:14px;--m-radius-xl:24px;--m-shadow-card:var(--shadow-sm);--m-shadow-sheet:var(--elev-modal);--m-shadow-float:var(--shadow-lg);--m-pad:16px;--m-section:12px}.m-section-label{font-size:var(--m-section);text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);margin:0 0 10px;padding:0 4px;font-weight:700}.m-list{background:var(--c-surface);border-radius:var(--m-radius);box-shadow:var(--m-shadow-card);border:1px solid var(--c-border-subtle);overflow:hidden}.m-list-item{align-items:center;gap:var(--s-3);padding:14px var(--m-pad);border-bottom:1px solid var(--c-border-subtle);cursor:pointer;transition:background var(--t-fast);background:var(--c-surface);text-align:left;border-top:none;border-left:none;border-right:none;width:100%;display:flex}.m-list-item:last-child{border-bottom:none}.m-list-item:active{background:var(--c-surface-subtle)}.m-list-item-icon{border-radius:var(--r-lg);background:var(--c-primary-soft);width:40px;height:40px;color:var(--c-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.m-list-item-body{flex:1;min-width:0}.m-list-item-title{font-size:var(--fs-md);color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.m-list-item-sub{font-size:var(--fs-sm);color:var(--c-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.m-list-item-chevron{color:var(--c-text-subtle);flex-shrink:0}.m-fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--c-primary);width:56px;height:56px;color:var(--c-text-on-primary);box-shadow:var(--m-shadow-float);cursor:pointer;z-index:30;transition:transform var(--t-fast), box-shadow var(--t-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.m-fab:active{box-shadow:var(--shadow-md);transform:scale(.95)}.m-fab.extended{width:auto;padding:0 var(--s-5);gap:var(--s-2);font-size:var(--fs-base);border-radius:28px;font-weight:600}.m-stat{background:var(--c-surface);border-radius:var(--m-radius);box-shadow:var(--m-shadow-card);border:1px solid var(--c-border-subtle);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.m-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);font-size:11.5px;font-weight:600}.m-stat-value{font-size:var(--fs-2xl);letter-spacing:var(--ls-snug);color:var(--c-text);font-weight:800;line-height:1.1}.m-empty{text-align:center;padding:var(--s-8) var(--s-6);align-items:center;gap:var(--s-3);flex-direction:column;display:flex}.m-empty-icon{background:var(--c-primary-soft);width:72px;height:72px;color:var(--c-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.m-empty-title{color:var(--c-text);margin:0;font-size:17px;font-weight:700}.m-empty-text{font-size:var(--fs-base);color:var(--c-text-muted);max-width:320px;margin:0;line-height:1.5}@media (width<=767px){.app-shell.mobile .card,.app-shell.mobile .dataset-card{border-radius:var(--m-radius);box-shadow:var(--m-shadow-card);border-color:var(--c-border-subtle)}.app-shell.mobile .input,.app-shell.mobile input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])),.app-shell.mobile select,.app-shell.mobile textarea{border-radius:var(--m-radius-sm);min-height:46px;padding:12px 14px}.app-shell.mobile textarea{min-height:auto}.app-shell.mobile .btn{border-radius:var(--m-radius-sm);font-size:var(--fs-md);padding:12px 18px;font-weight:600}.app-shell.mobile .btn-sm{border-radius:var(--r-lg);padding:8px 12px;font-size:13px}.app-shell.mobile .btn.btn-icon{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);min-height:var(--touch-target);border-radius:var(--r-lg);padding:0}.app-shell.mobile .btn.btn-icon svg{flex:none;width:18px;height:18px}.app-shell.mobile .search-input>.input{padding-left:44px;padding-right:44px}.app-shell.mobile .m-fab.extended{right:calc(var(--s-4) + 52px + var(--s-3));white-space:nowrap;max-width:calc(100vw - 96px);height:52px;overflow:hidden}:is(body:has(.offline-status) .gpu-queue-fab,body:has(.offline-status) .m-fab){bottom:calc(84px + env(safe-area-inset-bottom,0px))}:is(body:has(.offline-status-list) .gpu-queue-fab,body:has(.offline-status-list) .m-fab){display:none}.modal-as-sheet>*,.modal-as-sheet [class*=modal-content],.modal-as-sheet [class*=-modal]{box-shadow:var(--m-shadow-sheet);border-radius:var(--m-radius-xl) var(--m-radius-xl) 0 0}.modal-as-sheet [class*=modal-content]:before,.modal-as-sheet>div:before{content:"";border-radius:var(--r-pill);background:var(--c-border-strong);flex-shrink:0;width:36px;height:4px;margin:8px auto 0;display:block}.modal-overlay,[class*=modal-overlay]{background:var(--c-overlay-soft);-webkit-backdrop-filter:blur(4px)}::-webkit-scrollbar{width:0;height:0}.app-shell.mobile td,.app-shell.mobile th{padding-top:10px;padding-bottom:10px}hr{background:var(--c-border-subtle);border:none;height:1px;margin:16px 0}}@media (width<=479px){.m-fab{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.app-shell.mobile .m-fab.extended{right:80px}}@media (width<=767px){@keyframes m-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.m-animate-in{animation:.22s cubic-bezier(.4,0,.2,1) m-slide-up}}@media (prefers-reduced-motion:reduce){.m-animate-in,.m-fab,.m-list-item{transition:none!important;animation:none!important}}
