:root{--red:#E2231A;--red-d:#b81a13;--bg:#f5f5f4;--card:#fff;--tx:#1c1c1c;--mut:#6b6b6b;--line:#e4e4e2;--ok:#1d8a3e;--warn:#c27a00;--r:14px}
@media (prefers-color-scheme:dark){:root{--bg:#141414;--card:#202020;--tx:#f2f2f2;--mut:#a0a0a0;--line:#333}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.35 -apple-system,system-ui,"Segoe UI",Roboto,sans-serif}
#app{max-width:640px;margin:0 auto;padding:0 16px calc(90px + env(safe-area-inset-bottom))}
header.top{position:sticky;top:0;z-index:5;background:var(--bg);padding:calc(10px + env(safe-area-inset-top)) 0 8px;display:flex;align-items:center;gap:10px}
header.top h1{font-size:19px;margin:0;flex:1}
.who{font-size:13px;color:var(--mut)}
button,.btn{font:inherit;border:0;border-radius:12px;padding:12px 16px;background:var(--red);color:#fff;font-weight:600;cursor:pointer}
button.sec{background:var(--card);color:var(--tx);border:1px solid var(--line)}
button.ghost{background:transparent;color:var(--red);padding:8px}
button.ok{background:var(--ok)} button.small{padding:7px 11px;font-size:14px;border-radius:10px}
button:disabled{opacity:.45}
input,select,textarea{font:inherit;width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--tx)}
label{display:block;font-size:13px;color:var(--mut);margin:12px 0 4px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:10px 0}
.big{display:block;width:100%;padding:22px 16px;font-size:20px;margin:12px 0;text-align:left;border-radius:var(--r)}
.big small{display:block;font-weight:400;opacity:.85;font-size:14px;margin-top:2px}
.search{position:relative;margin:6px 0 10px}
.search input{padding-left:42px}
.search:before{content:"🔍";position:absolute;left:13px;top:11px;font-size:17px}
.setor{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);color:var(--tx);border:1px solid var(--line);margin:8px 0;padding:16px}
.setor b{flex:1}.bar{height:7px;background:var(--line);border-radius:5px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--ok)}
.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--mut);font-weight:600}
.pill.red{background:#fde4e2;color:var(--red-d)}.pill.green{background:#dff3e5;color:var(--ok)}.pill.amber{background:#fff0d1;color:var(--warn)}
.item{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.item:last-child{border:0}.item .nm{flex:1;min-width:0}.item .nm b{display:block;font-weight:600}.item .nm span{font-size:12.5px;color:var(--mut)}
.item input{width:92px;text-align:center;font-size:18px;padding:10px 6px}
.item.done input{border-color:var(--ok);background:#eef9f1}
@media (prefers-color-scheme:dark){.item.done input{background:#16301f}}
.item .un{font-size:12px;color:var(--mut);width:46px}
.handle{touch-action:none;cursor:grab;font-size:22px;padding:4px 8px;color:var(--mut);user-select:none}
.item.drag{background:var(--line);opacity:.8}
.item select{width:auto;padding:6px;font-size:13px}
nav.tabs{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;padding:4px 4px calc(4px + env(safe-area-inset-bottom));z-index:6}
nav.tabs button{flex:1;background:transparent;color:var(--mut);padding:8px 2px;font-size:12px;border-radius:10px;position:relative}
nav.tabs button.on{color:var(--red)}nav.tabs button span{display:block;font-size:21px}
nav.tabs .bd{position:absolute;top:2px;left:55%;background:var(--red);color:#fff;border-radius:99px;font-size:11px;padding:1px 6px}
#toast{position:fixed;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));background:#222;color:#fff;border-radius:12px;padding:12px 14px;z-index:20;display:flex;gap:12px;align-items:center;max-width:608px;margin:0 auto}
#toast span{flex:1}#toast button{background:transparent;color:#ffb3ae;padding:4px 8px}
.sheet-bg{position:fixed;inset:0;background:#0008;z-index:30}
.sheet-box{position:fixed;left:0;right:0;bottom:0;max-width:640px;margin:0 auto;background:var(--card);z-index:31;border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}
.sheet-box h2{margin:0 0 4px;font-size:18px}
.row{display:flex;gap:10px}.row>*{flex:1}
.grp{font-size:13px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 4px}
.empty{text-align:center;color:var(--mut);padding:30px 10px}
.login{padding-top:60px}.login h1{text-align:center}.login .nomes{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.login .nomes button{flex:1;min-width:30%}.login .nomes button.on{background:var(--red);color:#fff}
.err{color:var(--red);margin:8px 0;font-size:14px}
.cartbar{position:fixed;left:16px;right:16px;bottom:calc(74px + env(safe-area-inset-bottom));max-width:608px;margin:0 auto;z-index:7}
.cartbar button{width:100%;box-shadow:0 4px 14px #0004}
.flex{display:flex;align-items:center;gap:8px}.sp{flex:1}.mut{color:var(--mut);font-size:13px}
#cod{text-transform:uppercase}
