:root{--auth-navy:#071f35;--auth-navy-2:#0b314e;--auth-teal:#0f8580;--auth-gold:#d4a94f;--auth-line:#d7e2e5;--auth-muted:#617786}
*{box-sizing:border-box}
.auth-portal-body{min-height:100vh;margin:0;background:#eef4f6;color:var(--auth-navy);font-family:Cairo,Arial,sans-serif}
.auth-portal{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);min-height:100vh}
.auth-portal__intro{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:clamp(34px,5vw,72px);color:#fff;background:radial-gradient(circle at 20% 15%,rgba(34,181,169,.28),transparent 28%),linear-gradient(145deg,var(--auth-navy),#0a3f5b 62%,#0f716f)}
.auth-portal__intro:after{content:"";position:absolute;width:520px;height:520px;inset-inline-end:-260px;bottom:-260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.025)}
.auth-portal__brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.auth-portal__brand img{width:58px;height:58px;padding:5px;border-radius:16px;background:#fff;object-fit:contain}
.auth-portal__brand strong,.auth-portal__brand small{display:block}.auth-portal__brand small{color:#b8d2dc}
.auth-portal__intro-copy{position:relative;z-index:1;margin:auto 0}
.auth-portal__intro-copy>span{font-size:.74rem;font-weight:900;letter-spacing:.14em;color:#70d1c8}
.auth-portal__intro-copy h1{max-width:620px;margin:14px 0;font-size:clamp(2rem,4.5vw,4.4rem);line-height:1.18}
.auth-portal__intro-copy p{max-width:620px;margin:0;color:#c9dce3;font-size:1.05rem;line-height:1.9}
.auth-portal__benefits{position:relative;z-index:1;display:grid;gap:12px;margin:38px 0;padding:0;list-style:none}
.auth-portal__benefits li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.auth-portal__benefits b{color:var(--auth-gold)}.auth-portal__benefits strong,.auth-portal__benefits small{display:block}.auth-portal__benefits small{color:#abc5cf}
.auth-portal__trust{position:relative;z-index:1;color:#89b2bf;letter-spacing:.07em}
.auth-portal__access{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,6vw,88px);background:radial-gradient(circle at 80% 10%,rgba(15,133,128,.12),transparent 30%),#f5f8f9}
.auth-portal__mobile-brand{display:flex;justify-content:space-between;margin-bottom:22px}.auth-portal__mobile-brand>a{color:var(--auth-muted);text-decoration:none}.auth-portal__mobile-brand>a:first-child{display:none;align-items:center;gap:8px}.auth-portal__mobile-brand img{width:38px;height:38px;object-fit:contain}
.auth-portal__card{width:min(100%,650px);min-height:420px;padding:clamp(28px,5vw,58px);border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 28px 75px rgba(9,38,64,.12)}
.auth-portal__eyebrow{display:inline-block;color:var(--auth-teal);font-size:.75rem;font-weight:900;letter-spacing:.08em}
.auth-portal h1{margin:8px 0 10px;font-size:clamp(1.8rem,5vw,3rem);line-height:1.2}.auth-portal p{color:var(--auth-muted)}
.auth-portal__loading{display:grid;place-items:center;min-height:230px;text-align:center}.auth-portal__loading span{width:44px;height:44px;border:4px solid #dcebea;border-top-color:var(--auth-teal);border-radius:50%;animation:auth-spin .8s linear infinite}
.auth-form{display:grid;gap:15px;margin-top:24px}.auth-form label>span{display:block;margin-bottom:6px;font-weight:800}.auth-form input,.auth-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--auth-line);border-radius:12px;background:#fff;color:var(--auth-navy)}
.auth-form input:focus,.auth-form select:focus{outline:3px solid rgba(15,133,128,.18);border-color:var(--auth-teal)}
.auth-check{display:flex!important;align-items:flex-start;gap:10px}.auth-check input{width:20px!important;min-height:20px!important;margin-top:3px}.auth-check span{font-weight:600!important}
.auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.auth-button{min-height:48px;padding:10px 18px;border:1px solid var(--auth-line);border-radius:999px;background:#fff;color:var(--auth-navy);font-weight:900;cursor:pointer}.auth-button--primary{border-color:transparent;background:linear-gradient(135deg,var(--auth-navy),var(--auth-teal));color:#fff}.auth-button:disabled{opacity:.55;cursor:wait}
.auth-message{min-height:24px;margin-top:14px;padding:10px 12px;border-radius:10px;color:#176a5e;background:#e9f7f4}.auth-message:empty{display:none}.auth-message.error{color:#9d281f;background:#fff0ee}
.auth-state-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--auth-teal),#16aaa1);font-size:1.8rem;font-weight:900}
.auth-state-icon--warning{background:linear-gradient(135deg,#8e6b1a,var(--auth-gold))}.auth-state-icon--blocked{background:linear-gradient(135deg,#8f2f29,#c94d43)}
.auth-meta{margin:18px 0;padding:14px;border:1px solid var(--auth-line);border-radius:14px;background:#f7faf9}.auth-meta strong{display:block}
.auth-portal footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;width:min(100%,650px);margin-top:22px}.auth-portal footer a{color:var(--auth-muted)}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.auth-portal{grid-template-columns:1fr}.auth-portal__intro{display:none}.auth-portal__access{min-height:100vh;align-items:center}.auth-portal__mobile-brand{display:flex;width:min(100%,650px)}.auth-portal__mobile-brand>a:first-child{display:flex}}
@media(max-width:540px){.auth-portal__access{padding:18px}.auth-portal__card{min-height:380px;padding:25px 20px;border-radius:20px}.auth-actions,.auth-button{width:100%}}
@media(prefers-reduced-motion:reduce){.auth-portal__loading span{animation:none}}
