:root{color-scheme:dark;--navy:#061427;--panel:#0b223d;--card:#0d1c2d;--line:rgba(126,197,255,.18);--text:#eef7ff;--muted:#9db3c9;--cyan:#39c7ff;--cyan2:#72e4ff;--ok:#69e3a5;--danger:#ff8793;--shadow:0 26px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 18% 18%,rgba(24,105,168,.25),transparent 34%),radial-gradient(circle at 85% 72%,rgba(26,178,214,.12),transparent 28%),var(--navy);color:var(--text);display:grid;place-items:center;padding:32px}.login-shell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(8,24,42,.88);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.brand-panel{position:relative;min-height:620px;overflow:hidden;background:#041427}.brand-visual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 63%;filter:saturate(.92) brightness(.78)}.brand-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,17,32,.18),rgba(3,17,32,.40) 46%,rgba(3,17,32,.96) 100%),linear-gradient(90deg,rgba(3,17,32,.15),transparent 70%)}.brand-content{position:absolute;inset:auto 0 0;padding:54px 58px;z-index:1}.eyebrow{margin:0 0 10px;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:var(--cyan2)}h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;margin:0 0 18px;letter-spacing:-.045em}.brand-copy{max-width:440px;font-size:1.03rem;line-height:1.65;color:#d1e3f3;margin:0}.security-note{margin-top:24px;display:flex;gap:12px;align-items:flex-start;max-width:450px;padding:14px 16px;border:1px solid rgba(90,206,255,.16);border-radius:14px;background:rgba(0,0,0,.28);color:#bad1e4;font-size:.88rem;line-height:1.5}.status-dot{width:8px;height:8px;flex:0 0 8px;margin-top:.35rem;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.login-card{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,rgba(13,28,45,.98),rgba(7,19,32,.98))}.login-card h2,.bootstrap-card h2{font-size:2rem;margin:0 0 10px}.intro{margin:0 0 34px;color:var(--muted)}form{display:grid;gap:12px}label{font-size:.88rem;font-weight:700;color:#d8e8f6;margin-top:7px}input{width:100%;height:52px;border:1px solid rgba(144,194,231,.24);border-radius:11px;background:rgba(1,10,20,.55);color:var(--text);padding:0 15px;font:inherit;outline:none;transition:.2s}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,199,255,.13)}.password-field{position:relative}.password-field input{padding-right:58px}.show-password{position:absolute;right:7px;top:7px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--cyan2);cursor:pointer;pointer-events:auto}.show-password:hover,.show-password:focus-visible{background:rgba(57,199,255,.10);outline:none}.show-password svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eye-closed{display:none}.show-password[aria-pressed="true"] .eye-open{display:none}.show-password[aria-pressed="true"] .eye-closed{display:block}.message{min-height:22px;margin:4px 0 0;color:var(--danger);font-size:.88rem;line-height:1.45}.primary{height:52px;border:0;border-radius:11px;background:linear-gradient(135deg,#19aeea,#45d4ff);color:#03111e;font-weight:850;font-size:1rem;cursor:pointer;box-shadow:0 12px 28px rgba(24,166,222,.25);transition:.2s}.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.primary:disabled{opacity:.65;cursor:wait;transform:none}.build-info{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line);color:#7891a8;font-size:.74rem}.bootstrap-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 30%,rgba(20,94,150,.30),transparent 38%),#061427;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility 0s linear .22s}.bootstrap-screen.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.bootstrap-screen[hidden]{display:none!important}.bootstrap-card{width:min(480px,100%);padding:38px;border:1px solid var(--line);border-radius:24px;background:rgba(8,24,42,.96);box-shadow:var(--shadow);text-align:center}.bootstrap-logo{width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:center 62%;margin-bottom:20px;border:1px solid rgba(114,228,255,.42);box-shadow:0 0 28px rgba(57,199,255,.28)}.bootstrap-intro{color:var(--muted);margin:8px 0 24px}.bootstrap-status{display:grid;gap:10px;text-align:left;margin:0 auto;max-width:340px}.bootstrap-row{display:flex;align-items:center;gap:11px;color:#cfe0ed;font-size:.95rem}.bootstrap-check{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(105,227,165,.12);color:var(--ok);font-weight:900}.bootstrap-row.pending .bootstrap-check{color:var(--muted);background:rgba(157,179,201,.10)}.dashboard-loading{margin:26px 0 0;color:var(--cyan2);font-weight:750}.dashboard-loading:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:dots 1s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}@media(max-width:800px){body{padding:16px}.login-shell{grid-template-columns:1fr;min-height:auto}.brand-panel{min-height:270px}.brand-content{padding:28px 30px}.brand-copy,.security-note{display:none}.login-card{padding:38px 30px}h1{font-size:2.4rem;margin-bottom:0}.build-info{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* v16.10.30A.3 - Compact iPhone login: credentials and submit remain in one viewport */
@media (max-width: 520px){
  body{display:block;padding:8px;min-height:100dvh}
  .login-shell{width:100%;min-height:calc(100dvh - 16px);border-radius:20px;grid-template-rows:160px 1fr}
  .brand-panel{min-height:160px;height:160px}
  .brand-visual{object-position:center 58%}
  .brand-content{padding:18px 20px}
  .brand-content .eyebrow{font-size:.66rem;margin-bottom:5px}
  .brand-content h1{font-size:2rem;line-height:1;margin:0}
  .brand-copy,.security-note{display:none!important}
  .login-card{padding:22px 20px 18px;justify-content:flex-start}
  .login-card .eyebrow{font-size:.65rem;margin-bottom:5px}
  .login-card h2{font-size:1.65rem;line-height:1.05;margin-bottom:6px}
  .intro{font-size:.92rem;line-height:1.35;margin-bottom:14px}
  form{gap:7px}
  label{font-size:.82rem;margin-top:3px}
  input{height:46px;border-radius:10px;padding:0 13px}
  .password-field input{padding-right:50px}
  .show-password{right:5px;top:4px;width:38px;height:38px}
  .message{min-height:16px;margin:0;font-size:.78rem}
  .primary{height:46px;border-radius:10px;font-size:.95rem}
  .build-info{margin-top:14px;padding-top:10px;font-size:.66rem;flex-direction:row;gap:8px}
}
@media (max-width: 520px) and (max-height: 720px){
  .login-shell{grid-template-rows:125px 1fr}
  .brand-panel{min-height:125px;height:125px}
  .brand-content{padding:13px 18px}
  .brand-content h1{font-size:1.72rem}
  .login-card{padding:16px 18px 12px}
  .intro{margin-bottom:9px}
  input,.primary{height:43px}
  .show-password{top:3px;width:37px;height:37px}
  .build-info{margin-top:8px;padding-top:7px}
}
