/* Ajustes redesenhado (29/10/2026): quadro de cartões + painel. Escala --sp-1..6; alvos >= 44 px; texto >= 13 px. */
.ajustes {display:grid;gap:var(--sp-5);max-width:1280px;margin:0 auto}
.ajustes[data-view=lista] .aj-painel {display:none}
.ajustes[data-view=cartao] .aj-lista {display:none}
.ajustes .page-header {margin-bottom:var(--sp-4)}
.aj-lista {min-width:0;display:grid;gap:var(--sp-4);align-content:start}
.aj-cartoes {display:grid;gap:var(--sp-3)}
.aj-cartao,.aj-atalho {display:flex;align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none}
.aj-cartao:hover,.aj-atalho:hover {border-color:var(--rule-strong)}
.aj-cartao:focus-visible,.aj-atalho:focus-visible,.aj-voltar:focus-visible {outline:2px solid var(--brand);outline-offset:2px}
.aj-cartao[aria-current=page] {border-color:var(--brand);background:var(--brand-soft)}
.aj-ico {flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--brand-text)}
.aj-corpo {flex:1;min-width:0;display:grid;gap:var(--sp-1)}
.aj-titulo {font-size:16px;line-height:1.3;font-weight:600}
.aj-sec {font-size:13px;color:var(--ink-mute);overflow-wrap:anywhere}
.aj-seta {flex:none;color:var(--ink-mute);display:inline-flex}
.aj-estado {display:inline-flex;align-items:center;gap:var(--sp-2);font-size:14px;line-height:1.3;min-width:0}
.aj-estado-txt {overflow-wrap:anywhere}
.aj-ponto {flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}
.aj-estado.is-ok {color:var(--ok)} .aj-estado.is-wait {color:var(--wait)} .aj-estado.is-mute {color:var(--ink-mute)}
.aj-estado.is-brand {color:var(--brand-text)} .aj-estado.is-bad {color:var(--bad);font-size:14px}
.aj-skel {display:block;width:120px;height:14px;border-radius:7px;background:var(--skel)}
.aj-grupo {font-size:14px;font-weight:600;margin:var(--sp-3) 0 0;color:var(--ink-2)} .aj-grupo small {font-weight:400;color:var(--ink-mute);margin-left:var(--sp-2);font-size:13px}
.aj-atalhos {display:grid;gap:var(--sp-2)}
.aj-atalho {min-height:52px;padding:var(--sp-2) var(--sp-4)}
.aj-atalho strong {flex:1;font-size:15px;font-weight:600;min-width:0}
.aj-atalho .aj-estado {flex:0 1 auto;max-width:45%}
.aj-faixa {padding:var(--sp-3) var(--sp-4);border:1px solid var(--wait);border-radius:12px;background:var(--wait-bg);color:var(--ink)}
.aj-faixa strong {display:block;color:var(--wait)} .aj-faixa p {margin:var(--sp-1) 0 0;font-size:14px}
/* Falha de leitura no celular: um aviso só, no topo (os cartões ficam neutros) */
.aj-aviso-erro {display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2) var(--sp-3);align-items:start;padding:var(--sp-3) var(--sp-4);border:1px solid var(--bad);border-radius:12px;background:var(--bad-bg);color:var(--ink)}
.aj-aviso-ic {display:grid;place-items:center;width:32px;height:32px;color:var(--bad)}
.aj-aviso-erro strong {display:block;font-size:16px} .aj-aviso-erro p {margin:var(--sp-1) 0 0;font-size:14px;color:var(--ink-2)}
.aj-aviso-erro .btn {grid-column:1 / -1;width:100%;min-height:44px;justify-content:center}
/* Painel do cartão */
.aj-painel {min-width:0}
.aj-painel-topo {display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.aj-voltar {display:inline-flex;align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-3) 0 var(--sp-1);color:var(--brand-text);text-decoration:none;font-weight:600}
.aj-voltar svg {transform:rotate(180deg)}
.aj-painel-titulo {flex:1 1 100%;margin:0;font:700 22px/1.25 var(--font-ui,inherit);outline:none}
.aj-painel-corpo {display:grid;gap:var(--sp-4);min-width:0}
.aj-topo-acao {display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);position:sticky;bottom:0;margin-top:var(--sp-4);padding:var(--sp-3) 0;background:var(--surface);border-top:1px solid var(--rule);z-index:2}
.aj-topo-acao:empty {display:none}
.aj-topo-acao .btn {min-height:48px;min-width:132px}
.aj-status {font-size:14px;color:var(--ink-mute);min-width:0}
.aj-status.is-sujo {color:var(--wait)} .aj-status.is-erro {color:var(--bad)} .aj-status.is-ok {color:var(--ink-mute)}
.aj-bloco {display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.aj-bloco h3,.aj-sub {margin:0;font-size:16px;font-weight:600}
.aj-bloco .field-help,.aj-bloco p {margin:0}
.aj-erro-campo {display:block;margin-top:var(--sp-1);color:var(--bad);font-size:14px}
.ajustes [aria-invalid=true] {border-color:var(--bad)!important}
.aj-aparece {font-size:13px;color:var(--ink-mute)} .aj-chip {display:inline-block;padding:0 var(--sp-2);border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:13px}
.aj-fonte {display:flex;gap:var(--sp-2);align-items:flex-start;margin:0;padding:var(--sp-3) var(--sp-4);border-radius:12px;background:var(--brand-soft);font-size:14px}
.aj-linha-conta {display:flex;gap:var(--sp-2);align-items:center;margin:0;font-size:14px;color:var(--ink-2)}
.aj-esqueleto {display:grid;gap:var(--sp-3)} .aj-esqueleto span {display:block;height:64px;border-radius:12px;background:var(--surface-2)}
.aj-erro-cartao {display:grid;gap:var(--sp-2);justify-items:start;padding:var(--sp-4);border:1px solid var(--bad);border-radius:12px;background:var(--bad-bg)}
.aj-restrito {max-width:420px;margin:var(--sp-6) auto;text-align:center;display:grid;gap:var(--sp-3);justify-items:center}
:is(.ajustes,.aj-solo) .settings-section {padding:var(--sp-4);margin:0;border-radius:12px}
/* Sofia */
.aj-contrato {display:grid;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:12px;border:1px solid var(--rule);background:var(--surface);font-size:14px}
.aj-contrato.is-brand {background:var(--brand-soft);border-color:var(--brand)} .aj-contrato.is-wait {background:var(--wait-bg);border-color:var(--wait)} .aj-contrato.is-ok {border-color:var(--ok)}
.aj-contrato .btn {justify-self:start;margin-top:var(--sp-2);min-height:44px}
.aj-modos,.aj-quando {display:grid;gap:var(--sp-2);margin:0;padding:0;border:0;min-width:0}
.aj-modos legend,.aj-quando legend {font-size:14px;font-weight:600;margin-bottom:var(--sp-2);padding:0}
.aj-modo {display:flex;gap:var(--sp-3);align-items:flex-start;min-height:56px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--rule-strong);border-radius:12px;background:var(--surface);cursor:pointer}
.aj-modo input {flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--brand)}
.aj-modo:has(input:checked) {border-color:var(--brand);background:var(--brand-soft)}
.aj-modo:has(input:focus-visible) {outline:2px solid var(--brand);outline-offset:2px}
.aj-modo.is-off {border-style:dashed;cursor:not-allowed;color:var(--ink-mute)}
.aj-modo-corpo {display:grid;gap:var(--sp-1);min-width:0} .aj-modo-corpo strong {font-size:16px} .aj-modo-corpo small {font-size:14px;color:var(--ink-2);line-height:1.4}
.aj-modo.is-off small {color:var(--ink-mute)}
.aj-selo {font-style:normal;font-size:13px;font-weight:600;margin-left:var(--sp-2);padding:0 var(--sp-2);border-radius:999px;background:var(--brand-soft);color:var(--brand-text);white-space:nowrap}
.aj-nome {display:grid;gap:var(--sp-2)} .aj-nome .form-input {max-width:none;width:100%}
.aj-estado-salvo {display:flex;align-items:center;gap:var(--sp-2);min-height:24px;font-size:14px;color:var(--ink-mute)}
.aj-estado-salvo.is-ok {color:var(--ok)} .aj-estado-salvo.is-erro {color:var(--bad)}
.aj-salva-ao-tocar {display:inline-flex;align-items:center;gap:var(--sp-1)}
.aj-combinados {padding:var(--sp-3) 0} .aj-combinados h3 {margin:0 0 var(--sp-2);font-size:15px}
.aj-combinados ul {margin:0 0 var(--sp-3);padding-left:var(--sp-4);display:grid;gap:var(--sp-1);font-size:14px} .aj-combinados ul:last-child {margin-bottom:0} .aj-combinados h4 {margin:var(--sp-3) 0 var(--sp-1);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute)} .aj-combinados h3 + h4 {margin-top:0}
.aj-confirma ul {margin:0 0 var(--sp-3);padding-left:var(--sp-4);display:grid;gap:var(--sp-2)}
@media (max-width:640px) {
 .aj-topo-acao {margin-inline:calc(var(--sp-4) * -1);padding-inline:var(--sp-4)}
 .aj-topo-acao .btn {flex:none}
 .aj-atalho .aj-estado {max-width:50%}
}
/* Computador largo: coluna de cartões + painel */
@media (min-width:1180px) {
 .ajustes {grid-template-columns:360px minmax(0,1fr);gap:var(--sp-6);align-items:start}
 .ajustes[data-view=lista] .aj-painel,.ajustes[data-view=cartao] .aj-lista {display:grid}
 .aj-painel {display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-4);align-content:start}
 .aj-painel-topo {display:contents}
 .aj-voltar {display:none}
 .aj-painel-titulo {grid-column:1;flex:none;align-self:center}
 .aj-painel-corpo {grid-column:1 / -1;grid-row:2}
 .aj-topo-acao {position:static;grid-column:2;grid-row:1;margin:0;padding:0;border:0;background:none}
 .ajustes .page-header {margin-bottom:var(--sp-3)}
}
.aj-seta svg {transform:rotate(-90deg)}
.aj-form {display:grid;gap:var(--sp-4);min-width:0}
.aj-lembretes {display:grid;gap:var(--sp-4)}
.ajustes .salon-pay-options label {min-height:44px;display:inline-flex;align-items:center}
.ajustes .salon-pay-options input {width:20px;height:20px}
.ajustes .salon-address-fields {padding:0;border:0;background:none}
.ajustes h1:focus,.ajustes h2:focus,.ajustes h3:focus,.ajustes [tabindex="-1"]:focus {outline:none}
.aj-modo input[type=radio] {-webkit-appearance:none;appearance:none;flex:none;width:22px;height:22px;border:2px solid var(--rule-strong);border-radius:50%;background:transparent;margin:2px 0 0}
.aj-modo input[type=radio]:checked {border-color:var(--brand);background:radial-gradient(circle,var(--brand) 0 42%,transparent 46%)}
.aj-modo input[type=radio]:disabled {border-style:dashed}
.aj-sub {margin:0 0 var(--sp-3);line-height:1.4;display:block}
:is(.ajustes,.aj-solo) .settings-section {display:grid;gap:var(--sp-2)}
:is(.ajustes,.aj-solo) .settings-section > * {margin:0}
@media (min-width:1180px) {.aj-topo-acao {padding-right:var(--sp-2)}.aj-painel-titulo {padding-top:var(--sp-1)}}
.aj-solo {display:grid;gap:var(--sp-4);max-width:720px;margin:0 auto}
.aj-solo .page-header {margin-bottom:0}
@media (min-width:1180px) {.aj-painel {row-gap:var(--sp-4)}}
.aj-sr {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.aj-topo-acao .btn[aria-disabled=true] {cursor:default}
.modal-container [aria-invalid=true] {border-color:var(--bad)!important}

/* Com o aviso único à vista, o rodapé do menu ("Servidor · Erro de conexão") não repete a frase: sai da vista, mas segue para leitor de tela. */
body:has(.aj-aviso-erro) .sidebar .connection-status, body:has(.aj-aviso-erro) .sidebar .connection-status:has(.status-dot.disconnected) { position: absolute; width: 1px; height: 1px; padding: 0 !important; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.aj-erro-discreto { margin: 0; padding: var(--sp-3) var(--sp-4); border: 1px dashed var(--rule-strong); border-radius: 12px; color: var(--ink-mute); font-size: 14px; }
