:root{--navy:#071827;--blue:#0b5ea8;--green:#159447;--yellow:#f4c400;--ink:#101820;--muted:#687784;--line:#dbe4ea;--bg:#eef3f6}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
body{min-height:100vh;display:grid;place-items:center;padding:18px}.app-shell{width:min(960px,100%);min-height:570px;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 26px 70px rgba(7,24,39,.18)}
.brand-panel{position:relative;background:linear-gradient(145deg,#071827 0%,#0a2539 55%,#0b5ea8 145%);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}.brand-stripe{position:absolute;left:0;right:0;top:0;height:7px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.brand-stripe span:nth-child(1){background:#0b5ea8}.brand-stripe span:nth-child(2){background:#159447}.brand-stripe span:nth-child(3){background:#f4c400}.brand-stripe span:nth-child(4){background:#101820}.brand-logo{width:132px;max-height:95px;object-fit:contain;background:#fff;border-radius:18px;padding:10px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:.18em;color:#9fd3ff;font-weight:800}.brand-panel h1{font-size:clamp(30px,5vw,46px);line-height:1.04;margin:12px 0}.brand-panel p{font-size:17px;color:#c8d5de;margin:0 0 28px}.role-flow{display:flex;flex-wrap:wrap;gap:8px}.role-flow span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:999px;padding:8px 11px;font-size:12px}
.login-panel{padding:48px;display:flex;flex-direction:column;justify-content:center}.customer-chip{align-self:flex-start;background:#eef7ff;color:#0b5ea8;border:1px solid #cce4f7;padding:8px 12px;border-radius:999px;font-weight:800;font-size:12px;margin-bottom:16px}.login-panel h2{font-size:30px;margin:0 0 8px}.subtext{color:var(--muted);margin:0 0 26px;line-height:1.5}label{display:block;font-size:13px;font-weight:800;margin:0 0 7px}input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;margin:0 0 17px;outline:none;background:#fff}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,94,168,.11)}button{font:inherit}.primary{width:100%;border:0;border-radius:12px;background:linear-gradient(90deg,var(--green),#0c7c3a);color:#fff;font-weight:800;padding:14px 16px;cursor:pointer}.primary:disabled{opacity:.6;cursor:wait}.error{margin-top:14px;background:#fff2f2;color:#a42b2b;border:1px solid #ffd1d1;padding:11px 12px;border-radius:10px;font-size:13px}.actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;font-size:13px}.actions a,.text-button{color:var(--blue);font-weight:700;text-decoration:none}.text-button{border:0;background:transparent;padding:0;cursor:pointer}.privacy{margin:24px 0 0;color:#87949d;font-size:12px;line-height:1.5}
/* V831 — keep credential controls as direct native edit targets for browser autofill. */
#loginForm input{position:relative;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation;cursor:text}
#loginForm .belm-secret-field{margin:0 0 17px}
#loginForm .belm-secret-field>input{margin-bottom:0}
@media(max-width:760px){body{padding:0;background:#fff}.app-shell{min-height:100vh;border-radius:0;display:block;box-shadow:none}.brand-panel{padding:28px 24px 24px;min-height:250px}.brand-logo{width:100px;margin-bottom:18px}.brand-panel h1{font-size:30px}.brand-panel p{font-size:14px;margin-bottom:16px}.login-panel{padding:30px 24px 42px}.actions{align-items:flex-start;flex-direction:column}}
@media(display-mode:standalone){body{padding:0}.app-shell{min-height:100vh;border-radius:0;max-width:none}}
/* V327 — compact expandable legal notice on login */
.login-legal{margin:18px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
.login-legal summary{list-style:none;cursor:pointer;color:var(--blue);font-size:13px;font-weight:800;padding:14px 0;display:flex;align-items:center;gap:7px;user-select:none}
.login-legal summary::-webkit-details-marker{display:none}
.login-legal summary::before{content:"▸";font-size:14px;line-height:1;transition:transform .18s ease}
.login-legal[open] summary::before{transform:rotate(90deg)}
.login-legal-content{padding:0 2px 15px;color:#5f6f7b;font-size:12.5px;line-height:1.58;animation:loginLegalOpen .16s ease}
.login-legal-content p{margin:0 0 10px}
.login-legal-content ul{margin:5px 0 12px;padding-left:20px}
.login-legal-content li{margin:5px 0}
.login-legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px!important}
.login-legal-links a{color:var(--blue);font-weight:800;text-decoration:none}
.login-legal-links a:hover{text-decoration:underline}
.login-legal-note{color:#87949d;font-size:11.5px;margin-bottom:0!important}
@keyframes loginLegalOpen{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:760px){.login-legal{margin-top:16px}.login-legal summary{min-height:44px;padding:12px 0}.login-legal-content{font-size:13px}.login-legal-links{display:grid;gap:9px}}

/* V680 — explicit login confirmation before any credential is submitted. */
.login-confirm-dialog{width:min(520px,calc(100% - 32px));padding:0;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:transparent;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.login-confirm-dialog::backdrop{background:rgba(1,12,24,.76);backdrop-filter:blur(7px)}
.login-confirm-card{position:relative;padding:34px;background:radial-gradient(circle at 90% 0,rgba(11,94,168,.34),transparent 42%),linear-gradient(145deg,#071827,#0a2941);border-radius:23px;text-align:center;overflow:hidden}
.login-confirm-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--blue) 0 33%,var(--green) 33% 66%,var(--yellow) 66%)}
.login-confirm-icon{width:58px;height:58px;margin:2px auto 18px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),#ffe36a);color:#071827;font-size:30px;font-weight:900;box-shadow:0 12px 28px rgba(244,196,0,.2)}
.login-confirm-eyebrow{margin:0 0 8px;color:#74dba3;font-size:12px;font-weight:900;letter-spacing:.18em}
.login-confirm-card h2{margin:0 0 18px;font-size:clamp(24px,5vw,31px);line-height:1.12}
.login-confirm-account{margin:0 0 13px;color:#c8d8e5;font-size:14px}.login-confirm-account strong{color:#fff;overflow-wrap:anywhere}
.login-confirm-note{margin:0 auto;color:#aebfcd;font-size:14px;line-height:1.6;max-width:410px}.login-confirm-note b{color:#ffc900}
.login-confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin-top:27px}
.login-confirm-actions .primary,.login-confirm-secondary{min-height:48px;border-radius:12px;font-weight:850;cursor:pointer}
.login-confirm-secondary{border:1px solid #3b5870;background:#0a2136;color:#fff;padding:12px 15px}
.login-confirm-secondary:hover{border-color:#83a6c1;background:#102d47}.login-confirm-actions .primary{background:linear-gradient(90deg,var(--yellow),#ffd93b);color:#071827}
@media(max-width:520px){.login-confirm-card{padding:30px 20px 22px}.login-confirm-actions{grid-template-columns:1fr}.login-confirm-actions .primary{grid-row:1}.login-confirm-secondary{grid-row:2}}
