.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:var(--s-8)}.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-neutral-100);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-700)}.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-neutral-100);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-neutral-150);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{color:var(--c-text-on-primary);background:#fff3}.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-neutral-100);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-neutral-900);color:var(--c-neutral-0);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-neutral-100) 0%, var(--c-neutral-150) 50%, var(--c-neutral-100) 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{-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);background:#09161280;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-neutral-100);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-neutral-200);border-radius:var(--r-pill);border:none}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--c-neutral-300)}.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-neutral-100)}.modal-close:hover,.modal-close:active{background:var(--c-neutral-200)}.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;padding-bottom:env(safe-area-inset-bottom,0);animation:modal-sheet-up var(--t-slow);border-bottom:none;border-left:none;border-right:none;box-shadow:0 -8px 32px #0e1b172e}.modal-as-sheet .modal-content:before{content:"";background:var(--c-neutral-300);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-neutral-150);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}}.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-neutral-0);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-neutral-100)}.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-backdrop{z-index:var(--z-backdrop);cursor:default;background:#09161285;border:0;position:fixed;inset:0}.shell-sidebar{width:264px;min-width:264px;color:var(--c-neutral-100);background:linear-gradient(180deg, var(--sidebar-bg) 0%, color-mix(in srgb, var(--sidebar-bg) 90%, #000) 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) var(--s-4);border-bottom:1px solid var(--sidebar-border);align-items:center;display:flex}.shell-brand{min-width:0;color:var(--c-neutral-0);text-decoration:none;display:inline-flex}.shell-collapse-button{color:var(--c-neutral-400);margin-left:auto}.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-collapse-button{width:32px;height:28px;color:var(--c-neutral-400);margin:0}.shell-close-button{color:var(--c-neutral-300);margin-left:auto}.shell-nav{min-height:0;padding:var(--s-4) var(--s-3);overscroll-behavior:contain;scrollbar-color:#ffffff29 transparent;flex:1;overflow-y:auto}.shell-nav::-webkit-scrollbar{width:8px}.shell-nav::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:#ffffff29 padding-box 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(--c-neutral-500);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(--c-neutral-0);background:#ffffff09}.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(--c-neutral-500);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(--c-neutral-0);background:var(--sidebar-hover-bg)}.shell-nav-item.active{color:var(--c-neutral-0);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(--c-neutral-400);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(--c-neutral-400);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{color:var(--c-neutral-100);background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff1a}.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(--c-neutral-100);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(--c-neutral-400);font-size:var(--fs-xs)}.shell-user-chevron{color:var(--c-neutral-500);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{right:var(--s-3);bottom:calc(100% + var(--s-2));width:248px;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:absolute}.shell-account-summary{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3);border-radius:var(--r-md);color:var(--c-neutral-100);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(--c-neutral-400);font-size:var(--fs-xs)}.shell-account-divider{height:1px;margin:var(--s-2) var(--s-1);background:var(--sidebar-border)}.shell-account-action{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:block}.shell-account-action:hover{color:var(--c-neutral-0);background:var(--sidebar-hover-bg)}.shell-account-action.danger:hover{color:#fca5a5;background:#ef44441f}.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)}}.backend-status-toast{top:calc(var(--s-4) + env(safe-area-inset-top,0px));z-index:var(--z-toast);align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-2) var(--s-4);max-width:calc(100vw - var(--s-6));background:color-mix(in srgb, var(--c-warning-soft) 92%, transparent);-webkit-backdrop-filter:var(--blur-md);border:1px solid color-mix(in srgb, var(--c-warning) 22%, transparent);border-radius:var(--r-pill);color:var(--c-warning-ink);box-shadow:var(--elev-toast);animation:backend-toast-in var(--t-slow);display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes backend-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.backend-status-toast{animation:none!important}}.backend-status-toast-icon{color:var(--c-warning);flex-shrink:0}.backend-status-toast-text{align-items:baseline;gap:var(--s-2);font-size:var(--fs-sm);line-height:var(--lh-snug);min-width:0;display:inline-flex}.backend-status-toast-text strong{color:var(--c-warning-ink);font-weight:var(--fw-bold)}.backend-status-toast-text span{color:var(--c-warning);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.backend-status-toast-close{color:var(--c-warning-ink);flex-shrink:0}.backend-status-toast-close:hover:not(:disabled){background:color-mix(in srgb, var(--c-warning) 15%, transparent);color:var(--c-accent-ink)}@media (width<=479px){.backend-status-toast{padding:6px var(--s-2) 6px var(--s-3)}.backend-status-toast-text{font-size:var(--fs-xs);gap:var(--s-1)}}@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:#edf8f4;--c-primary-100:#d6efe6;--c-primary-200:#addfce;--c-primary-300:#79c9ae;--c-primary-400:#45ad8d;--c-primary-500:#248c70;--c-primary-600:#176f59;--c-primary-700:#135a49;--c-primary-800:#114a3d;--c-primary-900:#0f3d33;--c-primary:var(--c-primary-600);--c-primary-hover:var(--c-primary-700);--c-primary-soft:var(--c-primary-50);--c-primary-ring:#176f5938;--c-neutral-0:#fff;--c-neutral-25:#fdfcf8;--c-neutral-50:#f7f5ef;--c-neutral-100:#f0ede5;--c-neutral-150:#e8e4da;--c-neutral-200:#ded9ce;--c-neutral-300:#c9c2b6;--c-neutral-400:#8e9188;--c-neutral-500:#676c64;--c-neutral-600:#4f554e;--c-neutral-700:#3a403b;--c-neutral-800:#29302c;--c-neutral-900:#1b2420;--c-neutral-950:#0e1b17;--c-accent:#b87432;--c-accent-hover:#965b24;--c-accent-soft:#fbf1e4;--c-accent-ink:#76451f;--c-secondary:#376f78;--c-secondary-soft:#edf6f6;--c-secondary-ink:#285760;--c-success:#3b7d4d;--c-success-soft:#eef7ef;--c-success-ink:#275c37;--c-warning:#b46b28;--c-warning-soft:#fcf3e7;--c-warning-ink:#7c461b;--c-danger:#bd4a4a;--c-danger-soft:#fbefed;--c-danger-ink:#913535;--c-info:var(--c-secondary);--c-info-soft:var(--c-secondary-soft);--c-info-ink:var(--c-secondary-ink);--c-bg:#f5f3ed;--c-surface:#fffefa;--c-surface-muted:var(--c-neutral-100);--c-surface-subtle:var(--c-neutral-25);--c-surface-raised:#fff;--c-text:var(--c-neutral-900);--c-text-muted:var(--c-neutral-500);--c-text-subtle:var(--c-neutral-400);--c-text-on-primary:#fff;--c-border:var(--c-neutral-300);--c-border-strong:#aaa397;--c-border-subtle:var(--c-neutral-200);--c-divider:var(--c-neutral-150);--focus-ring:0 0 0 3px var(--c-primary-ring);--focus-ring-danger:0 0 0 3px #bd4a4a33;--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 #0000;--shadow-xs:0 1px 2px #0e1b170d;--shadow-sm:0 1px 3px #0e1b1714;--shadow-md:0 6px 16px -4px #0e1b1721, 0 2px 5px -2px #0e1b1712;--shadow-lg:0 16px 32px -8px #0e1b172e, 0 6px 14px -6px #0e1b171c;--shadow-xl:0 28px 56px -14px #0e1b173b, 0 10px 24px -10px #0e1b1726;--shadow-inset:inset 0 1px 2px #1018280f;--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:#10231e;--sidebar-surface:#17312a;--sidebar-text:#a4b2ab;--sidebar-accent:#d7a65e;--sidebar-hover-bg:#79c9ae17;--sidebar-active-bg:#45ad8d2e;--sidebar-border:#d6efe614}*{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;font-size:16px}#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-neutral-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-neutral-300);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--c-neutral-400)}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-neutral-200);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-50), 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-700);background:var(--c-primary-700);color:var(--c-neutral-0)}.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-800);background:var(--c-primary-800)}.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{font-feature-settings:"cv02", "cv03", "cv04", "cv11", "ss01";text-rendering:optimizelegibility}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-neutral-50);--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-neutral-50)}.btn-ghost{--btn-bg:transparent;--btn-border:transparent;--btn-shadow:none;--btn-bg-hover:var(--c-neutral-100);--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-neutral-950));--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]):not(.custom-input)),select:where(:not(.custom-input)),textarea:where(:not(.custom-input)){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:where(:not(.custom-input)){height:auto;min-height:96px;padding:var(--s-3) var(--s-4);line-height:var(--lh-normal);resize:vertical}select:where(:not(.custom-input)){padding-right:var(--s-8);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='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right var(--s-4) center;appearance:none}.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-neutral-50);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-neutral-100);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-700)}.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-neutral-100);color:var(--c-neutral-700)}.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-neutral-500) 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-neutral-400);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-neutral-600)}.data-shell::-webkit-scrollbar-thumb:active{background:var(--c-neutral-800)}.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-neutral-100);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-neutral-200);border-radius:var(--r-pill);border:2px solid var(--c-bg);transition:background var(--t-base)}::-webkit-scrollbar-thumb:hover{background:var(--c-neutral-300)}::-webkit-scrollbar-thumb:active{background:var(--c-neutral-400)}::selection{background:var(--c-primary-100);color:var(--c-primary-800)}.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}}@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}}.actions-row{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}@media (width<=479px){.actions-row{flex-direction:column-reverse;align-items:stretch}.actions-row>.btn,.actions-row>button{width:100%}}.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{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.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:0 1px 2px #0e1b170a, 0 4px 12px #0e1b170f;--m-shadow-sheet:0 -4px 16px #0e1b1714;--m-shadow-float:0 8px 24px #0e1b172e;--m-pad:16px;--m-section:12px}.m-section-label{font-size:var(--m-section);text-transform:uppercase;letter-spacing:.06em;color:var(--c-neutral-500);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 #0e1b170a;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-neutral-50)}.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-neutral-500);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.m-list-item-chevron{color:var(--c-neutral-400);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{transform:scale(.95);box-shadow:0 4px 12px #0e1b1738}.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 #0e1b170a;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-neutral-500);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-neutral-500);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:#0e1b170a}.app-shell.mobile .input,.app-shell.mobile input: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}.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-neutral-300);flex-shrink:0;width:36px;height:4px;margin:8px auto 0;display:block}.modal-overlay,[class*=modal-overlay]{-webkit-backdrop-filter:blur(4px);background:#09161270}::-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))}}@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}}
