/* Sign-in page for the ALS accreditation portfolio. ERP tokens and fonts (ALS-ERP apps/web/app/globals.css):
   gold crown, navy field, one white card with the school lockup, the form and the accreditation marks. */
@font-face{font-family:'Codec Pro';src:url(fonts/codec-regular-sub.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Codec Pro';src:url(fonts/codec-bold-sub.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Almarai';src:url(fonts/almarai400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Almarai';src:url(fonts/almarai700.woff2) format('woff2');font-weight:700;font-display:swap}

:root{
  --royal:#004B8D; --sky:#61A9DD; --gold:#C9A24B; --gold-deep:#8A6A22; --navy:#1C3D6E; --ink:#14283C;
  --slate:#4A6076; --mist:#7E93A8; --line:#D8E3EC; --wash:#EAF1F8; --bg:#F2F6FA; --danger:#9E3B2C;
  --font-ui:'Codec Pro','Almarai',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;caret-color:var(--royal)}
::selection{background:var(--sky);color:var(--ink)}
[lang=ar]{font-family:'Almarai',var(--font-ui)}

.crown{height:5px;background:linear-gradient(90deg,#B8912F 0%,#D8B45C 50%,#B8912F 100%)}
.stage{min-height:calc(100vh - 5px);min-height:calc(100dvh - 5px);display:grid;place-items:center;padding:40px 16px;
  background:radial-gradient(120% 80% at 50% 0%,rgba(97,169,221,.18) 0%,rgba(28,61,110,0) 60%)}

.card{width:100%;max-width:440px;padding:40px 40px 32px;background:#fff;border-radius:16px;text-align:center;
  box-shadow:0 24px 60px -24px rgba(5,15,40,.7),0 2px 6px rgba(5,15,40,.18);animation:rise .6s cubic-bezier(.16,1,.3,1) both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.card{animation:none}}

.lockup{display:block;width:176px;height:auto;margin:0 auto 22px}
h1{margin:0;font-size:30px;font-weight:700;line-height:1.05;letter-spacing:-.6px;color:var(--royal);text-wrap:balance}
h1 span{color:var(--gold-deep)}
.lede{margin:10px 0 0;font-size:14.5px;color:var(--slate);text-wrap:pretty}
.rule{width:44px;height:2px;background:var(--gold);margin:18px auto 24px}
h2{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--navy)}

form{text-align:left}
label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--slate)}
input{display:block;width:100%;height:46px;margin:0 0 16px;padding:0 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:10px;box-shadow:inset 0 1px 2px rgba(20,40,60,.06);transition:border-color .15s ease-out,box-shadow .15s ease-out}
input::placeholder{color:var(--mist)}
input:hover{border-color:#B9CBDB}
input:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px rgba(0,75,141,.18)}
input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:var(--ink)}
.error{margin:-4px 0 16px;padding:10px 12px;font-size:14px;line-height:1.45;color:var(--danger);background:#FBEFEC;border:1px solid #F0CFC8;border-radius:10px}
button{display:block;width:100%;height:48px;margin-top:4px;font:inherit;font-size:15.5px;font-weight:700;color:#fff;background:var(--royal);
  border:0;border-radius:10px;cursor:pointer;box-shadow:0 1px 3px rgba(20,40,60,.12);transition:background .15s ease-out,transform .15s ease-out}
button:hover{background:#003E75}
button:active{transform:translateY(1px)}
button:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.help{margin:18px 0 0;font-size:12.5px;line-height:1.6;color:var(--mist);text-wrap:pretty}

footer{margin-top:30px;padding-top:22px;border-top:1px solid rgba(201,162,75,.38)}
.marks{display:block;width:100%;max-width:330px;height:auto;margin:0 auto 18px}
footer p{margin:0;font-size:11.5px;line-height:1.7;color:var(--mist);text-wrap:pretty}
footer .who{margin-top:10px;font-size:13px;font-weight:700;color:var(--gold-deep)}

@media (max-width:480px){
  .stage{padding:24px 12px}
  .card{padding:30px 22px 26px;border-radius:12px}
  .lockup{width:150px}
  h1{font-size:27px}
}
