:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#213344;background:#f3f6f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:48px 24px}main{width:100%;max-width:960px;min-height:580px;display:grid;grid-template-columns:1.1fr .9fr;background:white;border:1px solid #e0e7e9;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #152e3b1c}.access{display:flex;align-items:center;padding:54px 48px}.card{width:100%}.welcome{display:block;color:#17644e;font-size:10px;font-weight:750;letter-spacing:2px;margin-bottom:10px}h2{font-size:29px;font-weight:650;letter-spacing:-.8px;margin:0 0 26px}#subtitle{color:#71828b;font-size:13px;line-height:1.6;margin:-12px 0 24px}#subtitle:empty{display:none}label{display:block;font-size:10px;letter-spacing:.9px;text-transform:uppercase;font-weight:600;margin:19px 0 8px}input{font:inherit;font-size:14px;width:100%;height:46px;border:1px solid #dbe2e6;border-radius:10px;background:#f8fafb;padding:0 14px;color:#213344}input::placeholder{color:#8b9aa5}input:focus{outline:3px solid #8bd3b740;border-color:#287857}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:7px;top:5px;background:transparent;border:0;color:#657a83;padding:10px;font-size:12px}.primary{width:100%;margin-top:24px;height:46px;background:#17644e;color:white;border:0;border-radius:10px;display:flex;justify-content:center;gap:14px;align-items:center;padding:0 16px;font-weight:600;font-size:13px;box-shadow:0 4px 12px #17644e15}button{cursor:pointer}button:hover{filter:brightness(.95)}button:focus-visible{outline:3px solid #8bd3b7;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.secondary{background:transparent;color:#42685c;border:0;padding:10px 0;margin-top:10px;font-size:12px}#feedback{font-size:13px;line-height:1.6;color:#a33038;margin:16px 0 0}#feedback:empty{display:none}.intro{background:#102c3d;color:#fff;display:flex;align-items:center;justify-content:center;padding:48px 30px;text-align:center}.identity{max-width:300px}.mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;background:#a9edcf;color:#123b38;border-radius:14px;font-size:28px;font-weight:650}.brand{font-size:14px;color:#b6cdd5;font-weight:550;margin:0 0 15px;letter-spacing:.3px}h1{font-size:27px;line-height:1.3;letter-spacing:-.6px;font-weight:600;margin:0}#enrolment{font-size:13px;line-height:1.6;text-align:center}#enrolment p{margin:12px 0;color:#657a83}.hint{font-size:11px}#setup-qr{display:block;max-width:100%;height:auto;margin:14px auto;background:#fff;image-rendering:pixelated}#code{font-size:22px;letter-spacing:8px}[hidden]{display:none!important}@media(max-width:700px){body{padding:24px 16px}main{grid-template-columns:1fr;max-width:450px;min-height:0;border-radius:18px}.intro{grid-row:1;padding:26px 24px}.mark{width:36px;height:36px;font-size:20px;margin-bottom:12px}.brand{font-size:12px;margin-bottom:7px}h1{font-size:22px}.access{padding:30px 26px}h2{font-size:25px}}

/* Subtle depth and product detail, in the existing palette. */
body{background:radial-gradient(ellipse at 18% 10%,#eaf2f180,transparent 50%),#f3f6f7}
main{box-shadow:0 28px 80px #152e3b18,0 2px 8px #152e3b04}
.access{position:relative}.access:before{content:"";position:absolute;left:48px;top:36px;width:28px;height:3px;border-radius:4px;background:#a9edcf}
.welcome{color:#276c59}h2{margin-bottom:23px}#subtitle{font-size:13px}
.intro{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 20%,#1c474b 0,transparent 70%),#102c3d}
.intro:before,.intro:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;border:1px solid #a9edcf12;border-radius:50%;pointer-events:none}
.intro:before{top:-180px;right:-135px;box-shadow:0 0 0 48px #a9edcf04,0 0 0 96px #a9edcf03}
.intro:after{bottom:-235px;left:-140px;box-shadow:0 0 0 55px #a9edcf04,0 0 0 110px #a9edcf03}
.identity{width:100%;max-width:300px}.mark{box-shadow:0 0 0 8px #a9edcf08;margin-bottom:27px;border:1px solid #c9f5e1}
h1{font-size:32px;line-height:1.18;letter-spacing:-.8px}.brand{font-size:13px;margin-bottom:13px;color:#c2d5dc}
.brand-description{font-size:13px;color:#aac5ce;line-height:1.6;margin:18px 0 0}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;padding-top:25px;border-top:1px solid #d8eee714}
.feature-strip>div{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;letter-spacing:.3px;color:#bbd0d7}
.feature-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#a9edcf0b;border:1px solid #a9edcf16;color:#a9edcf}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.access-note{display:flex;align-items:center;justify-content:center;gap:7px;color:#7d8c94;font-size:10px;margin-top:26px;padding-top:20px;border-top:1px solid #edf0f2}.access-note svg{width:15px;height:15px;color:#648d7e;flex-shrink:0}
.primary{transition:background .15s,box-shadow .15s}.primary:hover:not(:disabled){background:#205e4e;box-shadow:0 6px 18px #17644e22;filter:none}
@media(max-width:700px){.access:before{display:none}.intro{padding:30px 25px}.mark{margin-bottom:18px}h1{font-size:25px}.brand-description{margin-top:12px}.feature-strip{margin-top:20px;padding-top:18px;gap:15px}.feature-strip>div{gap:7px}.feature-icon{width:30px;height:30px}.access-note{margin-top:23px}}
@media(prefers-reduced-motion:reduce){.primary{transition:none}}

/* Reference palette: forest green, lime accents and cool neutral surfaces. */
:root{color:#142f34;background:#f5f7fa}
body{background:#f5f7fa}
main{border-color:#e0e4e9;box-shadow:0 26px 75px #192c3b20}
.intro{background:radial-gradient(ellipse at 60% 25%,#19453e 0,transparent 75%),linear-gradient(155deg,#143b37,#102525)}
.intro:before,.intro:after{border-color:#94b80714}
.intro:before{box-shadow:0 0 0 48px #94b80704,0 0 0 96px #94b80703}
.intro:after{box-shadow:0 0 0 55px #94b80704,0 0 0 110px #94b80703}
.mark{background:white;color:#527508;border-color:white;box-shadow:0 0 0 8px #ffffff05}
.brand{color:#d2e0dc}.brand-description,.feature-strip>div{color:#a5bbb5}
.welcome{color:#648400}.access:before{background:#94b807}
.primary{background:#94b807;color:#132b20;box-shadow:0 5px 15px #94b80725}
.primary:hover:not(:disabled){background:#85a707;box-shadow:0 6px 18px #94b80735}
input{background:#f8f9fb;border-color:#dfe4ea;color:#233449}
input:focus{border-color:#94b807;outline-color:#94b80725}
button:focus-visible{outline-color:#94b80780}
.feature-icon{background:#94b80713;border-color:#94b80710;color:#b2d329}
.feature-strip{border-top-color:#b5c9ba18}
.access-note svg{color:#71864c}.secondary{color:#536d21}
