:root { color-scheme: dark; --bg:#0d100f; --panel:#171b19; --panel-2:#1d2320; --line:#2b332f; --text:#f2f3ef; --muted:#9da8a1; --accent:#c8e35f; --accent-soft:#29331b; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.site-header { max-width:1400px; margin:auto; padding:32px clamp(20px,4vw,56px) 22px; display:flex; align-items:end; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
h1,h2,h3,h4,p { margin-top:0; } h1 { margin-bottom:0; font-size:clamp(28px,4vw,44px); letter-spacing:-.04em; } h2 { margin-bottom:0; font-size:24px; } h3 { margin:16px 0 2px; font-size:20px; }
.eyebrow { margin-bottom:6px; color:var(--accent); font-size:11px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
nav { display:flex; gap:8px; } nav a { color:var(--muted); text-decoration:none; padding:9px 12px; border-radius:8px; } nav a:hover { color:var(--text); background:var(--panel); }
main { max-width:1400px; margin:auto; padding:28px clamp(20px,4vw,56px) 64px; }
.summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:42px; }
.summary-card,.job-card,.custom-card,.empty-state { background:var(--panel); border:1px solid var(--line); border-radius:14px; }
.summary-card { padding:20px; display:flex; flex-direction:column; gap:10px; } .summary-card span { color:var(--muted); } .summary-card strong { font-size:34px; line-height:1; }
.summary-link { color:inherit; text-decoration:none; transition:border-color .15s ease,transform .15s ease; }.summary-link:hover { border-color:#58635d; transform:translateY(-2px); }.summary-link small { color:var(--muted); }.actionable-summary { border-color:#55632e; background:linear-gradient(145deg,var(--panel),#1d2518); }.actionable-summary strong,.actionable-summary small { color:var(--accent); }
.section-block { margin-top:38px; }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:16px; }.count { color:var(--muted); }
.job-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }.job-card { padding:20px; min-width:0; }
.job-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; }.order-number { font-weight:700; }.status { padding:4px 9px; border-radius:999px; font-size:12px; font-weight:700; text-transform:capitalize; }.status-waiting { background:var(--accent-soft); color:var(--accent); }
.status-printed { background:#25354a; color:#9ec8ff; }.status-done { background:#1c3824; color:#8de2a2; }
.customer,.variant,.job-card footer,.custom-card span { color:var(--muted); }.customer { margin:8px 0 0; }.variant { margin-bottom:18px; }.quantity { padding:10px 0; border-block:1px solid var(--line); }.quantity strong { font-size:20px; margin-left:5px; }
.customization { margin-top:18px; padding:14px; background:var(--panel-2); border-radius:10px; }.customization h4 { margin-bottom:10px; font-size:12px; color:var(--accent); text-transform:uppercase; letter-spacing:.1em; }
.serial-block { margin-top:16px; padding:14px; border:1px solid #4c5c32; border-radius:10px; background:#182016; }.serial-block h4 { margin-bottom:9px; color:var(--accent); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }.serial-block > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.serial-block > div + div { margin-top:7px; }.serial-block strong { font-size:20px; }.serial-status { font-size:11px; font-weight:800; text-transform:uppercase; }.status-reserved { color:#f1d777; }.status-committed { color:#8de2a2; }.workflow-error { margin:10px 0 0; padding:9px 11px; color:#ffb0b0; background:#382020; border-radius:8px; font-size:12px; }
.milestones { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; }.milestone-control,.ready-control { border:1px solid var(--line); border-radius:9px; padding:10px 12px; background:var(--panel-2); color:var(--muted); font:inherit; font-weight:700; cursor:pointer; }.milestone-control:hover,.ready-control:hover:not(:disabled) { border-color:var(--accent); color:var(--text); }.milestone-control.is-complete { color:#10200f; background:var(--accent); border-color:var(--accent); }.ready-control:disabled { cursor:not-allowed; opacity:.45; }.shipping-action { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }.remaining-count { color:var(--muted); font-size:12px; }
dl { margin:0; } dl div + div { margin-top:10px; } dt { color:var(--muted); font-size:12px; } dd { margin:1px 0 0; font-weight:650; overflow-wrap:anywhere; }.job-card footer { margin-top:18px; font-size:12px; }
.custom-list { display:grid; gap:10px; }.custom-card { display:grid; grid-template-columns:minmax(220px,.8fr) 1.2fr; gap:24px; padding:18px 20px; }.custom-card span { display:block; margin-top:4px; }.custom-card dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }.custom-card dl div + div { margin-top:0; }
.empty-state { grid-column:1/-1; padding:28px; color:var(--muted); }.empty-state h3 { color:var(--text); margin-top:0; }.empty-state p { margin-bottom:0; }
.awaiting-ready,.ready-list { display:grid; gap:10px; margin-top:16px; }.ready-prompt,.ready-order { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 20px; background:var(--panel); border:1px solid var(--line); border-radius:12px; }.ready-prompt { border-color:#55632e; }.ready-prompt span,.ready-order span,.ready-order time { display:block; color:var(--muted); font-size:13px; margin-top:3px; }.ready-order > div:last-child { text-align:right; }
.alert-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }.inventory-alert { padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }.inventory-alert time { color:var(--muted); font-size:12px; }.alert-out_of_stock { border-color:#7a3e3e; box-shadow:inset 0 3px #d26666; }.alert-low_stock { border-color:#76632f; box-shadow:inset 0 3px #d8b74e; }.alert-back_in_stock { border-color:#3f704c; box-shadow:inset 0 3px #67c27d; }
.alert-badge,.muted-badge { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.badge-out_of_stock { color:#ffaaaa; background:#3b2020; }.badge-low_stock { color:#f5d66d; background:#3a321c; }.badge-back_in_stock { color:#8de2a2; background:#1c3824; }.badge-intentional { color:#b4bdb8; background:#2b312e; }.muted-badge { color:var(--muted); background:var(--panel-2); }
.quantity-change { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin-top:20px; padding-top:14px; border-top:1px solid var(--line); font-size:24px; }.quantity-change b { color:var(--muted); font-size:16px; }.quantity-change strong { text-align:right; }.change-label { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; margin:2px 0 0; }
.inventory-list { display:grid; gap:8px; }.inventory-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 18px; border:1px solid var(--line); border-radius:11px; background:var(--panel); }.inventory-row span { display:block; color:var(--muted); margin-top:3px; }.inventory-row-status { display:flex; align-items:center; gap:14px; }.inventory-row-status .alert-badge,.inventory-row-status .muted-badge { margin-top:0; }.inventory-row-status > strong { min-width:28px; text-align:right; font-size:20px; }
@media (max-width:800px) { .summary-grid { grid-template-columns:repeat(2,1fr); }.site-header { align-items:start; flex-direction:column; }.custom-card { grid-template-columns:1fr; } }
@media (max-width:480px) { .summary-grid { grid-template-columns:1fr; }.job-grid { grid-template-columns:1fr; }.site-header { padding-top:22px; }.inventory-row { align-items:flex-start; flex-direction:column; }.inventory-row-status { width:100%; justify-content:space-between; } }
.recon-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.recon-summary article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.recon-summary span{display:block;color:var(--muted);font-size:13px}.recon-summary strong{font-size:28px}.upload-panel{display:flex;justify-content:space-between;gap:24px;align-items:end}.upload-panel form{display:flex;gap:12px;align-items:end}label{display:grid;gap:5px;font-size:13px;color:var(--muted)}input{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;padding:9px}button,details summary{border:0;border-radius:8px;padding:10px 14px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.recon-list{display:grid;gap:12px}.recon-row{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:10px;padding:16px}.status-likely_missing{border-left-color:#d97706}.status-needs_review{border-left-color:#ca8a04}.status-matched{border-left-color:#16a34a}.recon-core{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}.recon-core h3{margin:3px 0}.recon-core p,.match-reason,.muted,.import-note{color:var(--muted)}.status-pill{font-size:12px;text-transform:uppercase}.recon-actions{display:flex;gap:8px;align-items:start}.expense-form{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px;background:var(--panel);padding:14px;border-radius:10px}.expense-form .wide{grid-column:1/-1}.form-error{padding:12px;background:#7f1d1d;color:#fff;border-radius:8px;margin-bottom:16px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:800px){.recon-summary{grid-template-columns:repeat(2,1fr)}.upload-panel,.upload-panel form,.recon-actions{display:grid}.recon-core{grid-template-columns:1fr}.expense-form{grid-template-columns:1fr}.expense-form .wide{grid-column:auto}}
nav .logout-form { display: inline-flex; margin: 0; }
.login-page { min-height: 100vh; display: grid; place-items: center; }
.login-shell { width: min(440px, calc(100% - 2rem)); margin: auto; }
.login-card { background: var(--panel, #fff); border: 1px solid rgba(40, 35, 30, .12); border-radius: 18px; padding: 2rem; box-shadow: 0 18px 50px rgba(40, 35, 30, .1); }
.login-card h1 { margin-top: .35rem; }
.login-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.login-form label { display: grid; gap: .4rem; }
