/* Reference-inspired login presentation. Authenticated workspace keeps its original styles. */
.login-preview{display:none}
body:has(#signedOutView:not([hidden])){background:#f3f4f5;font-family:"Segoe UI",Arial,sans-serif}
body:has(#signedOutView:not([hidden])) .page-shell{display:flex;flex-direction:column;justify-content:center;padding-block:48px;animation:none}
.hero:has(#signedOutView:not([hidden])){display:grid;grid-template-columns: .95fr 1.05fr;width:100%;max-width:1000px;min-height:570px;margin-inline:auto;border:1px solid #e6e9eb;border-radius:8px;background:white;box-shadow:0 16px 50px #16324f08;animation:login-enter .65s ease both}
.hero:has(#signedOutView:not([hidden]))>.hero-panel{display:none}
.hero:has(#signedOutView:not([hidden]))>.track-card{padding:55px;display:flex;align-items:center;animation:none}
#signedOutView{width:100%}
.login-brand{display:flex;align-items:center;gap:13px;margin:0 0 34px}.login-brand>div{min-width:0}.login-brand strong{display:block;font-size:21px;font-weight:700;letter-spacing:.035em;line-height:1.2;color:#16324f}.login-brand span{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:#687b90}.login-logo{width:56px;height:56px;flex:0 0 56px;object-fit:contain;margin:0}
.login-eyebrow{font-size:9px;font-weight:600;letter-spacing:.12em;color:#63758a;margin:0 0 11px}
.hero .login-title{margin:0 0 14px;font-size:31px;font-weight:600;letter-spacing:-.03em;color:#16324f}
.login-description{margin:0 0 30px;color:#66778b;font-size:13px;line-height:1.8}.login-break{display:none}
#signedOutView .auth-primary{width:100%;min-height:48px;gap:12px;text-decoration:none;border-radius:4px;border-color:#174b7e;background:#174b7e;transition:background .2s,box-shadow .2s}
#signedOutView .auth-primary:hover{background:#123d68;transform:none;box-shadow:0 4px 14px #174b7e24}
.microsoft-mark{width:18px;height:18px;flex-shrink:0;padding:2px;background:white;box-sizing:content-box}
.login-security{margin:18px 0 0;color:#6f7e90;font-size:11px;line-height:1.7}
#signedOutView .form-footer:has(.form-error:empty){display:none}
#signedOutView .form-footer:has(.form-error:not(:empty)){margin-top:18px;padding:12px;border-radius:5px;background:#fff3f1;border:1px solid #f5cbc3}
.hero:has(#signedOutView:not([hidden]))>.login-preview{display:flex}
.login-preview{flex-direction:column;justify-content:center;min-width:0;position:relative;background:#f2f6fb;padding:32px 34px 27px;overflow:hidden;border-left:1px solid #e5ebf2}
.preview-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:#607a96}.preview-count{font-variant-numeric:tabular-nums}
.preview-art{position:relative;margin:48px auto 34px;width:100%;max-width:345px;padding-bottom:22px}
.preview-sheet{background:white;border:1px solid #dfe8f2;border-radius:7px;padding:22px;box-shadow:0 16px 32px #174b7e10;animation:sheet-enter .8s .15s both}
.sheet-heading{display:flex;align-items:center;gap:9px;color:#254f78;font-size:12px;font-weight:600}.sheet-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:4px;background:#e6eff9;color:#477dab;font-size:17px}.sheet-menu{margin-left:auto;color:#9bb0c6;font-size:10px}.sheet-divider{height:1px;background:#eef2f7;margin:17px 0 5px}
.preview-row{display:flex;align-items:center;gap:9px;padding:15px 0;border-bottom:1px solid #eef2f7;animation:row-enter .6s both}.preview-row:nth-child(3){animation-delay:.25s}.preview-row:nth-child(4){animation-delay:.4s}.preview-row:nth-child(5){animation-delay:.55s}
.preview-row>i{width:21px;height:25px;border:1px solid #d8e3f0;border-radius:3px;background:linear-gradient(#eef4fa,#fafcff)}.preview-row>div{flex:1}.preview-row b,.preview-row small{display:block;background:#dce6f1;border-radius:2px;height:5px;width:75%;max-width:75px}.preview-row small{height:4px;width:45%;margin-top:6px;background:#ecf1f7}
.preview-pill{font-size:8px;padding:4px 6px;border-radius:3px;color:#647d98;background:#eef3f9;transition:background .5s,color .5s}
[data-scene="0"] .preview-row:nth-child(3) .preview-pill,[data-scene="1"] .preview-row:nth-child(4) .preview-pill,[data-scene="2"] .preview-row:nth-child(5) .preview-pill{color:#174b7e;background:#dceafa}
.sheet-bottom{display:flex;gap:8px;height:43px;align-items:flex-end;margin-top:16px}.sheet-bottom span{flex:1;background:#cadcf0;height:45%;transform-origin:bottom;transition:transform .8s,background .8s}.sheet-bottom span:nth-child(3n){height:80%}.sheet-bottom span:nth-child(2n){height:60%}.sheet-bottom span:last-child{height:95%}.preview-art[data-scene="1"] .sheet-bottom span{transform:scaleY(.65);background:#8db1d6}.preview-art[data-scene="2"] .sheet-bottom span{transform:scaleY(.9);background:#adc8e4}
.preview-toast{position:absolute;bottom:0;right:-14px;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #e1e9f3;background:#fff;border-radius:6px;box-shadow:0 8px 24px #174b7e10;animation:row-enter .7s .7s both}.toast-check{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e5effb;color:#174b7e;font-size:13px}.preview-toast strong{display:block;font-size:10px;font-weight:600;color:#254f78}.preview-toast small{display:block;font-size:9px;color:#6b8198;margin-top:3px}
.preview-caption{text-align:center;min-height:88px}.preview-caption h2{font-size:18px;font-weight:500;letter-spacing:-.015em;color:#163e67;margin:0 0 9px}.preview-caption p{font-size:12px;line-height:1.8;color:#667e97;margin:0}
.preview-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;position:relative}.preview-arrow{border:0;background:transparent;color:#426b97;width:32px;height:32px;border-radius:50%;font-size:15px}.preview-arrow:hover{background:#e2ecf8}.preview-dots{display:flex;gap:2px}.preview-dots button{border:0;background:transparent;padding:10px;position:relative;width:25px;height:32px}.preview-dots button:after{content:"";position:absolute;inset:13px 10px;background:#c3d3e6;border-radius:50%;transition:background .3s}.preview-dots button[aria-pressed="true"]:after{background:#174b7e}
.login-preview.is-changing .preview-caption{animation:caption-in .45s ease both}.login-preview.is-changing .preview-toast{animation:caption-in .45s ease both}
@keyframes login-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheet-enter{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}@keyframes row-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes caption-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.hero:has(#signedOutView:not([hidden]))>.track-card{padding:36px}.login-preview{padding:28px 24px}.preview-toast{right:-5px}}
@media(max-width:720px){body:has(#signedOutView:not([hidden])) .page-shell{padding-block:24px}.hero:has(#signedOutView:not([hidden])){grid-template-columns:1fr;max-width:460px;min-height:0}.hero:has(#signedOutView:not([hidden]))>.track-card{padding:32px}.login-brand{margin-bottom:28px}.login-preview{padding:24px 32px;border-left:0;border-top:1px solid #e1e9f3}.preview-art{margin-top:28px;margin-bottom:28px;max-width:310px}.preview-caption{min-height:80px}.preview-controls{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.hero:has(#signedOutView:not([hidden])),.login-preview *{animation:none!important;transition:none!important}#signedOutView .auth-primary{transition:none}}


/* Portal identity inspired by the supplied clipboard reference. */
.login-brand{gap:20px;margin-bottom:34px}.login-brand>div{border-left:1px solid #bdcbdc;padding:3px 0 3px 20px}.login-brand strong{font-size:25px;letter-spacing:0;color:#101f46;line-height:1.2}.login-brand span{font-size:13px;line-height:1.4;margin-top:2px;color:#6b80a0}.login-brand .login-logo{width:58px;height:64px;flex-basis:58px;margin:0}
@media(max-width:380px){.login-brand{gap:12px}.login-brand>div{padding-left:12px}.login-brand strong{font-size:23px}.login-brand span{font-size:11px}.login-brand .login-logo{width:50px;height:58px;flex-basis:50px}}
/* Responsive login: content determines height; compact feature carousel on phones. */
body:has(#signedOutView:not([hidden])){min-height:100vh;min-height:100svh}
body:has(#signedOutView:not([hidden])) .page-shell{width:calc(100% - 2 * clamp(16px,3vw,40px));max-width:1160px;padding-block:clamp(24px,5vh,56px);flex:1 0 auto}
.hero:has(#signedOutView:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;max-width:1040px}
.hero:has(#signedOutView:not([hidden]))>.track-card{min-width:0;padding:clamp(28px,4vw,56px)}
.login-brand{max-width:100%;gap:clamp(12px,1.6vw,20px)}
.login-brand>div{min-width:0;padding-left:clamp(12px,1.6vw,20px)}
.login-brand span{overflow-wrap:anywhere}
.login-description{font-size:14px;line-height:1.7}
#signedOutView .auth-primary{min-height:50px;white-space:normal;text-align:center}
.login-preview{padding:30px clamp(22px,3vw,36px);min-width:0}
.preview-art{margin-block:32px 28px;max-width:320px}
.preview-toast{right:0;max-width:100%}.preview-toast>div{min-width:0}.preview-toast strong,.preview-toast small{overflow-wrap:anywhere}
.preview-caption{min-height:96px}.preview-caption p{font-size:13px;line-height:1.7}
.preview-arrow,.preview-dots button{width:44px;height:44px;flex:0 0 44px}
.preview-dots button:after{inset:19px;border-radius:50%}
.preview-controls{gap:8px;margin-top:0}
@media(min-width:821px) and (max-height:750px){
 body:has(#signedOutView:not([hidden])) .page-shell{padding-block:24px}
 .login-preview{padding-block:22px}.preview-art{margin-block:20px}.preview-sheet{padding:18px}.preview-row{padding-block:12px}.preview-caption{min-height:84px}
}
@media(max-width:820px){
 .hero:has(#signedOutView:not([hidden])){grid-template-columns:minmax(0,1fr);max-width:620px}
 .hero:has(#signedOutView:not([hidden]))>.track-card{padding:32px clamp(24px,6vw,48px)}
 .login-brand{margin-bottom:24px}.hero .login-title{font-size:29px}.login-description{margin-bottom:24px}
 .login-preview{border-left:0;border-top:1px solid #e1e9f3;padding:24px 32px}
 .preview-art{max-width:290px;margin-block:22px}.preview-caption{min-height:80px}
 body:has(#signedOutView:not([hidden])) .header-inner{flex-wrap:wrap;gap:12px}
 body:has(#signedOutView:not([hidden])) .header-meta{padding-left:16px}
}
@media(max-width:600px){
 body:has(#signedOutView:not([hidden])) .page-shell{padding-block:20px;width:calc(100% - 32px)}
 body:has(#signedOutView:not([hidden])) .header-inner{padding-block:12px;gap:10px;min-height:0}
 body:has(#signedOutView:not([hidden])) .brand-copy strong{font-size:clamp(16px,4.5vw,20px)}
 body:has(#signedOutView:not([hidden])) .header-meta{padding:8px 0 0}
 body:has(#signedOutView:not([hidden])) .header-clock{flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 12px}
 body:has(#signedOutView:not([hidden])) .header-time-line{gap:5px}
 body:has(#signedOutView:not([hidden])) #headerTime{font-size:12px}
 .hero:has(#signedOutView:not([hidden]))>.track-card{padding:28px 24px}
 .login-brand{gap:14px;margin-bottom:24px}.login-brand>div{padding-left:14px}.login-brand strong{font-size:23px}.login-brand span{font-size:12px}.login-brand .login-logo{width:48px;height:54px;flex-basis:48px}
 .hero .login-title{font-size:27px;margin-bottom:12px}.login-description{font-size:14px;margin-bottom:22px}
 .login-preview{padding:20px 20px 12px}
 .preview-art{display:none}
 .preview-top{font-size:8px;gap:12px;margin-bottom:18px}
 .preview-caption{min-height:90px}.preview-caption h2{font-size:17px}.preview-caption p{font-size:12px}
 .preview-controls{margin-top:4px}
 body:has(#signedOutView:not([hidden])) .footer-inner{min-height:0;padding-block:14px;gap:5px}
}
@media(max-width:360px){
 .hero:has(#signedOutView:not([hidden]))>.track-card{padding:24px 18px}
 .login-brand{gap:10px}.login-brand>div{padding-left:10px}.login-brand span{font-size:11px}
 #signedOutView .auth-primary{padding-inline:12px;font-size:12px;gap:10px}
 .preview-controls{gap:0}
}

/* Updated portal title and simplified top header. */
.header-inner{justify-content:flex-end}.header-meta{border-left:0;padding-left:0}.login-brand strong{font-size:clamp(18px,1.7vw,23px);line-height:1.25;overflow-wrap:normal}.login-brand span{font-size:11px;line-height:1.6}.login-brand>div{flex:1;min-width:0}
@media(max-width:760px){.header-inner{min-height:0;padding-block:12px}.header-meta{border-top:0;padding-top:0}body:has(#signedOutView:not([hidden])) .header-meta{padding:0}.login-brand strong{font-size:19px}.login-brand span{font-size:10px}}
