.auth-container{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:1.5rem;display:flex}.auth-card{background:var(--bg-primary,#1e293b);border:1px solid var(--border,#ffffff1a);border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 10px 25px -5px #0000004d}.auth-card h2{color:var(--text-primary,#f8fafc);text-align:center;margin:0 0 .25rem;font-size:1.6rem;font-weight:700}.auth-subtitle{color:var(--text-secondary,#94a3b8);text-align:center;margin:0 0 1.5rem;font-size:.875rem}.auth-error{color:#f87171;text-align:center;background:#ef444426;border:1px solid #ef444466;border-radius:8px;margin-bottom:1.25rem;padding:.75rem;font-size:.85rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-primary,#f8fafc);font-size:.85rem;font-weight:600}.form-group input,.form-group select{border:1px solid var(--border,#ffffff1a);color:#fff;background:#0f172a99;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s}.form-group select option{color:#fff;background:#1e293b}.form-group input:focus,.form-group select:focus{border-color:var(--accent,#10b981)}.btn-auth-submit{background:var(--accent,#10b981);color:#000;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:700;transition:opacity .2s}.btn-auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{color:var(--text-secondary,#94a3b8);text-align:center;margin-top:1.5rem;font-size:.85rem}.auth-footer a{color:var(--accent,#10b981);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.password-input-container{align-items:center;width:100%;display:flex;position:relative}.password-input-container input{box-sizing:border-box;width:100%;padding-right:2.75rem}.toggle-password-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:.75rem}.toggle-password-btn:hover{color:#f8fafc}.auth-success-banner{color:#34d399;background:#10b98126;border:1px solid #10b98166;border-radius:8px;margin-bottom:1.25rem;padding:1rem;font-size:.9rem;line-height:1.4}.auth-card.wide{max-width:680px;transition:max-width .3s}.role-selection-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.75rem 0;display:grid}@media (max-width:640px){.auth-card.wide{max-width:100%}.role-selection-grid{grid-template-columns:1fr;gap:1rem}}.role-card{text-align:center;cursor:pointer;background:#0f172ab3;border:2px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;padding:1.5rem 1.1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.role-card:hover,.role-card.selected{background:#10b98114;border-color:#10b981;transform:translateY(-4px);box-shadow:0 12px 28px -6px #10b98159}.role-card-icon{color:#94a3b8;background:#ffffff0d;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:1rem;transition:all .25s;display:flex}.role-card:hover .role-card-icon,.role-card.selected .role-card-icon{color:#10b981;background:#10b9812e;transform:scale(1.1)}.role-card-title{color:#f8fafc;margin-bottom:.3rem;font-size:1.2rem;font-weight:700}.role-card-badge{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#ffffff12;border-radius:6px;margin-bottom:.75rem;padding:.25rem .6rem;font-size:.72rem;font-weight:700;transition:all .2s}.role-card:hover .role-card-badge,.role-card.selected .role-card-badge{color:#34d399;background:#10b98133}.role-card-desc{color:#94a3b8;flex-grow:1;font-size:.82rem;line-height:1.4}.role-card-btn{color:#10b981;align-items:center;gap:.25rem;margin-top:1.25rem;font-size:.85rem;font-weight:700;transition:transform .2s;display:flex}.role-card:hover .role-card-btn{transform:translate(3px)}.role-welcome-banner{background:linear-gradient(135deg,#10b98126 0%,#05966914 100%);border:1px solid #10b98159;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}.role-welcome-info{align-items:center;gap:.75rem;display:flex}.role-welcome-icon{color:#34d399;background:#10b98140;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.role-welcome-title{color:#34d399;margin:0 0 .15rem;font-size:1.1rem;font-weight:700}.role-welcome-subtitle{color:#cbd5e1;margin:0;font-size:.78rem}.btn-change-role{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;flex-shrink:0;align-items:center;padding:.4rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.btn-change-role:hover{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
