.titulo-login { font-family: var(--font-title); margin: 8px 0 4px; }
.largo { width: 100%; justify-content: center; margin-top: 12px; }
.erro { color: var(--danger); min-height: 1.2em; margin: 6px 0; }
.aviso { display: flex; gap: 6px; align-items: center; margin: 16px 0; }
.aviso svg { width: 16px; height: 16px; }
.resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 8px; }
.resumo .sync-stat { padding: 14px 16px; margin: 0; }
.sync-tabs { margin: 16px 0; }
.tabela-rolagem { overflow-x: auto; }
.sync-table td, .sync-table th { white-space: nowrap; }
.sync-table td.quebra { white-space: normal; max-width: 320px; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.filtros { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 12px; }
.filtros .sync-input { max-width: 320px; }
.chk { display: flex; gap: 6px; align-items: center; }
.passos { line-height: 1.8; padding-left: 20px; }
.acoes-script { margin: 16px 0 8px; }
.modal-largo { max-width: 960px; width: 95vw; }
.script { width: 100%; height: 55vh; font-size: 12px; margin: 12px 0; white-space: pre; resize: vertical; }
.campo { border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; margin: 12px 0; display: grid; gap: 8px; }
.campo .sync-btn { justify-self: start; }
.sync-btn svg { width: 16px; height: 16px; }
.toast { position: fixed; bottom: 24px; right: 24px; background: var(--bg-elevated); border: 1px solid var(--border); border-left: 3px solid var(--sync-green); padding: 12px 16px; border-radius: var(--radius); opacity: 0; transition: opacity .2s; pointer-events: none; max-width: 420px; }
.toast.show { opacity: 1; }
.toast.ruim { border-left-color: var(--danger); }
.select-mini { padding: 4px 8px; font-size: 12px; max-width: 240px; }
:focus-visible { outline: 2px solid var(--sync-green); outline-offset: 2px; }
.sync-btn:disabled, .sync-btn[disabled] { opacity: .35; cursor: not-allowed; filter: grayscale(1); }
.sync-modal-box > .sync-between { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sync-modal-box > .sync-between h2 { margin: 0; }
