:root{--bg:#0b1220;--card:#0f1724;--accent:#e53e3e;--muted:#9aa4b2}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:linear-gradient(180deg,#071025,#07172a);color:#e6eef6}
.container{max-width:1400px;margin:20px auto;padding:22px}
.site-header{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.rh-logo{height:84px}
h1{margin:0;font-size:1.6rem}
.subtitle{margin:4px 0 0;color:var(--muted)}
.controls{display:flex;flex-wrap:wrap;gap:12px;background:rgba(255,255,255,0.02);padding:12px;border-radius:10px;margin-bottom:12px;border:1px solid rgba(255,255,255,0.02)}
.field{display:flex;flex-direction:column;min-width:160px}
.field label{font-size:0.85rem;color:var(--muted);margin-bottom:6px}
.field input{padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
.actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.btn{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--muted);cursor:pointer}
.btn.primary{background:var(--accent);color:white;border:none}
.summary .stats{color:var(--muted);margin:10px 0}
.visual{display:flex;gap:16px}
.bins{display:flex;gap:16px;flex-wrap:wrap;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,0.01),transparent);border-radius:8px;flex:1;align-items:flex-start;width:100%}
.col{flex:0 0 160px;background:rgba(255,255,255,0.035);padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.12);box-shadow:0 4px 14px rgba(2,6,23,0.6);transition:transform .12s,box-shadow .12s}
.col:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(2,6,23,0.6)}
.col-title{font-weight:600;margin-bottom:8px;font-size:0.95rem}
.item{margin-bottom:6px;border-radius:6px;background:linear-gradient(180deg,#90cdf4,#63b3ed);padding:10px 8px;color:#04263f;font-weight:600;display:flex;align-items:center;justify-content:center;min-height:44px}
.item.unalloc{background:linear-gradient(180deg,#fed7d7,#feb2b2);color:#4a0b0b;padding:14px 8px;min-height:48px}
.unallocated-col{flex:1 1 100%;width:100%;display:flex;flex-direction:column;margin-top:12px}
.unallocated-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;align-items:start}
@media (max-width:880px){.unallocated-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}}
.suggestions{width:360px;padding:12px;background:rgba(255,255,255,0.02);border-radius:8px;border:1px solid rgba(255,255,255,0.03)}
.suggestions h3{margin-top:0}
.suggest{padding:8px;border-radius:6px;margin-bottom:6px;background:rgba(255,255,255,0.01);border:1px solid rgba(255,255,255,0.02)}
.suggest .to{color:var(--accent);font-weight:700}
.chartPanel{width:360px;padding:12px;background:rgba(255,255,255,0.02);border-radius:8px;border:1px solid rgba(255,255,255,0.03);display:flex;flex-direction:column;gap:8px}
.chartPanel h3{margin:0}
.chart-legend{font-size:0.85rem;color:var(--muted)}
.chartPanel canvas{background:transparent;border-radius:6px}
.vpa-row{margin-bottom:12px}
.vpa-line{background:rgba(255,255,255,0.02);padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.03)}
.vpa-line-content{display:flex;gap:8px;flex-wrap:wrap}
.vpa-inline{display:flex;gap:8px;flex-wrap:wrap}
.vpa-pill{background:rgba(255,255,255,0.02);padding:6px 10px;border-radius:14px;border:1px solid rgba(255,255,255,0.03);font-weight:600}
.unallocated-list{padding:6px}
.site-footer{text-align:center;margin-top:16px;color:var(--muted)}

@media (max-width:880px){.visual{flex-direction:column}.suggestions{width:100%}.rh-logo{height:64px}}
