:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#263e30;background:#f7f7f0;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #72947d;outline-offset:4px}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr)}.brand-panel{display:flex;flex-direction:column;background:#e7eddf;padding:52px clamp(32px,5.4vw,94px);position:relative;overflow:hidden}.brand{display:inline-flex;align-items:center;gap:12px;align-self:flex-start}.brand-icon{display:flex;align-items:center;justify-content:center;background:#315c43;width:44px;height:46px;border-radius:12px;color:#fff;font-family:Georgia,serif;font-size:36px;font-style:italic;line-height:1}.brand-icon>span{color:#c8d7b8;font-style:normal;font-size:30px}.brand b{font-size:32px;letter-spacing:-1.6px;color:#315c43;font-weight:650}.brand b>span,.mobile-brand>span{color:#a2b68c}.brand small{display:block;font-size:11px;letter-spacing:1.5px;margin-top:2px;color:#5d755a}.brand-copy{margin:auto 0;padding:72px 0 85px}.eyebrow,.form-eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:#607b55}.brand-copy h1{font-size:clamp(32px,3.4vw,52px);line-height:1.52;letter-spacing:1.5px;font-weight:550;margin:26px 0 23px;color:#31523b}.brand-copy p{font-size:14px;line-height:2.1;color:#61725d;margin:0}.feature-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.feature-list>span{border:1px solid #bccab1;border-radius:50px;padding:7px 12px;font-size:11px;letter-spacing:.5px;color:#5d7355}.brand-footer{display:flex;align-items:center;gap:15px;color:#718361;font-size:9px;letter-spacing:1.9px;line-height:1.9}.flower{font-size:46px;line-height:1;color:#8da17a}.form-panel{background:#fdfdf9;display:flex;align-items:center;justify-content:center;padding:64px 48px}.form-container{width:100%;max-width:386px}.form-eyebrow{font-size:9px;color:#718563;letter-spacing:2px}.form-container h2{font-size:28px;font-weight:600;letter-spacing:.3px;margin:17px 0 12px;line-height:1.4}.form-intro{font-size:13px;color:#71816a;line-height:1.9;margin:0 0 34px}form fieldset{border:0;margin:0;padding:0;min-width:0}form label{display:block;font-size:12px;font-weight:550;margin:23px 0 9px;color:#40583f}form input:not([type=hidden]){display:block;width:100%;min-height:50px;padding:12px 14px;background:#fff;border:1px solid #ccd7c3;border-radius:9px;font-size:16px;color:#263e30;line-height:1.5;transition:border-color .15s,box-shadow .15s}form input:not([type=hidden]):focus{border-color:#72947d;box-shadow:0 0 0 3px #e8efe1}form input::placeholder{color:#91a089;font-size:13px}form input[readonly]{background:#f0f3eb;color:#54674d}form input[aria-invalid=true]{border-color:#b16a5b}.field-hint{font-size:11px;line-height:1.9;color:#74816b;margin:8px 0 0}.submit-button{width:100%;display:flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 18px;background:#315c43;border:1px solid #315c43;border-radius:9px;color:#fff;cursor:pointer;margin-top:28px;font-size:14px;font-weight:550;transition:background .15s}.submit-button:hover{background:#254b35}.submit-button>span{font-size:20px;line-height:1}fieldset:disabled .submit-button{opacity:.45;cursor:not-allowed}.login-help{margin:24px 0 0;font-size:11px;line-height:1.9;color:#7b8872}.login-help p{margin:4px 0}.form-footer{border-top:1px solid #e7ecdf;margin-top:40px;padding-top:22px;display:flex;align-items:center;gap:7px;font-size:10px;color:#849178;letter-spacing:.4px}.secure-dot{width:5px;height:5px;border-radius:50%;background:#7a9c6a}.message{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;margin:0 0 20px;border-radius:9px;font-size:12px;line-height:1.85}.message p{margin:0;overflow-wrap:anywhere}.message.error{border:1px solid #e5c2b8;background:#fbefea;color:#8d4536}.message.error>span{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#bc7561;color:white;border-radius:50%;font-size:12px;font-weight:700;margin-top:2px}.message.notice{background:#edf3e7;border:1px solid #cbd9bf;color:#4b6942}.setup-note{background:#f1f4eb;border:1px solid #e0e8d6;border-radius:9px;padding:14px 16px;margin-bottom:26px}.setup-note b{font-size:12px;color:#4d6646}.setup-note p{font-size:11px;line-height:1.9;color:#76846c;margin:6px 0 0}.back-link{display:inline-block;min-height:44px;padding-top:15px;font-size:12px;color:#456a44}.back-link:hover{text-decoration:underline}.mobile-brand{display:none}
@media(min-width:1500px){.form-panel{padding:80px}.form-container{max-width:400px}.brand-copy{padding-top:110px;padding-bottom:130px}}
@media(max-width:900px){.auth-shell{grid-template-columns:42% 58%}.brand-panel{padding:34px 30px}.brand-copy h1{font-size:30px;letter-spacing:.5px}.brand-copy p{font-size:12px}.form-panel{padding:50px 36px}.brand-copy{padding-top:60px;padding-bottom:70px}.feature-list>span{font-size:10px;padding:6px 10px}.feature-list{gap:7px}.form-container h2{font-size:25px}}
@media(max-width:680px){.auth-shell{display:block;background:#fdfdf9}.brand-panel{display:none}.form-panel{min-height:100dvh;padding:38px max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom));align-items:flex-start}.form-container{max-width:420px}.mobile-brand{display:block;font-size:30px;letter-spacing:-1.5px;font-weight:650;color:#315c43;margin-bottom:53px}.mobile-brand small{display:inline-block;font-size:10px;letter-spacing:.6px;margin-left:12px;color:#7d8c71;font-weight:400}.form-container h2{font-size:27px;margin-top:15px}.form-intro{margin-bottom:30px;font-size:13px}.form-eyebrow{font-size:9px}.form-footer{margin-top:35px}.submit-button{min-height:54px}form input:not([type=hidden]){min-height:52px}.login-help{font-size:12px}.field-hint{font-size:12px}.message{font-size:13px}.setup-note p{font-size:12px}.form-panel:has(.setup-note) .mobile-brand{margin-bottom:34px}}
@media(max-height:740px) and (max-width:680px){.form-panel{padding-top:26px}.mobile-brand{margin-bottom:32px}.form-intro{margin-bottom:24px}.form-footer{margin-top:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
