:root{--text:#4b5563;--text-h:#111827;--bg:#f9fafb;--card-bg:#fff;--border:#e5e7eb;--accent:#3b82f6;--accent-light:#dbeafe;--accent-dark:#1d4ed8;--green:#10b981;--green-light:#d1fae5;--orange:#f59e0b;--orange-light:#fef3c7;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-lg:0 4px 6px #00000012, 0 10px 15px #0000001a;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#111827;--card-bg:#1f2937;--border:#374151;--accent:#60a5fa;--accent-light:#60a5fa26;--accent-dark:#93bbfd;--green:#34d399;--green-light:#34d39926;--orange:#fbbf24;--orange-light:#fbbf2426;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 6px #0000004d, 0 10px 15px #0003}}*,:before,:after{box-sizing:border-box}body{margin:0;padding:0}#root{max-width:1000px;margin:0 auto;padding:24px 16px 48px}header{text-align:center;margin-bottom:32px}header h1{color:var(--text-h);margin:0 0 8px;font-size:2rem;font-weight:700}.subtitle{color:var(--text);margin:0;font-size:1.05rem}.panels{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=768px){.panels{grid-template-columns:1fr}}.panel{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:24px}.panel h2{color:var(--text-h);margin:0 0 20px;font-size:1.25rem;font-weight:600}.blue-bins-input{background:var(--accent-light);border:2px solid var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.blue-bins-input label{color:var(--accent-dark);white-space:nowrap;font-weight:600}.blue-bins-input input{border:1px solid var(--border);text-align:right;background:var(--card-bg);width:100px;color:var(--text-h);border-radius:6px;padding:8px 12px;font-size:1.1rem;font-weight:600}.material-grid{flex-direction:column;gap:2px;display:flex}.grid-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text);grid-template-columns:1fr 90px 90px;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:600;display:grid}.grid-header span:nth-child(2),.grid-header span:nth-child(3){text-align:right}.grid-row{border-radius:6px;grid-template-columns:1fr 90px 90px;align-items:center;gap:8px;padding:6px 12px;transition:background .15s;display:grid}.grid-row:hover{background:var(--accent-light)}.mat-name{color:var(--text-h);font-weight:500}.mat-need{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.grid-row input{border:1px solid var(--border);text-align:right;background:var(--card-bg);width:100%;color:var(--text-h);font-variant-numeric:tabular-nums;border-radius:6px;padding:6px 8px;font-size:.95rem}.grid-row input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.result-hero{text-align:center;background:var(--green-light);border-radius:10px;margin-bottom:20px;padding:24px 16px}.result-number{color:var(--green);font-size:3.5rem;font-weight:800;line-height:1}.result-label{color:var(--text);margin-top:4px;font-size:1rem;font-weight:500}.result-stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.stat{text-align:center;background:var(--accent-light);border-radius:8px;padding:14px 8px}.stat-value{color:var(--accent);font-size:1.5rem;font-weight:700;display:block}.stat-label{color:var(--text);margin-top:2px;font-size:.8rem}.allocation-table{border-top:1px solid var(--border);padding-top:16px}.allocation-table h3{color:var(--text-h);margin:0 0 12px;font-size:.95rem;font-weight:600}.alloc-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text);grid-template-columns:1fr 90px 80px;gap:8px;padding:6px 10px;font-size:.75rem;font-weight:600;display:grid}.alloc-header span:nth-child(2),.alloc-header span:nth-child(3){text-align:right}.alloc-row{color:var(--text);border-radius:5px;grid-template-columns:1fr 90px 80px;gap:8px;margin-bottom:4px;padding:10px;font-size:.92rem;display:grid}.alloc-row.has-alloc{background:var(--orange-light);color:var(--text-h);font-weight:500}.alloc-spend{text-align:right;font-variant-numeric:tabular-nums}.alloc-row.has-alloc .alloc-spend{color:var(--orange);font-weight:700}.alloc-left{text-align:right;font-variant-numeric:tabular-nums}.hint{text-align:center;background:var(--orange-light);color:var(--text);border-radius:8px;margin-top:12px;padding:16px;font-size:.9rem}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}
