/* Complementos do aplicativo sobre o CSS da maquete aprovada (mock.css). Só o que a maquete não cobre. */
.demo { display: none !important; }
.apage { display: grid; gap: 18px; }
.apage .cols { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.apage form.fm label { display: grid; gap: 6px; margin-bottom: 14px; font-size: 13px; color: var(--muted); }
.apage input[type=text], .apage input[type=email], .apage input[type=password], .apage input[type=number], .apage textarea, .apage select, .login input {
  width: 100%; background: var(--panel2); color: var(--ink); border: 1px solid var(--line); padding: 11px 12px; font: inherit; border-radius: 6px;
}
.login { width: min(420px, 92vw); }
.login label { display: grid; gap: 6px; margin-bottom: 14px; font-size: 13px; color: var(--muted); }
.err { color: var(--crit); font-size: 13px; min-height: 18px; }
.drop { border: 1px dashed var(--accent); padding: 34px; text-align: center; color: var(--muted); border-radius: 8px; }
.drop.over { background: var(--accent-soft); }
.rlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rlist li { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.dotc { width: 9px; height: 9px; border-radius: 50%; background: var(--line); flex: none; } .dotc.on { background: var(--ok); }
.kvl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; font-size: 14px; } .kvl dt { color: var(--muted); } .kvl dd { margin: 0; }
.bn-act { background: var(--panel2); border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 10px 14px; margin-bottom: 14px; border-radius: 6px; font-size: 14px; }
.nsep2 { margin: 14px 0 4px; padding-left: 12px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.stxt { font-size: 12.5px; color: var(--muted); }
details.ax summary { cursor: pointer; }
.evts-note { margin-top: 8px; }


.astform .mic{background:transparent;border:1px solid var(--line);color:var(--muted);padding:0 10px;display:inline-grid;place-items:center}
.astform .mic:hover{color:var(--ink)} .astform .mic.on{color:#fff;background:var(--crit);border-color:var(--crit);animation:micp 1.2s ease-in-out infinite}
@keyframes micp{50%{opacity:.65}}
.micnote{padding:0 16px 10px;font-size:12.5px;color:var(--muted);line-height:1.5} .micnote .lnk{background:none;border:0;padding:0;cursor:pointer;font:inherit;text-decoration:underline}

.gbtn{display:flex;gap:8px;flex-wrap:wrap} .gbtn button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 11px;font:inherit;font-size:12.5px;cursor:pointer;border-radius:6px} .gbtn button:hover{color:var(--ink);border-color:var(--accent)}
.wopts{display:grid;gap:10px;margin:14px 0} .wopts .btn{width:100%;text-align:left;display:grid;gap:3px} .wopts .btn small{font-size:12px;opacity:.75;letter-spacing:0;text-transform:none;font-weight:400} .wopts .btn[disabled]{opacity:.5;cursor:not-allowed}
.tabqa{position:static;margin-left:12px;vertical-align:middle;opacity:.7;display:inline-grid;font-size:14px}
#wel form label{display:grid;gap:6px;margin:12px 0;font-size:13px;color:var(--muted)} #wel form input{width:100%;background:var(--panel2);color:var(--ink);border:1px solid var(--line);padding:11px 12px;font:inherit;border-radius:6px}

/* ================= Ajustes de tela (11/10): conteúdo ocupa a área, o Assistant empurra sem deixar buraco, cabeçalho em destaque, letra maior ================= */
:root{--sw:264px}
.shell{--aw:0px;grid-template-columns:var(--sw) minmax(0,1fr) var(--aw)}
.shell.collapsed{--sw:72px}
.shell.ast-open{--aw:min(440px,34vw)}
.ast>*{min-width:0}
.content{min-width:0}
/* o conteúdo usa toda a largura disponível, com respiro lateral proporcional (sem teto que deixe faixa vazia à direita) */
.pg:not(.home){max-width:none!important;margin:0!important;padding:26px clamp(20px,2.6vw,56px) 110px!important}
.hpanel{max-width:none!important;margin:30px clamp(20px,2.6vw,56px) 80px!important}
.apage{max-width:none}
.hctx>p,.lead,.verd p{max-width:96ch}
.hctx h2{max-width:36em}
.hcards{gap:clamp(10px,1vw,18px)}
.hc .hv{font-size:clamp(19px,1.75cqi,27px)}
.hcards{grid-template-columns:repeat(3,minmax(0,1fr))}
@container (min-width:1500px){.hcards{grid-template-columns:repeat(6,minmax(0,1fr))}}
@container (max-width:640px){.hcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.side{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));overflow-y:auto;overscroll-behavior:contain}
/* rolagem da página sem faixa vazia na lateral */
html,body{background:var(--bg,#050505)}
/* cabeçalho com o nome em destaque */
:root[data-theme] .hbar{padding:14px clamp(20px,2.6vw,56px);gap:6px 40px;border-bottom:1px solid var(--o-gold2,#b08d57)}
:root[data-theme] .hbrand{align-items:center;gap:6px 22px}
:root[data-theme] .hbrand b{font-size:clamp(26px,2.1vw,36px);font-weight:500;letter-spacing:.34em;text-transform:uppercase;background:linear-gradient(180deg,#f3dfae 0%,#D5B374 45%,#a97f3f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;padding-left:2px}
:root[data-theme] .hbrand span{font-size:13px;letter-spacing:.26em;color:var(--o-body,#b9b2a5)}
:root[data-theme] .hmeta{font-size:14.5px}
:root[data-theme] .hact b{font-size:13.5px}
@media (max-width:900px){:root[data-theme] .hbrand b{font-size:24px;letter-spacing:.24em}.shell.ast-open{--aw:0px}}
/* cabeçalho: marca e estado na primeira linha, dados da conta na segunda; em telas muito largas tudo numa linha só */
.hbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.hbar .hmeta{grid-column:1/-1;order:3;margin-top:2px}
@media (min-width:2000px){.hbar{display:flex!important}.hbar .hmeta{order:0;margin:0}}
