:root{--auth-navy:#0f2747;--auth-blue:#1976d2;--auth-teal:#00a6a6;--auth-bg:#f5f8fc;--auth-text:#172033;--auth-muted:#64748b;--auth-border:#e2e8f0;--auth-danger:#d9534f}
*{box-sizing:border-box}.login-page,.auth-page{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--auth-text);background:radial-gradient(circle at 8% 10%,rgba(0,166,166,.14),transparent 28%),radial-gradient(circle at 95% 85%,rgba(25,118,210,.14),transparent 30%),linear-gradient(135deg,#f8fbff,#edf5fb);overflow-x:hidden}.login-container,.auth-shell{width:min(1120px,calc(100% - 40px));min-height:680px;margin:clamp(20px,5vh,56px) auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);background:#fff;border:1px solid var(--auth-border);border-radius:24px;box-shadow:0 28px 70px rgba(15,39,71,.14);overflow:hidden}.login-box,.auth-card{grid-column:2;padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;justify-content:center}.login-info,.auth-panel{grid-column:1;grid-row:1;background:linear-gradient(145deg,#0f2747,#123a67 58%,#08727a 125%);color:#fff;padding:clamp(36px,6vw,72px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-info:after,.auth-panel:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-150px;bottom:-180px;border:54px solid rgba(255,255,255,.045)}.login-info h3,.auth-panel h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.12;color:#fff;margin:0 0 1rem}.login-info p,.auth-panel p{color:#c9d8e9;line-height:1.75}.login-info ul,.auth-benefits{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem}.login-info li,.auth-benefits li{display:flex;gap:.8rem;align-items:center;color:#e8f1fa}.login-info li i,.auth-benefits i{width:28px;height:28px;border-radius:50%;background:rgba(0,166,166,.25);display:grid;place-items:center;color:#76e2df}.login-header{text-align:left;margin-bottom:1.8rem}.login-header .logo{width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,var(--auth-blue),var(--auth-teal));display:grid;place-items:center;margin-bottom:1.25rem;box-shadow:0 9px 20px rgba(25,118,210,.22)}.login-header .logo:after{content:"+";font-size:2.2rem;color:#fff;font-weight:300}.login-header .logo img{display:none}.login-header h1{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--auth-blue);margin:0 0 .45rem;font-weight:800}.login-header h2{font-size:clamp(1.65rem,3vw,2.1rem);color:var(--auth-navy);margin:0}.login-header p{color:var(--auth-muted);margin:.6rem 0 0}.login-form .form-group,.auth-card .form-group{margin-bottom:1.15rem}.login-form label,.auth-card label{display:block;color:#344054;font-size:.86rem;font-weight:700;margin-bottom:.48rem}.login-form label i{color:var(--auth-blue);margin-right:.35rem}.login-form input[type=text],.login-form input[type=email],.login-form input[type=password],.auth-card input{width:100%;height:50px;border:1px solid var(--auth-border);border-radius:11px;padding:0 14px;background:#fbfdff;color:var(--auth-text);font:inherit;transition:.2s}.login-form input:focus,.auth-card input:focus{outline:none;border-color:var(--auth-blue);background:#fff;box-shadow:0 0 0 4px rgba(25,118,210,.11)}.checkbox-group{display:flex!important;justify-content:space-between;align-items:center;gap:1rem}.checkbox-group label{margin:0;display:flex;align-items:center;gap:.45rem;font-weight:500}.forgot-password,.login-footer a,.auth-links a{color:var(--auth-blue);font-weight:700;text-decoration:none}.login-form .btn,.auth-card .btn{min-height:50px;border-radius:11px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-form .btn-primary,.auth-card .btn-primary{background:linear-gradient(135deg,var(--auth-blue),#1667b4);border-color:var(--auth-blue);box-shadow:0 8px 18px rgba(25,118,210,.2)}.login-form .btn-primary:hover,.auth-card .btn-primary:hover{transform:translateY(-1px)}.login-footer,.auth-links{text-align:center;margin-top:1.5rem;color:var(--auth-muted);font-size:.9rem}.login-footer .divider{display:flex;align-items:center;gap:.75rem;margin:1.2rem 0;color:#94a3b8;font-size:.72rem;font-weight:800}.login-footer .divider:before,.login-footer .divider:after{content:"";height:1px;background:var(--auth-border);flex:1}.login-footer .btn-secondary{background:#fff;color:var(--auth-navy);border:1px solid var(--auth-border)}.alert-danger,.auth-alert{background:#fff1f1;border:1px solid #f4cccc;border-left:4px solid var(--auth-danger);color:#9e3532;border-radius:10px;padding:.85rem 1rem;margin-bottom:1.25rem;font-size:.88rem}.alert-danger ul,.auth-alert ul{margin:0;padding-left:1.15rem}.admin-badge{display:inline-flex;width:max-content;background:#e9f5ff;color:#0f5ca0;border:1px solid #cbe5fa;border-radius:999px;padding:.35rem .7rem;font-size:.7rem;font-weight:800;letter-spacing:.06em;margin-bottom:1rem}.auth-home-link{position:absolute;left:24px;top:22px;color:var(--auth-navy);text-decoration:none;font-weight:750;font-size:.88rem;z-index:2}
@media(max-width:820px){.login-container,.auth-shell{grid-template-columns:1fr;width:min(560px,calc(100% - 28px));margin:48px auto 24px;min-height:0}.login-box,.auth-card{grid-column:1;grid-row:1;padding:32px 24px}.login-info,.auth-panel{grid-column:1;grid-row:2;padding:30px 24px}.login-info h3,.auth-panel h2{font-size:1.45rem}.login-info ul,.auth-benefits{grid-template-columns:1fr 1fr;margin-top:1.2rem;font-size:.85rem}}
@media(max-width:520px){.login-container,.auth-shell{width:100%;margin:0;border:0;border-radius:0;min-height:100vh}.login-box,.auth-card{padding:70px 20px 30px}.login-info,.auth-panel{display:none}.checkbox-group{align-items:flex-start}.auth-home-link{left:20px}.login-header{margin-bottom:1.4rem}}
.account-avatar{width:52px!important;height:52px!important;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-meta,.account-email,.account-details{display:block;color:var(--auth-muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-details{margin-top:.2rem;color:#40566d}.account-lookup-loading{display:flex;align-items:center;gap:.85rem;background:#eef7ff;border:1px solid #cfe4f7;border-radius:13px;padding:1rem;margin-bottom:1rem}.account-lookup-loading[hidden]{display:none}.account-lookup-loading div{display:flex;flex-direction:column}.account-lookup-loading strong{font-size:.86rem;color:var(--auth-navy)}.account-lookup-loading small{color:var(--auth-muted);font-size:.74rem}.lookup-spinner{width:30px;height:30px;border:3px solid #c8e1f5;border-top-color:var(--auth-blue);border-radius:50%;animation:auth-spin .7s linear infinite;flex:none}
.lookup-error{background:#fff1f1;border:1px solid #f4cccc;color:#9e3532;border-radius:10px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.86rem}.account-preview{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:.75rem;align-items:center;background:linear-gradient(135deg,#eff7ff,#f2fbfb);border:1px solid #cfe3f3;border-radius:14px;padding:14px;margin:0 0 1rem}.account-preview[hidden],.password-stage[hidden],.lookup-error[hidden]{display:none}.account-avatar{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--auth-blue),var(--auth-teal));color:#fff;display:grid;place-items:center;font-size:1.15rem;font-weight:850}.account-summary{display:flex;flex-direction:column;min-width:0}.account-name{color:var(--auth-navy);font-size:.96rem}.account-meta,.account-email{color:var(--auth-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-status{align-self:start;background:#daf3e5;color:#187044;border-radius:999px;padding:.25rem .5rem;font-size:.65rem;font-weight:800;text-transform:uppercase}.change-account{grid-column:2/4;width:max-content;border:0;background:transparent;color:var(--auth-blue);font:inherit;font-size:.75rem;font-weight:800;padding:0;cursor:pointer}.login-form input[readonly]{background:#eef3f7;color:#667085;cursor:default}.login-submit.is-loading{color:transparent;position:relative;pointer-events:none}.login-submit.is-loading:after{content:"";position:absolute;width:20px;height:20px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}
