:root{
  --bg:#f4f6f8;--card:#fff;--tx:#1b2430;--mut:#667085;--bd:#e3e8ee;--pri:#0f766e;--pri-tx:#fff;
  --loja:#2563eb;--casa:#d97706;--er:#b42318;--er-bg:#fee4e2;--ok:#067647;--ok-bg:#dcfae6;--am-bg:#fef0c7;--am:#93370d;--sh:0 1px 2px rgba(16,24,40,.06);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0d1218;--card:#161d26;--tx:#e8edf3;--mut:#93a0b2;--bd:#263140;--pri:#2dd4bf;--pri-tx:#06201d;
  --loja:#60a5fa;--casa:#fbbf24;--er:#fda29b;--er-bg:#3b1512;--ok:#75e0a7;--ok-bg:#0b2d1c;--am-bg:#3a2a07;--am:#fedf89;--sh:none;}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--tx);font:16px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
#app{max-width:720px;margin:0 auto;padding:0 16px 96px}
h1{font-size:1.25rem;margin:0}h2{font-size:1.05rem;margin:0 0 10px}
.mut{color:var(--mut)}.center{text-align:center}.pad{padding:40px 0}.hide{display:none!important}
.top{display:flex;align-items:center;justify-content:space-between;padding:16px 0 8px;gap:8px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;margin:12px 0;box-shadow:var(--sh)}
label{display:block;font-size:.85rem;color:var(--mut);margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;color:var(--tx);background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:11px 12px;min-height:44px}
textarea{min-height:76px;resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
button{font:inherit;font-weight:600;border:0;border-radius:12px;padding:12px 16px;min-height:44px;background:var(--pri);color:var(--pri-tx);cursor:pointer;width:100%;margin-top:12px}
button.sec{background:transparent;color:var(--tx);border:1px solid var(--bd)}
button.peq{width:auto;margin:0;padding:6px 12px;min-height:36px;font-size:.9rem}
button.perigo{background:var(--er-bg);color:var(--er)}
button:disabled{opacity:.55}
.mic{background:var(--pri);font-size:1.15rem;padding:18px;border-radius:16px}
.mic.on{background:var(--er);color:#fff;animation:pulsa 1.2s infinite}
@keyframes pulsa{50%{opacity:.7}}
.msg,.erro,.aviso{border-radius:10px;padding:10px 12px;margin:10px 0;font-size:.95rem}
.msg{background:var(--ok-bg);color:var(--ok)}.erro{background:var(--er-bg);color:var(--er)}.aviso{background:var(--am-bg);color:var(--am)}
.seg{display:flex;gap:8px}.seg button{margin:0;background:transparent;color:var(--tx);border:2px solid var(--bd)}
.seg button.on.loja{border-color:var(--loja);background:color-mix(in srgb,var(--loja) 16%,transparent)}
.seg button.on.casa{border-color:var(--casa);background:color-mix(in srgb,var(--casa) 16%,transparent)}
.seg.falta button{border-color:var(--er)}
nav.tabs{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--bd);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:5}
nav.tabs button{flex:1;margin:0;border-radius:0;background:transparent;color:var(--mut);font-size:.78rem;padding:8px 2px;display:flex;flex-direction:column;gap:2px;align-items:center;min-height:56px}
nav.tabs button.on{color:var(--pri)}nav.tabs .ic{font-size:1.35rem;line-height:1}
.chips{display:flex;gap:6px;overflow-x:auto;padding:4px 0}
.chips button{width:auto;margin:0;padding:7px 14px;min-height:36px;font-size:.9rem;white-space:nowrap;background:transparent;color:var(--tx);border:1px solid var(--bd)}
.chips button.on{background:var(--pri);color:var(--pri-tx);border-color:var(--pri)}
.periodo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.periodo button{width:44px;margin:0;padding:6px}.periodo b{text-align:center;flex:1}
.filtros{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filtros select,.filtros input{margin:0}
.grande{font-size:2rem;font-weight:700;letter-spacing:-.5px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.duo .card{margin:0;padding:12px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.dot.loja{background:var(--loja)}.dot.casa{background:var(--casa)}
.lin{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0}
.barra{height:8px;border-radius:6px;background:var(--bd);overflow:hidden;margin:2px 0 6px}
.barra i{display:block;height:100%;background:var(--pri)}
.barra i.loja{background:var(--loja)}.barra i.casa{background:var(--casa)}
.dias{display:flex;align-items:flex-end;gap:3px;height:110px;margin-top:8px}
.dias div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-width:3px;height:100%}
.dias i{display:block;width:100%}.dias i.loja{background:var(--loja)}.dias i.casa{background:var(--casa)}
.item{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--bd)}
.item:first-child{border-top:0}
.item .v{font-weight:700;white-space:nowrap}
.tag{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;vertical-align:middle}
.tag.loja{background:color-mix(in srgb,var(--loja) 18%,transparent);color:var(--loja)}
.tag.casa{background:color-mix(in srgb,var(--casa) 20%,transparent);color:var(--casa)}
.acoes{display:flex;gap:8px;margin-top:6px}
.login{max-width:380px;margin:12vh auto 0}
.login h1{text-align:center;margin-bottom:4px}
dialog{border:0;border-radius:16px;padding:16px;background:var(--card);color:var(--tx);width:min(92vw,460px);max-height:90vh}
dialog::backdrop{background:rgba(0,0,0,.5)}
