:root{--forest:#1f2c25;--paper:#f4f2eb;--ink:#20251f;--muted:#747a70;--green:#415b49;--line:#dddcd4;--danger:#9d443f}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)}.welcome{position:relative;overflow:hidden;padding:48px 56px;color:#f6f5ef;background:linear-gradient(145deg,rgba(29,42,34,.98),rgba(48,69,56,.94)),url('/assets/小区效果图.png') center/cover}.welcome:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(182,205,186,.18),transparent 34%),linear-gradient(180deg,transparent 60%,rgba(10,18,13,.2))}.welcome:after{content:"江山印";position:absolute;right:-30px;bottom:-45px;font-family:Georgia,"Songti SC",serif;font-size:150px;letter-spacing:.08em;color:rgba(255,255,255,.035);white-space:nowrap}.brand,.mobile-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(255,255,255,.08);font-family:Georgia,"Songti SC",serif;font-size:23px}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.05em}.brand small{margin-top:4px;color:#b9c5bc;font-size:11px;letter-spacing:.16em}.welcome-copy{position:relative;z-index:1;max-width:600px;margin-top:clamp(130px,24vh,250px)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:#82988a}.welcome .eyebrow{color:#9cb4a2}.welcome h1{margin:20px 0;font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,4.1vw,64px);font-weight:500;line-height:1.28;letter-spacing:.02em}.welcome-copy p{max-width:520px;margin:0;color:#c1cbc3;font-size:15px;line-height:1.9}.feature-row{position:absolute;z-index:1;left:56px;bottom:46px;display:flex;gap:28px;color:#aebbb1;font-size:12px}.feature-row span:before{content:"";display:inline-block;width:5px;height:5px;margin:0 9px 2px 0;border-radius:50%;background:#84a08c}.login-panel{display:grid;place-items:center;padding:48px;background:radial-gradient(circle at 95% 5%,#e4e9e2,transparent 30%),var(--paper)}.login-card{width:min(420px,100%)}.mobile-brand{display:none}.login-card h2{margin:13px 0 6px;font-family:Georgia,"Songti SC",serif;font-size:36px;font-weight:600}.intro{margin:0 0 34px;color:var(--muted);font-size:14px}.login-card form{display:grid;gap:20px}.login-card label>span{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:#50584f}.login-card input{width:100%;height:52px;padding:0 15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.78);font:inherit;outline:none;transition:.18s}.login-card input:focus{border-color:#738b79;box-shadow:0 0 0 4px rgba(65,91,73,.09);background:#fff}.password-field{position:relative}.password-field input{padding-right:62px}.password-field button{position:absolute;right:8px;top:8px;height:36px;border:0;border-radius:9px;background:transparent;color:#607067;font-size:12px;cursor:pointer}.password-field button:hover{background:#edf0eb}.submit{height:52px;margin-top:4px;padding:0 18px;border:0;border-radius:13px;background:var(--green);color:white;font:inherit;font-weight:750;box-shadow:0 12px 26px rgba(50,75,59,.2);cursor:pointer;transition:.18s}.submit:hover{transform:translateY(-1px);background:#344d3d}.submit span{float:right;font-size:18px}.security{margin-top:24px;color:#858a82;text-align:center;font-size:11px}.security i{display:inline-block;width:6px;height:6px;margin:0 5px 1px 0;border-radius:50%;background:#6d9776;box-shadow:0 0 0 4px rgba(109,151,118,.12)}.message{margin:0 0 20px;padding:12px 14px;border-radius:11px;font-size:13px}.message.error{color:var(--danger);background:#f6e8e6}.message.success{color:#3d6b49;background:#e6efe7}@media(max-width:820px){.login-shell{display:block}.welcome{display:none}.login-panel{min-height:100vh;padding:28px 22px}.mobile-brand{display:flex;margin-bottom:70px}.mobile-brand .brand-mark{width:40px;height:40px;color:white;background:var(--forest);border-color:var(--forest);font-size:20px}.mobile-brand strong{font-size:15px}.login-card h2{font-size:32px}}@media(max-width:420px){.login-panel{place-items:start center;padding-top:28px}.mobile-brand{margin-bottom:56px}.login-card input,.submit{height:50px}}
