:root{--indigo:#26215c;--mid:#534ab7;--amber:#ef9f27;--amber-dark:#d98a14;--ink:#1a1640;--amber-soft:#faeeda;--indigo-soft:#eeedfe;--page:#fbfaf7;--card:#fff;--line:#1a16401f;--muted:#6b6b7a;--danger:#a32d2d;--ok:#3b6d11;--focus:#534ab773;--radius-sm:6px;--radius:8px;--radius-lg:12px;--font-display:"Rajdhani", system-ui, sans-serif}*{box-sizing:border-box}body{color:var(--ink);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55}h1,h2,h3,h4,.brand-word{font-family:var(--font-display);letter-spacing:.01em;font-weight:700}h1{font-size:32px}h2{font-size:32px;line-height:1}h3{font-size:21px}h4{font-size:18px}.page{max-width:960px;margin:0 auto;padding:24px}.center{place-items:center;min-height:100vh;display:grid}.topbar{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.topbar-right{align-items:center;gap:12px;display:flex}button{font-family:var(--font-display);border:1.5px solid var(--amber);background:var(--amber);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}button:hover{background:var(--amber-dark);border-color:var(--amber-dark)}button:active{transform:translateY(1px)}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed;background:var(--amber);border-color:var(--amber)}button.secondary{font-weight:600}.sidenav button,button.link{font-family:Inter,system-ui,sans-serif;font-weight:500}.error{color:#dc2626}.error-dismiss{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.error-dismiss button{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:none;flex:none;padding:2px 4px;font-size:14px;line-height:1}.error-dismiss button:hover{opacity:1;background:0 0;border:none}.muted{color:#6b7280;font-size:14px}pre{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;font-size:12px;overflow:auto}.bar{align-items:center;gap:12px;margin:8px 0 16px;display:flex}.mt0{margin-top:0}.head-fill{flex:1;margin:0}.pointer{cursor:pointer}.row{align-items:center;gap:8px;display:flex}.box{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.readonly-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface,#1a164005);white-space:pre-wrap;min-height:38px;padding:9px 11px}.totals-row td{border-top:2px solid var(--line);border-bottom:none;font-weight:700}.impersonation-banner{color:#fff;background:#9a6207;justify-content:center;align-items:center;gap:14px;padding:7px 14px;font-size:13px;font-weight:600;display:flex}.impersonation-banner button{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff80;border-radius:6px;padding:3px 12px;font-size:12px}.impersonation-banner button:hover{background:#ffffff4d}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:8px 0 16px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.metric-num{font-family:var(--font-display);color:var(--ink);font-size:26px;font-weight:700}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:12px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 10px}th{font-family:var(--font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}td{font-size:13px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.num{font-family:var(--font-display);font-size:14px}td.name{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}tbody tr:hover{background:#f9fafb}tr.rowlink:hover,tr.pointer:hover,tr.expandable:hover{background:var(--indigo-soft)}.alert-banner{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin:0 0 12px;padding:9px 14px;font-size:14px;font-weight:500}.success-banner{color:var(--ok);background:#e8f3e0;border:1px solid #b6d99a;border-radius:8px;margin:0 0 14px;padding:9px 14px;font-size:14px;font-weight:500}.info-banner{background:var(--indigo-soft);color:var(--indigo);border:1px solid #c4bff0;border-radius:8px;margin:0 0 14px;padding:9px 14px;font-size:14px}.line-removed td{color:var(--muted);text-decoration:line-through}.line-removed .link{text-decoration:none}.tag-new{text-transform:uppercase;letter-spacing:.03em;color:var(--amber-dark);background:var(--amber-soft);vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.menu-wrap{position:relative}.menu-backdrop{z-index:29;position:fixed;inset:0}.menu{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #1a164029}.menu button{box-shadow:none;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:500}.menu button:hover{background:var(--indigo-soft)}.count-cell{align-items:center;gap:6px;display:inline-flex}.btn-check{padding:5px 9px;font-size:13px;line-height:1}td.num.pos{color:var(--ok)}td.num.neg{color:var(--danger)}.commit-bar{z-index:5;background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 6px 24px #1a164024}.commit-bar .neg{color:var(--danger)}.line-stale td{background:var(--amber-soft)}.tag-stale{text-transform:uppercase;letter-spacing:.03em;color:var(--amber-dark);background:var(--amber-soft);vertical-align:middle;border:1px solid #ef9f2780;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.warn-text{color:var(--amber-dark)}.err-text{color:var(--danger)}.import-drop{border:1px dashed var(--line);background:#fbfafc;border-radius:10px;padding:20px}.import-drop.compact{padding:16px}.import-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin:4px 0 10px;display:flex}.import-head-title{min-width:0}.import-file{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:13px;display:block;overflow:hidden}.import-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.import-preview-table td{white-space:normal}.cost-edit{align-items:center;gap:6px;display:inline-flex}.cost-edit input.cell-num{width:90px}.onboard-back{margin:0 0 8px;padding-left:0;display:inline-block}.po-filters{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.po-filters .chip{cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.4;transition:opacity .12s}.po-filters .chip.active{opacity:1}.po-filters .chip:hover{opacity:.7}.po-filters .chip.active:hover{opacity:1}tr.muted-row td{opacity:.5}.status-summary{grid-template-columns:repeat(4,1fr);gap:12px;max-width:760px;margin:8px 0;display:grid}.status-card{color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.45;background:#fff;border:1px solid #e5e7eb;border-left-width:4px;border-radius:10px;padding:12px 16px;transition:opacity .12s}.status-card:hover{opacity:.72;background:#fff}.status-card.active{opacity:1;box-shadow:0 1px 3px #1a16401a}.status-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.status-label{color:#6b7280;margin-top:2px;font-size:13px}.status-card.tone-stockout{border-left-color:var(--danger)}.status-card.tone-low{border-left-color:var(--amber)}.status-card.tone-watch{border-left-color:var(--mid)}.status-card.tone-healthy{border-left-color:var(--ok)}table.reorder{table-layout:fixed}table.reorder td,table.reorder th{white-space:nowrap;overflow:hidden}table.reorder td.name{text-overflow:ellipsis}.reorder th{position:relative}.reorder th:hover{background:#f5f6ff}.reorder th .col-resize{cursor:col-resize;width:7px;height:100%;position:absolute;top:0;right:0}.reorder th:hover .col-resize{background:#c4bff0}.reorder th .col-resize:hover{background:var(--mid)}tr.rowlink{cursor:pointer}tr.sel{background:var(--indigo-soft)}.nav{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex}.nav button{font-family:var(--font-display);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:12px 14px 10px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.nav button:hover{color:var(--indigo)}.nav button.active{color:var(--ink);border-bottom-color:var(--amber)}.nav button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:6px 6px 0 0}.nav button .count{color:var(--mid);background:var(--indigo-soft);border-radius:20px;margin-left:7px;padding:1px 8px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:600}.cols{grid-template-columns:300px 1fr;align-items:start;gap:24px;display:grid}button.secondary{color:var(--indigo);border:1.5px solid var(--indigo);background:#fff}button.secondary:hover{background:var(--indigo-soft);border-color:var(--indigo)}.form-grid{grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:12px;display:grid}.field{flex-direction:column;gap:3px;font-size:13px;display:flex}.field>span{color:#6b7280}.field.full{grid-column:1/-1}.field .fhelp{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:9px 11px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input::placeholder,.field textarea::placeholder{color:#9b9aa6}.field input:hover,.field select:hover,.field textarea:hover{border-color:#1a164040}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px #534ab726}.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--muted);cursor:not-allowed;background:#f4f3f7}input[type=checkbox],input[type=radio]{accent-color:var(--mid)}select,input[type=text],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=date]{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:9px 11px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}select{cursor:pointer}select:hover,input[type=text]:hover,input[type=email]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=url]:hover,input[type=date]:hover{border-color:#1a164040}select:focus,input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=date]:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px #534ab726}.check{cursor:pointer;align-items:center;gap:9px;font-size:14px;display:flex}.check.full{grid-column:1/-1}.check input[type=checkbox],.check input[type=radio]{width:17px;height:17px;accent-color:var(--mid);cursor:pointer}.combo{position:relative}.combo-list{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-height:280px;margin:3px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #1a164024}.combo-list li{cursor:pointer;border-radius:6px;padding:7px 9px;font-size:13px}.combo-list li:hover{background:var(--indigo-soft)}.combo-list li.combo-empty{color:var(--muted);cursor:default}.combo-list li.combo-empty:hover{background:0 0}.form-actions{gap:8px;display:flex}.form-actions.full{grid-column:1/-1}button.link{color:var(--mid);background:0 0;border:none;padding:2px 4px;font-size:13px}button.link:hover{text-decoration:underline}button.link.danger{color:var(--danger)}tr.subrow td{background:#fafbff;border-bottom:1px solid #f3f4f6;padding-top:3px;padding-bottom:3px}.abc{text-align:center;border-radius:5px;min-width:18px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.abc-A{color:var(--ok);background:#e8f3e0}.abc-B{background:var(--indigo-soft);color:var(--mid)}.abc-C{background:var(--amber-soft);color:var(--amber-dark)}.badge{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:12.5px;font-weight:600;line-height:1.4;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge .dot{display:none}.badge-stockout{color:var(--danger);background:#fbeded}.badge-low,.badge-partial{color:#9a6207;background:#fcefd8}.badge-healthy,.badge-received{color:var(--ok);background:#e8f3e0}.badge-overstock,.badge-info,.badge-ordered{background:var(--indigo-soft);color:var(--indigo)}.badge-watch{color:var(--mid);background:#e6e9f7}.badge-dead,.badge-cancelled{color:#6b6b6b;background:#eeedeb}.badge-neutral,.badge-draft{color:#4a4a52;background:#eeedeb}tfoot td{border-top:2px solid #e5e7eb}input.cell-num{text-align:right;border:1px solid var(--line);border-radius:var(--radius-sm);width:84px;color:var(--ink);background:#fff;padding:6px 9px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input.cell-num:hover{border-color:#1a164040}input.cell-num:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px #534ab726}input.cell-num::placeholder{color:#9b9aa6}input.cell-num.overridden{border-color:var(--mid);background:var(--indigo-soft);font-weight:600}.hint{color:#9ca3af;text-align:right;margin-top:1px;font-size:10px}h4{margin:16px 0 8px}.app{height:100vh;display:flex}.spacer{flex:1}.sidebar{background:var(--indigo);border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;width:216px;padding:12px 10px;display:flex;overflow:hidden}.brand{align-items:center;gap:11px;display:flex}.brand-mark{flex-shrink:0;width:34px;height:34px;display:block}.brand-word{letter-spacing:.01em;color:var(--indigo);font-size:32px;font-weight:700;line-height:1}.brand-reversed .brand-word{color:#fff}.sidebar .brand{padding:6px 8px 16px}.sidenav{flex-direction:column;gap:2px;display:flex}.sidenav button{text-align:left;color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;display:flex}.sidenav .nav-ic{opacity:.9;flex:none}.sidenav button:hover{color:#fff;background:#ffffff1a}.sidenav button.active{color:#fff;background:#ffffff29;font-weight:600}.sidenav button.sub{color:#ffffffa8;padding-left:36px;font-size:13px}.sidenav button.sub.active{color:#fff}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.appbar{z-index:10;align-items:center;gap:12px;display:flex;position:absolute;top:18px;right:24px}.appbar:empty{display:none}.sidebar-foot{border-top:1px solid #ffffff1f;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin-top:6px;padding-top:10px;display:flex;overflow:hidden}.sidebar-foot .cl-rootBox{width:100%;max-width:100%}.sidebar-foot .cl-userButtonBox,.sidebar-foot .cl-organizationSwitcherTrigger{max-width:100%;overflow:hidden}.sidebar-foot .cl-userButtonOuterIdentifier,.sidebar-foot .cl-organizationPreviewMainIdentifier{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.sidebar-foot .cl-userButtonOuterIdentifier{color:#fff}.sidebar-foot .cl-organizationSwitcherTrigger,.sidebar-foot .cl-organizationPreviewMainIdentifier{color:#fff9}.search{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:8px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}.search:focus{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px #534ab726}.content{overflow-anchor:none;flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.content>.bar:first-child{margin-top:0;padding-right:80px}.cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:8px 0 20px;display:grid}.card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px}.card:hover{background:#fafbff;border-color:#c4bff0}.card-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#111827;font-size:30px;font-weight:700;line-height:1.1}.card.accent .card-num{color:var(--amber)}.card.card-danger .card-num{color:var(--danger)}.card-group{margin-bottom:18px}.card-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:600}.card-label{color:#6b7280;margin-top:4px;font-size:13px}.pd-page{margin:0 0 40px}.pd-tab-panel{min-height:360px}.rule-cards{flex-wrap:wrap;gap:14px;margin:10px 0 20px;display:flex}.rule-card{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;flex:1 1 0;min-width:240px;padding:14px 16px}.rule-card>span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:12px}.rule-card>strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:4px 0 8px;font-size:30px;line-height:1.1;display:block}.rule-card p{color:#4b5563;margin:0;font-size:12px;line-height:1.55}.rule-card.overridden{background:var(--indigo-soft);border-color:#c4bff0}.pd-head{align-items:flex-start;gap:20px;margin:8px 0 16px;display:flex}.pd-img{object-fit:cover;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;width:120px;height:120px}.pd-noimg{color:#9ca3af;place-items:center;font-size:12px;display:grid}.pd-stats{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.pd-stats.wrap{gap:12px}.pd-stats>div{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:3px;min-width:96px;padding:10px 14px;display:flex}.pd-stats span{color:#6b7280;font-size:12px}.pd-stats strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px}.pd-stats.wrap>div{flex:1 1 0;padding:14px 16px}.pd-stats.wrap strong{font-size:22px}.vel-wrap{max-width:920px;display:flex}.vel-yaxis{text-align:right;flex-direction:column;justify-content:space-between;height:170px;padding-right:8px;display:flex}.vel-yaxis span{color:#9ca3af;font-size:10px;line-height:1}.vel-right{flex:1;min-width:0}.vel-plot{border-bottom:1px solid #e5e7eb;border-left:1px solid #e5e7eb;height:170px;position:relative}.vel-bars{align-items:flex-end;gap:8px;padding:0 6px;display:flex;position:absolute;inset:0}.vel-bars .bar-col{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.vel-bars .bar-col:hover{z-index:30}.vel-bars .bar{border-radius:2px 2px 0 0;width:78%;min-height:2px;position:relative}.vel-bars .bar-col:hover .bar{filter:brightness(.9)}.vel-tip{color:#fff;white-space:nowrap;text-align:center;opacity:0;pointer-events:none;z-index:5;background:#111827;border-radius:6px;margin-bottom:6px;padding:5px 9px;font-size:11px;line-height:1.4;transition:opacity .12s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.vel-tip .muted{color:#d1d5db;font-size:10px}.vel-bars .bar-col:hover .vel-tip{opacity:1}.bar-spring{background:#6ee7b7}.bar-summer{background:#fbbf24}.bar-fall{background:#fb923c}.bar-winter{background:#93c5fd}.bar-sales{background:var(--mid)}.dash-charts{grid-template-columns:1.7fr 1fr;align-items:stretch;gap:18px;margin-bottom:22px;display:grid}@media (width<=900px){.dash-charts{grid-template-columns:1fr}}.chart-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;padding:16px 18px;display:flex}.chart-card .card-group-label{margin-bottom:14px}.donut-wrap{flex:1;align-items:center;gap:20px;display:flex}.donut{flex:none;width:150px;height:150px}.donut-num{font-family:var(--font-display);fill:var(--ink);font-size:26px;font-weight:700}.donut-sub{fill:var(--muted);font-size:11px}.donut-legend{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.donut-legend li{cursor:pointer;align-items:center;gap:8px;display:flex}.donut-legend li:hover{color:var(--mid)}.donut-legend .sw{border-radius:3px;flex:none;width:11px;height:11px;display:inline-block}.stackbar{background:var(--line);border-radius:6px;height:22px;margin:2px 0 12px;display:flex;overflow:hidden}.stackbar-seg{height:100%}.stackbar-legend{flex-wrap:wrap;gap:20px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.stackbar-legend li{align-items:center;gap:7px;display:flex}.stackbar-legend .sw{border-radius:3px;flex:none;width:11px;height:11px}.blended-line{border-top:1px dashed var(--mid);pointer-events:none;position:absolute;left:0;right:0}.blended-label{color:var(--mid);background:#fff;padding:0 3px;font-size:9px;position:absolute;top:-7px;right:2px}.vel-axis{gap:7px;padding:4px 5px 0;display:flex}.vel-axis span{text-align:center;color:#9ca3af;flex:1;font-size:10px}.season-legend{color:#6b7280;justify-content:center;gap:16px;max-width:920px;margin:8px 0 12px;font-size:11px;display:flex}.season-legend span{align-items:center;gap:5px;display:flex}.season-legend .sw{border-radius:2px;width:10px;height:10px;display:inline-block}.season-legend .sw.spring{background:#6ee7b7}.season-legend .sw.summer{background:#fbbf24}.season-legend .sw.fall{background:#fb923c}.season-legend .sw.winter{background:#93c5fd}.onboard{background:#f7f8fa;min-height:100vh}.onboard-top{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.onboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:940px;margin:36px auto;padding:28px 32px}.steps{gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.steps li{text-align:center;color:#9ca3af;border-bottom:2px solid #e5e7eb;flex:1;padding-bottom:6px;font-size:12px}.steps li.on{color:var(--indigo);border-bottom-color:var(--indigo);font-weight:600}.steps li.done{color:var(--amber-dark);border-bottom-color:var(--amber)}.help{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px}.help summary{cursor:pointer;color:var(--indigo);font-weight:600}.help ol,.help ul{color:#4b5563;margin:10px 0 2px;padding-left:18px;line-height:1.6}.help p{color:#4b5563;margin:8px 0 0}.help code{background:var(--indigo-soft);border-radius:3px;padding:1px 4px;font-size:12px}.progress{background:#eef0f3;border-radius:6px;height:10px;overflow:hidden}.progress-bar{background:var(--mid);background-image:linear-gradient(45deg,#ffffff40 25%,#0000 25% 50%,#ffffff40 50% 75%,#0000 75%,#0000);background-size:20px 20px;border-radius:6px;height:100%;transition:width .4s;animation:1s linear infinite progress-stripes}@keyframes progress-stripes{0%{background-position:0 0}to{background-position:20px 0}}.checklist{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:12px 14px}.checklist ul{margin:8px 0 0;padding:0;list-style:none}.checklist li{align-items:center;gap:9px;padding:4px 0;font-size:14px;display:flex}.checklist li.done{color:#9ca3af}.checklist .check{color:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;line-height:1;display:inline-flex}.checklist .check.done{background:var(--amber);border-color:var(--amber)}.modal-backdrop{z-index:100;background:#11182773;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:460px;max-height:82vh;padding:24px 28px;overflow-y:auto;box-shadow:0 12px 40px #00000040}.checklist-list{margin:8px 0 12px;padding:0;list-style:none}.checklist-list li{padding:3px 0;font-size:14px}.checklist-list label{cursor:pointer;align-items:center;gap:8px;display:flex}table.grid{table-layout:fixed}.grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.grid th.sortable:hover{color:var(--indigo)}.grid th .col-resize{cursor:col-resize;width:7px;height:100%;position:absolute;top:0;right:0}.grid th.sortable:hover{background:#f5f6ff}.grid th.sortable:hover .col-resize{background:#c4bff0}.grid th .col-resize:hover{background:var(--mid)}.grid th{white-space:nowrap;overflow:hidden}.grid td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid td.sel{text-overflow:clip}
