:root{--ink:#102f29;--muted:#6b7f79;--brand:#0a6a5a;--brand2:#148a74;--mint:#e2f5ef;--line:#dce8e4;--bg:#f4f9f7;--danger:#a83f3f;--shadow:0 24px 70px rgba(9,73,61,.13)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,#dff4ed 0,transparent 28%),radial-gradient(circle at 88% 10%,#fff0c9 0,transparent 24%),var(--bg);font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;color:var(--ink)}
a{color:var(--brand);text-decoration:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:.88fr 1.12fr}
.auth-side{background:linear-gradient(145deg,#0c5f52,#0a372f);color:#fff;padding:52px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-side:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-280px;bottom:-150px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.brand{display:flex;align-items:center;gap:11px;color:#fff;position:relative;z-index:2}.brand svg{width:45px;height:45px}.brand strong{font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-size:21px;letter-spacing:-.5px}.brand span{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#a9d5ca;margin-top:1px}
.side-content{margin:auto 0;max-width:520px;position:relative;z-index:2}.side-content .eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#8fdac7;font-weight:800}.side-content h1{font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-size:48px;line-height:1.04;letter-spacing:-2px;margin:15px 0}.side-content p{color:#c1dcd5;line-height:1.7;font-size:14px}.side-points{display:grid;gap:12px;margin-top:27px}.side-point{display:flex;gap:10px;align-items:flex-start}.side-point i{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;flex:0 0 auto}.side-point b{font-size:11px;display:block}.side-point span{font-size:9px;color:#a8c8c0}.side-foot{font-size:9px;color:#88aea4;position:relative;z-index:2}
.auth-main{display:grid;place-items:center;padding:42px 24px}.auth-card{width:min(610px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow)}.auth-card.narrow{width:min(470px,100%)}.auth-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.auth-top h2{font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-size:29px;letter-spacing:-1px;margin:0 0 6px}.auth-top p{margin:0;color:var(--muted);font-size:11px}.home-link{font-size:10px;font-weight:700;color:#68817a}
.alert{border-radius:13px;padding:11px 13px;font-size:10px;margin-bottom:15px}.alert.error{background:#fff0f0;border:1px solid #f1caca;color:#8f3939}.alert.success{background:#e8f7f2;border:1px solid #bfe5d9;color:#176451}.alert.info{background:#eef7f5;border:1px solid #d0e8e2;color:#3e6860}.alert ul{margin:5px 0 0;padding-left:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:800;color:#657a74}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:12px 13px;outline:none;color:var(--ink);font-family:inherit}.field input:focus,.field select:focus{border-color:#78c9b5;box-shadow:0 0 0 3px rgba(10,106,90,.07)}.field small{font-size:9px;color:#879892}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.role-option input{position:absolute;opacity:0}.role-option span{display:block;border:1px solid var(--line);border-radius:13px;padding:12px 9px;cursor:pointer;text-align:center;font-size:10px;font-weight:700;color:#657a74}.role-option input:checked+span{border-color:#72c8b1;background:var(--mint);color:var(--brand)}
.password-wrap{position:relative}.password-wrap input{padding-right:62px}.toggle-pass{position:absolute;right:8px;top:8px;border:0;background:#edf5f2;color:#4e6d65;border-radius:8px;padding:5px 8px;font-size:9px;cursor:pointer}.terms{display:flex;gap:8px;align-items:flex-start;margin-top:4px;color:#6c817b;font-size:9px}.terms input{accent-color:var(--brand);margin-top:2px}.btn{width:100%;border:0;border-radius:12px;padding:13px 16px;font-weight:800;font-family:inherit;cursor:pointer}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 25px rgba(10,106,90,.18)}.btn-soft{background:var(--mint);color:var(--brand)}.auth-actions{display:grid;gap:9px;margin-top:18px}.divider{display:flex;align-items:center;gap:10px;color:#8a9b97;font-size:9px;margin:19px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-bottom{text-align:center;font-size:10px;color:#71867f;margin-top:18px}.security-note{display:flex;gap:9px;background:#f6faf9;border:1px solid var(--line);border-radius:13px;padding:11px;margin-top:15px}.security-note i{font-style:normal}.security-note b{font-size:9px;display:block}.security-note span{font-size:8px;color:#7d918b;display:block;margin-top:2px}.dynamic{display:none}.dynamic.show{display:flex}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-side{min-height:auto;padding:27px}.side-content{margin:45px 0}.side-content h1{font-size:39px}.side-foot{display:none}.auth-main{padding:25px 15px 40px}}
@media(max-width:560px){.auth-card{padding:23px;border-radius:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.role-grid{grid-template-columns:1fr}.side-content{display:none}.auth-side{padding:20px}.auth-top h2{font-size:25px}}

/* 2026-09 readability refinement */
body{font-size:15px}
.auth-top p{font-size:13px}
.home-link{font-size:12px}
.alert{font-size:12px;line-height:1.5}
.field label{font-size:11px}
.field small{font-size:10.5px}
.role-option span{font-size:12px}
.terms{font-size:11px;line-height:1.45}
.btn{font-size:14px}
.auth-bottom{font-size:12px}
.security-note b{font-size:11px}.security-note span{font-size:10.5px}
.side-content p{font-size:15px}
.side-point b{font-size:12.5px}.side-point span{font-size:10.5px}
.side-foot{font-size:10.5px}
