.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,44%) 1fr;background:#f5f7fb;color:#172033}.auth-aside{position:relative;overflow:hidden;background:linear-gradient(145deg,#101a32,#193a79);color:#fff;padding:clamp(36px,7vw,88px);display:flex;flex-direction:column;justify-content:space-between}.auth-aside::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;bottom:-180px;background:linear-gradient(145deg,rgba(91,137,255,.34),rgba(91,137,255,0))}.auth-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;position:relative;z-index:1}.auth-brand .brand-mark{box-shadow:0 14px 38px rgba(27,83,216,.35)}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:1.25rem;letter-spacing:.08em}.auth-brand small{color:#b7c5df;font-size:.72rem}.auth-copy{position:relative;z-index:1;max-width:540px}.auth-copy .eyebrow{color:#9fbcff}.auth-copy h1{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.045em;line-height:1.02;margin:18px 0}.auth-copy p{color:#c7d2e5;font-size:1.05rem;line-height:1.7}.auth-benefits{display:grid;gap:12px;margin-top:30px}.auth-benefit{display:flex;align-items:center;gap:12px;color:#dbe5f7;font-size:.9rem}.auth-benefit span{width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.1);display:grid;place-items:center}.auth-main{display:grid;place-items:center;padding:clamp(24px,7vw,96px)}.auth-panel{width:min(470px,100%)}.auth-panel-header{margin-bottom:28px}.auth-panel-header h2{font-size:2rem;letter-spacing:-.03em;margin:8px 0}.auth-panel-header p{color:var(--muted);line-height:1.6}.auth-field{margin-bottom:18px}.auth-field .form-label{font-size:.84rem;font-weight:700}.auth-field .form-control{min-height:50px;border-radius:11px;padding:12px 14px}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-submit{min-height:50px;border-radius:11px;font-weight:700}.auth-validation{background:#fff1f1;border:1px solid #f4cdcd;border-radius:10px;padding:12px 14px;margin-bottom:18px}.auth-validation:empty{display:none}.auth-footnote{color:#8b94a4;font-size:.76rem;margin-top:24px;text-align:center}.setup-steps{display:grid;gap:10px;margin-top:24px}.setup-step{display:flex;gap:12px;align-items:flex-start;color:#dbe5f7}.setup-step b{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}.user-summary{display:flex;align-items:center;gap:12px}.user-avatar{width:42px;height:42px;border-radius:12px;background:#edf2ff;color:#2854bd;display:grid;place-items:center;font-weight:800}.user-meta strong,.user-meta small{display:block}.user-meta small{color:var(--muted)}.user-state{display:flex;gap:6px;flex-wrap:wrap}.state-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:750}.state-pill::before{content:"";width:6px;height:6px;border-radius:50%}.state-pill.ok{background:#e7f7ef;color:#147249}.state-pill.ok::before{background:#22a66d}.state-pill.warn{background:#fff4dc;color:#8a5d00}.state-pill.warn::before{background:#e7a616}.state-pill.danger{background:#fdecec;color:#9c3434}.state-pill.danger::before{background:#d65353}.state-pill.neutral{background:#eff1f5;color:#5e6878}.state-pill.neutral::before{background:#8993a3}.role-chips{display:flex;flex-wrap:wrap;gap:6px}.role-chip{background:#f1f4fa;border:1px solid #e2e7f0;padding:5px 8px;border-radius:8px;font-size:.72rem;color:#4e5a6e}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.users-table td{vertical-align:middle}.empty-state{text-align:center;padding:52px 24px;color:var(--muted)}.form-section-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.form-section-header h2{margin:0 0 5px}.form-section-header p{margin:0;color:var(--muted)}.security-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.security-toggle{position:relative;display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;cursor:pointer}.security-toggle input{margin-top:4px}.security-toggle strong,.security-toggle small{display:block}.security-toggle small{color:var(--muted);margin-top:3px}.role-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-card{display:flex;gap:12px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer;transition:.15s}.role-card:hover{border-color:#b8c9f3;box-shadow:0 6px 20px rgba(36,87,214,.07)}.role-card input{margin-top:4px}.role-card strong,.role-card small{display:block}.role-card small{color:var(--muted);margin-top:4px}.password-rules{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;margin:12px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.78rem}.password-rules li::before{content:"✓";color:#21865b;font-weight:800;margin-right:7px}.field-validation-valid{display:none}.field-validation-error{display:block;color:#b13b3b;font-size:.78rem;margin-top:5px}.input-validation-error{border-color:#dc7373!important;background:#fffafa}.validation-summary-errors ul{margin:0;padding-left:20px}.access-denied-card{max-width:620px;margin:8vh auto;text-align:center;padding:48px}.access-denied-icon{width:72px;height:72px;border-radius:20px;background:#fff0f0;color:#b63d3d;display:grid;place-items:center;font-size:1.8rem;margin:0 auto 22px}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-aside{min-height:280px;padding:34px}.auth-copy h1{font-size:2.5rem}.auth-benefits{display:none}.auth-main{padding:34px 22px}.security-toggle-grid{grid-template-columns:1fr}.role-card-grid{grid-template-columns:1fr}}@media(max-width:620px){.auth-aside{min-height:220px}.auth-copy p{display:none}.auth-actions,.admin-toolbar{align-items:stretch;flex-direction:column}.auth-submit{width:100%}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{padding:14px 0;border-bottom:1px solid var(--line)}.users-table td{border:0;padding:6px 18px}.password-rules{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .btn{width:100%}}
