:root {
  --bg: #f5f7fb;
  --card: #ffffff;
  --text: #10468e;
  --muted: #6b7280;
  --line: #e5e7eb;
  --accent: #10468e;
  --soft: #eef2ff;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { max-width: 1180px; margin: 0 auto; padding: 20px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.brand { font-size: 24px; font-weight: 800; letter-spacing: -0.03em; }
.tagline { color: var(--muted); font-size: 13px; margin-top: 2px; }
.mode-btn, .link-btn, .inline-row button { border: 1px solid var(--line); background: white; border-radius: 12px; padding: 10px 14px; }
.view { display: none; }
.view.active { display: block; }
.hero-card { background: linear-gradient(135deg,#10468e,#2b67ad); color: white; border-radius: 24px; padding: 26px; display: flex; justify-content: space-between; align-items: end; gap: 24px; box-shadow: 0 12px 30px rgba(16,70,142,.16); }
.hero-card h1 { margin: 8px 0 8px; font-size: clamp(30px,5vw,52px); letter-spacing: -0.04em; line-height: .98; }
.hero-card p { margin: 0; opacity: .78; max-width: 560px; }
.eyebrow { font-size: 12px; letter-spacing: .16em; opacity: .7; }
.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; min-width: 290px; }
.stats div { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 14px; text-align: center; }
.stats strong { font-size: 24px; display: block; }
.stats span { font-size: 12px; opacity: .7; }
.search-section { margin: 18px 0; }
.search-section input, .panel input, .panel select, .panel textarea { width: 100%; border: 1px solid var(--line); background: white; border-radius: 14px; padding: 13px 14px; outline: none; }
.search-section input:focus, .panel input:focus, .panel textarea:focus { border-color: #9ca3af; box-shadow: 0 0 0 3px rgba(16,70,142,.08); }
.section-head { display:flex; justify-content:space-between; align-items:center; margin: 26px 0 12px; }
.section-head h2, .panel h2 { margin:0; font-size:18px; }
.chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.chip { border:1px solid var(--line); background:white; padding:8px 12px; border-radius:999px; font-size:13px; }
.chip.active { background:var(--accent); color:white; }
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.bin-card { background:white; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 6px 18px rgba(16,70,142,.05); }
.bin-photo { width:100%; aspect-ratio: 4/3; object-fit:cover; background:#e5e7eb; display:block; }
.bin-photo.placeholder { display:flex; align-items:center; justify-content:center; color:#6b7280; font-size:46px; }
.bin-body { padding:16px; }
.bin-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.bin-title { font-weight:750; }
.bin-id { color:var(--muted); font-size:12px; margin-top:3px; }
.badge { background:var(--soft); border-radius:999px; padding:6px 9px; font-size:11px; white-space:nowrap; }
.item-preview { color:#4b5563; font-size:13px; margin:12px 0; line-height:1.45; min-height:38px; }
.card-actions { display:flex; gap:8px; }
.card-actions button { flex:1; border-radius:12px; padding:10px; border:1px solid var(--line); background:white; }
.card-actions .primary { background:var(--accent); color:white; border-color:var(--accent); }
.request-list { display:grid; gap:10px; }
.request { background:white; border:1px solid var(--line); border-radius:16px; padding:14px; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.request small { color:var(--muted); }
.status { font-size:12px; border-radius:999px; padding:6px 9px; background:#f3f4f6; }
.ops-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }
.panel { background:white; border:1px solid var(--line); border-radius:20px; padding:18px; }
.panel label { display:block; font-size:12px; font-weight:650; margin:13px 0 6px; color:#374151; }
.inline-row { display:flex; gap:8px; }
.inline-row input { flex:1; }
.primary { background:var(--accent)!important; color:white!important; border-color:var(--accent)!important; }
.full { width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--accent); margin-top:12px; }
.helper { color:var(--muted); font-size:12px; line-height:1.4; }
.photo-preview { margin-top:12px; width:100%; aspect-ratio:4/3; border-radius:14px; border:1px dashed #cbd5e1; display:flex; align-items:center; justify-content:center; overflow:hidden; color:var(--muted); background:#f8fafc; }
.photo-preview img { width:100%; height:100%; object-fit:cover; }
.table-wrap { overflow:auto; background:white; border:1px solid var(--line); border-radius:18px; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th,td { padding:13px 14px; text-align:left; border-bottom:1px solid var(--line); font-size:13px; }
th { color:#6b7280; font-weight:650; background:#fafafa; }
.table-btn { border:1px solid var(--line); background:white; border-radius:10px; padding:7px 10px; }
dialog { border:none; border-radius:22px; padding:0; width:min(560px,92vw); box-shadow:0 30px 80px rgba(0,0,0,.28); }
dialog::backdrop { background:rgba(16,70,142,.42); }
.dialog-body { position:relative; padding:22px; }
.close-btn { position:absolute; right:12px; top:10px; border:none; background:transparent; font-size:28px; }
.dialog-photo { width:100%; border-radius:16px; margin:12px 0; max-height:320px; object-fit:cover; }
.item-list { padding-left:20px; }
.empty-state { color:var(--muted); background:white; border:1px dashed #cbd5e1; border-radius:16px; padding:24px; text-align:center; }
@media (max-width: 820px) {
  .hero-card { align-items:flex-start; flex-direction:column; }
  .stats { width:100%; min-width:0; }
  .ops-grid { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .app-shell { padding:14px; }
  .topbar { align-items:flex-start; }
  .mode-btn { font-size:12px; padding:9px 10px; }
  .hero-card { border-radius:20px; padding:20px; }
  .stats { grid-template-columns:repeat(3,1fr); }
  .request { align-items:flex-start; flex-direction:column; }
}

.edit-banner{display:none;margin:0 0 16px;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;background:#f9fafb;align-items:center;justify-content:space-between;gap:12px}.edit-banner.active{display:flex}.edit-banner strong{display:block}.edit-banner small{color:#6b7280}.action-cell{display:flex;gap:6px;justify-content:flex-end}.table-btn.edit{font-weight:700}.secondary{background:#fff;border:1px solid #d1d5db}.hidden{display:none!important}
.top-actions{display:flex;gap:8px;align-items:center}.welcome-card{background:white;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 12px 30px rgba(16,70,142,.08)}.welcome-card h1{font-size:clamp(32px,5vw,54px);letter-spacing:-.04em;line-height:1;margin:10px 0;max-width:760px}.welcome-card p{color:var(--muted);max-width:640px;font-size:17px}.welcome-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.big-btn{padding:13px 18px;border-radius:13px;border:1px solid var(--line)}.eyebrow.dark{color:#6b7280;opacity:1}.profile-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;background:white;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:16px 0}.profile-strip small{display:block;color:var(--muted);margin-bottom:3px}.profile-strip strong{font-size:14px}.customer-add-panel{margin-top:16px}.customer-form-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-head.compact{margin:0 0 6px}.muted-note{font-size:12px;color:var(--muted)}.mini-photo-preview{width:140px;height:105px;margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.mini-photo-preview img{width:100%;height:100%;object-fit:cover}.form-stack label,.dialog-body label{display:block;font-size:12px;font-weight:650;margin:12px 0 6px;color:#374151}.form-stack input,.dialog-body input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px}.form-stack .full{margin-top:16px}.request-note{font-size:12px;color:#4b5563;margin-top:6px}.intake-card small{display:inline-block;max-width:700px}.panel select,.customer-add-panel select,.customer-add-panel textarea,.customer-add-panel input{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:13px 14px}.customer-add-panel label{display:block;font-size:12px;font-weight:650;margin:13px 0 6px;color:#374151}
@media(max-width:650px){.topbar{flex-direction:column;align-items:stretch}.top-actions{width:100%}.top-actions button{flex:1}.customer-form-grid,.two-col{grid-template-columns:1fr}.profile-strip{align-items:flex-start}.welcome-card{padding:24px}}


/* v3 pilot controls */
.request-card{align-items:center}.request-main{min-width:0}.request-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.request-link{border:1px solid var(--line);background:white;border-radius:10px;padding:7px 10px;font-size:12px}.request-link.danger{color:#b42318;border-color:#f1b9b4}.danger-btn{background:#fff;color:#b42318;border:1px solid #f1b9b4;padding:12px 14px;border-radius:12px}.request-group-title{font-size:12px;font-weight:750;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin:4px 0 8px}.history-block{margin-top:14px}.history-block>summary{cursor:pointer;color:#4b5563;font-weight:650;padding:10px 2px}.history-list{display:grid;gap:10px;margin-top:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.detail-grid>div,.detail-note{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.detail-grid small,.detail-note small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.detail-grid strong{font-size:14px}.detail-note p{margin:4px 0 0}.card-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.request-actions{justify-content:flex-start}.detail-grid{grid-template-columns:1fr}}

/* StowToGo brand */
.brand-wrap{display:flex;align-items:center;gap:12px}.brand-logo{display:block;max-width:180px;max-height:52px;width:auto;height:auto;object-fit:contain}.brand-fallback{font-size:24px;font-weight:800;letter-spacing:-.03em;color:#10468e}.brand-tagline{color:#5f6f85;font-size:13px;margin-top:2px}.topbar .mode-btn{color:#10468e}.link-btn{color:#10468e}.section-head h2,.panel h2,.bin-title,.request-main strong{color:#10468e}.status,.badge{color:#10468e}.request-link{color:#10468e}.table-btn.edit{color:#10468e}.welcome-card h1{color:#10468e}.eyebrow.dark{color:#10468e}.profile-strip strong{color:#10468e}.
