/* Interface de acesso web/rápido, usando os tokens globais do Envoxers. */
.login-box-access { width: min(100% - 24px, 490px); padding: 26px; }
.access-headline { font-size: 19px; font-weight: 700; text-align: center; margin: 2px 0 18px; color: var(--ink); }
.access-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.access-tab { cursor: pointer; padding: 12px 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-elev); text-align: left; color: var(--ink); }
.access-tab:hover { border-color: #6b77d8; }
.access-tab.active { border-color: #2547e8; background: rgba(37,71,232,.08); box-shadow: inset 0 0 0 1px #2547e8; }
.access-tab strong { display: block; font-size: 12px; line-height: 1.35; }
.access-tab small { display: block; font-size: 10px; line-height: 1.4; color: var(--ink-3); padding-top: 5px; }
.access-safety { background: var(--bg); border: 1px solid var(--line); border-radius: 9px; padding: 11px; margin-bottom: 14px; overflow-wrap: anywhere; color: var(--ink-2); font-size: 12px; }
.access-safety strong { display:block; font-size: 12px; margin-bottom: 4px; }
.access-safety span { display:block; font-size: 11px; line-height: 1.5; }
.access-duration { margin: 0 0 14px; }
.access-divider { display:flex; align-items:center; gap:12px; margin:15px 0 12px; text-align:center; font-size:12px; color:var(--ink-3); }
.access-divider::before,.access-divider::after { content:""; height:1px; background:var(--line); flex:1; }
.access-qr-button { width:100%; justify-content:center; }
.access-qr { min-height:190px; display:flex; justify-content:center; align-items:center; margin-top:10px; }
.access-qr img { padding:7px; background:white; }
.access-pair-code {text-align:center;font-size:22px;font-weight:800;letter-spacing:.17em;margin:8px auto;color:var(--ink);}
.access-qr-desc { text-align:center; font-size:12px; color:var(--ink-2); margin:12px auto; max-width:300px; line-height:1.5; }
.access-back { width:100%; justify-content:center; }
.access-deeplink { margin-top:14px; font-size:12px; color:var(--ink-3); text-align:center; }
.access-approval-overlay { position:fixed; inset:0; background:rgba(10,16,30,.76); z-index:100000; display:flex; justify-content:center; align-items:center; padding:18px; }
.access-approval-card { max-width:440px; width:100%; padding:24px; background:var(--bg-elev); border-radius:16px; box-shadow:var(--shadow-2); }
.access-approval-card h3 { font-size:19px; margin:0 0 12px; }
.access-approval-card p { font-size:13px; color:var(--ink-2); line-height:1.6; }
.access-approval-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.access-session-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--bg); border:1px solid var(--line); border-radius:9px; padding:9px 12px; margin:8px 0 16px; font-size:12px; }
.access-session-bar strong { font-size:12px; }
.access-session-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.access-session-row div { min-width:0; overflow-wrap:anywhere; }
.access-session-row small { display:block; color:var(--ink-3); font-size:11px; margin-top:4px; }
@media(max-width:520px) {
 .login-box-access {padding:20px 16px;}
 .access-tabs {grid-template-columns:1fr; gap:7px;}
 .access-tab {padding:10px 12px;}
 .access-tab small {padding-top:2px;}
}
