:root{--surface:#fff;--surface-page:#f7f8fa;--surface-muted:#f6f7f9;--surface-sunken:#eef0f4;--surface-hover:#f1f3f6;--border:#e4e7ec;--border-strong:#cbd2dc;--border-subtle:#eef0f4;--text:#101828;--text-muted:#525866;--text-subtle:#5d6676;--text-inverse:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-active:#1a43bf;--primary-text:#fff;--primary-soft:#eaf0ff;--primary-soft-hover:#dde7ff;--primary-ink:#1b4bc9;--success:#0f7b52;--success-soft:#e3f3ec;--success-ink:#0b6042;--warning:#b45309;--warning-soft:#fdf0dd;--warning-ink:#8a3d06;--danger:#b42318;--danger-soft:#fdeceb;--danger-ink:#97200f;--danger-hover:#991d12;--info:var(--primary);--info-soft:var(--primary-soft);--info-ink:var(--primary-ink);--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--text-3xl:32px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.5;--tracking-tight:-.014em;--tracking-tighter:-.02em;--tracking-wide:.05em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-lg:0 12px 32px #10182829;--motion-fast:.12s;--motion:.18s;--motion-ease:cubic-bezier(.2, 0, .2, 1);--control-height:36px;--control-height-sm:30px;--control-height-lg:44px;--touch-target:44px;--focus-ring:2px solid var(--primary);--focus-offset:2px}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion:0s}}
*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text);margin:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}h4{font-size:var(--text-sm)}p{margin:0}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:var(--text-xs);line-height:var(--leading-snug)}.text-sm{font-size:var(--text-sm)}.strong{font-weight:var(--weight-semibold)}.section-title{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.figure{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.numeric{font-variant-numeric:tabular-nums}code,.breakable{overflow-wrap:anywhere}code{font-family:var(--font-mono);font-size:.92em}:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);font-weight:var(--weight-medium);color:var(--text);transition:top var(--motion) var(--motion-ease);text-decoration:none;position:absolute;top:-100px}.skip-link:focus-visible{top:var(--space-3)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-1{gap:var(--space-1)}.stack-2{gap:var(--space-2)}.stack-3{gap:var(--space-3)}.stack-4{gap:var(--space-4)}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row-end{align-items:flex-end}.row-1{gap:var(--space-1)}.row-2{gap:var(--space-2)}.row-3{gap:var(--space-3)}.row-4{gap:var(--space-4)}.spacer{margin-left:auto}.row-between{justify-content:space-between}.row-baseline{align-items:baseline}.row-bottom{align-items:flex-end}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);line-height:1;text-decoration:none;display:inline-flex}@media (hover:hover){.btn:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--surface-hover);border-color:var(--border-strong)}}.btn:active:not(:disabled){background:var(--surface-sunken)}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-sunken);border-color:var(--border);color:var(--text-subtle);cursor:not-allowed}.btn-quiet:disabled,.btn-quiet[aria-disabled=true]{background:0 0;border-color:#0000}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}}.btn-primary:active:not(:disabled){background:var(--primary-active)}.btn-quiet{color:var(--text-muted);font-weight:var(--weight-regular);background:0 0;border-color:#0000}@media (hover:hover){.btn-quiet:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:#0000}}.btn-quiet:active:not(:disabled){background:var(--surface-sunken);color:var(--text)}.btn-danger{color:var(--danger-ink);background:var(--surface);border-color:#f0c4c1}@media (hover:hover){.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}}.btn-danger:active:not(:disabled){background:var(--danger-soft);border-color:var(--danger-hover)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}@media (hover:hover){.btn-danger-solid:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}}.btn-danger-solid:active:not(:disabled){background:var(--danger-ink);border-color:var(--danger-ink)}.btn-icon{width:var(--control-height);min-width:var(--control-height);color:var(--text-muted);padding:0}.btn-icon.btn-sm{width:var(--control-height-sm);min-width:var(--control-height-sm)}@media (hover:hover){.btn-icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}}.btn-icon:active:not(:disabled){background:var(--surface-sunken)}.btn-sm{min-height:var(--control-height-sm);padding:0 var(--space-2);font-size:var(--text-sm);gap:var(--space-1)}.btn-block{width:100%}.btn-group{scrollbar-width:thin;max-width:100%;display:inline-flex;overflow-x:auto}.btn-group>.btn{border-radius:0;flex:none;margin-left:-1px}.btn-group>.btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.btn-group>.btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.btn-group>.btn[aria-pressed=true],.btn-group>.btn[aria-selected=true]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary);font-weight:var(--weight-semibold);z-index:1}@media (hover:hover){.btn-group>.btn[aria-pressed=true]:hover:not(:disabled),.btn-group>.btn[aria-selected=true]:hover:not(:disabled){background:var(--primary-soft-hover);border-color:var(--primary);color:var(--primary-ink)}}.btn-link,.linklike{color:var(--primary-ink);font:inherit;font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline}@media (hover:hover){.btn-link:hover,.linklike:hover{text-decoration:underline}}.btn-link:active,.linklike:active{color:var(--primary-active)}
.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field>label,.label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.field-required>label:after,.field-required>span:first-child:after{content:" *" / "";color:var(--danger);font-weight:var(--weight-semibold)}.field:has(>:is(input,select,textarea)[required])>label:after{content:" *" / "";color:var(--danger);font-weight:var(--weight-semibold)}.field:has(>:is(input,select,textarea)[required])>span:first-child:after{content:" *" / "";color:var(--danger);font-weight:var(--weight-semibold)}.field:has(>:is(input,select,textarea)[required])>label>span:first-child:after{content:" *" / "";color:var(--danger);font-weight:var(--weight-semibold)}.field-required>label,.field-required>span:first-child{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.field-help{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug)}.input,select.input,textarea.input{min-height:var(--control-height);width:100%;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--text-md);transition:border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease)}textarea.input{min-height:80px;padding:var(--space-2) var(--space-3);line-height:var(--leading-normal);resize:vertical}select.input{padding-right:var(--space-2);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);padding-right:var(--space-6);background-position:calc(100% - 16px) calc(50% + 2px),calc(100% - 11px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}@media (hover:hover){.input:hover:not(:disabled){border-color:var(--text-subtle)}}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input:focus-visible{outline:none}.input::placeholder{color:var(--text-subtle)}.input:disabled,.input[readonly]{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed;border-color:var(--border)}.input-search{padding-left:var(--space-6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23667085' stroke-width='1.6'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='M10.5 10.5 14 14'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:var(--space-3) center;appearance:none}.check{align-items:flex-start;gap:var(--space-2);font-size:var(--text-md);cursor:pointer;display:flex}.check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex:none;margin:2px 0 0}.form-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.form-row>.field{flex:180px}.field-narrow{flex:0 120px;max-width:150px}.field-medium{flex:200px;max-width:260px}.field-wide{flex:320px}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-group-title{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.form-group-title:first-of-type{border-top:0;margin-top:0;padding-top:0}.form-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-1);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.filters{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filters>.field{flex:0 180px;min-width:140px}.filters>.field-search{flex:240px}.filters>.btn,.filters>.row{flex:none}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-4)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.panel-head>h2,.panel-head>h3{font-size:var(--text-md)}.panel-body{padding:var(--space-4)}.panel-body-flush{padding:0}.page-section{margin-bottom:var(--space-5)}.page-section:last-child{margin-bottom:0}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-head-text{flex-direction:column;gap:2px;min-width:0;display:flex}.page-head-sub{font-size:var(--text-sm);color:var(--text-muted);max-width:76ch}.page-head-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;line-height:18px;display:inline-flex}.badge-neutral{background:var(--surface-sunken);color:var(--text-muted)}.badge-info{background:var(--primary-soft);color:var(--primary-ink)}.badge-success{background:var(--success-soft);color:var(--success-ink)}.badge-warning{background:var(--warning-soft);color:var(--warning-ink)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink)}.badge-count{background:var(--surface-sunken);color:var(--text-muted);font-variant-numeric:tabular-nums}.alert{padding:var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--leading-snug);display:block}.alert:has(>.alert-icon){align-items:flex-start;gap:var(--space-2);display:flex}.alert.stack{gap:var(--space-3);flex-direction:column;display:flex}.alert-info{background:var(--primary-soft);color:var(--primary-ink)}.alert-success{background:var(--success-soft);color:var(--success-ink)}.alert-warning{background:var(--warning-soft);color:var(--warning-ink)}.alert-error{background:var(--danger-soft);color:var(--danger-ink)}.alert a{color:inherit;font-weight:var(--weight-semibold)}.alert-title{font-weight:var(--weight-semibold)}.alert-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.alert-icon{font-weight:var(--weight-semibold);line-height:inherit;flex:none}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin:0}.empty-state-body{max-width:48ch;font-size:var(--text-sm);color:var(--text-muted);margin:0}.empty-state-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.empty{padding:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.skeleton{background:var(--surface-sunken);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.3s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skeleton-text{height:12px;margin:4px 0}.skeleton-title{width:40%;height:18px;margin-bottom:var(--space-3)}.skeleton-row{height:44px;margin-bottom:var(--space-1)}.skeleton-tile{height:86px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}table.list{border-collapse:collapse;width:100%;font-size:var(--text-sm)}table.list th,table.list td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}table.list th{z-index:1;background:var(--surface-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);white-space:nowrap;position:sticky;top:0}table.list tbody tr:last-child td{border-bottom:0}@media (hover:hover){table.list tbody tr.clickable:hover{background:var(--surface-hover);cursor:pointer}}table.list td.numeric,table.list th.numeric{text-align:right;font-variant-numeric:tabular-nums}table.list td.actions{text-align:right;white-space:nowrap}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll:focus-visible{outline:var(--focus-ring);outline-offset:calc(-1 * var(--focus-offset))}.table-scroll>table.list{min-width:560px}.row-open{font:inherit;font-weight:var(--weight-medium);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}@media (hover:hover){.row-open:hover{text-decoration:underline}}.row-open:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:2px}dl.kv{gap:var(--space-2) var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(96px,128px) 1fr;margin:0;display:grid}dl.kv dt{color:var(--text-muted)}dl.kv dd{min-width:0;margin:0}@media (max-width:520px){dl.kv{gap:var(--space-1);grid-template-columns:1fr}dl.kv dd{margin-bottom:var(--space-2)}}.tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.tile .value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.tile .label{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.tile .sub{font-size:var(--text-xs);color:var(--text-subtle);margin-top:var(--space-2)}.plain-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}
body{background:var(--surface-page)}.shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);height:100vh;padding:var(--space-4) var(--space-3);align-self:start;gap:var(--space-4);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text);text-decoration:none;display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--primary);width:24px;height:24px;color:var(--primary-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;justify-content:center;align-items:center;display:inline-flex}.main{--main-pad:var(--space-5);--main-pad-right:var(--main-pad);padding:var(--main-pad) var(--main-pad-right) var(--main-pad) var(--main-pad);min-width:0;max-width:1400px}.nav{flex-direction:column;gap:1px;display:flex}.nav a{align-items:center;gap:var(--space-2);min-height:38px;padding:7px var(--space-2);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);text-decoration:none;display:flex;position:relative}@media (hover:hover){.nav a:hover{background:var(--surface-hover)}}.nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-ink);font-weight:var(--weight-semibold)}.nav-count{border-radius:var(--radius-pill);background:var(--warning-soft);color:var(--warning-ink);font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;margin-left:auto;padding:0 6px}.nav a[aria-current=page] .nav-count{background:var(--surface)}.nav-group{margin-bottom:var(--space-4);flex-direction:column;display:flex}.nav-section{align-items:center;gap:var(--space-1);padding:0 var(--space-2) var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);cursor:default;-webkit-user-select:none;user-select:none;display:flex}.nav-group>a{margin-left:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--border);border-top-left-radius:0;border-bottom-left-radius:0}@media (hover:hover){.nav-group>a:hover{border-left-color:var(--border-strong)}}.nav-group>a[aria-current=page]{border-left-color:var(--primary)}.nav-icon{width:18px;height:18px;color:var(--text-subtle);transition:color var(--motion-fast) var(--motion-ease);flex:0 0 18px}@media (hover:hover){.nav a:hover .nav-icon{color:var(--text-muted)}}.nav a[aria-current=page] .nav-icon{color:var(--primary)}.nav>a{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);border-radius:0}.nav-group>summary{cursor:pointer;padding-top:var(--space-1);padding-bottom:var(--space-1);margin-bottom:var(--space-1);border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--motion-ease);list-style:none}@media (hover:hover){.nav-group>summary:hover{background:var(--surface-hover);color:var(--text-muted)}}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"";width:6px;height:6px;transition:transform var(--motion-fast) var(--motion-ease);border-bottom:1.5px solid;border-right:1.5px solid;margin-left:auto;transform:rotate(-45deg)}.nav-group[open]>summary:after{transform:rotate(45deg)}.create-wrap{position:relative}.create-btn{justify-content:center;width:100%}.create-menu{z-index:40;top:calc(100% + var(--space-1));min-width:240px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);position:absolute;left:0}.create-item{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1px;text-decoration:none;display:flex}.create-item:focus-visible{background:var(--surface-hover)}@media (hover:hover){.create-item:hover{background:var(--surface-hover)}}.sidebar-foot{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-direction:column;margin-top:auto;display:flex}.nav-account{padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:1px;text-decoration:none;display:flex}@media (hover:hover){.nav-account:hover{background:var(--surface-hover)}}.nav-account[aria-current=page]{background:var(--primary-soft);color:var(--primary-ink)}.spacer-top{margin-top:auto}.nav-toggle{display:none}.nav-sheet{display:contents}@media (max-width:860px){.nav-toggle{display:inline-flex}.create-wrap{margin-left:auto}.create-btn{width:auto}.create-menu{left:auto;right:0}.nav-sheet{display:none}.nav-sheet[data-open=true]{z-index:29;padding:var(--space-3);background:var(--surface);border-top:1px solid var(--border);animation:fade-in var(--motion-fast) var(--motion-ease);display:block;position:fixed;inset:53px 0 0;overflow-y:auto}.nav-sheet[data-open=true] .nav a{min-height:var(--touch-target);font-size:var(--text-md)}.nav-sheet[data-open=true] .nav-group>summary{min-height:var(--touch-target)}.nav-sheet[data-open=true] .nav-group{margin-bottom:var(--space-4)}.nav-sheet[data-open=true] .sidebar-foot{margin-top:var(--space-4)}}.tab-strip{gap:var(--space-1);margin-bottom:var(--space-4);padding-bottom:var(--space-1);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tab-strip .btn{color:var(--text-muted);background:0 0;border-color:#0000;flex:0 auto}@media (hover:hover){.tab-strip .btn:hover:not([aria-selected=true]){background:var(--surface-hover);color:var(--text);border-color:#0000}}.tab-strip .btn[aria-selected=true]{background:var(--primary-soft);color:var(--primary-ink);font-weight:var(--weight-semibold);border-color:#0000}@media (hover:hover){.tab-strip .btn[aria-selected=true]:hover{background:var(--primary-soft-hover);color:var(--primary-ink);border-color:#0000}}.cal-grid{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid;overflow:hidden}.cal-head{border-bottom:1px solid var(--border);background:var(--surface-muted);display:grid}.cal-head>div{padding:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;border-left:1px solid var(--border)}.cal-head>div:first-child{border-left:none}.cal-head>div[data-today=true]{background:var(--primary-soft);color:var(--primary-ink)}.cal-body{display:grid;position:relative}.cal-col{border-left:1px solid var(--border);min-height:640px;position:relative}.cal-col:first-child{border-left:none}.cal-hour{border-top:1px solid var(--border-subtle);height:48px}.cal-hour:first-child{border-top:none}.cal-hour:nth-child(3n+1){border-top-color:var(--border)}.cal-gutter{background:var(--surface-muted);width:56px}.cal-gutter div{height:48px;font-size:var(--text-2xs);color:var(--text-subtle);text-align:right;padding-right:var(--space-1);font-variant-numeric:tabular-nums;transform:translateY(-7px)}.cal-now{border-top:2px solid var(--danger);z-index:3;pointer-events:none;height:0;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-4px}.event{border-radius:var(--radius-sm);padding:var(--space-1) 6px;cursor:grab;text-align:left;font-size:var(--text-xs);line-height:var(--leading-snug);border:1px solid #0000;border-left-width:3px;position:absolute;left:3px;right:3px;overflow:hidden}.event:active{cursor:grabbing}.event.dragging{opacity:.5}.event:focus-visible{outline:var(--focus-ring);outline-offset:1px;z-index:4}.event-CONFIRMED{background:var(--primary-soft);border-color:#bcd0ff;border-left-color:var(--primary);color:#1b3a8a}.event-REQUESTED{background:var(--warning-soft);border-color:#f2d9ae;border-left-color:var(--warning);color:var(--warning-ink)}.event-AWAITING_DEPOSIT{background:var(--warning-soft);border-color:#eab97a;border-left-color:var(--warning);color:var(--warning-ink)}.event-ARRIVED,.event-IN_PROGRESS{background:var(--success-soft);border-color:#b6e0cd;border-left-color:var(--success);color:var(--success-ink)}.event-COMPLETED{background:var(--surface-sunken);border-color:var(--border-strong);border-left-color:var(--text-subtle);color:var(--text-muted)}.event-CANCELLED,.event-DECLINED,.event-NO_SHOW{background:var(--danger-soft);border-color:#f3ccc9;border-left-color:var(--danger);color:var(--danger-ink);cursor:default;text-decoration:line-through}.drop-target{outline:2px dashed var(--primary);outline-offset:-2px;background:#2563eb14}.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-cell{border-left:1px solid var(--border);border-top:1px solid var(--border);min-height:108px;padding:var(--space-1)}.month-cell.other-month{background:var(--surface-muted)}.month-cell .day-num{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);font-variant-numeric:tabular-nums}.month-cell[data-today=true] .day-num{border-radius:var(--radius-pill);background:var(--primary);min-width:20px;height:20px;color:var(--primary-text);justify-content:center;align-items:center;display:inline-flex}.month-pill{text-align:left;border:0;border-left:2px solid var(--border-strong);width:100%;padding:1px var(--space-1);font-size:var(--text-2xs);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:3px;display:block;overflow:hidden}@media (hover:hover){.month-pill:hover{background:var(--surface-hover)}}.drawer-backdrop{z-index:40;animation:fade-in var(--motion) var(--motion-ease);background:#10182866;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(480px,100vw);box-shadow:var(--shadow-lg);z-index:41;animation:slide-in var(--motion) var(--motion-ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slide-in{0%{transform:translate(16px)}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop{animation:none}}.drawer-head{padding:var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.drawer-body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface-muted);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.suggest{min-width:0;position:relative}.suggest-list{z-index:50;margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:260px;box-shadow:var(--shadow-lg);list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggest-list li{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-snug);cursor:pointer;display:flex}.suggest-pin{width:16px;height:16px;color:var(--text-muted);flex:none;margin-top:1px}.suggest-text{flex-direction:column;gap:1px;min-width:0;display:flex}.suggest-primary{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.suggest-secondary{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggest-control{display:block;position:relative}.field .suggest-control .input,.suggest-control .input{width:100%;padding-left:34px;padding-right:34px}.suggest-search{width:15px;height:15px;color:var(--text-muted);pointer-events:none;margin-top:-7.5px;position:absolute;top:50%;left:11px}.suggest-clear{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-top:-14px;padding:0;display:flex;position:absolute;top:50%;right:6px}.suggest-clear svg{width:12px;height:12px}@media (hover:hover){.suggest-clear:hover{background:var(--surface-hover);color:var(--text)}}.suggest-count{padding:var(--space-1) var(--space-2) 2px;font-size:var(--text-xs);color:var(--text-muted);cursor:default}.address-row{gap:var(--space-2);grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) minmax(0,1fr);display:grid}@media (max-width:560px){.address-row{grid-template-columns:minmax(0,1fr)}}.suggest-list{max-height:min(260px,45vh)}.suggest-hint{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.suggest-list li.is-active{background:var(--surface-hover)}@media (hover:hover){.suggest-list li:hover{background:var(--surface-hover)}}.brand-preview{border:1px solid var(--border);border-radius:var(--bw-radius);background:var(--bw-surface);max-width:340px;color:var(--bw-text);font-family:var(--bw-font);overflow:hidden}.brand-preview-head{padding:var(--space-3);border-bottom:3px solid var(--bw-accent)}.brand-preview-logo{max-width:140px;max-height:28px;display:block}.brand-preview-name{font-weight:var(--weight-semibold)}.brand-preview-body{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.brand-preview-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.brand-preview-slots{gap:var(--space-1);flex-wrap:wrap;display:flex}.brand-preview-slots span{border:1px solid var(--bw-border);border-radius:var(--bw-radius);font-size:var(--text-xs);padding:6px 10px}.brand-preview-slots .is-chosen{background:var(--bw-accent);border-color:var(--bw-accent);color:var(--bw-accent-ink)}.brand-preview-input{border:1px solid var(--bw-border);border-radius:var(--bw-radius);background:var(--bw-surface);color:var(--bw-text-muted);font-size:var(--text-xs);padding:8px 10px;font-family:inherit}.brand-preview-button{border-radius:var(--bw-radius);background:var(--bw-accent);color:var(--bw-accent-ink);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:default;border:0;padding:9px 14px;font-family:inherit}.bell-wrap{position:relative}@media (min-width:861px){.bell-wrap{top:var(--space-4);right:var(--space-5);z-index:46;position:fixed}.main{--main-pad-right:calc(var(--main-pad) + 46px)}}.bell{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:38px;height:38px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease);justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.bell:hover{background:var(--surface-hover);color:var(--text)}}.bell svg{width:19px;height:19px}.bell-count{border-radius:var(--radius-pill);background:var(--danger);color:#fff;min-width:18px;height:18px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-align:center;padding:0 5px;line-height:18px;position:absolute;top:-5px;right:-5px}.bell-panel{z-index:45;width:min(360px, calc(100vw - 2 * var(--space-3)));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.bell-panel-head,.bell-panel-foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);display:flex}.bell-panel-head{border-bottom:1px solid var(--border)}.bell-panel-foot{border-top:1px solid var(--border);font-size:var(--text-sm)}.bell-empty{padding:var(--space-4) var(--space-3);margin:0}.bell-list,.notice-list{margin:0;padding:0;list-style:none}.bell-list{max-height:min(60vh,420px);overflow-y:auto}.notice-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.bell-list li+li,.notice-list li+li{border-top:1px solid var(--border-subtle)}.bell-list a,.notice-list a{gap:2px var(--space-3);padding:var(--space-3);color:inherit;grid-template-columns:1fr auto;text-decoration:none;display:grid}@media (hover:hover){.bell-list a:hover,.notice-list a:hover{background:var(--surface-hover)}}.bell-title,.notice-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);grid-column:1}.bell-body,.notice-body{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug);grid-column:1}.bell-when,.notice-when{font-size:var(--text-2xs);color:var(--text-subtle);white-space:nowrap;grid-area:1/2}.bell-list li.is-unread a,.notice-list li.is-unread a{border-left:3px solid var(--primary);padding-left:calc(var(--space-3) - 3px)}.bell-list li.is-unread .bell-title,.notice-list li.is-unread .notice-title{color:var(--text)}@media (max-width:480px){.bell-list a,.notice-list a{grid-template-columns:1fr}.bell-when,.notice-when{grid-area:auto/1}}.timeline{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{gap:var(--space-2);font-size:var(--text-xs);line-height:var(--leading-snug);display:flex}.timeline .dot,.dot{background:var(--border-strong);border-radius:50%;flex:none;width:6px;height:6px;margin-top:5px}.attention{border-left:3px solid var(--warning)}.attention code{font-size:var(--text-xs);background:var(--surface-sunken);padding:1px var(--space-1);border-radius:4px}.workflow{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.workflow-stage{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:inherit;transition:border-color var(--motion-fast) var(--motion-ease);text-decoration:none;display:block}@media (hover:hover){.workflow-stage:hover{border-color:var(--border-strong);border-top-color:var(--primary)}}.workflow-stage[data-waiting=true]{border-top-color:var(--warning)}@media (hover:hover){.workflow-stage[data-waiting=true]:hover{border-top-color:var(--warning)}}.workflow-step{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.workflow-label{font-weight:var(--weight-semibold);margin-top:2px}.workflow-count{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;margin:var(--space-1) 0 2px}.board{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;display:grid}.board-col{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg)}.board-col-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.board-col-body{padding:var(--space-2);gap:var(--space-2);flex-direction:column;min-height:120px;display:flex}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2);gap:var(--space-1);flex-direction:column;display:flex}.job-card-main{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}@media (hover:hover){.job-card-main:hover{text-decoration:underline}}table.bars{border-collapse:collapse;width:100%}table.bars th{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-semibold);text-align:left;padding:0 0 var(--space-2)}table.bars td{vertical-align:middle;padding:5px 0}table.bars td.name{width:34%;padding-right:var(--space-3)}table.bars td.value{text-align:right;font-variant-numeric:tabular-nums;width:62px}.bar-track{background:var(--surface-sunken);border-radius:3px;height:10px}.bar-fill{background:var(--primary);border-radius:3px;min-width:2px;height:10px}.range-bar{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.auth-wrap{min-height:100vh;padding:var(--space-4);background:var(--surface-page);place-items:center;display:grid}.auth-card{width:min(400px,100%)}.auth-brand{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);display:flex}.tile-link{color:inherit;transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease);text-decoration:none;display:block}@media (hover:hover){.tile-link:hover{border-color:var(--border-strong);background:var(--surface-hover)}}.tile-link[data-attention=true]{border-left:3px solid var(--warning)}.tile-link[data-attention=true] .value{color:var(--warning-ink)}.panel[data-attention=true]{border-left:3px solid var(--warning)}.step-marker{background:var(--surface-sunken);width:24px;height:24px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.step-marker.is-done{background:var(--success-soft);color:var(--success-ink)}.stat{padding:var(--space-3);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.stat .n{font-size:var(--text-2xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.grid-2{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.grid-2>.form-group-title,.grid-2>.form-group-title+p,.grid-2>fieldset,.grid-2>.form-actions,.grid-2>.grid-span{grid-column:1/-1}@media (max-width:720px){.grid-2{grid-template-columns:minmax(0,1fr)}}.grid-pair{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;display:grid}.grid-3{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start;display:grid}.module-row{padding:var(--space-2) 0;border-top:1px solid var(--border);align-items:flex-start}.module-row:first-of-type{border-top:0}.route-stop{align-items:center;gap:var(--space-3)}.route-index{background:var(--surface-sunken);width:26px;height:26px;color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.stop{border-left:3px solid var(--primary)}.reveal{padding:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;-webkit-user-select:all;user-select:all;display:block}.operator-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--main-pad)) calc(-1 * var(--main-pad-right)) var(--space-5) calc(-1 * var(--main-pad));color:#e5e7eb;font-size:var(--text-xs);font-weight:var(--weight-medium);background:#1f2937;display:flex}.operator-bar .badge{color:#fff;background:#ffffff24}.danger-zone{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #f0c4c1;overflow:hidden}.danger-zone>.panel-head{background:var(--danger-soft);color:var(--danger-ink);border-bottom-color:#f0c4c1}@media (max-width:1080px) and (min-width:861px){.shell{grid-template-columns:200px 1fr}.main{--main-pad:var(--space-4)}}@media (max-width:860px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{z-index:30;align-items:center;gap:var(--space-2);height:auto;padding:var(--space-2) var(--space-3);border-right:0;border-bottom:1px solid var(--border);flex-direction:row;position:sticky;top:0;overflow:visible}.main{--main-pad:var(--space-3)}.btn{min-height:var(--control-height-lg)}.btn-sm{min-height:var(--control-height)}.input,select.input{min-height:var(--control-height-lg);font-size:16px}.page-head{gap:var(--space-2)}.board{grid-template-columns:1fr}.drawer{border-left:0;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:88vh;animation:slide-up var(--motion) var(--motion-ease);top:auto;left:0}@keyframes slide-up{0%{transform:translateY(24px)}}.month-cell{min-height:64px;padding:2px}.cal-gutter{width:44px}}
