:root{--navy:#0b1f3a;--blue:#2563eb;--bg:#f3f6fb;--card:#fff;--muted:#64748b;--border:#dbe3ef;--green:#15803d;--red:#dc2626;--yellow:#a16207;--orange:#d97706}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#0f172a;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}.topbar{min-height:68px;background:var(--navy);color:#fff;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 4px 18px rgba(15,23,42,.18)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:38px;height:38px;object-fit:contain}.brand strong{letter-spacing:.4px}.navlinks{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.navlinks a{color:#fff;text-decoration:none;padding:8px 9px;border-radius:8px}.navlinks a:hover{background:rgba(255,255,255,.12)}.user-chip{font-size:13px;opacity:.85}.container{max-width:1180px;margin:28px auto;padding:0 18px}.card{background:var(--card);border:1px solid #e6ebf2;border-radius:16px;padding:22px;box-shadow:0 7px 24px rgba(15,23,42,.06);margin-bottom:18px}.hero{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.hero h1,.card h1{margin:0 0 8px;font-size:32px}.card h2{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat-card{min-height:112px}.stat{font-size:32px;font-weight:800;margin-top:12px}.delivery-card{position:relative}.delivery-title{font-weight:500}.delivery-mini{margin-top:9px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.delivery-mini strong{font-size:18px}.notdelivered-text{color:var(--red);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--blue);color:#fff;text-decoration:none;border-radius:9px;padding:10px 15px;cursor:pointer;font:inherit;font-weight:650}.btn:hover{filter:brightness(.95)}.btn.secondary{background:#64748b}.btn.warn{background:var(--orange)}.btn.success-btn{background:var(--green)}.btn.sent-btn{background:#2563eb}.btn.danger-btn{background:var(--red)}.btn.small{padding:7px 10px;font-size:13px}.actions{display:flex;gap:8px;align-items:center}.actions.wrap{flex-wrap:wrap}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end}label{display:block;font-weight:650;margin:12px 0 7px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit;color:#0f172a}textarea{resize:vertical}.filter-actions,.form-actions{display:flex;gap:8px;align-items:end;margin-top:18px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:13px;color:#334155;background:#f8fafc}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.badge.pending{background:#fef3c7;color:#92400e}.badge.approved{background:#dcfce7;color:#166534}.badge.rejected{background:#fee2e2;color:#991b1b}.badge.sent{background:#dbeafe;color:#1d4ed8}.badge.delivered{background:#dcfce7;color:#166534}.badge.notdelivered{background:#fee2e2;color:#991b1b}.flash{padding:12px 15px;border-radius:10px;margin-bottom:14px}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.notice.danger{padding:14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;margin:15px 0}.split{display:flex;justify-content:space-between;gap:30px}.status-panel{min-width:210px;display:grid;gap:18px}.form-card{max-width:720px}.form-card.wide{max-width:900px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:15px 0}.check{display:flex;align-items:center;gap:9px;margin:0;font-weight:550}.check input{width:auto}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(circle at 20% 10%,#243b66 0,#101b30 38%,#070c15 100%)}.login-card{width:min(460px,94vw);padding:36px 38px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(0,0,0,.38);text-align:center}.login-logo{width:180px;height:180px;object-fit:contain;margin:-4px auto 6px;display:block}.company-title{font-size:23px;font-weight:800;letter-spacing:.4px;color:var(--navy)}.company-sub{font-size:16px;font-weight:750;color:#334155;margin-top:2px}.system-title{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--blue);margin:16px 0 20px}.login-card form{text-align:left}.login-btn{width:100%;margin-top:10px;padding:12px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-head{margin-top:18px}.calendar-head div{padding:9px;text-align:center;font-weight:750;color:#475569}.cal-cell{min-height:112px;background:#fff;border:1px solid var(--border);border-radius:10px;text-align:left;padding:9px;cursor:pointer}.cal-cell:hover{border-color:#93c5fd}.cal-cell.selected{outline:2px solid #2563eb}.cal-cell.muted{opacity:.42}.cal-num{font-weight:800}.cal-count{display:inline-block;margin-top:7px;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:750}.cal-event{font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-more{font-size:10px;color:var(--muted);margin-top:3px}.summary-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.summary-head h1{font-size:30px}.date-picker{display:flex;gap:8px;align-items:end}.date-picker label{margin:0}.date-picker input{width:170px}.summary-date{display:flex;justify-content:space-between;align-items:center;text-align:center}.summary-date>div{font-size:20px;letter-spacing:.4px}.summary-stats{grid-template-columns:repeat(5,1fr)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.summary-grid .card{margin:0}.summary-grid h2{font-size:18px}.total-row td{font-weight:800;background:#f8fafc}.summary-note{text-align:center;color:#64748b;font-size:12px;margin:22px}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.error-page .card{text-align:center}.error-page h1{font-size:64px;margin:0}.small{font-size:13px}small{color:#64748b}@media(max-width:1000px){.grid,.summary-stats{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.topbar{padding:12px 16px}.container{margin-top:18px}.navlinks{gap:5px}.permission-grid{grid-template-columns:1fr}}@media(max-width:650px){.grid,.summary-stats,.filter-grid{grid-template-columns:1fr}.login-card{padding:28px 22px}.login-logo{width:145px;height:145px}.company-title{font-size:19px}.split{flex-direction:column}.status-panel{min-width:0}.calendar-grid{gap:3px}.cal-cell{min-height:78px;padding:6px}.cal-event{font-size:9px}.calendar-head div{font-size:11px}.summary-date{gap:8px}.summary-date .btn{padding:8px 9px}.topbar{align-items:flex-start}.navlinks{width:100%}}

.request-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.request-mini-grid>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#f8fafc;display:flex;justify-content:space-between;gap:8px;align-items:center}.request-mini-grid strong{font-size:22px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.brand-check{border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;gap:10px;background:#fff}.brand-check>div:first-child{display:flex;flex-direction:column;gap:4px}.status-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.status-pills label{margin:0}.status-pills input{display:none}.pill{display:block;text-align:center;padding:9px 6px;border:1px solid var(--border);border-radius:10px;font-size:12px;font-weight:750;cursor:pointer}.status-pills input:checked+.pill.ok{background:#dcfce7;color:#166534;border-color:#86efac}.status-pills input:checked+.pill.need{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-pills input:checked+.pill.none{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.notice{margin-top:18px;padding:13px;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.request-pending-review{background:#fef3c7;color:#92400e}.request-confirmed{background:#fef3c7;color:#92400e}.request-po-created{background:#dcfce7;color:#166534}.request-hold{background:#e2e8f0;color:#334155}.request-cancelled{background:#fee2e2;color:#991b1b}.request-summary-card{padding:18px}.request-summary-card h2{margin-bottom:3px}@media(max-width:800px){.request-mini-grid{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr}.status-pills{grid-template-columns:1fr 1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:500px){.request-mini-grid{grid-template-columns:1fr}.status-pills{grid-template-columns:1fr}.brand-check{padding:12px}}

/* Supervisor mobile-first check */
.mobile-check-list { display:flex; flex-direction:column; gap:12px; }
.brand-check-card { border:1px solid #dfe4ea; border-radius:14px; padding:12px; background:#fff; }
.brand-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:42px; }
.brand-name { font-size:18px; font-weight:800; }
.supplier-toggle { border:0; background:transparent; font-size:25px; line-height:1; padding:4px 8px; cursor:pointer; }
.status-pills { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:9px; }
.status-pills label { margin:0; }
.status-pills input { position:absolute; opacity:0; pointer-events:none; }
.status-pills .pill { display:flex; align-items:center; justify-content:center; min-height:44px; border:1px solid #d8dee6; border-radius:10px; font-size:12px; font-weight:800; text-align:center; padding:4px; cursor:pointer; background:#f7f8fa; }
.status-pills input:checked + .pill { outline:3px solid rgba(0,0,0,.08); transform:translateY(-1px); }
.pill.ok { color:#146c43; }
.pill.need { color:#8a5a00; }
.pill.none { color:#a61b1b; }
.supplier-panel { margin-top:10px; padding:10px; border-radius:10px; background:#f5f7fa; }
.supplier-line { font-size:13px; }
.supplier-title { font-size:12px; font-weight:800; margin-bottom:6px; }
.supplier-option { display:flex; align-items:center; gap:8px; padding:7px 0; font-size:13px; }
.supplier-option input { width:auto; }
@media (max-width: 680px) {
  .status-pills { grid-template-columns:1fr; }
  .status-pills .pill { min-height:46px; font-size:13px; }
  .two-col { grid-template-columns:1fr !important; }
}
