:root{color-scheme:dark;--bg:#07110c;--card:#10251a;--line:#214c34;--green:#39ff88;--muted:#9cb7a6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5fff8;font:15px system-ui,Arial}a{color:var(--green)}header{padding:18px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}header b,h1{color:var(--green);letter-spacing:2px}main{width:min(1180px,92%);margin:30px auto}.login,.installer{width:min(560px,92%);margin:7vh auto;background:var(--card);padding:30px;border:1px solid var(--line);border-radius:20px}.login{text-align:center}.installer>h1,.installer>p{text-align:center}section{background:var(--card);border:1px solid var(--line);padding:22px;margin:18px 0;border-radius:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:none;border:0;padding:0}.stats article{background:var(--card);padding:22px;border-radius:15px}.stats strong{font-size:30px;color:var(--green);display:block}.stats small,.hint{color:var(--muted)}form{display:grid;gap:12px}.grid{grid-template-columns:repeat(5,1fr);align-items:center}.form-grid{display:grid;grid-template-columns:3fr 1fr;gap:12px}label{display:grid;gap:6px;color:var(--muted)}input,button,.button{padding:13px;border-radius:9px;border:1px solid var(--line);background:#091811;color:white}button,.button{background:var(--green);color:#06200f;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.danger{background:#ff5570;color:white;padding:8px}.table{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.badge{padding:5px 9px;border-radius:20px}.on{background:#164d2c;color:#7cffaa}.off{background:#4d1620;color:#ff9cab}.alert,.success{padding:14px;margin:14px 0;border-radius:10px}.alert{background:#5b1c28}.success{background:#164d2c;color:#a9ffc5}@media(max-width:750px){.stats,.form-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}header{font-size:13px}.installer{padding:20px}}

/* Instalador: estilos limitados à tela de configuração. */
.installer{max-width:590px;box-shadow:0 24px 80px #0005;line-height:1.5}
.installer-mark{display:flex;align-items:center;justify-content:center;gap:3px;width:54px;height:54px;margin:0 auto 14px;border-radius:14px;background:var(--green);color:#07110c;font-size:28px;font-weight:900}
.installer-mark span{font-size:13px}
.installer h1{font-size:25px;margin:0}
.installer>p{margin:9px 0 20px}.installer form>p{margin:0;text-align:center}
.installer fieldset{border:1px solid var(--line);border-radius:13px;padding:18px;display:grid;gap:13px;margin:6px 0;min-width:0}
.installer legend{font-weight:700;color:#f5fff8;padding:0 6px}
.installer legend span{display:inline-flex;justify-content:center;align-items:center;background:#234c33;color:var(--green);border-radius:50%;width:25px;height:25px;margin-right:7px;font-size:13px}
.installer label{font-size:14px;min-width:0}.installer input{width:100%;min-width:0;font:inherit;color:white;min-height:45px}
.installer input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.installer .form-grid{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
.installer button,.installer>.button{width:100%;font:700 15px system-ui;min-height:48px}
.installer button:disabled{opacity:.5;cursor:not-allowed}.installer .hint,.installer small{font-size:12px;color:var(--muted)}
.installer .alert{overflow-wrap:anywhere}.installer h2{font-size:20px;margin:0 0 8px}
@media(max-width:500px){.installer{margin:22px auto;padding:20px 16px}.installer fieldset{padding:14px}.installer h1{font-size:23px}}
