:root{color-scheme:light;--cream:#f8f5ef;--paper:#fffefa;--ink:#203440;--muted:#46545d;--accent:#914026;--border:#66736e;--green:#365a48}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{outline-offset:4px}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);box-shadow:0 0 0 2px var(--paper)}[hidden]{display:none!important}.login-shell{max-width:510px;margin:0 auto;padding:48px 24px 28px}.brand{display:flex;align-items:center;gap:13px;width:max-content;margin:0 auto 28px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--ink);border-radius:50%;font:italic 25px Georgia,serif}.brand strong{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.login-card{padding:32px;background:var(--paper);border:1px solid #dadbd3;border-radius:18px;box-shadow:0 8px 30px #20344006}.eyebrow{color:var(--accent);font-weight:700;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 15px}h1{font:400 42px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:0 0 16px}h2{font:400 23px/1.3 Georgia,serif;letter-spacing:-.02em;margin:26px 0 14px}.intro{color:var(--muted);margin:0 0 25px;font-size:15px}p{margin-top:0}.notice,.error{padding:12px 14px;border-radius:8px;font-size:14px;margin:0 0 20px}.notice{background:#edf1e9;color:#294c37;border:1px solid #6d806e}.error{background:#fff0e7;color:#733b25;border:1px solid #a95c3e}.primary,.secondary{min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border:1px solid var(--ink);border-radius:8px;font-size:15px;font-weight:650;text-decoration:none;cursor:pointer}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#304b5b}.secondary{background:var(--paper);color:var(--ink)}.secondary:hover{background:#f0ede6}button:disabled{cursor:wait;background:#e3e5df;color:var(--muted);border-color:var(--border)}button svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;fill:none}.button-note{font-size:12px;line-height:1.55;color:var(--muted);text-align:center;margin:10px 0 24px}.remember{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:500;margin:0 0 24px;cursor:pointer}.remember input{appearance:none;flex-shrink:0;width:20px;height:20px;margin:1px 0 0;border:1.5px solid var(--border);border-radius:4px;display:grid;place-content:center;background:var(--paper)}.remember input:checked{background:var(--ink);border-color:var(--ink)}.remember input:checked:after{content:"✓";font-size:16px;line-height:1;color:white}.remember small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}details{border-top:1px solid #dadbd3;padding-top:20px}summary{cursor:pointer;font-size:14px;font-weight:650;min-height:38px;line-height:1.5}.form-intro{font-size:13px;color:var(--muted);margin:0 0 20px}form label,#enrollment>label{display:block;font-size:13px;font-weight:650;margin:0 0 6px}input[type=text],input[type=password]{display:block;width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--ink);font-size:16px;margin:0 0 17px}input::placeholder{color:#59666e;opacity:1}.password-wrap{position:relative}.password-wrap input{padding-right:67px}.reveal{position:absolute;right:3px;top:3px;height:42px;min-width:58px;border:0;background:transparent;color:var(--ink);font-weight:650;font-size:12px;border-radius:4px;cursor:pointer}.optional{font-weight:400;color:var(--muted)}.continue{margin-top:22px}.text-button{display:block;min-height:44px;min-width:80px;margin:12px auto 0;padding:8px 12px;border:0;background:transparent;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.footnote{text-align:center;font-size:12px;color:var(--muted);margin:23px 0 0}#key-list{list-style:none;padding:0;margin:0}#key-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #dadbd3;font-size:14px}#key-list strong{display:block;overflow-wrap:anywhere}#key-list small{display:block;color:var(--muted);font-size:11px}#key-list button{font-size:12px;color:var(--accent);min-height:44px;padding:8px;border:0;background:transparent;cursor:pointer;text-decoration:underline;text-underline-offset:3px}#key-list button:disabled{color:var(--muted);cursor:not-allowed}@media(max-width:480px){.login-shell{padding:25px 17px 24px}.brand{margin-bottom:22px}.login-card{padding:27px 23px;border-radius:13px}h1{font-size:38px}.eyebrow{font-size:9px}.footnote{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.first-visit{font-size:13px;color:var(--muted);margin:0 0 22px}.setup-note{font-size:14px;color:var(--muted);margin-bottom:22px}.text-link{display:block;text-align:center;font-size:13px;margin-top:18px;text-underline-offset:3px;min-height:44px;padding:10px 0}.brand-mark{overflow:hidden}.brand-mark img{display:block;width:100%;height:100%}
