:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f6;--text: #1a2030;--muted: #5d6676;--border: #e2e5ea;--border-strong: #c9ced8;--overlay: rgba(14, 18, 28, .5);--accent: #2f5bd7;--accent-hover: #2549b3;--accent-bg: #eaf0ff;--on-accent: #ffffff;--focus: #2f5bd7;--brand: #c2410c;--on-brand: #ffffff;--ok: #22a06b;--ok-text: #167a50;--ok-bg: #e7f6ef;--attention: #d97706;--attention-text: #92540a;--attention-bg: #fdf1dc;--failed: #dc2626;--failed-text: #b42318;--failed-bg: #fef3f2;--waiting: #2f5bd7;--waiting-text: #2549b3;--waiting-bg: #eaf0ff;--muted-bg: #eef0f4;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(20, 26, 40, .06);--shadow-lg: 0 18px 48px rgba(14, 18, 28, .22);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--text-sm: 12.5px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--header-h: 60px;--content-max: 1200px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #121519;--surface: #1b1f26;--surface-2: #232831;--text: #e9ecf2;--muted: #9aa3b2;--border: #2c323d;--border-strong: #3d4552;--overlay: rgba(0, 0, 0, .62);--accent: #7c9bff;--accent-hover: #9bb2ff;--accent-bg: #1f2a4a;--on-accent: #0b1020;--focus: #9bb2ff;--brand: #ea7a45;--on-brand: #1a0d06;--ok-text: #4cc38a;--ok-bg: #14281f;--attention-text: #f2a43a;--attention-bg: #2e2312;--failed-text: #f77d72;--failed-bg: #2a1a1a;--waiting-text: #9bb2ff;--waiting-bg: #1f2a4a;--muted-bg: #262b34;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font:var(--text-base) / 1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.sp-no-scroll{overflow:hidden}h1,h2,h3,p{margin:0}h1{font-size:var(--text-2xl);line-height:1.25;font-weight:650;letter-spacing:-.01em}h2{font-size:var(--text-lg);font-weight:650}h3{font-size:var(--text-base);font-weight:650}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sp-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sp-muted{color:var(--muted)}.sp-num{font-variant-numeric:tabular-nums}.sp-mono{font-family:var(--font-mono);font-size:.92em}.sp-strong{font-weight:600}.sp-sub{display:block;color:var(--muted);font-size:var(--text-sm)}.sp-code{padding:1px 5px;border-radius:4px;background:var(--surface-2);font-family:var(--font-mono);font-size:.9em;white-space:nowrap}.sp-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sp-link:hover{color:var(--accent-hover)}.sp-skip{position:absolute;left:var(--space-3);top:-48px;z-index:100;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.sp-skip:focus{top:var(--space-2)}.sp-shell{min-height:100vh}.sp-header{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);min-height:var(--header-h);padding:var(--space-2) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border)}.sp-brand{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.sp-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand);color:var(--on-brand);font-size:16px;font-weight:700}.sp-brand-text{display:grid;line-height:1.2}.sp-brand-name{font-weight:700}.sp-brand-sub{color:var(--muted);font-size:var(--text-sm)}.sp-pickers{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-left:var(--space-5);border-left:1px solid var(--border)}.sp-picker{display:grid;gap:2px}.sp-picker-label{color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.sp-picker select{min-width:180px;min-height:32px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-weight:600}.sp-header-end{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}.sp-header-notice{flex-basis:100%}.sp-header-hint{max-width:220px;color:var(--muted);font-size:var(--text-sm);line-height:1.35}.sp-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.sp-header-notice .sp-notice-slot:empty{display:none}.sp-conn{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.sp-conn-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.sp-conn-connected .sp-conn-dot{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.sp-conn-reconnecting .sp-conn-dot,.sp-conn-connecting .sp-conn-dot{background:var(--attention);box-shadow:0 0 0 3px var(--attention-bg);animation:sp-pulse 1.4s ease-in-out infinite}.sp-conn-offline .sp-conn-dot{background:var(--failed);box-shadow:0 0 0 3px var(--failed-bg)}.sp-conn-offline{color:var(--failed-text)}@keyframes sp-pulse{50%{opacity:.35}}.sp-tabs-bar{position:sticky;top:var(--header-h);z-index:15;background:var(--surface);border-bottom:1px solid var(--border)}.sp-tabs{position:relative;display:flex;gap:var(--space-1);max-width:calc(var(--content-max) + 2 * var(--space-5));margin:0 auto;padding:0 var(--space-5);overflow-x:auto}.sp-tab{margin-bottom:-1px;padding:11px var(--space-3);border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-weight:500;white-space:nowrap;cursor:pointer}.sp-tab:hover{color:var(--text)}.sp-tab:focus-visible{outline-offset:-3px;border-radius:var(--radius-sm)}.sp-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text);font-weight:650}.sp-main{padding:var(--space-5)}.sp-content{max-width:var(--content-max);margin:0 auto}.sp-content:focus{outline:none}.sp-stack{display:grid;gap:var(--space-4)}.sp-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.sp-page-head p{margin-top:var(--space-1);color:var(--muted);max-width:72ch}.sp-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sp-banner-error{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--failed);border-left-width:4px;border-radius:var(--radius-sm);background:var(--failed-bg);color:var(--failed-text);font-weight:500}.sp-callout{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted)}.sp-card{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.sp-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.sp-card-head p{margin-top:2px;max-width:72ch}.sp-card-title{font-size:var(--text-lg)}.sp-card .sp-table-wrap{box-shadow:none}.sp-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3) var(--space-5);margin:0}.sp-facts dt{color:var(--muted);font-size:var(--text-sm);font-weight:600}.sp-facts dd{margin:2px 0 0;overflow-wrap:anywhere}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s}.sp-btn:hover:not(:disabled){background:var(--surface-2)}.sp-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sp-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.sp-btn-danger{border-color:var(--failed);color:var(--failed-text)}.sp-btn-danger:hover:not(:disabled){background:var(--failed-bg)}.sp-btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.sp-btn-ghost:hover:not(:disabled){background:var(--accent-bg)}.sp-btn-sm{min-height:30px;padding:0 var(--space-3);font-size:var(--text-sm)}.sp-btn:disabled{opacity:.55;cursor:not-allowed}.sp-btn[aria-busy=true]{opacity:.8;cursor:progress}.sp-btn-spin,.sp-spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sp-spin .8s linear infinite}.sp-spin{width:18px;height:18px;border-color:var(--border-strong);border-top-color:var(--accent)}@keyframes sp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sp-btn-spin,.sp-spin{animation-duration:2.4s}.sp-conn-dot{animation:none!important}}.sp-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);color:var(--muted)}.sp-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:999px;font-size:var(--text-sm);font-weight:600;line-height:1.5;white-space:nowrap}.sp-badge-glyph{font-size:11px;line-height:1}.sp-badge-ok{background:var(--ok-bg);color:var(--ok-text)}.sp-badge-waiting{background:var(--waiting-bg);color:var(--waiting-text)}.sp-badge-attention{background:var(--attention-bg);color:var(--attention-text)}.sp-badge-failed{background:var(--failed-bg);color:var(--failed-text)}.sp-badge-muted{background:var(--muted-bg);color:var(--muted)}.sp-tally{display:grid;justify-items:start;gap:4px;min-width:160px;max-width:320px}.sp-tally-note{color:var(--muted);font-size:var(--text-sm);line-height:1.4}.sp-tally-error{color:var(--failed-text)}.sp-tally-wait{color:var(--attention-text);font-weight:600}.sp-notice-slot:empty{display:none}.sp-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-sm);background:var(--surface)}.sp-notice-text{flex:1 1 280px;font-weight:500;overflow-wrap:anywhere}.sp-notice-ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok-text)}.sp-notice-warn{border-color:var(--attention);background:var(--attention-bg);color:var(--attention-text)}.sp-notice-error{border-color:var(--failed);background:var(--failed-bg);color:var(--failed-text)}.sp-notice-info{border-color:var(--waiting);background:var(--waiting-bg);color:var(--waiting-text)}.sp-form-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--failed-bg);color:var(--failed-text);font-weight:500;overflow-wrap:anywhere}.sp-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center}.sp-empty h3{font-size:var(--text-lg)}.sp-empty p{max-width:56ch;color:var(--muted)}.sp-empty-action{margin-top:var(--space-2)}.sp-form{display:grid;gap:var(--space-4)}.sp-form-actions{display:flex;gap:var(--space-2)}.sp-grid-2,.sp-grid-3{display:grid;gap:var(--space-4)}.sp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-span-2{grid-column:1 / -1}.sp-field{display:grid;align-content:start;gap:6px}.sp-label{font-weight:600}.sp-hint{color:var(--muted);font-size:var(--text-sm)}.sp-field-error{color:var(--failed-text);font-size:var(--text-sm);font-weight:500}.sp-field input:not([type=checkbox]):not([type=radio]),.sp-field select,.sp-field textarea,.sp-select-inline{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit}.sp-field textarea{resize:vertical}.sp-field input[aria-invalid=true]{border-color:var(--failed)}.sp-select-inline{width:auto;min-width:150px;min-height:32px;padding:4px 8px}.sp-fieldset{display:grid;gap:var(--space-3);margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius)}.sp-fieldset legend{padding:0 var(--space-2);font-weight:650}.sp-check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.sp-check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.sp-line{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(140px,1.6fr) minmax(120px,1fr) minmax(100px,.8fr) auto auto;align-items:end;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px dashed var(--border)}.sp-line-petty{grid-template-columns:minmax(160px,2fr) minmax(120px,1fr) auto}.sp-line-itc,.sp-line-remove{display:flex;align-items:center;min-height:36px}.sp-alloc{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.sp-segmented,.sp-filter{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.sp-segmented,.sp-filter{justify-self:start}.sp-filter{margin:0}.sp-seg{position:relative;display:inline-flex;align-items:center;padding:6px var(--space-4);border-radius:var(--radius-sm);color:var(--muted);font-weight:600;cursor:pointer}.sp-seg input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.sp-seg:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.sp-seg:has(input:disabled){opacity:.5;cursor:not-allowed}.sp-seg-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.sp-tax{padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2)}.sp-tax-where{margin-bottom:var(--space-2);font-weight:650}.sp-tax-rows{display:grid;gap:4px;max-width:340px;margin:0 0 0 auto}.sp-tax-rows div{display:flex;justify-content:space-between;gap:var(--space-4)}.sp-tax-rows dt{color:var(--muted)}.sp-tax-rows dd{margin:0;font-variant-numeric:tabular-nums}.sp-tax-total{margin-top:4px;padding-top:6px;border-top:1px solid var(--border-strong);font-weight:700}.sp-tax-total dt{color:var(--text)}.sp-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.sp-table{width:100%;border-collapse:collapse}.sp-table-caption{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--text-sm);text-align:left;caption-side:top}.sp-table th,.sp-table td{padding:10px var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.sp-table th{background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);font-weight:650;letter-spacing:.02em;white-space:nowrap}.sp-table tbody tr:last-child td{border-bottom:0}.sp-table tbody tr:hover td{background:var(--surface-2)}.sp-table .sp-right{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sp-row-actions{text-align:right;white-space:nowrap}.sp-row-actions .sp-btn+.sp-btn{margin-left:var(--space-1)}.sp-row-deleted td{color:var(--muted)}.sp-row-deleted .sp-strong{text-decoration:line-through}.sp-table tbody tr.sp-row-extra td,.sp-table tbody tr.sp-row-extra:hover td{padding-top:0;background:var(--surface)}.sp-plain-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.sp-confirm{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--attention);border-left-width:4px;border-radius:var(--radius-sm);background:var(--attention-bg)}.sp-confirm-title{color:var(--text)}.sp-candidates{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.sp-candidates li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.sp-candidates li .sp-btn{margin-left:auto}.sp-readiness{display:grid;justify-items:start;gap:4px}.sp-missing{margin:2px 0 0;padding-left:18px;font-size:var(--text-sm)}.sp-result:focus{outline:2px solid var(--focus);outline-offset:2px}.sp-tally-counts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.sp-count{padding:3px 12px;border-radius:999px;background:var(--muted-bg);color:var(--muted);font-size:var(--text-sm);font-weight:650}.sp-count-ok{background:var(--ok-bg);color:var(--ok-text)}.sp-count-failed{background:var(--failed-bg);color:var(--failed-text)}.sp-count-attention{background:var(--attention-bg);color:var(--attention-text)}.sp-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.sp-result-title{margin-bottom:var(--space-1);color:var(--muted);font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase}.sp-result-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.sp-result-list li{display:grid;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2)}.sp-result-why{color:var(--muted);font-size:var(--text-sm)}.sp-feed{margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.sp-feed-row{display:grid;grid-template-columns:72px 104px 132px minmax(0,1fr);align-items:baseline;gap:var(--space-1) var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--border)}.sp-feed-row:last-child{border-bottom:0}.sp-feed-row>.sp-badge{justify-self:start}.sp-feed-source{color:var(--muted);font-size:var(--text-sm)}.sp-feed-text{min-width:0;overflow-wrap:anywhere}.sp-feed-detail{grid-column:4;color:var(--failed-text);font-size:var(--text-sm);overflow-wrap:anywhere}.sp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:var(--overlay)}.sp-dialog{display:flex;flex-direction:column;width:min(100%,560px);max-height:calc(100vh - 2 * var(--space-5));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.sp-dialog-wide{width:min(100%,920px)}.sp-dialog:focus{outline:none}.sp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.sp-dialog-body{padding:var(--space-5);overflow-y:auto}.sp-dialog-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border)}@media (max-width: 900px){.sp-pickers{padding-left:0;border-left:0}.sp-header-end{margin-left:0}.sp-line,.sp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sp-header{position:static;padding:var(--space-3) var(--space-4)}.sp-tabs-bar{top:0}.sp-tabs{padding:0 var(--space-4)}.sp-main,.sp-card{padding:var(--space-4)}.sp-grid-2,.sp-grid-3,.sp-line,.sp-line-petty{grid-template-columns:minmax(0,1fr)}.sp-picker select{min-width:0;width:100%}.sp-feed-row{grid-template-columns:auto minmax(0,1fr)}.sp-feed-text,.sp-feed-detail{grid-column:1 / -1}}.sp-tally-dash{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--space-2)}.sp-status-pick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.sp-gate{display:grid;min-height:100vh;place-items:center;padding:var(--space-4)}.sp-gate-card{display:grid;gap:var(--space-4);width:min(100%,360px);padding:var(--space-5)}
