/* Central Voice · estilos compartilhados */
:root{
  --bg:#F8F3DF; --surface:#FFFDF6; --line:#E6DDC2; --fg:#16233F; --muted:#5D6880;
  --gold:#E5B958; --gold-ink:#9A7417; --navy:#16233F; --soft:#F1E9CC;
  --ok:#1E7A4B; --warn:#B7791F; --err:#B3261E; --wa:#25D366;
  --chat:#EFE7DA; --in:#FFFFFF; --out:#D9FDD3; --tick:#53BDEB;
  --display:"Fraunces",Georgia,serif; --body:"Inter",system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0F1729; --surface:#16233F; --line:#2A3A5C; --fg:#F2ECD6; --muted:#A3AEC4; --gold-ink:#E5B958;
  --navy:#0A1120; --soft:#1D2C4D; --ok:#5CC48E; --warn:#E5B958; --err:#F08A80;
  --chat:#0B141A; --in:#202C33; --out:#005C4B; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:14px;line-height:1.45}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 14px;font-weight:600;font-size:13px}
.btn.pri{background:var(--navy);color:#F8F3DF;border-color:var(--navy)}
.btn.gold{background:var(--gold);color:#16233F;border-color:var(--gold)}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;font-weight:600;color:var(--muted)}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg)}
.muted{color:var(--muted)}
.err{color:var(--err);font-size:13px}
.ok{color:var(--ok);font-size:13px}
/* barra superior */
.top{display:flex;align-items:center;gap:16px;padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));background:var(--navy);color:#F8F3DF;flex-wrap:wrap}
.top .brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-family:var(--display);font-weight:600;font-size:17px}
.top .mark{width:32px;height:32px;border-radius:9px;display:block}
.top nav{display:flex;gap:4px;flex-wrap:wrap}
.top nav a{text-decoration:none;padding:7px 12px;border-radius:8px;opacity:.8;font-size:13px}
.top nav a:hover,.top nav a.on{background:rgba(229,185,88,.18);opacity:1;color:#E5B958}
.top .me{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:13px}
.top .me a{opacity:.8}
.avatar{border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;flex:none;background-size:cover;background-position:center}
.page{padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.empty{color:var(--muted);padding:28px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--surface)}
.modal-bg{position:fixed;inset:0;background:rgba(10,17,32,.45);z-index:30;display:grid;place-items:center;padding:16px}
.modal{background:var(--surface);border-radius:16px;padding:22px;width:min(440px,100%);display:flex;flex-direction:column;gap:14px;max-height:90vh;overflow:auto}
.modal h2{margin:0;font-family:var(--display);font-weight:600;font-size:20px}
.row-end{display:flex;gap:10px;justify-content:flex-end}
