/* Scoped, standalone login layout. No legacy Bootstrap dependency. */
:root{color-scheme:light;--ink:#263e34;--muted:#657369;--green:#365c47;--paper:#fafbf8;--border:#dce2d8;--accent:#b36448;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b88038;outline-offset:4px}input:focus{border-color:var(--green)}
.portal-entry{min-height:100svh;display:grid;grid-template-columns:54% 46%}.welcome{background:#f0f0e6;padding:clamp(28px,4vw,68px) clamp(28px,5.2vw,88px) 30px;display:flex;flex-direction:column;overflow:hidden;position:relative}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;width:fit-content}.brand img{border-radius:50%;width:64px;height:64px}.brand>span{font-size:23px;letter-spacing:-.6px;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:3.5px;font-weight:600;margin-top:5px;color:var(--muted)}.welcome-copy{margin-top:clamp(50px,8vh,110px);position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;display:flex;align-items:center;gap:10px}.little-star{font-size:25px;color:var(--accent)}h1{font-weight:500;font-size:clamp(35px,3.5vw,56px);letter-spacing:-2px;line-height:1.16;margin:25px 0 22px}h1 span{color:#6b7e63}.welcome-copy p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.garden{margin-top:auto;padding-top:30px}.garden svg{width:100%;max-height:290px;display:block}.welcome-footer{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;letter-spacing:.2px;color:#657363;padding-top:25px;white-space:nowrap}.welcome-footer i{width:3px;height:3px;border-radius:50%;background:#7a8d78}
.access{display:flex;flex-direction:column;padding:40px clamp(30px,5.2vw,90px) 24px;min-width:0}.access-inner{max-width:410px;width:100%;margin:auto; padding:45px 0}.portal-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:2px;margin-bottom:38px}.portal-label>span{width:7px;height:7px;border-radius:50%;background:#76946b}h2{font-size:34px;letter-spacing:-1.1px;font-weight:550;line-height:1.2;margin:0 0 14px}.intro{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 34px}label{display:block;font-size:12px;font-weight:600;margin:22px 0 10px}input:not([type=hidden]){display:block;width:100%;height:53px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);padding:0 15px;font-size:14px;transition:border-color .15s}input::placeholder{color:#8a948d;font-size:13px}.field-hint{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin:9px 0 0}.label-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.label-line label{margin:0 0 10px}.text-button{border:0;background:none;padding:8px 0;color:var(--green);font-size:12px;font-weight:600;text-underline-offset:4px}.text-button:hover{text-decoration:underline}.label-line .text-button{margin-top:-10px}.password-field{position:relative}.password-field input{padding-right:72px}.reveal{position:absolute;right:6px;top:5px;bottom:5px;padding:0 10px;border:0;background:transparent;color:var(--muted);font-size:11px;border-radius:5px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:53px;margin-top:26px;border:0;border-radius:9px;padding:13px 18px;background:var(--green);color:white;font-weight:600;font-size:14px;transition:background .15s,transform .15s}.primary:hover{background:#284834}.primary:active{transform:translateY(1px)}.primary span{font-size:21px;font-weight:400}.help-note{display:flex;gap:12px;border-top:1px solid var(--border);margin-top:35px;padding-top:25px}.help-icon{display:flex;align-items:center;justify-content:center;flex:0 0 23px;height:23px;border:1px solid #b8c5b8;border-radius:50%;font-size:12px;margin-top:2px}.help-note p{font-size:12px;line-height:1.8;margin:0}.help-note p span{font-size:11px;color:var(--muted)}.access-footer{text-align:center;color:var(--muted);font-size:10px;line-height:1.9}.access-footer span{display:block;font-size:10px;color:#78847c}.notice{padding:13px 15px;background:#eaf0e4;border:1px solid #c8d8bd;border-radius:9px;font-size:13px;line-height:1.6;margin-bottom:20px;overflow-wrap:anywhere}.notice.error{background:#fff0e9;border-color:#ebc8b6;color:#853d29}.back{margin:-12px 0 22px}.reset-help{margin-top:18px}.resend{display:block;margin:14px auto 0;min-height:44px}#reset-title:focus{outline:none}
@media(min-width:1500px){.welcome{padding-left:8vw;padding-right:7vw}.access{padding-left:7vw;padding-right:7vw}}
@media(max-width:1000px){.portal-entry{grid-template-columns:48% 52%}.welcome{padding:30px}.access{padding:30px}.brand>span{font-size:19px}.brand img{width:52px;height:52px}.welcome-footer{gap:7px;font-size:9px}h1{font-size:38px}.welcome-copy p{font-size:14px}}
@media(max-width:700px){.portal-entry{display:block}.welcome{padding:23px 24px 28px}.brand img{width:48px;height:48px}.brand>span{font-size:20px}.brand small{font-size:9px}.welcome-copy{margin-top:25px}.eyebrow{font-size:9px;letter-spacing:1.4px}.little-star{font-size:19px}h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:12px 0 0}h1 br{display:none}h1 span{display:block}.welcome-copy p,.garden,.welcome-footer{display:none}.access{padding:32px 24px 22px}.access-inner{padding:0;max-width:440px}.portal-label{font-size:9px;margin-bottom:22px}h2{font-size:29px}.intro{margin-bottom:25px}label{font-size:13px}input:not([type=hidden]){font-size:16px}.text-button{min-height:44px}.access-footer{margin-top:40px}.help-note{margin-top:28px}.back{margin-top:-8px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
