:root{--bg:#f6f4f1;--card:#fff;--ink:#241f1c;--mut:#6b625b;--bd:#e5dfd8;--ok:#1f8f4e;--aj:#c2410c;--pri:#7a3e2b;--info:#2563eb;--erro:#b91c1c}
@media (prefers-color-scheme:dark){:root{--bg:#171413;--card:#221e1c;--ink:#f1ebe5;--mut:#a89d94;--bd:#38312d;--ok:#4ade80;--aj:#fb923c;--pri:#e0a58f;--info:#60a5fa;--erro:#f87171}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,Segoe UI,Arial,sans-serif}
[hidden]{display:none!important}
header.topo{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid var(--bd);padding:10px 16px}
.linha{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.espaco{flex:1}
h1{margin:0;font-size:19px}
.mut{color:var(--mut);font-size:14px}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:13px;background:var(--bd);color:var(--ink)}
.pill.on{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ok)}
.pill.off{background:color-mix(in srgb,var(--erro) 22%,transparent);color:var(--erro)}
.pill.az{background:color-mix(in srgb,var(--info) 20%,transparent);color:var(--info)}
.pill.lj{background:color-mix(in srgb,var(--aj) 22%,transparent);color:var(--aj)}
nav.abas{display:flex;gap:6px;margin-top:8px;overflow-x:auto}
.aba,.chip{border:1px solid var(--bd);border-radius:999px;padding:5px 14px;font-size:14px;background:var(--card);cursor:pointer;color:var(--ink);white-space:nowrap}
.aba.on,.chip.on{background:var(--pri);color:#fff;border-color:var(--pri)}
main{max-width:1100px;margin:0 auto;padding:16px}
.banner{border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:15px}
.banner.erro{background:color-mix(in srgb,var(--erro) 16%,var(--card));border:1px solid var(--erro)}
.banner.info{background:color-mix(in srgb,var(--info) 12%,var(--card));border:1px solid var(--info)}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center}
.rotulo{min-width:64px;font-weight:600}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px;margin-bottom:18px}
.card.ok{border-left:6px solid var(--ok)}.card.aj{border-left:6px solid var(--aj)}
.card h2{margin:0 0 2px;font-size:18px}
.ml{font-size:14px;color:var(--mut)}
.fotos{display:flex;gap:10px;overflow-x:auto;padding:10px 0;align-items:flex-start}
.foto{position:relative;flex:0 0 auto;width:170px}
.foto img{display:block;width:170px;height:170px;object-fit:cover;border-radius:10px;border:1px solid var(--bd);cursor:zoom-in;background:var(--bd)}
.foto .ctl{display:flex;justify-content:space-between;gap:4px;margin-top:4px}
.foto .num{position:absolute;left:6px;top:6px;background:rgba(0,0,0,.65);color:#fff;border-radius:6px;font-size:12px;padding:0 6px}
.foto .nova{position:absolute;right:6px;top:6px;background:var(--info);color:#fff;border-radius:6px;font-size:12px;padding:0 6px}
.mini{border:1px solid var(--bd);background:var(--card);color:var(--ink);border-radius:8px;padding:3px 10px;font-size:14px;cursor:pointer;min-height:32px}
.mini.rm{color:var(--erro);border-color:var(--erro)}
.mini:disabled{opacity:.35;cursor:default}
.add{flex:0 0 auto;width:170px;height:170px;border:2px dashed var(--bd);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--mut);cursor:pointer;text-align:center;font-size:14px;padding:8px}
.add:hover{border-color:var(--pri);color:var(--pri)}
.faixa{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:color-mix(in srgb,var(--aj) 12%,var(--card));border:1px solid var(--aj);border-radius:10px;padding:10px 12px;margin:6px 0}
.grade{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
@media(max-width:760px){.grade{grid-template-columns:1fr}.foto,.foto img,.add{width:140px}.foto img,.add{height:140px}}
.box{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:15px}
.box b{display:block;margin-bottom:2px}
ul{margin:4px 0 4px 18px;padding:0}
details{margin-top:8px}summary{cursor:pointer;color:var(--pri);font-weight:600}
pre{white-space:pre-wrap;font:14px/1.5 inherit;background:var(--bg);padding:10px;border-radius:8px;overflow-x:auto}
.acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:flex-start}
button.b{border:0;border-radius:10px;padding:9px 16px;font-size:15px;font-weight:600;cursor:pointer;min-height:40px}
.b.ok{background:var(--ok);color:#fff}.b.aj{background:var(--aj);color:#fff}.b.lim{background:var(--bd);color:var(--ink)}.b.pri{background:var(--pri);color:#fff}
.b:disabled{opacity:.5;cursor:default}
textarea,input[type=text],input[type=password],input[type=number],select{border:1px solid var(--bd);border-radius:10px;padding:8px;background:var(--bg);color:var(--ink);font:inherit;max-width:100%}
textarea{flex:1;min-width:220px;width:100%}
.bloco{margin-top:12px;padding-top:10px;border-top:1px dashed var(--bd)}
.bloco h3{margin:0 0 6px;font-size:15px}
.tag{display:inline-block;font-size:12px;border-radius:6px;padding:1px 8px;margin-left:6px;background:var(--bd)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--bd);vertical-align:top}
.tarefa{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px;margin-bottom:10px}
.tarefa .cab{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.previa{background:var(--bg);border-radius:8px;padding:8px;margin-top:6px;font-size:14px}
.previa img{height:70px;width:70px;object-fit:cover;border-radius:6px;margin-right:4px;border:1px solid var(--bd)}
.login{max-width:360px;margin:12vh auto;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:22px}
.login label{display:block;margin:10px 0 4px;font-size:14px;color:var(--mut)}
.login select,.login input{width:100%}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:20}
#lb img{max-width:94vw;max-height:94vh;border-radius:8px}
#aviso{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:10px;z-index:30;max-width:92vw;font-size:15px}
.toggle{display:flex;gap:10px;align-items:center}
