@font-face{font-family:'Source Sans 3';src:url('/fonts/source-sans-3.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--control:40px}*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100dvh;display:grid;place-items:center;background:#f3f6f4;color:#18352c;font:16px/1.5 'Source Sans 3',system-ui,sans-serif;padding:24px}
main{width:min(100%,480px);background:white;padding:24px;border:1px solid #d8e3dd;border-radius:16px;box-shadow:0 10px 48px #18352c0c}
main>img{display:block;width:150px;margin:0 0 16px}.badge{display:inline-block;padding:4px 8px;border-radius:16px;background:#e8f3ec;color:#176b3a;font-size:0.875rem;font-weight:650}
h1{font-size:1.625rem;line-height:1.2;margin:16px 0;letter-spacing:-.5px}p{color:#576c63}form{display:grid;gap:8px;margin:16px 0}label{font-size:0.875rem;font-weight:650}form>label:not(:first-child){margin-top:8px}
input,button{font-family:inherit;line-height:1.4;min-height:var(--control);border-radius:8px;padding:8px 12px}input{font-size:1rem;border:1px solid #b7c9bf;width:100%;min-width:0}button{font-size:0.875rem;background:#176b3a;color:white;border:0;cursor:pointer;font-weight:650;margin-top:8px;height:auto}button:disabled{opacity:.55}
small{display:block;color:#576c63;font-size:0.875rem}.show-password{display:flex;align-items:center;gap:8px;min-height:var(--control)}.show-password input{width:18px;height:18px;min-height:0;accent-color:#176b3a}
.auth-secondary{background:white;color:#176b3a;border:1px solid #d8e3dd}#authHelp{font-size:0.875rem;line-height:1.5}#authStatus:empty,#installStatus:empty{display:none}#authStatus{color:#a93036}[role=alert]{color:#a93036;background:#fff3ed;padding:12px;border-radius:8px}
.install-card{border-top:1px solid #d8e3dd;margin-top:16px;padding-top:16px}.install-heading{display:flex;gap:12px;align-items:center}.install-heading img{width:40px;height:40px;margin:0}.install-card h2{font-size:1.25rem;line-height:1.3;margin:0 0 4px}.install-heading p{font-size:0.875rem;margin:0}.install-card button{width:100%;margin:12px 0 8px}.install-card details{font-size:0.875rem;margin:4px 0 12px}.install-card summary{cursor:pointer;min-height:var(--control);display:flex;align-items:center;color:#176b3a;text-decoration:underline;text-underline-offset:3px}.install-card small,#installStatus{font-size:0.875rem}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2463a5;outline-offset:3px}
@media(max-width:760px),(pointer:coarse){:root{--control:44px}}
/* Keep the established login flow while giving the public entry a clear hierarchy. */
body{background:#f2f4ef;padding:36px 24px 22px;row-gap:20px;grid-template-rows:1fr auto;line-height:1.5;color:#19392e}
main{width:min(100%,1060px);padding:0;display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce4da;border-radius:24px;overflow:hidden;box-shadow:0 24px 80px #17382d0b}
.auth-brand{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:48px;position:relative;background:#143f32;color:#fff;isolation:isolate;overflow:hidden}
.auth-brand:after{content:"";position:absolute;width:650px;height:650px;border:1px solid #ffffff0c;border-radius:45%;transform:rotate(-24deg);right:-420px;bottom:-80px;box-shadow:0 0 0 38px #ffffff04,0 0 0 78px #ffffff04,0 0 0 118px #ffffff04,0 0 0 158px #ffffff04;z-index:-1;pointer-events:none}
.auth-logo{width:166px;padding:12px 15px;background:#fff;border-radius:10px}.auth-logo img{display:block;width:100%;height:auto}
.auth-brand-copy .auth-eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#b8d5b0;margin:0 0 18px}
.auth-brand-copy h2{font-size:clamp(2.1rem,3.2vw,2.8rem);font-weight:650;line-height:1.08;letter-spacing:-1.2px;margin:0 0 22px;color:#fff}
.auth-brand-copy>p:not(.auth-eyebrow){max-width:360px;color:#cbded4;font-size:1rem;margin:0}
.auth-benefits{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:13px;color:#e2ece5;font-size:.9rem}.auth-benefits li{display:flex;align-items:center;gap:11px}.auth-benefits li:before{content:"✓";width:20px;height:20px;display:grid;place-items:center;border:1px solid #98bd9c66;border-radius:50%;color:#c5e0b8;font-size:.7rem;flex-shrink:0}
.auth-brand-footer{display:flex;align-items:center;gap:12px;font-size:.8rem;color:#e1ece5}.auth-brand-footer small{color:#a6c3b3;font-size:.73rem}.auth-field-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff26;border-radius:50%;font-size:.72rem;font-weight:700}
.auth-panel{padding:42px 44px;background:#fff;min-width:0}.auth-panel .badge{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:#eef4e8;color:#3f6b39;border-radius:5px;padding:5px 8px}
.auth-panel h1{font-size:1.85rem;letter-spacing:-.7px;margin:19px 0 8px}.auth-panel #authIntro{margin:0 0 26px;font-size:.95rem;color:#687a70}
.auth-panel form{gap:7px;margin:0 0 14px}.auth-panel input:not([type=checkbox]){border:1px solid #cdd9d0;border-radius:9px;min-height:46px;background:#fcfdfb}.auth-panel input:not([type=checkbox]):focus{outline:2px solid #8cb58d;outline-offset:2px;background:#fff}
.auth-panel button{min-height:46px;border-radius:9px;transition:background .15s,box-shadow .15s}.auth-panel form>button{background:#1c5d3f;font-size:.95rem;box-shadow:0 3px 10px #164a2912}.auth-panel form>button:hover{background:#144b32}.auth-panel .show-password{font-weight:400;font-size:.8rem;color:#63786b;margin-top:1px;min-height:32px}
.auth-panel #authHelp{font-size:.78rem;line-height:1.65;color:#6b7c70;margin:18px 0 24px}.auth-panel #authHelp strong{color:#3e5848}.auth-panel .install-card{padding-top:22px;margin-top:18px}.auth-panel .install-card h2{font-size:1.05rem;font-weight:650}.auth-panel .install-heading p{font-size:.8rem}.auth-panel .install-card small{font-size:.74rem;line-height:1.6;color:#6d7c73}.auth-panel .install-card summary{font-size:.8rem}.auth-panel .auth-secondary{background:#f8faf6;border:1px solid #dce5d9;color:#295d3e}
.auth-page-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;color:#78877c;font-size:.72rem;text-align:center}
@media(prefers-reduced-motion:reduce){.auth-panel button{transition:none}}
@media(max-width:760px){body{display:block;padding:18px 14px;background:#f2f4ef}main{width:min(100%,480px);margin:auto;grid-template-columns:1fr;border-radius:18px}.auth-brand{padding:24px 26px;gap:22px}.auth-logo{width:142px;padding:9px 12px}.auth-brand-copy .auth-eyebrow{font-size:.62rem;margin-bottom:10px}.auth-brand-copy h2{font-size:1.75rem;margin-bottom:12px}.auth-brand-copy h2 br{display:none}.auth-brand-copy>p:not(.auth-eyebrow){font-size:.86rem}.auth-benefits,.auth-brand-footer{display:none}.auth-panel{padding:28px 26px}.auth-panel h1{font-size:1.6rem}.auth-page-footer{margin:20px auto 0;max-width:330px;font-size:.67rem}}
@media(max-width:480px){body{padding:12px;align-items:start;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}main{padding:16px;margin-top:12px}}
