/* Home portal presentation; recovery keeps the shared login layout. */
.login-portal .btn { --action-blue:#0085ff; --action-blue-fill:#0085ff; --action-on-fill:#fff; --action-surface:var(--adm-panel); --action-text:var(--adm-text); }
.login-portal .btn-primary { --action-bg:#0085ff; --action-fg:#fff; --action-border:#0085ff; }
.login-portal .btn-outline-primary { --action-bg:transparent; --action-fg:var(--login-accent); --action-border:#8ec5ff; }
body.login-portal { --login-accent: #48b8f5; background: var(--adm-bg) !important; font-family:'Segoe UI',Arial,sans-serif !important; }
body.login-shell.login-portal[data-theme] h1 { color:#fff !important; }
body.login-shell.login-portal[data-theme] .login-topbar { position:absolute !important; background:transparent !important; border:0 !important; }
body.login-shell.login-portal[data-theme] .login-submit.btn-primary { background:#0085ff !important; border-color:#0085ff !important; color:white !important; font-size:15px; }
body.login-shell.login-portal[data-theme] .btn-outline-primary { color:var(--login-accent) !important; background:transparent !important; border:1px solid var(--login-accent) !important; }
body.login-shell.login-portal[data-theme] .form-control { background:var(--adm-panel) !important; color:var(--adm-text) !important; border:1px solid var(--login-line) !important; }
.login-portal .login-topbar { position:absolute; inset:0 0 auto; z-index:2; border:0; padding:32px 4.4%; pointer-events:none; }
.login-portal .login-topbar > * { pointer-events:auto; }
.login-portal .login-brand { color:#fff; gap:16px; }
.login-portal .login-brand img { width:64px; height:62px; }
.login-portal .login-brand strong { font-size:28px; }
.login-portal .login-brand small { color:#b1d1f0; font-size:12px; letter-spacing:5px; }
.login-portal .login-brand b { color:#008cff; }
.login-portal .login-theme { gap:8px; }
.login-portal .login-theme > label, .login-portal .login-theme > i { display:none; }
.login-portal .login-intranet-link { margin-right:12px; }
body.login-portal #officialThemeSelect { border-radius:24px; min-width:120px; }
.login-portal .login-main { padding:0; display:block; }
.login-portal .login-layout { max-width:none; min-height:100svh; grid-template-columns:minmax(0, 1.75fr) minmax(430px, 1fr); gap:0; align-items:stretch; }
.login-portal .login-intro { position:relative; isolation:isolate; padding:190px 7% 48px; color:#fff; background:#08192f url('../img/login-office.png') 65% center / cover no-repeat; overflow:hidden; }
.login-portal .login-intro::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#07172bee 15%,#0b2241f5 65%,#235794e8); clip-path:polygon(0 0,48% 0,67% 42%,35% 100%,0 100%); }
.login-portal .login-intro::after { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#06182bcc,transparent 90%); }
.login-portal .login-hero-content { max-width:550px; }
.login-portal .login-hero-content h1 { min-height:4.4em; }
.login-portal .login-description { min-height:6em; }
.login-story-controls { display:flex; align-items:center; gap:10px; margin-top:16px; color:#b9d2ed; font-size:12px; }
.login-portal .login-story-controls button { background:#102b4c !important; border:1px solid #527a9f !important; color:#d7ebff !important; min-height:34px; padding:6px 10px; border-radius:5px; }
.login-portal .login-story-controls button:hover { background:#20476f !important; }
.login-portal .login-story-controls button:focus-visible { outline:2px solid #80ceff !important; outline-offset:3px; }
/* Same layer as shared important button rules; keep the hero controls dark in all themes. */
@layer sysimple-actions {
 body.login-portal .login-story-controls button { background:#123252 !important; color:#d7ebff !important; border:1px solid #537b9f !important; border-radius:50% !important; width:36px; height:36px; padding:0 !important; display:inline-grid; place-items:center; box-shadow:none !important; }
 body.login-portal .login-story-controls button[data-story-pause] { width:auto; border-radius:18px !important; padding:0 14px !important; font-size:12px; }
 body.login-portal .login-story-controls button:hover { background:#245078 !important; border-color:#93ceff !important; }
}
.login-story-picture { position:absolute; inset:0; z-index:-3; pointer-events:none; background-position:65% center; background-size:cover; }
body.login-portal.login-client-background .login-story-picture { display:none; }
.login-portal .login-intro .login-eyebrow { color:#91c5f0; font-size:12px; letter-spacing:3px; }
body.login-portal h1 { font-size:clamp(40px,3.4vw,58px); font-weight:750; line-height:1.1; margin:26px 0 28px; letter-spacing:-1.8px; }
.login-portal .login-intro h1 em { color:#4cbcf6; }
body.login-portal .login-description { color:#b9d2ed !important; font-size:18px; line-height:1.5; }
.login-benefits { display:grid; grid-template-columns:1fr 1fr; gap:34px 24px; margin-top:44px; max-width:490px; }
.login-benefits > div { display:flex; align-items:center; gap:16px; }
.login-benefits i { display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; font-size:27px; color:#b8dfff; border:1px solid #316095; border-radius:17px; background:linear-gradient(135deg,#153663,#0c2444); box-shadow:inset 0 0 12px #3185df22; }
.login-benefits strong { display:block; color:#fff; font-size:14px; line-height:1.3; }
.login-benefits small { display:block; color:#bdd6f2; font-size:12px; line-height:1.45; margin-top:5px; }
.login-signature { color:#93caf5; font-family:'Segoe Print','Comic Sans MS',cursive; font-size:23px; line-height:1.5; margin:55px 0 0; transform:rotate(-4deg); }
.login-signature::before { content:''; display:block; width:36px; height:3px; background:#38aefa; margin-bottom:16px; }
.login-photo-note { position:absolute; right:6%; top:17%; width:210px; color:#b5ddfa; font:italic 20px/1.6 'Segoe Print',cursive; transform:rotate(-8deg); }
.login-portal .login-card { align-self:center; margin:100px clamp(24px,4vw,68px) 36px; padding:30px; border-radius:0; overflow:visible; background:transparent; border:0; box-shadow:none; }
.login-portal .login-card::before { display:none; }
.login-portal .login-layout { background:radial-gradient(ellipse at 85% 80%,var(--adm-primary-soft),transparent 55%),var(--adm-bg); }
.login-portal .login-card-head { margin-bottom:20px; }
.login-portal #main .login-submit.btn-primary { background:#0085ff !important; border-color:#0085ff !important; color:#fff !important; }
.login-portal #main .btn-outline-primary { background:transparent !important; color:var(--login-accent) !important; border-color:var(--login-accent) !important; }
.login-portal #main .login-submit:hover { background:#006dde !important; }
.login-portal #main .btn-outline-primary:hover { background:var(--adm-primary-soft) !important; }
.login-portal #main .login-card { padding-top:24px; padding-bottom:24px; }
.login-portal #main .login-portal-brand { margin-bottom:20px; }
.login-portal #main .login-card h2 { margin-top:5px; }
.login-portal #main .login-field { margin-bottom:12px; }
.login-portal #main .login-card-footer { margin-top:16px; }
.login-portal-brand { display:flex; align-items:center; flex-direction:column; margin:0 0 26px; }
.login-portal-brand img { object-fit:contain; margin-bottom:7px; }
.login-portal-brand strong { font-size:28px; letter-spacing:-1px; line-height:1.25; color:var(--adm-text); }
.login-portal-brand b { color:#008cff; font-weight:400; }
.login-portal-brand small { letter-spacing:5px; font-size:12px; margin-top:3px; }
.login-card-head:has(.login-client-brand:not([hidden])) .login-portal-brand { display:none; }
.login-portal .login-field { margin-bottom:14px; }
.login-portal .login-selected-system { margin-bottom:16px; padding-bottom:14px; }
.login-active-session { margin-bottom:20px; padding:14px; border:1px solid var(--login-line); border-left:3px solid var(--login-accent); background:var(--adm-panel); color:var(--adm-text); }
.login-active-session[hidden] { display:none; }
.login-active-session strong { display:block; font-size:14px; }
.login-active-session strong i { color:var(--login-accent); margin-right:6px; }
.login-active-session p { margin:8px 0; font-size:13px; overflow-wrap:anywhere; }
.login-active-session #login-active-identity { color:var(--adm-text-soft,var(--adm-text)); }
.login-portal .login-advanced { margin-bottom:16px; }
.login-portal #login-associate-help { font-size:11px; color:var(--adm-text-soft); margin-top:-7px; margin-bottom:14px; }
.login-portal .login-submit { background:#0085ff !important; color:white !important; border-color:#0085ff !important; }
.login-portal [data-microsoft-sso] { min-height:44px; }
.login-portal [data-microsoft-sso] i { color:#008cff; margin-right:8px; }
.login-portal .login-footer { padding:8px 4.4%; font-size:10px; }
body.login-portal[data-theme='light'] { --login-accent:#0079f5; --login-line:#d4e1ef; --adm-bg:#eaf3fc; --adm-panel:#ffffffed; --adm-text:#0b1d3b; --adm-text-soft:#5575a3; }
body.login-portal.login-client-background .login-intro { border:0; border-radius:0; padding:190px 7% 48px; background:var(--client-background-color,#08192f) var(--client-background-image,url('../img/login-office.png')) center / cover no-repeat; }
@media(min-width:1100px) and (max-width:1450px) {
 .login-portal .login-intro { padding-left:6%; padding-right:4%; }
 .login-portal .login-photo-note { display:none; }
 .login-portal .login-card { margin-left:28px; margin-right:28px; padding:26px; }
 .login-benefits { gap:26px 16px; }
 .login-benefits > div { gap:10px; }
}
@media(max-width:1099px) {
 .login-portal .login-layout { grid-template-columns:1fr 1fr; }
 .login-portal .login-topbar { padding:24px; }
 .login-portal .login-brand strong { font-size:22px; }
 .login-portal .login-brand img { width:48px; height:48px; }
 .login-portal .login-intro,body.login-portal.login-client-background .login-intro { padding:160px 30px 40px; }
 .login-portal .login-card { margin:100px 20px 30px; padding:24px; }
 .login-portal .login-photo-note,.login-wide-break { display:none; }
 .login-benefits { grid-template-columns:1fr; gap:18px; }
 .login-signature { margin-top:30px; font-size:19px; }
 body.login-portal h1 { font-size:40px; }
}
@media(max-width:760px) {
 body.login-shell.login-portal[data-theme] .login-topbar { position:relative !important; background:#08192f !important; }
 .login-portal .login-intro::after { background:#06182ba8; }
 .login-portal .login-topbar { position:relative; background:#08192f; padding:18px; gap:12px; }
 .login-portal .login-brand { gap:8px; }
 .login-portal .login-brand strong { font-size:19px; }
 .login-portal .login-brand small { font-size:8px; letter-spacing:3px; }
 .login-portal .login-brand img { width:38px; height:38px; }
 .login-portal .login-intranet-link { display:none; }
 .login-portal .login-layout { display:flex; flex-direction:column; min-height:auto; max-width:none; }
 .login-portal .login-intro,body.login-portal.login-client-background .login-intro { padding:28px 22px; text-align:left; }
 .login-portal .login-intro .login-eyebrow { justify-content:flex-start; font-size:9px; letter-spacing:1.6px; }
 body.login-portal h1 { font-size:34px; margin:15px 0; letter-spacing:-1px; }
 body.login-portal .login-description { font-size:14px; }
 .login-benefits,.login-signature { display:none; }
 .login-portal .login-card { align-self:stretch; width:auto; max-width:480px; margin:24px auto; padding:24px; width:calc(100% - 32px); }
 .login-portal .login-portal-brand { margin-bottom:22px; }
 .login-portal .login-selected-system { flex-wrap:wrap; }
 .login-portal .login-footer { padding:8px 18px 20px; }
}
