/* SIGMA VISION — Minha conta / autenticador (js/ui/account.js). Usado no painel, síndico, administração e login. */
.ac-dlg {
  width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0;
  background: var(--bg-2); color: var(--text-0); border: 1px solid var(--line-3); border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
}
.ac-dlg::backdrop { background: rgba(2, 5, 9, .72); }
.ac-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px 10px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--bg-2); z-index: 1; }
.ac-head h2 { flex: 1; margin: 0; display: flex; align-items: center; gap: 8px; font-family: var(--font-cond); font-weight: 600; font-size: 19px; letter-spacing: .04em; }
.ac-body { padding: 4px 16px 16px; }
.ac-sec { padding: 14px 0; border-bottom: 1px solid var(--line); }
.ac-sec:last-child { border-bottom: 0; }
.ac-sechead { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.ac-sechead h3 { flex: 1; margin: 0; display: flex; align-items: center; gap: 8px; font-family: var(--font-cond); font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-1); }
.ac-me { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ac-me div { display: flex; flex-direction: column; gap: 2px; }
.ac-me span.mono { color: var(--text-2); font-size: 12px; }
.ac-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line-3); color: var(--text-1); font-family: var(--font-cond); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.ac-pill.ok { color: var(--ok); border-color: rgba(36, 212, 139, .4); background: var(--ok-dim); }
.ac-text { margin: 0 0 10px; color: var(--text-1); font-size: 13.5px; line-height: 1.5; }
.ac-text b { color: var(--text-0); }
.ac-hint { display: block; margin-top: 6px; color: var(--text-2); font-size: 12px; }
.ac-row, .ac-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ac-actions { justify-content: flex-end; margin-top: 12px; }
.ac-form { margin: 0; }
.ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ac-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.ac-field > span, .ac-label { font-family: var(--font-cond); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.ac-field .input { width: 100%; }
.ac-code { font-size: 22px; letter-spacing: .3em; text-align: center; height: 46px; max-width: 220px; }
.ac-msg { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; padding: 8px 10px; border-radius: 8px; font-size: 13px; color: var(--text-1); background: var(--bg-3); border: 1px solid var(--line-2); }
.ac-msg.err { color: #ffc2c9; background: var(--crit-dim); border-color: rgba(255, 77, 97, .4); }
.ac-msg.ok { color: #b8f5d8; background: var(--ok-dim); border-color: rgba(36, 212, 139, .4); }
.ac-msg.busy .ico { animation: ac-spin 1s linear infinite; }
@keyframes ac-spin { to { transform: rotate(360deg); } }
.ac-danger:hover { color: var(--crit); border-color: rgba(255, 77, 97, .45); background: var(--crit-dim); }
.ac-steps { margin: 4px 0 12px; padding-left: 20px; color: var(--text-1); font-size: 13.5px; line-height: 1.55; }
.ac-steps li { margin: 3px 0; }
.ac-steps b { color: var(--text-0); }
.ac-enroll { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.ac-qrbox { flex: 0 0 auto; padding: 10px; background: #fff; border-radius: 10px; }
.ac-qr { display: block; width: 176px; height: 176px; }
.ac-keybox { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ac-keybox b { margin-bottom: 6px; font-size: 14px; }
.ac-key { display: block; padding: 10px 12px; border-radius: 8px; background: var(--bg-1); border: 1px solid var(--line-2); color: var(--accent); font-size: 15px; letter-spacing: .06em; word-break: break-all; user-select: all; margin-bottom: 8px; }
.ac-done { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; margin-bottom: 12px; border-radius: 10px; color: var(--ok); background: var(--ok-dim); border: 1px solid rgba(36, 212, 139, .4); }
.ac-done div { display: flex; flex-direction: column; gap: 2px; color: var(--text-0); font-size: 13.5px; }
.ac-done span { color: var(--text-1); }
.ac-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; padding: 12px 14px; margin: 0 0 10px; border-radius: 10px; background: var(--bg-1); border: 1px dashed var(--line-3); font-size: 15px; letter-spacing: .06em; }
.ac-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--text-1); font-size: 13.5px; cursor: pointer; }
.ac-offscreen { position: fixed; left: -9999px; top: 0; }
/* "Abrir no app" só faz sentido no celular */
@media (hover: hover) and (pointer: fine) { .ac-mobile { display: none; } }
@media (max-width: 560px) {
  .ac-grid, .ac-grid.two { grid-template-columns: 1fr; }
  .ac-qr { width: 150px; height: 150px; }
  .ac-enroll { justify-content: center; }
}
