/* Wadi Operations OS - internal operator console.
   Operations clarity, speed and mobile usability before decoration. Palette matches the Wadi
   identity already used by the finance workspace. */
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17372f;background:#f4f6f1;--green:#125949;--deep:#173f38;--ink:#17372f;--muted:#687970;--line:#dce4dc;--danger:#9a392f;--warn:#8a6a1f}
*{box-sizing:border-box}
body{margin:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip{position:fixed;top:-80px;left:16px;background:#fff;padding:10px;z-index:40}
.skip:focus{top:10px}
.environment{padding:9px 20px;text-align:center;background:#f1e3bd;color:#5b4922;font-size:.72rem;font-weight:700;letter-spacing:.06em}
.startup,.login{min-height:calc(100vh - 34px);display:grid;place-content:center;padding:28px}
.login-card{width:min(430px,calc(100vw - 36px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 18px 60px #17372f12}
.login-card h1{margin:0 0 8px}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;flex:0 0 auto}
.muted{color:var(--muted)}
form{display:grid;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:.78rem;font-weight:700}
input,select,textarea{width:100%;min-height:44px;border:1px solid #c8d5cc;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}
textarea{min-height:76px;resize:vertical}
.button{border:0;border-radius:8px;min-height:42px;padding:10px 16px;background:#e3ebe5;color:var(--ink);font-weight:700}
.primary{background:var(--green);color:#fff}
.danger{background:#f6e5e2;color:var(--danger)}
.quiet{background:transparent}
.button:disabled{opacity:.55;cursor:wait}
.error{padding:11px;border:1px solid #ebc8c3;background:#fff2f0;color:#8f3028;border-radius:8px;font-size:.78rem}
.shell{min-height:calc(100vh - 34px)}
header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px clamp(18px,4vw,60px);background:var(--deep);color:#fff}
header h1{font-size:1.3rem;margin:0}
header p{margin:5px 0 0;color:#c4d5ce;font-size:.78rem}
.header-left{display:flex;align-items:center;gap:12px;min-width:0}
.header-left .brand-mark{background:#ffffff1f}
.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.header-actions .button{background:#ffffff16;color:#fff}
/* Primary navigation. Horizontally scrollable on a phone rather than wrapping into a tall stack. */
nav{display:flex;gap:4px;overflow-x:auto;background:#10332d;padding:0 clamp(10px,4vw,52px);scrollbar-width:thin}
nav button{border:0;background:transparent;color:#bed2cb;font-weight:700;font-size:.8rem;padding:14px 14px;min-height:48px;white-space:nowrap;border-bottom:3px solid transparent}
nav button[aria-current=page]{color:#fff;border-bottom-color:#8dc7a9}
.content{padding:26px clamp(18px,4vw,60px) 60px;display:grid;gap:18px}
.toolbar,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}
.toolbar{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:13px;align-items:end}
.toolbar-actions{display:flex;gap:8px;grid-column:1/-1;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.metric{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;min-width:0}
.metric span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:9px}
.metric strong{font-size:1.2rem;overflow-wrap:anywhere}
.metric small{display:block;margin-top:6px;font-size:.68rem}
.panel h2{margin:0 0 14px;font-size:1.05rem}
.notice{margin:0 0 12px;color:var(--muted);font-size:.8rem}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:.78rem}
th,td{text-align:left;padding:12px;border-bottom:1px solid #edf1ec;white-space:nowrap}
th{font-size:.66rem;color:var(--muted);background:#f6f8f5}
tbody tr:hover{background:#fafcfa}
.link{border:0;background:transparent;color:var(--green);font-weight:800;text-decoration:underline;padding:0;min-height:0}
.badge{display:inline-block;padding:5px 8px;border-radius:6px;background:#e8edf0;font-size:.68rem;font-weight:700}
.badge.delivered,.badge.settled,.badge.ready{background:#e3f1e8;color:#176143}
.badge.refused,.badge.returned,.badge.cancelled,.badge.disputed{background:#f8e6e3;color:#92392f}
.badge.retry-required,.badge.no-contact,.badge.rescheduled{background:#f7eed6;color:#7a5f1b}
.badge.out-for-delivery,.badge.assigned,.badge.rep-received{background:#e2ecf6;color:#28506f}
.warnpill{display:inline-block;padding:5px 8px;border-radius:6px;background:#f7eed6;color:#7a5f1b;font-size:.68rem;font-weight:700}
.pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.empty{padding:28px;text-align:center;color:var(--muted)}
dialog{border:1px solid var(--line);border-radius:14px;padding:0;width:min(1020px,calc(100vw - 28px));max-height:calc(100dvh - 28px);box-shadow:0 30px 100px #102b3840}
dialog::backdrop{background:#102e2e88}
.modal-body{padding:24px;display:grid;gap:20px}
.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.modal-head h2{margin:0}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.fact{padding:13px;background:#f6f8f5;border-radius:8px;min-width:0}
.fact span{display:block;color:var(--muted);font-size:.66rem;margin-bottom:6px}
.fact strong{overflow-wrap:anywhere}
.section{border-top:1px solid var(--line);padding-top:18px}
.section h3{margin:0 0 12px;font-size:.95rem}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.records{display:grid;gap:9px}
.record{border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.77rem}
.record p{margin:4px 0}
.full{grid-column:1/-1}
.statusgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.statuscell{border:1px solid var(--line);border-radius:9px;padding:13px;background:#fff}
.statuscell span{display:block;color:var(--muted);font-size:.67rem;margin-bottom:6px}
.statuscell strong{font-size:1.05rem}
#toast{position:fixed;right:18px;bottom:18px;z-index:50;background:var(--deep);color:#fff;padding:14px 18px;border-radius:8px;max-width:min(520px,calc(100vw - 36px));font-size:.8rem}
#toast.failure{background:#90372f}
@media(max-width:900px){.toolbar{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}.action-grid{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.toolbar,.metrics,.facts{grid-template-columns:1fr}.content{padding:18px 13px 44px}.panel,.toolbar{padding:15px}.modal-body{padding:16px}.header-actions{width:100%}.header-actions .button{flex:1}}
