/* base.css — a aparência do Início e de Minha conta, na mesma linha do
   painel da IA (oliva, bronze, creme). Claro por padrão; escuro por escolha. */
:root, [data-tema="claro"] {
  --olive:#3C4636; --olive2:#5C6657; --bronze:#C9A880; --bronze-d:#a9844f;
  --fundo:#efece3; --card:#ffffff; --ink:#3a3731; --muted:#857f73; --line:#e4ddcd; --suave:#f5f2ea;
  --ok:#3c6b4a; --err:#b23b3b; --warn:#8a6a37; --sombra:0 6px 22px rgba(70,60,40,.07);
}
[data-tema="escuro"] {
  --olive:#c9d1c0; --olive2:#9aa58f; --bronze:#C9A880; --bronze-d:#d8bb94;
  --fundo:#191a17; --card:#23241f; --ink:#ebe6da; --muted:#a19a8b; --line:#34352e; --suave:#2b2c26;
  --ok:#8cc39a; --err:#e07a7a; --warn:#d8b27a; --sombra:0 6px 22px rgba(0,0,0,.35);
}
* { box-sizing: border-box; }
html { background: var(--fundo); }
body { margin:0; background:var(--fundo); color:var(--ink);
  font:15px/1.5 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color: var(--olive2); }
.barra { background:var(--card); border-bottom:1px solid var(--line); }
.barra .in { max-width:1120px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:16px; }
.barra img { height:38px; width:auto; display:block; }
.barra .nome { border-left:1px solid var(--line); padding-left:16px; }
.barra .nome b { display:block; font-size:16px; color:var(--olive); letter-spacing:.01em; }
.barra .nome span { font-size:12px; color:var(--muted); }
.barra .dir { margin-left:auto; display:flex; align-items:center; gap:10px; }
.quem { text-align:right; font-size:12.5px; color:var(--muted); line-height:1.3; }
.quem b { color:var(--ink); font-size:13.5px; }
.icb { width:36px; height:36px; border-radius:9px; border:1px solid var(--line); background:var(--card); color:var(--ink);
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.icb:hover { background:var(--suave); }
.icb svg { width:18px; height:18px; }
.bt { font:600 13.5px inherit; border:0; border-radius:9px; padding:9px 15px; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:6px; background:var(--olive); color:#f3efe6; }
[data-tema="escuro"] .bt { background:var(--bronze); color:#2b2418; }
.bt:hover { filter:brightness(1.08); }
.bt.sec { background:transparent; color:var(--ink); border:1px solid var(--line); }
main { max-width:1120px; margin:0 auto; padding:28px 20px 60px; }
h1 { font-size:24px; margin:0; font-weight:700; letter-spacing:-.01em; }
.data { color:var(--muted); font-size:13px; margin-top:2px; }
.secao { font-size:12px; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); font-weight:700; margin:28px 0 12px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:var(--sombra); }
.grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
.mod { padding:18px; display:flex; flex-direction:column; gap:10px; min-height:172px; }
.mod .cab { display:flex; align-items:center; gap:12px; }
.mod .ico { width:40px; height:40px; border-radius:10px; background:var(--suave); color:var(--olive2);
  display:flex; align-items:center; justify-content:center; flex:none; }
.mod .ico svg { width:20px; height:20px; }
.mod b { font-size:15.5px; }
.mod p { margin:0; color:var(--muted); font-size:13.5px; flex:1; }
.mod .pe { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.selo { font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:20px; background:var(--suave); color:var(--muted); }
.selo.on { color:var(--ok); } .selo.off { color:var(--muted); }
.sw { position:relative; width:40px; height:22px; flex:none; }
.sw input { opacity:0; width:0; height:0; position:absolute; }
.sw i { position:absolute; inset:0; border-radius:22px; background:var(--line); cursor:pointer; transition:.15s; }
.sw i:before { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; border-radius:50%; background:#fff; transition:.15s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.sw input:checked + i { background:var(--olive2); }
.sw input:checked + i:before { transform:translateX(18px); }
.sw input:focus-visible + i { outline:2px solid var(--bronze); outline-offset:2px; }
.rot { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted); }
.aviso { padding:11px 14px; border-radius:10px; font-size:13.5px; background:var(--card); border:1px solid var(--line); }
.aviso.err { border-left:3px solid var(--err); } .aviso.ok { border-left:3px solid var(--ok); }
.login { max-width:400px; margin:48px auto 0; padding:22px; }
.login h2 { font-size:17px; margin:0 0 4px; }
label.fld { display:block; font-size:12px; font-weight:600; color:var(--muted); margin:12px 0 5px; }
input.tx { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--card); color:var(--ink); font:inherit; }
input.tx:focus { outline:2px solid var(--bronze); outline-offset:0; border-color:transparent; }
.msg { margin-top:10px; font-size:13px; } .msg.ok { color:var(--ok); } .msg.err { color:var(--err); }
.oculto { display:none !important; }
@media (max-width:640px) {
  .barra .nome { display:none; } .quem { display:none; }
  main { padding:20px 16px 48px; } .grade { grid-template-columns:1fr; }
}
