/* ===== VapeGate Access Gateway Styles ===== */
.gateway-locked { overflow: hidden !important; }
#gateway-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(10px);
    display: flex; align-items: center; justify-content: center;
    z-index: 999999; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
#gateway-box {
    background: white; border-radius: 16px; padding: 40px;
    max-width: 420px; width: 90%; text-align: center;
    box-shadow: 0 25px 50px rgba(0,0,0,0.3);
}
#gateway-box .logo-text { font-size: 28px; font-weight: 800; margin-bottom: 16px; }
#gateway-box .logo-text .vape { color: #334155; }
#gateway-box .logo-text .gate { color: #0D9488; }
#gateway-box h2 { font-size: 22px; font-weight: 700; color: #1E293B; margin-bottom: 12px; }
#gateway-box p { color: #64748B; font-size: 14px; line-height: 1.6; margin-bottom: 24px; }
#gateway-input {
    width: 100%; padding: 14px 16px; border: 2px solid #E2E8F0;
    border-radius: 10px; font-size: 16px; outline: none;
    transition: border-color 0.2s; box-sizing: border-box; margin-bottom: 12px;
}
#gateway-input:focus { border-color: #0D9488; }
#gateway-btn {
    width: 100%; padding: 14px; background: #0D9488; color: white;
    border: none; border-radius: 10px; font-size: 16px; font-weight: 600;
    cursor: pointer; transition: background 0.2s;
}
#gateway-btn:hover { background: #0F766E; }
#gateway-error { display: none; color: #DC2626; font-size: 13px; margin-top: 12px; }
#gateway-loading { color: #64748B; font-size: 14px; }
.spinner {
    display: inline-block; width: 20px; height: 20px;
    border: 3px solid #E2E8F0; border-top-color: #0D9488;
    border-radius: 50%; animation: spin 0.8s linear infinite;
    vertical-align: middle; margin-right: 8px;
}
@keyframes spin { to { transform: rotate(360deg); } }
