:root{--brand-25:#fbfaff;--brand-50:#f5f3ff;--brand-100:#ede9fe;--brand-200:#ddd6fe;--brand-300:#c4b5fd;--brand-500:#8b5cf6;--brand-600:#7c3aed;--brand-700:#6d28d9;--brand-text:#6d28d9;--on-brand:#fff;--brand-ring:#7c3aed4d;--bg:#f6f7fb;--surface:#fff;--surface-2:#f9fafb;--surface-3:#f1f5f9;--border:#e5e7eb;--border-strong:#d1d5db;--input-border:#868fa0;--text:#0f172a;--text-2:#334155;--muted:#5b6b80;--subtle:#94a3b8;--scrim:#0f172a6b;--white:#fff;--ink:#0f172a;--spinner-track-on-brand:#ffffff59;--success:#047857;--success-500:#10b981;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#b45309;--warning-500:#f59e0b;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#c81e1e;--danger-hover:#a51717;--danger-500:#ef4444;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#1d4ed8;--info-500:#3b82f6;--info-bg:#eff6ff;--info-border:#bfdbfe;--chart-line:var(--brand-600);--chart-grid:#eef0f4;--chart-axis:#64748b;--chart-cursor:#94a3b8;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--fs-hero:34px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d;--shadow-md:0 4px 12px #0f172a14,0 1px 3px #0f172a0f;--shadow-lg:0 18px 48px #0f172a2e,0 4px 12px #0f172a14;--ring:0 0 0 3px var(--brand-ring);--ring-danger:0 0 0 3px #c81e1e38;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--ease:cubic-bezier(0.2,0.8,0.2,1);--dur-fast:120ms;--dur:180ms;--dur-slow:240ms;--content-max:1320px;--drawer-w:480px;--control-h:36px;--control-h-sm:30px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}*,:after,:before{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important}}*,:after,:before{box-sizing:border-box}body,html{margin:0;overscroll-behavior-x:contain;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.015em;line-height:1.3}h2{font-size:15px;letter-spacing:-.01em;line-height:1.35}h2,h3{font-weight:var(--fw-semibold)}h3{font-size:var(--fs-md)}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{box-shadow:var(--ring);outline:none}::selection{background:var(--brand-200)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:var(--fw-semibold)}.mono{font-family:var(--font-mono);font-size:.92em}.nowrap,.truncate{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis}.break-all{word-break:break-all}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.row,.row-wrap{align-items:center;display:flex;gap:var(--sp-2)}.row-wrap{flex-wrap:wrap}.row-between{align-items:center;justify-content:space-between}.row-between,.stack{display:flex;gap:var(--sp-3)}.stack{flex-direction:column}.stack-sm{gap:var(--sp-2)}.stack-sm,.stack-xs{display:flex;flex-direction:column}.stack-xs{gap:2px}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-5)}.grow{flex:1 1;min-width:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-480px 0}to{background-position:480px 0}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.98) translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fade-in var(--dur-slow) var(--ease) both}.btn{align-items:center;border:1px solid #0000;border-radius:var(--r-md);display:inline-flex;font-size:var(--fs-sm);font-weight:var(--fw-semibold);gap:6px;height:var(--control-h);justify-content:center;line-height:1;padding:0 14px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn svg{flex-shrink:0;height:var(--icon-md);width:var(--icon-md)}.btn:disabled{opacity:.5}.btn-sm{border-radius:var(--r-sm);font-size:var(--fs-xs);height:var(--control-h-sm);padding:0 10px}.btn-sm svg{height:var(--icon-sm);width:var(--icon-sm)}.btn-primary{background:var(--brand-600);box-shadow:var(--shadow-xs);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-xs);color:var(--text-2)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--subtle);color:var(--text)}.btn-ghost{background:#0000;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-soft{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-text)}.btn-soft:hover:not(:disabled){background:var(--brand-100)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-icon{padding:0;width:var(--control-h)}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn .spinner{border-width:2px;height:14px;width:14px}.link-btn{align-items:center;background:none;border:none;border-radius:var(--r-xs);color:var(--brand-text);display:inline-flex;font-size:inherit;font-weight:var(--fw-semibold);gap:4px;padding:0}.link-btn:hover{text-decoration:underline}.link-btn svg{height:var(--icon-sm);width:var(--icon-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);min-width:0}.card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-4) var(--sp-5)}.card-header.flush{border-bottom:none;padding-bottom:0}.card-sub{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.card-body{padding:var(--sp-5)}.card-footer{background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-5)}.card-icon{align-items:center;background:var(--brand-50);border-radius:var(--r-md);color:var(--brand-text);display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.card-icon svg{height:var(--icon-md);width:var(--icon-md)}.badge{align-items:center;border:1px solid #0000;border-radius:var(--r-full);display:inline-flex;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);gap:5px;height:22px;line-height:1;padding:0 8px;vertical-align:middle;white-space:nowrap}.badge svg{flex-shrink:0;height:12px;width:12px}.badge .dot{background:currentColor;border-radius:50%;height:6px;width:6px}.badge-lg{font-size:var(--fs-xs);height:26px;padding:0 10px}.badge-neutral{background:var(--surface-3);border-color:var(--border);color:var(--text-2)}.badge-brand{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-text)}.badge-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.badge-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.count-pill{font-feature-settings:"tnum";align-items:center;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--r-full);color:var(--warning);display:inline-flex;font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);height:18px;justify-content:center;min-width:18px;padding:0 5px}.field{flex-direction:column;min-width:0}.field,.field-label{display:flex;gap:6px}.field-label{align-items:center;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.field-label .req{color:var(--danger)}.field-label .opt{font-weight:var(--fw-medium)}.field-help,.field-label .opt{color:var(--muted);font-size:var(--fs-xs)}.field-error{align-items:flex-start;color:var(--danger);display:flex;font-size:var(--fs-xs);font-weight:var(--fw-medium);gap:4px}.field-error svg{flex-shrink:0;height:13px;margin-top:2px;width:13px}.input,.select,.textarea{background:var(--surface);border:1px solid var(--input-border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);height:var(--control-h);padding:0 12px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);width:100%}.input::placeholder,.textarea::placeholder{color:var(--subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-2)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-500);box-shadow:var(--ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-3);color:var(--muted)}.input.invalid,.textarea.invalid{border-color:var(--danger)}.input.invalid:focus,.textarea.invalid:focus{box-shadow:var(--ring-danger)}.input-sm{border-radius:var(--r-sm);font-size:var(--fs-xs);height:var(--control-h-sm);padding:0 8px}.textarea{height:auto;line-height:1.5;min-height:80px;padding:9px 12px;resize:vertical}.select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,#0000 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer;padding-right:32px}.input-group{align-items:center;display:flex;position:relative}.input-group>.lead-icon{color:var(--muted);height:var(--icon-md);left:11px;pointer-events:none;position:absolute;width:var(--icon-md)}.input-group>.lead-icon~.input{padding-left:34px}.input-group .suffix{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);pointer-events:none;position:absolute;right:12px}.input-group .input.has-suffix,.input-group .suffix~.input{padding-right:64px}.input-group .clear-btn{align-items:center;background:#0000;border:none;border-radius:var(--r-sm);color:var(--muted);display:inline-flex;height:26px;justify-content:center;position:absolute;right:4px;width:26px}.input-group .clear-btn:hover{background:var(--surface-3);color:var(--text)}.input-group .clear-btn svg{height:var(--icon-sm);width:var(--icon-sm)}.switch{align-items:center;cursor:pointer;display:inline-flex;gap:10px;-webkit-user-select:none;user-select:none}.switch input{height:1px;opacity:0;position:absolute;width:1px}.switch .track{background:var(--input-border);border-radius:var(--r-full);flex-shrink:0;height:22px;position:relative;transition:background var(--dur) var(--ease);width:40px}.switch .track:after{background:var(--white);border-radius:50%;box-shadow:var(--shadow-xs);content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform var(--dur) var(--ease);width:16px}.switch input:checked+.track{background:var(--brand-600)}.switch input:checked+.track:after{transform:translateX(18px)}.switch input:focus-visible+.track{box-shadow:var(--ring)}.switch input:disabled+.track{opacity:.5}.switch.disabled{cursor:not-allowed}.choice{align-items:flex-start;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;display:flex;gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-4);position:relative;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.choice:hover{border-color:var(--brand-300)}.choice input{height:1px;opacity:0;position:absolute;width:1px}.choice .radio-dot{align-items:center;background:var(--surface);border:1.5px solid var(--input-border);border-radius:50%;display:inline-flex;flex-shrink:0;height:16px;justify-content:center;margin-top:2px;transition:border-color var(--dur) var(--ease);width:16px}.choice.checked{background:var(--brand-25);border-color:var(--brand-500);box-shadow:0 0 0 1px var(--brand-500)}.choice.checked .radio-dot{border-color:var(--brand-600)}.choice.checked .radio-dot:after{background:var(--brand-600);border-radius:50%;content:"";height:8px;width:8px}.choice:focus-within{box-shadow:var(--ring)}.choice.checked:focus-within{box-shadow:0 0 0 1px var(--brand-500),var(--ring)}.choice.disabled{cursor:not-allowed;opacity:.6}.choice-title{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.choice-desc{color:var(--muted);font-size:var(--fs-xs)}.segmented{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);display:inline-flex;gap:2px;padding:3px}.segmented button{align-items:center;background:#0000;border:none;border-radius:var(--r-sm);color:var(--muted);display:inline-flex;font-size:var(--fs-xs);font-weight:var(--fw-semibold);gap:6px;height:26px;padding:0 10px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true],.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text)}.segmented button svg{height:var(--icon-sm);width:var(--icon-sm)}.spinner{animation:spin .7s linear infinite;border:2px solid var(--brand-100);border-radius:50%;border-top-color:var(--brand-600);display:inline-block;flex-shrink:0;height:18px;width:18px}.btn-danger .spinner,.btn-primary .spinner{border-color:var(--spinner-track-on-brand);border-top-color:var(--on-brand)}.skeleton{animation:shimmer 1.3s linear infinite;background:linear-gradient(90deg,var(--surface-3) 0,var(--surface-2) 50%,var(--surface-3) 100%);background-size:960px 100%;border-radius:var(--r-sm)}.callout{align-items:flex-start;border:1px solid;border-radius:var(--r-md);color:var(--text-2);display:flex;font-size:var(--fs-sm);gap:10px;line-height:1.5;padding:var(--sp-3) var(--sp-4)}.callout>svg{flex-shrink:0;height:var(--icon-md);margin-top:2px;width:var(--icon-md)}.callout-title{color:var(--text);font-weight:var(--fw-semibold)}.callout.info{background:var(--info-bg);border-color:var(--info-border)}.callout.info>svg{color:var(--info)}.callout.warning{background:var(--warning-bg);border-color:var(--warning-border)}.callout.warning>svg{color:var(--warning)}.callout.danger{background:var(--danger-bg);border-color:var(--danger-border)}.callout.danger>svg{color:var(--danger)}.callout.success{background:var(--success-bg);border-color:var(--success-border)}.callout.success>svg{color:var(--success)}.callout.neutral{background:var(--surface-2);border-color:var(--border)}.callout.neutral>svg{color:var(--muted)}.callout-actions{align-self:center;flex-shrink:0;gap:var(--sp-2)}.callout-actions,.empty{align-items:center;display:flex}.empty{flex-direction:column;gap:6px;padding:var(--sp-10) var(--sp-6);text-align:center}.empty.compact{padding:var(--sp-6) var(--sp-4)}.empty-icon{align-items:center;background:var(--brand-50);border-radius:var(--r-lg);color:var(--brand-text);display:flex;height:44px;justify-content:center;margin-bottom:6px;width:44px}.empty-icon svg{height:var(--icon-lg);width:var(--icon-lg)}.empty h3{font-size:var(--fs-md)}.empty p{color:var(--muted);font-size:var(--fs-sm);max-width:440px}.table-wrap{overflow-x:auto;transition:opacity var(--dur) var(--ease);width:100%}.table-wrap.refreshing{opacity:.55}.table{border-collapse:initial;border-spacing:0;font-size:var(--fs-sm);width:100%}.table th{background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:9px 12px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:1}.table td,.table th{border-bottom:1px solid var(--border)}.table td{color:var(--text-2);padding:10px 12px;vertical-align:middle}.table td:first-child,.table th:first-child{padding-left:var(--sp-5)}.table td:last-child,.table th:last-child{padding-right:var(--sp-5)}.table tbody tr:last-child td{border-bottom:none}.table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.table tr.clickable{cursor:pointer;transition:background var(--dur-fast) var(--ease)}.table tr.clickable:hover td{background:var(--brand-25)}.table tr.clickable:focus-visible{box-shadow:none;outline:2px solid var(--brand-500);outline-offset:-2px}.table tr.active td{background:var(--brand-50)}.table .chev{color:var(--subtle);width:28px}.table .chev svg{display:block;height:var(--icon-md);width:var(--icon-md)}.table-compact td{padding-bottom:8px;padding-top:8px}.cell-primary{color:var(--text);font-weight:var(--fw-medium)}.cell-sub,.pagination{color:var(--muted);font-size:var(--fs-xs)}.pagination{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-3) var(--sp-5)}.pagination .select{font-size:var(--fs-xs);height:var(--control-h-sm);padding-left:8px;width:auto}.overlay{align-items:center;animation:fade-in var(--dur) var(--ease) both;background:var(--scrim);display:flex;inset:0;justify-content:center;padding:var(--sp-6);position:fixed;z-index:60}.modal{animation:pop-in var(--dur-slow) var(--ease) both;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:520px;width:100%}.modal:focus{outline:none}.modal-sm{max-width:420px}.modal-header{align-items:flex-start;display:flex;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-2)}.modal-header p{color:var(--muted);font-size:var(--fs-sm);margin-top:4px}.modal-body{color:var(--text-2);font-size:var(--fs-sm);overflow-y:auto;padding:var(--sp-2) var(--sp-5) var(--sp-5)}.modal-footer{background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);border-top:1px solid var(--border);display:flex;gap:var(--sp-2);justify-content:flex-end;padding:var(--sp-3) var(--sp-5)}.modal-tone{align-items:center;border-radius:var(--r-md);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.modal-tone svg{height:var(--icon-lg);width:var(--icon-lg)}.modal-tone.primary{background:var(--brand-50);color:var(--brand-text)}.modal-tone.danger{background:var(--danger-bg);color:var(--danger)}.modal-tone.success{background:var(--success-bg);color:var(--success)}.drawer-overlay{animation:fade-in var(--dur) var(--ease) both;background:var(--scrim);inset:0;position:fixed;z-index:50}.drawer{animation:slide-in-right var(--dur-slow) var(--ease) both;background:var(--surface);bottom:0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;position:fixed;right:0;top:0;width:min(var(--drawer-w),100vw);z-index:51}.drawer:focus{outline:none}.drawer-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5)}.drawer-body{flex:1 1;overflow-y:auto;padding:var(--sp-5)}.drawer-footer{background:var(--surface-2);border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-5)}.toast-stack{bottom:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;position:fixed;right:var(--sp-5);z-index:80}.toast{align-items:flex-start;animation:slide-in-right var(--dur-slow) var(--ease) both;background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--r-md);box-shadow:var(--shadow-md);color:var(--text);display:flex;font-size:var(--fs-sm);gap:10px;max-width:420px;min-width:280px;padding:var(--sp-3) var(--sp-4);pointer-events:auto}.toast>svg{flex-shrink:0;height:var(--icon-md);margin-top:2px;width:var(--icon-md)}.toast.success{border-left-color:var(--success-500)}.toast.success>svg{color:var(--success)}.toast.error{border-left-color:var(--danger-500)}.toast.error>svg{color:var(--danger)}.toast.info{border-left-color:var(--info-500)}.toast.info>svg{color:var(--info)}.toast .toast-close{background:#0000;border:none;border-radius:var(--r-xs);color:var(--muted);display:inline-flex;margin-left:auto;padding:2px}.toast .toast-close svg{height:var(--icon-sm);width:var(--icon-sm)}.dl{grid-gap:10px var(--sp-4);display:grid;font-size:var(--fs-sm);gap:10px var(--sp-4);grid-template-columns:132px minmax(0,1fr);margin:0}.dl dt{color:var(--muted)}.dl dd{color:var(--text);margin:0;min-width:0;overflow-wrap:anywhere}.section-title{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;margin-bottom:var(--sp-3);text-transform:uppercase}.copy-btn{align-items:center;background:#0000;border:none;border-radius:var(--r-sm);color:var(--muted);display:inline-flex;height:24px;justify-content:center;margin-left:4px;vertical-align:middle;width:24px}.copy-btn:hover{background:var(--surface-3);color:var(--text)}.copy-btn svg{height:13px;width:13px}.token-avatar{align-items:center;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:50%;color:var(--brand-text);display:inline-flex;flex-shrink:0;font-size:var(--fs-2xs);font-weight:var(--fw-bold);height:32px;justify-content:center;letter-spacing:.02em;overflow:hidden;width:32px}.token-avatar.sm{font-size:9px;height:24px;width:24px}.token-avatar img{height:100%;object-fit:cover;width:100%}.token-avatar.stable{background:var(--surface-3);border-color:var(--border);color:var(--text-2)}.code-block{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-xs);margin:0;padding:var(--sp-2) var(--sp-3);white-space:pre-wrap;word-break:break-word}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{appearance:none}.count-pill.neutral{background:var(--surface);border-color:var(--border);color:var(--text-2)}.gate{align-items:center;background:radial-gradient(1100px 480px at 50% -12%,var(--brand-100) 0,var(--bg) 62%);display:flex;justify-content:center;min-height:100vh;padding:var(--sp-6)}.gate-card{box-shadow:var(--shadow-md);max-width:480px;padding:var(--sp-8);width:100%}.gate-card.wide{max-width:560px}.gate-card h1{font-size:var(--fs-xl)}.gate-body{color:var(--text-2);display:flex;flex-direction:column;font-size:var(--fs-md);gap:var(--sp-3);margin-top:var(--sp-2)}.gate-icon{align-items:center;background:var(--brand-50);border-radius:var(--r-lg);color:var(--brand-text);display:flex;height:44px;justify-content:center;margin-bottom:var(--sp-4);width:44px}.gate-icon svg{height:22px;width:22px}.gate-icon.warning{background:var(--warning-bg);color:var(--warning)}.gate-icon.danger{background:var(--danger-bg);color:var(--danger)}.gate-loading{flex-direction:column;gap:var(--sp-3)}.gate-loading,.gate-mark{align-items:center;display:flex}.gate-mark{background:var(--brand-600);border-radius:var(--r-lg);box-shadow:var(--shadow-md);color:var(--on-brand);height:44px;justify-content:center;margin-bottom:var(--sp-2);width:44px}.gate-mark svg{height:22px;width:22px}.app{min-height:100vh}.app-head{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-head-inner,.app-main{margin:0 auto;max-width:var(--content-max);padding-left:var(--sp-6);padding-right:var(--sp-6)}.title-row{align-items:center;display:flex;gap:var(--sp-3);min-width:0;padding-top:var(--sp-4)}.title-row h1{font-size:var(--fs-xl)}.app-mark{align-items:center;background:var(--brand-600);border-radius:var(--r-md);color:var(--on-brand);display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.app-mark svg{height:17px;width:17px}.org-name{max-width:280px}.tabs{display:flex;gap:var(--sp-1);margin-top:var(--sp-3)}.tab{align-items:center;border-bottom:2px solid #0000;border-radius:var(--r-sm) var(--r-sm) 0 0;color:var(--muted);display:inline-flex;font-size:var(--fs-sm);font-weight:var(--fw-semibold);gap:7px;height:40px;margin-bottom:-1px;padding:0 var(--sp-3);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.tab svg{height:var(--icon-md);width:var(--icon-md)}.tab:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.tab.active{border-bottom-color:var(--brand-600);color:var(--brand-text)}.tab:focus-visible{box-shadow:var(--ring)}.app-main{padding-bottom:var(--sp-10);padding-top:var(--sp-5)}.page-toolbar{align-items:flex-end;display:flex;gap:var(--sp-3);min-height:36px}.page-toolbar h2{font-size:var(--fs-lg)}.refreshing{opacity:.6;transition:opacity var(--dur) var(--ease)}.overview-top{grid-gap:var(--sp-4);align-items:stretch;display:grid;gap:var(--sp-4);grid-template-columns:minmax(320px,5fr) minmax(0,8fr)}.price-card .card-body{height:auto}.price-hero{color:var(--text);font-size:var(--fs-hero);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.1}.price-hero-unit{color:var(--muted);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:0}.example-line{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;font-size:var(--fs-sm);gap:2px;padding:var(--sp-3)}.kpi-grid{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{padding:var(--sp-4) var(--sp-5)}.kpi-label{color:var(--muted);font-size:var(--fs-xs)}.kpi-label,.kpi-value{font-weight:var(--fw-semibold)}.kpi-value{color:var(--text);font-size:var(--fs-3xl);letter-spacing:-.02em;line-height:1.2;margin-top:4px;overflow-wrap:anywhere}.kpi-sub{color:var(--muted);font-size:var(--fs-xs);margin-top:4px}.progress{background:var(--brand-100);height:6px;overflow:hidden;width:120px}.progress,.progress span{border-radius:var(--r-full)}.progress span{background:var(--brand-600);display:block;height:100%}.setup-card{border-color:var(--brand-200)}.checklist{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.checklist-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--sp-3);padding:var(--sp-3) 0}.checklist-item:first-child{padding-top:0}.checklist-item:last-child{border-bottom:none;padding-bottom:0}.check-dot{align-items:center;border:1.5px solid var(--border-strong);border-radius:50%;color:var(--muted);display:inline-flex;flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-bold);height:26px;justify-content:center;width:26px}.checklist-item.current .check-dot{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-text)}.checklist-item.done .check-dot{background:var(--success-bg);border-color:var(--success-500);color:var(--success)}.check-dot svg{height:14px;width:14px}.checklist-item.done .strong{color:var(--text-2)}.price-chart{min-height:232px;width:100%}.price-chart .recharts-cartesian-axis-tick-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-table{max-height:260px;overflow-y:auto}.chart-tooltip,.price-table{border:1px solid var(--border);border-radius:var(--r-md)}.chart-tooltip{background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--fs-xs);max-width:260px;min-width:170px;padding:var(--sp-2) var(--sp-3)}.chart-tooltip-value{color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-bold)}.chart-tooltip-meta{color:var(--muted);margin-top:2px}.chart-tooltip-note{border-top:1px solid var(--border);color:var(--text-2);margin-top:6px;padding-top:6px}.line-key{background:var(--chart-line);border-radius:2px;display:inline-block;height:2px;width:12px}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5)}.filter-bar,.filter-error{border-bottom:1px solid var(--border)}.filter-error{padding:var(--sp-2) var(--sp-5)}.date-range{align-items:center;display:flex;gap:var(--sp-2)}.date-range .input{padding-right:8px;width:142px}.summary-strip{background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap}.summary-item{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--sp-3) var(--sp-5)}.summary-item:last-child{border-right:none}.summary-label{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.summary-label,.summary-value{font-weight:var(--fw-semibold)}.summary-value{font-feature-settings:"tnum";color:var(--text);font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.summary-value.tone-danger{color:var(--danger)}.summary-value.tone-warning{color:var(--warning)}.drawer-section .dl{grid-template-columns:128px minmax(0,1fr)}.amount-hero{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;gap:var(--sp-4);padding:var(--sp-4)}.amount-hero>div{flex:1 1;min-width:0}.amount-hero-value{color:var(--text);font-size:var(--fs-xl);font-weight:var(--fw-bold);overflow-wrap:anywhere}.amount-hero-value.muted{color:var(--muted)}.amount-hero-arrow{color:var(--muted);flex-shrink:0;height:var(--icon-lg);width:var(--icon-lg)}.resolve-card{background:var(--surface);border:1px solid var(--warning-border);border-radius:var(--r-lg);box-shadow:0 0 0 3px var(--warning-bg);padding:var(--sp-4)}.disclosure{border-top:1px solid var(--border);padding-top:var(--sp-3)}.disclosure-btn{align-items:center;background:#0000;border:none;border-radius:var(--r-sm);color:var(--text-2);display:inline-flex;font-size:var(--fs-sm);font-weight:var(--fw-semibold);gap:6px;min-height:32px;padding:0 var(--sp-2) 0 2px}.disclosure-btn:hover{color:var(--text)}.disclosure-btn svg{height:var(--icon-md);transform:rotate(-90deg);transition:transform var(--dur) var(--ease);width:var(--icon-md)}.disclosure-btn svg.open{transform:none}.status-cell{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.fieldset{border:none;margin:0;min-width:0;padding:0}.fieldset legend{margin-bottom:var(--sp-2);padding:0}.settings-layout{grid-gap:var(--sp-8);align-items:start;display:grid;gap:var(--sp-8);grid-template-columns:220px minmax(0,900px)}.settings{min-width:0}.settings .card[id]{scroll-margin-top:120px}.settings-nav{padding-top:52px;position:sticky;top:120px}.settings-nav ul{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.settings-nav a{align-items:flex-start;border-left:2px solid #0000;border-radius:var(--r-md);color:var(--text-2);display:flex;gap:10px;padding:var(--sp-2) var(--sp-3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.settings-nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.settings-nav a.active{background:var(--surface);box-shadow:var(--shadow-xs)}.nav-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.nav-sub{color:var(--muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-state{align-items:center;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:50%;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;margin-top:1px;width:18px}.nav-state svg{height:11px;width:11px}.nav-state.done{background:var(--success-bg);border-color:var(--success-500);color:var(--success)}.nav-state.warn{background:var(--warning-bg);border-color:var(--warning-500);color:var(--warning)}.dl-wide{grid-template-columns:140px minmax(0,1fr)}.inline-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}.choice-grid{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr))}.example-banner{align-items:flex-start;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);color:var(--text-2);display:flex;font-size:var(--fs-sm);gap:10px;padding:var(--sp-3) var(--sp-4)}.example-banner svg{color:var(--brand-text);flex-shrink:0;height:var(--icon-md);margin-top:2px;width:var(--icon-md)}.example-banner strong{color:var(--text)}.save-bar{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--r-lg);display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);position:relative;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);z-index:10}.save-bar.is-dirty{background:var(--surface);border-color:var(--brand-200);bottom:var(--sp-4);box-shadow:var(--shadow-md);position:sticky}.dirty-dot{background:var(--warning-500);border-radius:50%;height:8px;width:8px}.save-error{align-items:center;color:var(--danger);display:inline-flex;font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:6px;min-width:0}.save-error svg{flex-shrink:0;height:var(--icon-sm);width:var(--icon-sm)}@media (max-width:1100px){.settings-layout{gap:var(--sp-6);grid-template-columns:180px minmax(0,1fr)}}@media (max-width:920px){.overview-top,.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-nav{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-head-inner,.app-main{padding-left:var(--sp-4);padding-right:var(--sp-4)}.choice-grid,.form-grid{grid-template-columns:minmax(0,1fr)}.org-name{display:none}}