.login-container{background-color:var(--bg-root);background:radial-gradient(circle at top left, #04d3f10d, transparent 50%), radial-gradient(circle at bottom right, var(--bg-root), var(--bg-root) 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 5%;display:flex}.auth-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);width:100%;max-width:450px;box-shadow:var(--shadow-color);border-radius:16px;padding:40px}.auth-header{text-align:center;margin-bottom:30px}.auth-title{color:var(--text-main);margin-bottom:10px;font-size:2rem;font-weight:800}.role-selector{background:var(--bg-root);border:1px solid var(--border-color);border-radius:8px;gap:10px;margin-bottom:25px;padding:5px;display:flex}.role-btn{text-align:center;cursor:pointer;color:var(--text-muted);border-radius:6px;flex:1;padding:8px 0;font-size:.85rem;transition:all .2s}.role-btn.active{background:var(--bg-panel);color:var(--text-main);font-weight:600;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:25px}.form-label{color:var(--text-main);justify-content:space-between;margin-bottom:8px;font-size:.95rem;font-weight:600;display:flex}.form-label a{color:var(--brand-primary);font-size:.85rem;font-weight:400;text-decoration:none}.form-input{background:var(--bg-root);border:1px solid var(--border-color);width:100%;color:var(--text-main);border-radius:8px;padding:14px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #04d3f126}.btn-primary{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:10px;padding:14px;font-size:1.05rem;font-weight:600;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{background:var(--border-color);color:var(--text-muted);cursor:not-allowed}.social-login-group{flex-direction:column;gap:15px;margin-top:30px;display:flex}.btn-social{border:1px solid var(--border-color);width:100%;color:var(--text-main);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px;font-weight:500;transition:background .2s;display:flex}.btn-social:hover{background:var(--bg-panel)}.divider{text-align:center;color:var(--text-muted);align-items:center;margin:30px 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.divider:not(:empty):before{margin-right:15px}.divider:not(:empty):after{margin-left:15px}
