:root{--bg:#f4f1ea;--card:#fff;--ink:#1c2521;--mut:#5b665f;--line:#e4dfd3;--pri:#14503f;--pri-2:#1d6b55;--pri-soft:#e3efe9;--acc:#e0a04a;--acc-ink:#8a4d0c;--acc-soft:#fbefd9;--red:#a63d2f;--red-soft:#f9e4e0;--blue:#2c5d8f;--blue-soft:#e2edf8;--r:14px;--shadow:0 1px 2px #1c25210d, 0 6px 20px -8px #1c25211f;color:var(--ink);background:var(--bg);font-family:Segoe UI,Inter,system-ui,-apple-system,Roboto,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}button,input,select{font:inherit;color:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:1.5rem}h2{letter-spacing:-.01em;font-size:1rem}.mut{color:var(--mut)}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:6px}.shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.side{background:var(--pri);color:#e7f1ec;flex-direction:column;gap:6px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:#fff;align-items:center;gap:10px;padding:4px 10px 20px;font-size:1.15rem;font-weight:700;display:flex}.brand small{color:#b9d6ca;letter-spacing:.02em;font-size:.72rem;font-weight:400;display:block}.brand svg{flex:none;width:34px;height:34px}.nav{flex-direction:column;gap:4px;display:flex}.nav a{color:#d6e8df;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{background:#ffffff14}.nav a[aria-current=page]{color:var(--pri);background:#fff}.nav svg{flex:none;width:20px;height:20px}.side .foot{color:#b9d6ca;margin-top:auto;padding:0 10px;font-size:.78rem}.side .foot b{color:#fff}main{width:100%;min-width:0;max-width:1280px;padding:28px 32px 48px}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.top p{color:var(--mut);margin-top:2px}.badge-demo{background:var(--acc-soft);color:var(--acc-ink);vertical-align:middle;letter-spacing:.02em;border-radius:99px;margin-left:8px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-block}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;min-height:40px;padding:9px 14px;font-weight:600;transition:background .15s,transform 50ms}.btn:hover{background:#faf8f3}.btn:active{transform:translateY(1px)}.btn.pri{background:var(--pri);border-color:var(--pri);color:#fff}.btn.pri:hover{background:var(--pri-2)}.btn.sm{min-height:32px;padding:5px 10px;font-size:.85rem}.btn.danger{color:var(--red)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:18px}.card h2{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.two{grid-template-columns:1.65fr 1fr;margin-bottom:16px}.two.even{grid-template-columns:1fr 1fr}.rowline .chip{flex:none;align-self:flex-start}.kpi .label{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.kpi .value{letter-spacing:-.03em;margin:6px 0 2px;font-size:1.85rem;font-weight:700}.kpi .sub{color:var(--mut);font-size:.85rem}.up{color:var(--pri-2);font-weight:600}.bar{background:#ece8dd;border-radius:99px;height:8px;position:relative;overflow:hidden}.bar i{background:var(--pri-2);border-radius:99px;height:100%;display:block}.bar i.warn{background:var(--acc)}.bar i.low{background:var(--red)}.rows{flex-direction:column;gap:14px;display:flex}.rowline{justify-content:space-between;gap:10px;margin-bottom:5px;font-size:.9rem;display:flex}.chip{white-space:nowrap;border-radius:99px;align-self:flex-start;height:fit-content;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.s-novo{background:var(--blue-soft);color:var(--blue)}.s-separado{background:var(--acc-soft);color:var(--acc-ink)}.s-em_rota{color:#4d3f8f;background:#e8e3f6}.s-entregue{background:var(--pri-soft);color:var(--pri)}.s-cancelado{background:var(--red-soft);color:var(--red)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.pill{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:99px;min-height:36px;padding:6px 13px;font-size:.86rem;font-weight:600}.pill[aria-pressed=true],.pill[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.search{border:1px solid var(--line);background:var(--card);border-radius:10px;flex:200px;min-width:0;max-width:320px;min-height:40px;padding:8px 12px}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);border-bottom:1px solid var(--line);padding:10px 12px;font-size:.76rem}td{vertical-align:middle;border-bottom:1px solid #efebe1;padding:12px}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}.tbl{padding:6px 8px;overflow:hidden}.detail td{background:#faf8f3;padding:12px 16px}.detail ul{gap:4px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.detail li{justify-content:space-between;gap:12px;display:flex}.acts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.linkbtn{cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.linkbtn:hover{text-decoration:underline}.days{gap:8px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.days .pill{flex:none}.route{gap:16px;display:grid;position:relative}.stop{grid-template-columns:34px 1fr auto;align-items:center;gap:14px;display:grid;position:relative}.stop .n{background:var(--pri);color:#fff;z-index:1;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.stop.done .n{background:var(--pri-soft);color:var(--pri)}.stop:not(:last-child):before{content:"";border-left:2px dashed #cfc8b6;position:absolute;top:36px;bottom:-18px;left:16px}.stop .body{min-width:0}.stop .body b{display:block}.stop .side-r{text-align:right;justify-items:end;gap:6px;display:grid}.summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.summary div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.summary b{letter-spacing:-.02em;font-size:1.3rem;display:block}.summary span{color:var(--mut);font-size:.8rem}.reps{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.rep{gap:12px;display:grid}.rep header{align-items:center;gap:12px;display:flex}.avatar{background:var(--pri-soft);width:44px;height:44px;color:var(--pri);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.rank{color:var(--acc-ink);background:var(--acc-soft);border-radius:8px;margin-left:auto;padding:2px 9px;font-size:.85rem;font-weight:700}.rep dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.rep dt{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.rep dd{margin:0;font-weight:700}dialog{width:min(560px,100vw - 24px);color:var(--ink);border:0;border-radius:18px;max-height:calc(100dvh - 24px);padding:0;box-shadow:0 30px 80px -20px #00000073}dialog::backdrop{background:#141e1a80}dialog form{flex-direction:column;max-height:calc(100dvh - 24px);display:flex}.dh{justify-content:space-between;align-items:center;padding:18px 20px 12px;display:flex}.db{gap:12px;padding:0 20px;display:grid;overflow-y:auto}.df{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:14px 20px 18px;display:flex}label.f{color:var(--mut);gap:4px;font-size:.84rem;font-weight:600;display:grid}select,input[type=number]{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:8px 10px}.line{grid-template-columns:1fr 78px;align-items:center;gap:10px;font-size:.9rem;display:grid}.line small{color:var(--mut);display:block}.err{background:var(--red-soft);color:var(--red);border-radius:10px;padding:8px 12px;font-size:.88rem;font-weight:600}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow);z-index:20;border-radius:99px;padding:10px 16px;font-weight:600;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.empty{text-align:center;color:var(--mut);padding:28px}.chart text{fill:var(--mut);font-size:11px}.mhead{display:none}@media (width<=980px){.kpis,.summary{grid-template-columns:repeat(2,1fr)}.two,.two.even{grid-template-columns:1fr}}@media (width<=820px){.shell{grid-template-columns:1fr}.side{height:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:10;flex-direction:row;position:fixed;inset:auto 0 0}.brand,.side .foot{display:none}.nav{flex-direction:row;justify-content:space-between;width:100%}.nav a{text-align:center;flex-direction:column;flex:1;gap:2px;min-width:0;padding:6px 4px;font-size:.68rem}main{padding:18px 14px 96px}h1{font-size:1.3rem}.mhead{color:var(--pri);align-items:center;gap:8px;margin-bottom:14px;font-weight:700;display:flex}.mhead svg{width:26px;height:26px}.card.tbl{box-shadow:none;background:0 0;border:0;padding:0}table,tbody{display:block}thead{display:none}tr.row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);grid-template-columns:1fr auto;gap:4px 10px;margin-bottom:10px;padding:12px 14px;display:grid}tr.row td{border:0;padding:0;display:block}tr.row td.r{text-align:right}tr.row td.full{grid-column:1/-1}tr.detail{margin:-6px 0 10px;display:block}tr.detail td{border-radius:0 0 var(--r) var(--r);border:1px solid var(--line);display:block}.stop{grid-template-columns:34px 1fr}.stop .side-r{text-align:left;grid-column:2;grid-auto-flow:column;place-items:center start;gap:10px}.reps{grid-template-columns:1fr}.toast{bottom:90px}}@media (width<=420px){.kpi .value{font-size:1.4rem}.card{padding:14px}.kpis{gap:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
