.auth-page{justify-content:center;align-items:center;min-height:calc(100dvh - 72px);padding:40px 0;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);margin:0 auto;padding:48px 44px}.auth-header{text-align:center;margin-bottom:36px}.auth-header h1{letter-spacing:-.02em;margin-bottom:8px;font-size:2rem}.auth-header p{color:var(--color-text-secondary);font-size:.95rem}.auth-error{background:var(--color-danger-subtle);color:var(--color-danger);border-radius:var(--radius-sm);text-align:center;border:1px solid #dc26261f;margin-bottom:20px;padding:12px 16px;font-size:.9rem;font-weight:500}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-submit{width:100%;margin-top:4px}.auth-forgot{text-align:center;margin-top:-4px}.auth-forgot a{color:var(--color-text-secondary);font-size:.85rem;text-decoration:none}.auth-forgot a:hover{color:var(--color-primary)}.auth-footer{text-align:center;color:var(--color-text-secondary);margin-top:28px;font-size:.9rem}.auth-footer a{color:var(--color-primary);font-weight:600}.auth-google-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.auth-google-btn:hover{border-color:var(--color-border-strong);background:#1a1a2e05}.auth-divider{align-items:center;gap:16px;margin:24px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-divider span{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.auth-mode-tabs{background:var(--color-background);border-radius:var(--radius-sm);margin-bottom:24px;padding:4px;display:flex}.auth-mode-tab{border-radius:var(--radius-xs,6px);font-family:var(--font-body);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 16px;font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.auth-mode-tab.active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px #00000014}.auth-magic-sent{text-align:center;padding:24px 0}.auth-magic-sent svg{margin-bottom:16px}.auth-magic-sent p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.auth-back-link{text-align:center;width:100%;font-family:var(--font-body);color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-top:24px;padding:12px;font-size:.9rem;font-weight:500;display:block}.auth-back-link:hover{text-decoration:underline}.auth-demo{border-top:1px solid var(--color-border);margin-top:32px;padding-top:28px}.demo-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);text-align:center;margin-bottom:12px;font-size:.65rem}.demo-accounts{gap:8px;display:flex}.demo-btn{background:var(--color-background);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:.8rem;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.demo-btn:hover{border-color:var(--color-primary);background:var(--color-primary-subtle);box-shadow:0 2px 8px #4d79ff14}.role-selector{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;display:grid}.role-card{border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:center;cursor:pointer;padding:24px 16px;transition:border-color .15s,background .15s,box-shadow .15s}.role-card.active{border-color:var(--color-primary);background:var(--color-primary-subtle);box-shadow:0 0 0 3px #4d79ff0f}.role-card:hover:not(.active){border-color:var(--color-border-strong);background:#1a1a2e05}.role-icon{margin-bottom:10px;font-size:2.25rem;display:block}.role-card h3{margin-bottom:4px;font-size:1rem}.role-card p{color:var(--color-text-secondary);font-size:.8rem}@media (max-width:480px){.auth-card{border-radius:var(--radius-lg);padding:36px 24px}.demo-accounts{flex-direction:column}}
