/* Focused Monika sign-in. One composition at every zoom level; authentication
   remains in app.js. Natural page scrolling keeps short viewports usable. */
html.login-visible,html.login-visible body{background:var(--login-canvas,#f6f7fb);scroll-behavior:auto}
#login-screen{--login-canvas:#f6f7fb;--login-paper:#fff;--login-ink:#202532;--login-muted:#606a7b;--login-border:#dfe3ec;--login-control:#8792a6;--login-accent:#3449cf;--login-on-accent:#fff;--login-focus:#3459d6;--login-tint:#eef1ff;--login-shadow:0 2px 4px #18234204,0 20px 70px -28px #25345d30;display:block;min-height:100svh;padding:0;overflow:visible;background:radial-gradient(ellipse at 50% 20%,#e8ecfb88,transparent 58%),var(--login-canvas);color:var(--login-ink)}
#login-screen::before,#login-screen::after{display:none}
#login-screen .login-page{display:flex;flex-direction:column;min-height:100svh;width:100%;padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right));}
#login-screen .login-masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1200px;margin-inline:auto;padding-block:24px;flex-shrink:0;}
#login-screen .login-brand-lockup{display:flex;align-items:center;gap:11px;color:var(--login-ink);min-width:0;}
#login-screen .login-brand-lockup img{object-fit:contain;width:40px;height:40px;border-radius:10px;background:#fff;flex-shrink:0;}
#login-screen .login-brand-lockup strong{display:block;font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.35;}
#login-screen .login-brand-lockup small{display:block;font-size:8px;letter-spacing:.19em;margin-top:4px;color:var(--login-muted);}
#login-screen .theme-pill{background:var(--login-paper);border:1px solid var(--login-border);box-shadow:0 1px 3px #17233b06;flex-shrink:0;padding:3px;border-radius:999px;}
#login-screen .theme-btn{min-width:44px;min-height:44px;color:var(--login-muted);border-radius:999px;}
#login-screen .theme-btn.active{background:var(--login-tint);color:var(--login-accent);}
#login-screen .login-main{display:flex;align-items:center;justify-content:center;flex:1 0 auto;min-width:0;padding-block:20px 36px;}
#login-screen .portal-signin{width:100%;max-width:440px;min-width:0;padding:36px;background:var(--login-paper);border:1px solid var(--login-border);border-radius:28px;box-shadow:var(--login-shadow);color:var(--login-ink);}
#login-screen .signin-heading{text-align:center;margin-bottom:28px;}
#login-screen .signin-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.14em;color:var(--login-muted);font-weight:600;margin:0 0 10px;}
#login-screen #signin-title{font:650 32px/1.2 var(--font);letter-spacing:-.045em;margin:0 0 10px;color:var(--login-ink);}
#login-screen .signin-subtitle{font-size:14px;line-height:1.5;color:var(--login-muted);margin:0;}
#login-screen #login-form .field{margin:0 0 18px;}
#login-screen #login-form label{display:block;color:var(--login-ink);font-size:13px;font-weight:550;line-height:1.5;margin-bottom:8px;}
#login-screen .signin-input-wrap{position:relative;display:flex;align-items:center;}
#login-screen .signin-input-wrap input{width:100%;min-width:0;min-height:48px;padding:12px 14px;background:var(--login-paper);border:1px solid var(--login-control);border-radius:11px;color:var(--login-ink);font:400 16px/1.4 var(--font);box-shadow:none;}
#login-screen .signin-input-wrap #login-password{padding-right:48px;}
/* Edge supplies a second reveal eye; keep the labelled portal toggle only. */
#login-screen #login-password::-ms-reveal{display:none;}
#login-screen .signin-input-wrap input::placeholder{color:var(--login-muted);opacity:1;}
#login-screen .signin-input-wrap input:focus{outline:3px solid var(--login-focus);outline-offset:2px;border-color:var(--login-focus);}
#login-screen .signin-input-wrap input:autofill{-webkit-text-fill-color:var(--login-ink);box-shadow:0 0 0 1000px var(--login-paper) inset;}
#login-screen #login-password-toggle{position:absolute;right:2px;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;color:var(--login-muted);cursor:pointer;border-radius:9px;}
#login-screen #login-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;}
#login-screen .eye-slash{display:none;}
#login-screen #login-password-toggle[aria-pressed=true] .eye-slash{display:block;}
#login-screen .signin-help-row{display:flex;align-items:center;justify-content:flex-end;margin:-10px 0 12px;}
#login-screen #login-help{min-height:44px;padding:8px 0;background:none;border:0;color:var(--login-accent);font:500 12px/1.5 var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
#login-screen .signin-help-text,#login-screen .signin-caps{font-size:12px;line-height:1.6;margin:0 0 16px;color:var(--login-muted);overflow-wrap:anywhere;}
#login-screen .signin-caps{margin:8px 0 0;}
#login-screen .signin-submit{width:100%;min-height:48px;border:1px solid transparent;border-radius:11px;background:var(--login-accent);color:var(--login-on-accent);font:600 14px/1.5 var(--font);padding:12px 16px;cursor:pointer;}
#login-screen .signin-submit:hover{filter:brightness(.94);}
#login-screen .signin-submit:disabled{opacity:.65;cursor:wait;}
#login-screen .signin-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--login-muted);font-size:11px;line-height:1.5;}
#login-screen .signin-divider::before,#login-screen .signin-divider::after{content:'';height:1px;background:var(--login-border);flex:1;}
#login-screen .signin-microsoft{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px;border:1px solid var(--login-control);border-radius:11px;color:var(--login-ink);text-decoration:none;font-size:13px;line-height:1.5;background:var(--login-paper);}
#login-screen .signin-microsoft:hover{background:var(--login-canvas);}
#login-screen .signin-microsoft svg{width:18px;height:18px;flex-shrink:0;}
#login-screen .signin-access-note{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:11px;line-height:1.5;color:var(--login-muted);margin:20px 0 0;}
#login-screen .signin-access-note svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0;}
#login-screen .signin-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;width:100%;padding:0 0 max(24px,env(safe-area-inset-bottom));color:var(--login-muted);font-size:10px;line-height:1.5;text-align:center;}
#login-screen #login-error-slot:empty,#login-screen #login-maintenance-banner:empty{display:none;}
#login-screen .login-error,#login-screen #login-maintenance-banner .banner{font-size:13px;line-height:1.5;padding:12px;border:1px solid #c88075;border-radius:11px;margin:0 0 20px;background:#fff3f0;color:#8e2c24;overflow-wrap:anywhere;}
#login-screen :is(button,a):focus-visible{outline:3px solid var(--login-focus);outline-offset:3px;}
html[data-theme=dark] #login-screen{--login-canvas:#10131a;--login-paper:#1c202a;--login-ink:#f2f4f9;--login-muted:#b5bfd2;--login-border:#363e4e;--login-control:#778297;--login-accent:#bac5ff;--login-on-accent:#1d2757;--login-focus:#bac5ff;--login-tint:#29314b;--login-shadow:0 20px 70px -28px #0009;background:radial-gradient(ellipse at 50% 20%,#26325366,transparent 58%),var(--login-canvas);}
html[data-theme=dark] #login-screen .login-error,html[data-theme=dark] #login-screen #login-maintenance-banner .banner{background:#392626;color:#ffc5ba;border-color:#a66e67;}
@media(prefers-reduced-motion:reduce){#login-screen *,#login-screen *::before,#login-screen *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media(forced-colors:active){#login-screen{background:Canvas;color:CanvasText;}#login-screen .portal-signin,#login-screen .theme-pill{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;}#login-screen :is(.signin-submit,.signin-microsoft){background:ButtonFace;color:ButtonText;border-color:ButtonText;}#login-screen :is(button,a,input):focus-visible{outline-color:Highlight;}}
