
/* IQANOVA Supabase authentication layer */
.auth-hidden{display:none!important}
.auth-user-chip{display:none;align-items:center;gap:8px;color:#07143c;font-weight:800;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}
.auth-user-chip.on{display:inline-flex}.auth-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0a4cff,#00d4ff);color:#fff;font-weight:900;font-size:12px}.auth-signout{background:#fff!important;color:#31415f!important;border:1px solid var(--line)!important}.auth-signout:hover{color:#c82d2d!important;border-color:#ffc9c9!important;background:#fff5f5!important}.auth-overlay{display:none;position:fixed;inset:0;background:rgba(5,18,51,.62);backdrop-filter:blur(6px);z-index:200;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.auth-overlay.open{display:flex}.auth-modal{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 95px rgba(7,20,60,.35);padding:30px;position:relative}.auth-close{position:absolute;top:14px;right:14px;border:0;background:#edf4ff;color:#31415f;border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer}.auth-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.auth-title .brand-mark{width:34px;height:34px}.auth-title b{font-size:18px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 20px}.auth-tab{flex:1;border:0;background:transparent;color:#66728c;font-weight:900;padding:11px 4px;cursor:pointer;border-bottom:3px solid transparent}.auth-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.auth-panel{display:none}.auth-panel.active{display:block}.auth-form{display:grid;gap:13px}.auth-field{display:grid;gap:5px}.auth-field label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#44526f}.auth-field input,.auth-field select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;font:inherit;background:#fbfdff;color:#07143c;outline:none}.auth-field input:focus,.auth-field select:focus{border-color:#0a4cff;box-shadow:0 0 0 4px rgba(10,76,255,.12)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-alert{display:none;border-radius:13px;padding:11px 12px;font-size:13px;line-height:1.4}.auth-alert.on{display:block}.auth-alert.err{background:#fff2f2;border:1px solid #ffcaca;color:#a21e1e}.auth-alert.ok{background:#effdf6;border:1px solid #bbf1d3;color:#11633b}.auth-divider{display:flex;align-items:center;gap:10px;color:#74809a;font-size:13px;margin:4px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-mini{font-size:13px;color:#66728c;text-align:center}.auth-mini a{font-weight:900;cursor:pointer}.auth-magic,.auth-google{width:100%;justify-content:center}.auth-google{background:#fff!important;color:#07143c!important;border:1px solid var(--line)!important;box-shadow:none!important}.auth-toast{position:fixed;right:22px;bottom:22px;z-index:240;background:#051233;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.26);transform:translateY(80px);opacity:0;transition:.25s ease;max-width:min(360px,calc(100% - 32px));font-size:14px;font-weight:700}.auth-toast.show{opacity:1;transform:translateY(0)}.dashboard-lock{border-radius:24px;padding:34px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.dashboard-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.dashboard-meta .stat small{text-transform:uppercase;letter-spacing:.08em}.auth-request-card{border:1px dashed #aec4ff;background:#f7faff}.protected-note{font-size:13px;color:#66728c}.access-pill{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border-radius:999px;background:#e9fff5;color:#087c51;border:1px solid #c4f3dc;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.05em}@media(max-width:640px){.auth-grid,.dashboard-meta{grid-template-columns:1fr}.auth-modal{padding:24px 18px}.auth-user-chip{display:none!important}}
