:root{--brand:#176b55;--brand2:#0f4d3f;--soft:#eef7f3;--text:#23332e}
body{background:#f5f7f8;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.sidebar{width:260px;min-height:100vh;background:linear-gradient(180deg,var(--brand2),#123d35);color:#fff;position:fixed;left:0;top:0;padding:26px 18px}
.brand{font-size:1.35rem;font-weight:800;letter-spacing:.2px}.brand small{display:block;font-size:.72rem;font-weight:500;opacity:.72;margin-top:3px}
.nav-link{color:rgba(255,255,255,.78);border-radius:12px;padding:.72rem .9rem;margin:.18rem 0}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.12);color:#fff}
.main{margin-left:260px;padding:30px}.topbar{background:#fff;border-radius:18px;padding:18px 22px;box-shadow:0 6px 24px rgba(25,48,40,.06)}
.card-soft{border:0;border-radius:18px;box-shadow:0 8px 30px rgba(28,45,39,.06)}
.kpi .label{font-size:.82rem;color:#74817d}.kpi .value{font-size:1.7rem;font-weight:800}.pill{background:var(--soft);color:var(--brand);padding:.35rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700}
.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#7b8783;border-bottom:1px solid #e7ecea}.btn-brand{background:var(--brand);color:#fff;border:0}.btn-brand:hover{background:var(--brand2);color:#fff}
.subscription{background:linear-gradient(135deg,#176b55,#0f4d3f);color:#fff;border-radius:18px;padding:22px}
@media(max-width:900px){.sidebar{position:static;width:100%;min-height:auto}.main{margin-left:0;padding:15px}.sidebar nav{display:flex;overflow:auto}.nav-link{white-space:nowrap}}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef7f3,#f8fbfa)}
.login-card{width:min(430px,92vw);background:#fff;border-radius:24px;padding:34px;box-shadow:0 20px 55px rgba(28,45,39,.12)}
.brand-login{font-size:1.8rem;font-weight:850;color:var(--brand2)}
.demo-box{background:var(--soft);border-radius:12px;padding:12px;font-size:.85rem;color:var(--brand2)}
.permission-item{display:flex;align-items:flex-start;background:#f8faf9;border:1px solid #e7ecea;border-radius:12px;padding:10px 12px;height:100%;cursor:pointer}.permission-item small{display:block;color:#7b8783;margin-top:2px}

.capacity-critical{border-left:5px solid #dc3545}.capacity-warning{border-left:5px solid #ffc107}.capacity-ok{border-left:5px solid #198754}.dispatch-time{font-variant-numeric:tabular-nums}
