@font-face{font-family:Inter;src:url('/fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{font-family:Inter,system-ui,sans-serif;color:#183048;background:#f2f5f8;font-synthesis:none;line-height:1.5}
*{box-sizing:border-box}
body{margin:0}
a{color:#1664bd;text-underline-offset:.2em}
button,input{font:inherit}
.login-screen{min-height:100svh;display:grid;place-items:center;padding:2rem 1.25rem}
.login-card{width:min(100%,32rem);padding:2.5rem;border:1px solid #dde5ee;border-radius:1.5rem;background:#fff;box-shadow:0 20px 70px #1830480d}
.login-intro{margin-bottom:1.75rem}
.brand{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}
.brand-mark{width:3rem;height:auto;flex:none}
.anvomed-brand-copy{display:block;min-width:0}
.anvomed-wordmark{display:block;width:12rem;max-width:100%;height:auto}
.anvomed-wordmark-light{display:none}
h1{font-family:Manrope,Inter,system-ui,sans-serif;font-weight:700;font-size:1.8rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 .75rem}
.subtitle{font-size:1rem;color:#52677d;margin:0}
form{display:grid;gap:1rem}
label{display:grid;gap:.4rem;font-weight:600;font-size:.95rem}
input{width:100%;min-height:3rem;padding:.65rem .8rem;color:inherit;background:#fff;border:1px solid #b5c4d3;border-radius:.65rem;font-weight:400}
input:focus-visible{outline:3px solid #a7d2ff;outline-offset:2px;border-color:#1664bd}
.btn{display:flex;justify-content:center;align-items:center;min-height:3.1rem;padding:.8rem 1.25rem;border:0;border-radius:.65rem;background:#1664bd;color:#fff;text-decoration:none;font-weight:600;cursor:pointer}
.btn:hover{background:#11559f}
.btn:disabled{opacity:.55;cursor:wait}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #6caef5;outline-offset:3px}
.validation-error{color:#a52833;font-size:.95rem;margin:0}
.validation-error:empty{display:none}
.login-footer{display:grid;gap:1rem;margin-top:1.75rem;text-align:center}
.login-foot{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem 1rem;font-size:.9rem}
.login-foot a{color:#52677d;text-decoration:none}
.login-foot a[aria-current=page]{color:#183048;font-weight:700;text-decoration:underline}
.login-credit{font-size:.875rem;color:#52677d}
.login-credit a{color:inherit;text-decoration:none}
.row-action{border:0;background:none;color:#1664bd;font:inherit;font-size:.95rem;text-decoration:underline;cursor:pointer;padding:.4rem}
[hidden]{display:none!important}
dialog{width:min(calc(100% - 2rem),32rem);max-height:85svh;padding:1.5rem;border:1px solid #dde5ee;border-radius:1rem;color:#183048}
dialog::backdrop{background:#0d233e80}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.dialog-head h2{font-size:1.25rem;margin:0 0 .5rem}
.dialog-body{margin-top:1.5rem}
.dialog-body li{margin-bottom:.75rem}
.icon-btn{width:2rem;height:2rem;padding:.25rem;border:0;background:transparent;color:inherit;cursor:pointer}
.ui-icon{width:1.5rem;height:1.5rem}
.info-line{color:#52677d;font-size:.95rem}
.app-update-notice{max-width:32rem;margin:0 auto 1rem;padding:1rem;background:#fff;border:1px solid #dde5ee;border-radius:.75rem}
@media(max-width:420px){.login-card{padding:1.75rem 1.4rem;border-radius:1.15rem}.login-screen{padding:1rem}.brand{margin-bottom:1.75rem}h1{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
