:root{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#392947;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#ede5f4 url('/assets/towne-hall-night.jpg') center/cover fixed no-repeat;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:#281c3b55;backdrop-filter:blur(6px);z-index:-1}.signin-shell{min-height:100vh;display:flex;align-items:center;padding:3rem max(2rem,7vw)}.signin-card{width:min(100%,460px);background:#fcfaf6ed;border:1px solid #ffffff9c;border-radius:25px;padding:2.5rem;box-shadow:0 20px 80px #130c2a25}.eyebrow{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#80668e;font-weight:700;margin:0 0 1rem}h1{font-size:2rem;letter-spacing:-.04em;line-height:1.15;margin:0 0 1rem}.intro{font-size:.9rem;color:#786a82;margin-bottom:1.7rem}label{display:block;font-size:.8rem;font-weight:650;margin:.9rem 0 .4rem}input{width:100%;padding:.75rem .9rem;border:1px solid #d8cde1;border-radius:9px;background:#fff;font:inherit;color:#392947;outline-offset:3px}button{font:inherit;font-size:.85rem;font-weight:650;border:0;border-radius:10px;background:#674185;color:white;min-height:46px;width:100%;padding:.8rem 1rem;margin-top:.8rem;cursor:pointer;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}.help{font-size:.75rem;color:#807088;margin:.7rem 0}.visit-type{border:0;padding:0;margin:0 0 1rem;display:flex;gap:1rem}.visit-type legend{font-size:.77rem;color:#807088;margin-bottom:.5rem}.visit-type label{display:flex;gap:.45rem;align-items:center;margin:0;font-size:.8rem}.visit-type input{width:17px;height:17px;accent-color:#674185}.text-button{color:#725088;background:transparent;padding:.3rem;min-height:35px;margin-top:.4rem}.footer-note{font-size:.74rem;color:#81708a;margin:1.2rem 0 0}.evaluation{font-size:.65rem;color:#998ba0;margin:1rem 0 0}#signin-status{color:#945063;font-size:.82rem;min-height:0;margin:.8rem 0 0}#signin-status:empty{display:none}#family-code{font-size:1.5rem;letter-spacing:.3em;text-align:center}@media(max-width:600px){.signin-shell{padding:1.2rem;justify-content:center}.signin-card{padding:1.8rem}input{font-size:16px}h1{font-size:1.8rem}}