:root{--st-bg:#ffffff;--st-card:#ffffff;--st-text:#1a1a1a;--st-muted:#6b7280;--st-accent:#1a237e;--st-border:#e5e7eb;--st-chip:#f3f4f6;--st-radius:14px;--st-gap:14px}
.st-panel{padding:18px;background:transparent;color:var(--st-text);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif}
.st-wrap{max-width:1200px;margin:0 auto}
.st-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius)}
.st-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--st-gap);margin:14px 0}
.st-goal{padding:14px 16px;display:flex;align-items:center;gap:10px}
.st-input{background:#0d1017;color:var(--st-text);border:1px solid var(--st-border);border-radius:10px;padding:10px 12px;outline:none;width:140px}
.st-chip{background:var(--st-chip);color:var(--st-muted);padding:6px 10px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--st-border)}
.st-progress{flex:1 1 240px;min-width:260px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.st-flex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.st-right{margin-left:auto}
.st-badge{padding:4px 8px;border:1px solid var(--st-border);border-radius:999px;font-size:12px;color:var(--st-muted);background:#0d1219}
.st-progress-bar{height:10px;background:#0c0f15;border-radius:999px;border:1px solid var(--st-border);overflow:hidden}
.st-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#7af0c0,var(--st-accent))}
.st-totals{display:flex;gap:8px;flex-wrap:wrap}
.st-total{padding:8px 10px;border-radius:10px;background:#0d1219;border:1px solid var(--st-border)}
.st-legend{display:flex;gap:8px;align-items:center}
.st-dot{width:8px;height:8px;border-radius:999px;display:inline-block}
.st-dot-auto{background:#5ee3a1}.st-dot-manual{background:#7aa2ff}.st-dot-derived{background:#eab308}
.st-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--st-gap)}
.st-col-4{grid-column:span 4;min-width:260px}
@media (max-width:900px){.st-col-4{grid-column:span 12}}
.st-cat{padding:14px;display:flex;flex-direction:column;gap:10px;position:relative}
.st-cat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.st-title{font-weight:600}
.st-source{font-size:12px;color:var(--st-muted);display:flex;gap:6px;align-items:center}
.st-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.st-pill{padding:6px 10px;background:#0d1219;border:1px solid var(--st-border);border-radius:10px;color:var(--st-muted)}
.st-qty{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--st-border);border-radius:10px;padding:6px}
.st-btn{background:#0f141d;border:1px solid var(--st-border);color:var(--st-text);padding:6px 10px;border-radius:8px;cursor:pointer}
.st-btn[disabled]{opacity:.5;cursor:not-allowed}
.st-numinput{width:70px;text-align:center;background:transparent;border:none;color:var(--st-text);outline:none;font-weight:600}
.st-sub{display:flex;gap:10px;flex-wrap:wrap}
.st-mini{font-size:12px;color:var(--st-muted)}
.st-no-data{color:var(--st-muted);font-size:12px}
.st-pathways{margin-top:14px;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--st-gap)}
.st-path{grid-column:span 6;padding:14px}
@media (max-width:900px){.st-path{grid-column:span 12}}
.st-mono{font-variant-numeric:tabular-nums}
