/* Painel de conteúdo · base visual. Identidade do Conselheiro: obsidiana, marfim e ouro.
   Sem gradiente, sem emoji, sem borda colorida de lado, celular primeiro. */

@font-face{font-family:"Newsreader";src:url(/fonts/newsreader-roman.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/fonts/newsreader-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cinzel";src:url(/fonts/cinzel-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/fonts/librefranklin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --bg:#0E0C0A; --bg-2:#141109; --surface:#1A1712; --surface-2:#221D15;
  --text:#F5F2EB; --text-2:#CEC7B8; --muted:#9C9585;
  --gold:#C9A96A; --gold-bright:#E6CE95; --gold-deep:#A8863F; --on-gold:#17120A;
  --line:#3A3223; --line-soft:#2A251C;
  --red:#E0705C; --red-soft:rgba(224,112,92,.13); --red-line:rgba(224,112,92,.45);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Libre Franklin",system-ui,sans-serif;
  --display:"Cinzel","Newsreader",Georgia,serif;
  --gutter:20px; --max:560px;
  --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:400 1rem/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
  overscroll-behavior-y:none;
}
body.travado{overflow:hidden}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit}
::selection{background:var(--gold);color:var(--on-gold)}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
[hidden]{display:none!important}

/* ---------------------------------------------------------------- tipografia */
.display{font:400 .78rem/1 var(--display);letter-spacing:.34em;color:var(--gold-bright);padding-left:.34em}
.rotulo{font:600 .69rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rotulo b{color:var(--gold);font-weight:600}
.serif{font-family:var(--serif)}
.suave{color:var(--text-2)}
.mudo{color:var(--muted)}
.ouro{color:var(--gold-bright)}
.vermelho{color:var(--red)}
.num{font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;
  min-height:52px;padding:13px 22px;border-radius:2px;border:1px solid var(--gold);
  background:var(--gold);color:var(--on-gold);font:600 1rem/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,transform .12s ease,opacity .18s ease;
}
.btn:active{transform:translateY(1px)}
.btn:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.btn--ghost{background:transparent;color:var(--gold-bright);border-color:var(--gold-deep)}
.btn--ghost:hover{background:rgba(201,169,106,.1);border-color:var(--gold)}
.btn--quiet{background:transparent;border-color:transparent;color:var(--text-2);min-height:44px;padding:10px 12px}
.btn--quiet:hover{background:rgba(245,242,235,.05);border-color:transparent}
.btn--sm{min-height:44px;padding:9px 16px;font-size:.9375rem}
.btn--block{display:flex;width:100%}
.btn[disabled],.btn[aria-busy="true"]{opacity:.45;pointer-events:none}
.par{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* ---------------------------------------------------------------- formulários */
.campo{display:block;margin-top:16px}
.campo > span{display:block;margin-bottom:6px}
input[type=text],input[type=url],input[type=date],input[type=time],textarea,select{
  width:100%;min-height:48px;padding:11px 13px;background:var(--surface-2);color:var(--text);
  border:1px solid var(--line);border-radius:2px;font:400 1rem/1.4 var(--sans);
  -webkit-appearance:none;appearance:none;
}
textarea{min-height:104px;resize:vertical;line-height:1.5}
select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
::placeholder{color:#6f6858}

/* ---------------------------------------------------------------- avisos */
.toast{
  position:fixed;left:50%;bottom:calc(86px + var(--safe-b));transform:translate(-50%,16px);z-index:80;
  max-width:min(92vw,28rem);padding:13px 18px;background:var(--surface-2);color:var(--text);
  border:1px solid var(--gold-deep);border-radius:2px;font-size:.9375rem;line-height:1.4;opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.toast.vivo{opacity:1;transform:translate(-50%,0)}
.toast.erro{border-color:var(--red-line);background:#2a1a16}

/* ---------------------------------------------------------------- estados */
.carregando{display:grid;place-items:center;min-height:60vh;color:var(--muted);font:italic 400 1.1rem/1.4 var(--serif)}
.tela-acesso{min-height:100dvh;display:grid;place-items:center;padding:32px 24px;text-align:center}
.tela-acesso h1{font:500 1.9rem/1.15 var(--serif);margin:14px 0 12px;letter-spacing:-.01em}
.tela-acesso p{color:var(--text-2);max-width:22rem;margin:0 auto}
.fio{width:44px;height:1px;background:var(--gold-deep);margin:22px auto}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
