:root{
  --navy-950:#071827;
  --navy-900:#0b2239;
  --navy-800:#102a43;
  --navy-700:#173f5f;
  --blue:#1363df;
  --blue-dark:#0e4fb8;
  --cyan:#16b8b1;
  --ink:#243b53;
  --muted:#627d98;
  --line:#d9e2ec;
  --surface:#f2f6fa;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--surface);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
button,input{font:inherit}

.login-page{min-height:100vh;padding:clamp(18px,3vw,42px);display:grid;place-items:center;background:radial-gradient(circle at 8% 2%,rgba(19,99,223,.09),transparent 28%),radial-gradient(circle at 96% 92%,rgba(22,184,177,.09),transparent 30%),#eef3f8}
.login-shell{width:min(1180px,100%);min-height:min(720px,calc(100vh - 60px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);overflow:hidden;border:1px solid rgba(160,180,200,.34);border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(16,42,67,.16)}

.login-showcase{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--navy-950) 0%,var(--navy-800) 55%,#0c4961 100%)}
.showcase-content{position:relative;z-index:2;height:100%;padding:48px clamp(36px,5vw,68px);display:flex;flex-direction:column}
.showcase-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom right,#000,transparent 72%)}
.showcase-orb{position:absolute;border-radius:999px;filter:blur(1px);pointer-events:none}
.orb-one{width:390px;height:390px;right:-190px;top:-130px;border:80px solid rgba(56,189,248,.09)}
.orb-two{width:280px;height:280px;left:-150px;bottom:-140px;background:radial-gradient(circle,rgba(22,184,177,.22),transparent 68%)}

.system-brand,.mobile-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;width:max-content}
.brand-symbol{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:1.45rem;background:linear-gradient(135deg,#38bdf8,var(--cyan));box-shadow:0 12px 30px rgba(13,172,187,.28)}
.system-brand strong,.mobile-brand strong{display:block;font-size:1.35rem;line-height:1;letter-spacing:-.02em}
.system-brand small,.mobile-brand small{display:block;margin-top:5px;color:#9fb3c8;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}

.showcase-copy{margin:auto 0;max-width:560px;padding:55px 0 42px}
.portal-label{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);color:#d7e8f4;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.showcase-copy h1{margin:26px 0 20px;color:#fff;font-size:clamp(2.8rem,4.8vw,4.65rem);font-weight:750;line-height:1.02;letter-spacing:-.055em}
.showcase-copy h1 span{color:#51d6d0}
.showcase-copy p{max-width:520px;margin:0;color:#bcccdc;font-size:1.05rem;line-height:1.75}

.workflow-strip{display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(4,22,37,.34);backdrop-filter:blur(12px)}
.workflow-item{min-width:0;display:flex;align-items:center;gap:10px;flex:1}
.workflow-item>span{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;color:#77e6df;background:rgba(22,184,177,.14)}
.workflow-item strong,.workflow-item small{display:block;white-space:nowrap}
.workflow-item strong{font-size:.86rem}.workflow-item small{margin-top:2px;color:#829ab1;font-size:.68rem}
.workflow-arrow{color:#486581;font-size:.8rem}
.showcase-footer{display:flex;gap:28px;margin-top:28px;color:#829ab1;font-size:.74rem}
.showcase-footer span{display:flex;align-items:center;gap:7px}
.showcase-footer i{color:#50c9c3}

.login-form-panel{position:relative;display:grid;place-items:center;padding:48px clamp(35px,5vw,74px);background:#fff}
.login-form-wrap{width:100%;max-width:430px}
.mobile-brand{display:none;color:var(--navy-800)}
.mobile-brand small{color:var(--muted)}
.form-heading{margin-bottom:30px}
.eyebrow{display:block;margin-bottom:10px;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.16em}
.form-heading h2{margin:0 0 10px;color:var(--navy-800);font-size:clamp(1.65rem,2.5vw,2.05rem);font-weight:750;letter-spacing:-.035em}
.form-heading p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.login-alert{display:flex;align-items:flex-start;gap:10px;border:0;border-radius:12px;font-size:.84rem}
.login-alert i{margin-top:1px;font-size:1rem}

.form-label{margin-bottom:8px;color:#334e68;font-size:.82rem;font-weight:700}
.field-wrap{position:relative}
.field-icon{position:absolute;z-index:2;left:16px;top:50%;transform:translateY(-50%);color:#829ab1;font-size:1rem;pointer-events:none}
.field-wrap .form-control{height:52px;padding:0 16px 0 46px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;color:var(--ink);font-size:.91rem;box-shadow:none;transition:border-color .18s,box-shadow .18s,background .18s}
.field-wrap .form-control.has-action{padding-right:48px}
.field-wrap .form-control::placeholder{color:#9fb3c8}
.field-wrap .form-control:hover{border-color:#bcccdc}
.field-wrap .form-control:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(19,99,223,.11)}
.field-wrap:focus-within .field-icon{color:var(--blue)}
.field-action{position:absolute;z-index:3;right:7px;top:50%;width:38px;height:38px;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#627d98}
.field-action:hover{background:#edf4fc;color:var(--blue)}
.caps-hint{display:none;color:#b45309;font-size:.7rem;font-weight:600}.caps-hint.show{display:inline-flex;align-items:center;gap:4px}
.security-note{display:flex;align-items:center;gap:8px;margin:14px 0 24px;color:#829ab1;font-size:.73rem}
.security-note i{color:var(--cyan)}
.login-submit{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:12px;background:linear-gradient(110deg,var(--blue),#1178d4);color:#fff;font-size:.9rem;font-weight:750;box-shadow:0 12px 24px rgba(19,99,223,.22);transition:transform .18s,box-shadow .18s,filter .18s}
.login-submit:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 16px 30px rgba(19,99,223,.29)}
.login-submit:active{transform:translateY(0)}
.login-submit i{transition:transform .18s}.login-submit:hover i{transform:translateX(3px)}
.form-footer{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:28px;padding-top:24px;border-top:1px solid #edf2f7;color:#829ab1;font-size:.72rem}
.form-footer i{color:#0ea5a8}

@media(max-width:950px){
  .login-page{padding:0;display:block;background:#fff}
  .login-shell{min-height:100vh;display:block;border:0;border-radius:0;box-shadow:none}
  .login-showcase{display:none}
  .login-form-panel{min-height:100vh;padding:38px 24px}
  .mobile-brand{display:flex;position:absolute;top:30px;left:30px}
  .login-form-wrap{padding-top:90px}
}

@media(max-width:480px){
  .login-form-panel{align-items:start;padding:28px 20px}
  .mobile-brand{top:24px;left:20px}
  .brand-symbol{width:42px;height:42px;border-radius:13px;font-size:1.25rem}
  .mobile-brand strong{font-size:1.2rem}
  .login-form-wrap{padding-top:92px}
  .form-heading{margin-bottom:25px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
