:root{--bg:#F3F5F4;--card:#fff;--ink:#070d0a;--mut:#37453d;--line:#d3dbd6;--brand:#1d5b34;--on:#fff;--bad:#e0352d;--ok:#1b9a47;--soft:#eef2ef;--ring:rgba(38,51,45,.22)}
:root[data-theme="dark"]{--bg:#0e1311;--card:#151c19;--ink:#ffffff;--mut:#bccac3;--line:#25302b;--brand:#2a7a4c;--on:#fff;--bad:#e0352d;--ok:#1b9a47;--soft:#1b2420;--ring:rgba(95,190,146,.3)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "Nunito",system-ui,sans-serif;min-height:100vh}
main{max-width:980px;margin:0 auto;padding:24px 16px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}
h1,h2{margin:0 0 6px;font-weight:700;letter-spacing:-.01em}h2{font-size:19px}
.sub{color:var(--mut);margin:0 0 14px;font-size:14px}
label{display:block;font-size:13px;font-weight:700;color:var(--mut);margin:12px 0 5px}
input,select{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);font:inherit}
input:focus,select:focus,button:focus-visible,.btn:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
button,.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:var(--soft)}
button.p{background:linear-gradient(135deg,#17492a,#1f6a3b 55%,#2b8a4d);color:var(--on);border-color:var(--brand)}button.p:hover{filter:brightness(1.1)}
button.d{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
button.sm{height:32px;padding:0 10px;font-size:13px}
.msg{min-height:20px;margin-top:10px;font-size:14px;color:var(--ok)}.msg.err,.err{color:var(--bad)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-.02em}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>div{flex:1;min-width:200px}
.tbl{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);text-align:left;padding:8px 8px;border-bottom:1px solid var(--line)}
td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.acts{display:flex;gap:6px;flex-wrap:wrap}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--soft);color:var(--mut)}.badge.on{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.badge.off{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
small{color:var(--mut)}
.login{max-width:400px;margin:0 auto;padding-top:11vh}.login .brand{justify-content:center;font-size:28px;margin-bottom:4px}.login .tag{text-align:center;color:var(--mut);margin:0 0 20px}
.login .card{padding:26px}.login button.p{width:100%;height:46px;margin-top:14px}.login small{display:block;text-align:center;margin-top:14px}
dialog{border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);padding:22px;max-width:380px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.45)}dialog p{font-weight:700;font-size:17px;margin:0 0 8px}dialog .acts{gap:8px;justify-content:flex-end;margin-top:16px}

@media (max-width:900px),(pointer:coarse){input,select{font-size:16px}}
html{-webkit-text-size-adjust:100%}

body{background-image:radial-gradient(60rem 28rem at 100% -10%,rgba(43,138,77,.16),transparent 60%),radial-gradient(40rem 24rem at -10% 110%,rgba(23,73,42,.14),transparent 60%)}

form label:not(.fld)::after{content:":"}

/* refinamento: mesma paleta do app */
:root{--bg:#F3F6F2;--card:#FCFDFB;--ink:#14201A;--mut:#4A5A50;--line:#DCE4DD;--soft:#EDF2EC}
:root[data-theme="dark"]{--bg:#111715;--card:#18201C;--ink:#F1F6F2;--mut:#AEBEB4;--line:#2E3B34;--soft:#1F2924}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111715;--card:#18201C;--ink:#F1F6F2;--mut:#AEBEB4;--line:#2E3B34;--soft:#1F2924}}
h1,h2{font-weight:700}label,button,.btn{font-weight:600}
