/* Sistema Comercial: o que não vem do template do Hub (entrada, conta, administração). */
[hidden]{display:none !important}
.carregando{margin:30vh auto 0;text-align:center;color:var(--muted);font:500 15px Montserrat,system-ui,sans-serif}
.entrada{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.entrada-cartao{width:min(380px,100%);padding:28px 24px;border-radius:18px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--line2)}
.entrada-cartao h1{margin:0;font:italic 700 26px "Zilla Slab",Georgia,serif;color:var(--ink)}
.entrada-sub{margin:0 0 10px;color:var(--muted);font-size:13px}
.entrada-cartao label{font-size:12px;font-weight:600;color:var(--muted);margin-top:6px}
.entrada-cartao input{font:500 15px Montserrat,system-ui,sans-serif;padding:11px 12px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.07);color:var(--ink)}
.entrada-cartao input:focus-visible,.entrada-cartao button:focus-visible{outline:2px solid var(--celeste);outline-offset:2px}
.entrada-cartao button{margin-top:14px;padding:12px;border:0;border-radius:10px;background:var(--celeste);color:var(--noite);font:700 15px Montserrat,system-ui,sans-serif;cursor:pointer}
.entrada-cartao button:disabled{opacity:.6;cursor:wait}
.entrada-msg{min-height:1.2em;margin:6px 0 0;color:#FFB4C8;font-size:13px}
.conta{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.conta a{color:var(--celeste);font-weight:600;text-decoration:none}
.conta a:hover{text-decoration:underline}
.conta button{font:600 12.5px Montserrat,system-ui,sans-serif;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--ink);cursor:pointer}
/* O analista de IA depende de uma chave própria no Supabase (etapa futura): fica oculto no sistema. */
.ia-fab,.ia-painel{display:none !important}

/* ---------- Administração ---------- */
body.adm{font-family:Montserrat,system-ui,sans-serif;color:var(--ink)}
.adm-topo{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--line2);position:sticky;top:0;z-index:5}
.adm-topo h1{margin:0;font:italic 700 22px "Zilla Slab",Georgia,serif}
.adm-abas{display:flex;gap:6px;flex-wrap:wrap}
.adm-abas button{font:600 13px Montserrat,system-ui,sans-serif;padding:8px 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--muted);cursor:pointer}
.adm-abas button[aria-selected="true"]{background:var(--celeste);color:var(--noite);border-color:var(--celeste)}
.adm-corpo{max-width:1100px;margin:0 auto;padding:22px 16px 60px}
.adm-tela h2{font:italic 700 22px "Zilla Slab",Georgia,serif;margin:0 0 6px}
.adm-tela h3{font-size:15px;margin:26px 0 8px}
.adm-nota{color:var(--muted);font-size:13px;line-height:1.5;max-width:80ch}
.adm-linha{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:14px 0}
.adm-linha label,.adm-cartao label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.adm-linha label:has(input[type=checkbox]){display:flex;align-items:center;gap:6px}
.adm select,.adm input:not([type=checkbox]),.adm textarea{font:500 14px Montserrat,system-ui,sans-serif;padding:8px 10px;border-radius:9px;border:1px solid var(--line2);background:var(--surface-solid);color:var(--ink);max-width:100%}
.adm textarea{width:100%;box-sizing:border-box}
.adm :focus-visible{outline:2px solid var(--celeste);outline-offset:2px}
.adm-btn{font:700 13px Montserrat,system-ui,sans-serif;padding:9px 16px;border-radius:9px;border:1px solid var(--celeste);background:var(--celeste);color:var(--noite);cursor:pointer}
.adm-btn.sec{background:transparent;color:var(--ink);border-color:var(--line2)}
.adm-btn:disabled{opacity:.6;cursor:wait}
.adm-msg{font-size:13px;color:var(--celeste);min-height:1.2em}
.adm-cartao{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:14px;border-radius:12px;background:var(--surface2);border:1px solid var(--line);margin-bottom:14px}
.adm-rolagem{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.adm-tab{width:100%;border-collapse:collapse;font-size:13px}
.adm-tab th,.adm-tab td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.adm-tab th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.adm-tab .num{text-align:right;font-variant-numeric:tabular-nums}
.adm-tab tr:last-child td{border-bottom:0}
.adm-exp{border:1px solid var(--line2);border-radius:14px;padding:6px 16px 16px;margin:18px 0;background:var(--surface2)}
.adm-exp legend{font:italic 700 18px "Zilla Slab",Georgia,serif;padding:0 8px}
.adm-exp h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--celeste);margin:16px 0 8px}
.adm-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px;align-items:end}
.adm-grade label,.adm-largo{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.adm-largo{margin-top:12px}
.adm-so{display:flex !important;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.adm-tab input:not([type=checkbox]),.adm-tab select{padding:5px 7px;font-size:13px}
.adm-res{margin-top:14px}
.adm-fixa{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--noite) 35%)}
.entrada-troca{background:none !important;border:0;color:var(--celeste) !important;font:600 13px Montserrat,system-ui,sans-serif !important;margin-top:4px !important;padding:4px !important;cursor:pointer;text-decoration:underline}
