/* Estilo das telas de acesso e administração — mesmos tokens do sistema */
:root{
  color-scheme:light;
  --bg:#eceeed; --surface:#ffffff; --sunk:#f4f5f4; --ink:#1b2225; --muted:#5b666b; --line:#d2d7d8;
  --accent:#1f4e79; --accent-ink:#ffffff; --accent-soft:#dfe8f1; --brick:#a8382a; --ok:#2b7346; --ouro:#b59a57;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){:root{
  color-scheme:dark;
  --bg:#141819; --surface:#1c2225; --sunk:#181d1f; --ink:#e5e9ea; --muted:#98a3a8; --line:#2d3639;
  --accent:#7fb0e0; --accent-ink:#0f1a24; --accent-soft:#1f3042; --brick:#ee8170; --ok:#6cc28e; --ouro:#d4b979;
}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--body)}
[hidden]{display:none!important}
img{max-width:100%}
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;text-wrap:balance}
h1{font-size:2rem;line-height:1.05}
h2{font-size:1.4rem}
h3{font-size:1.15rem}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
a{color:var(--accent)}
button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 14px;font-weight:500}
button:hover{border-color:var(--accent)}
button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
button.ghost{background:transparent;border-color:transparent;color:var(--accent);padding:4px 8px}
button.danger{color:var(--brick)}
button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
form{display:grid;gap:12px}
label{display:grid;gap:4px;font-size:.88rem;font-weight:500}
label .hint{font-weight:400;color:var(--muted);font-size:.8rem}
input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%;min-width:0}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>*{flex:1 1 160px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:14px;min-width:0}
.erro-form{color:var(--brick);font-size:.88rem;min-height:1.2em}
.ok-form{color:var(--ok);font-size:.88rem}
.logo-chip{background:#ffffff;border-radius:8px;padding:8px 12px;display:inline-block}
.logo-chip img{display:block;height:44px;width:auto}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%}
th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--sunk)}
.status{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;font-weight:600}
.status.on{background:var(--accent-soft);color:var(--accent)}
.status.off{background:var(--sunk);color:var(--muted);border:1px solid var(--line)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:.9rem;z-index:20;max-width:calc(100% - 32px)}
.senha-gerada{font-family:var(--mono);background:var(--sunk);border:1px dashed var(--ouro);border-radius:8px;padding:10px 12px;font-size:1.05rem;user-select:all;overflow-wrap:anywhere}
