:root{color-scheme:light;--sh-bg:#f8faf6;--sh-ink:#153c2f;--sh-green:#064b35;--sh-muted:#718179;--sh-line:#dce7dd;--sh-focus:#37755a}
*{box-sizing:border-box}
html,body{margin:0;min-width:280px}
body{background:var(--sh-bg);color:var(--sh-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
button,input{font:inherit}
button{cursor:pointer}
button,input,a{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--sh-focus);outline-offset:3px}
.sh-page{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 13% 18%,#eaf3e9 0,transparent 33%),linear-gradient(135deg,#fbfcf9,#f7faf5 58%,#f4f8f2)}
.sh-filter{position:absolute;pointer-events:none}
.sh-top{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;width:min(100%,1520px);margin:0 auto;padding:30px clamp(24px,5.1vw,82px) 0}
.sh-brand{display:flex;align-items:center;gap:12px;user-select:none}
.sh-brand-mark{position:relative;display:block;width:41px;height:31px;overflow:hidden}
.sh-brand-mark img{display:block;position:absolute;left:-14px;top:-17px;width:66px;height:66px;max-width:none;filter:url(#sh-brand-ink)}
.sh-brand-name{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:.3px;color:var(--sh-green)}
.sh-contact{position:relative}
.sh-contact-button{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;border:0;background:transparent;color:#526d5d;font-size:14px;border-radius:6px}
.sh-contact-button:hover{color:var(--sh-green)}
.sh-contact-button svg{transition:transform .2s ease}
.sh-contact-button[aria-expanded="true"] svg{transform:rotate(180deg)}
.sh-contact-panel{position:absolute;right:0;top:calc(100% + 10px);width:224px;padding:15px;background:#fff;border:1px solid var(--sh-line);border-radius:18px;box-shadow:0 18px 45px #123c2d24;text-align:center}
.sh-contact-panel[hidden]{display:none}
.sh-contact-panel img{display:block;width:100%;height:auto;border-radius:10px}
.sh-contact-panel p{margin:12px 0 4px;font-size:13px;color:#405d4b}
.sh-contact-panel a{display:inline-flex;align-items:center;min-height:36px;color:#466b56;text-underline-offset:3px;font-size:12px}
.sh-main{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,455px);align-items:center;gap:clamp(55px,8vw,142px);width:min(100%,1300px);margin:0 auto;flex:1;padding:clamp(54px,8vh,92px) clamp(30px,6vw,96px) 205px}
.sh-intro{align-self:center;padding:0 0 14px 2px}
.sh-eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 27px;color:#648b71;font-size:12px;font-weight:650;letter-spacing:2.8px}
.sh-eyebrow span{width:31px;height:1px;background:#79a483}
.sh-intro h1{margin:0;color:var(--sh-ink);font-size:clamp(48px,4.8vw,72px);font-weight:600;line-height:1.22;letter-spacing:2px}
.sh-intro h1 em{font-style:normal;color:#2c7651}
.sh-period{color:#9bc7a1}
.sh-intro-copy{margin:29px 0 0;color:#5d7666;font-size:17px;line-height:1.9;letter-spacing:.3px}
.sh-intro-line{display:flex;align-items:center;gap:10px;margin-top:37px}
.sh-intro-line span{width:57px;height:3px;border-radius:3px;background:#2c7651}
.sh-intro-line i{width:7px;height:7px;border-radius:50%;background:#9bc7a1}
.sh-login-card{width:100%;padding:39px 39px 34px;border:1px solid #e6eee4;border-radius:26px;background:#ffffffed;box-shadow:0 22px 80px #244b3312,0 4px 16px #244b3308;backdrop-filter:blur(8px)}
.sh-heading{margin-bottom:29px}
.sh-card-eyebrow{margin:0 0 8px!important;color:#74917a!important;font-size:12px!important;font-weight:650;letter-spacing:2px}
.sh-heading h2{margin:0;color:var(--sh-ink);font-size:31px;line-height:1.3;font-weight:650;letter-spacing:.2px}
.sh-heading>p:last-child{margin:9px 0 0;color:var(--sh-muted);font-size:14px}
.sh-form{margin:0}
.sh-field+.sh-field{margin-top:19px}
.sh-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:550;color:#315344}
.sh-field input{display:block;width:100%;height:54px;padding:0 17px;border:1px solid #dbe6da;border-radius:13px;background:#f8faf7;color:var(--sh-ink);font-size:15px;transition:border-color .16s,background .16s,box-shadow .16s}
.sh-field input::placeholder{color:#96a69b;opacity:1}
.sh-field input:focus{outline:none;border-color:#73a181;background:#fff;box-shadow:0 0 0 4px #659c711c}
.sh-field input:-webkit-autofill{-webkit-text-fill-color:var(--sh-ink);box-shadow:0 0 0 100px #f8faf7 inset}
.pwd-box{position:relative}
.pwd-box input{padding-right:57px}
.pwd-eye{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:none;color:#7d9484}
.pwd-eye:hover{background:#eaf2e9;color:var(--sh-green)}
.pwd-eye svg{display:block}
.sh-submit{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:56px;margin-top:26px;border:0;border-radius:14px;background:linear-gradient(100deg,#07573e,#06422f);color:#fff;font-size:16px;font-weight:600;letter-spacing:1px;box-shadow:0 9px 20px #0c503329;transition:transform .16s,box-shadow .16s,filter .16s}
.sh-submit svg{position:absolute;right:20px;top:18px}
.sh-submit:hover{filter:brightness(1.08);box-shadow:0 12px 25px #0c503333}
.sh-submit:active{transform:translateY(1px)}
.sh-register{display:flex;align-items:center;justify-content:center;gap:5px;margin:14px 0 0;color:var(--sh-muted);font-size:13px;min-height:42px}
.sh-register a{display:inline-flex;align-items:center;gap:2px;min-height:42px;color:var(--sh-green);font-weight:600;text-decoration:none}
.sh-register a:hover{text-decoration:underline;text-underline-offset:4px}
.sh-error{margin:0 0 20px;padding:12px 14px;border:1px solid #e2c7b9;border-radius:11px;background:#faf0e9;color:#8c4834;font-size:14px;overflow-wrap:anywhere}
.sh-footer{position:absolute;z-index:1;left:0;right:0;bottom:0;height:220px;pointer-events:none}
.sh-landscape{display:block;width:100%;height:100%}
.sh-footer-inner{position:absolute;bottom:18px;left:clamp(30px,6vw,96px);right:clamp(30px,6vw,96px);display:flex;align-items:center;justify-content:space-between;color:#f5faf4;font-size:12px;letter-spacing:.3px;pointer-events:auto}
.sh-footer-inner a{color:inherit;text-decoration:none}
.sh-footer-inner a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.sh-main{gap:50px;grid-template-columns:minmax(0,1fr) minmax(350px,430px)}.sh-intro h1{font-size:clamp(43px,5vw,58px)}.sh-login-card{padding:35px 32px 30px}}
@media(max-width:760px){.sh-top{padding:22px 24px 0}.sh-brand-name{font-size:20px}.sh-brand-mark{width:35px;height:28px}.sh-brand-mark img{width:59px;height:59px;left:-13px;top:-15px}.sh-main{display:block;width:min(100%,510px);padding:48px 24px 175px}.sh-intro{margin-bottom:31px;padding:0 3px}.sh-eyebrow{margin-bottom:14px;font-size:10px;letter-spacing:2px}.sh-intro h1{font-size:clamp(37px,8vw,48px);line-height:1.24}.sh-intro-copy{font-size:14px;margin-top:11px;line-height:1.6}.sh-intro-copy br{display:none}.sh-intro-line{display:none}.sh-login-card{padding:30px 25px 24px;border-radius:22px}.sh-footer{height:145px}.sh-footer-inner{left:24px;right:24px;bottom:13px;font-size:10px}}
@media(max-width:450px){.sh-contact-button{font-size:13px}.sh-main{padding-top:34px}.sh-intro{margin-bottom:23px}.sh-intro h1{font-size:36px;letter-spacing:1px}.sh-intro-copy{font-size:13px}.sh-login-card{padding:27px 22px 20px}.sh-heading{margin-bottom:24px}.sh-heading h2{font-size:28px}.sh-field input{font-size:16px}.sh-footer-inner{flex-direction:column;align-items:flex-start;gap:2px}.sh-footer{height:125px}}
@media(max-width:760px){
  .sh-top{padding-top:18px}
  .sh-main{display:flex;flex:1;flex-direction:column;justify-content:center;width:min(100%,510px);padding:18px 20px 22px}
  .sh-intro{margin:0 0 15px;padding:0 2px}
  .sh-eyebrow,.sh-intro-copy,.sh-intro-line{display:none}
  .sh-intro h1{font-size:16px;line-height:1.4;letter-spacing:.4px;font-weight:550}
  .sh-intro h1 br,.sh-period{display:none}
  .sh-intro h1 em::before{content:' · ';white-space:pre;color:#91ad97}
  .sh-login-card{padding:25px 24px 17px;border-radius:22px}
  .sh-heading{margin-bottom:18px}
  .sh-card-eyebrow{display:none}
  .sh-heading h2{font-size:27px}
  .sh-heading>p:last-child{margin-top:5px}
  .sh-field+.sh-field{margin-top:14px}
  .sh-field label{margin-bottom:6px}
  .sh-field input{height:52px;font-size:16px}
  .sh-submit{height:54px;margin-top:20px}
  .sh-submit svg{top:17px}
  .sh-register{margin-top:9px}
  .sh-footer{position:relative;flex:none;height:102px;margin-top:auto}
  .sh-footer-inner{left:20px;right:20px;bottom:8px}
}
@media(max-width:360px){
  .sh-top{padding-left:19px;padding-right:19px}
  .sh-main{padding-left:16px;padding-right:16px}
  .sh-login-card{padding-left:19px;padding-right:19px}
}
@media(min-width:761px){
  .sh-main{width:min(100%,1040px);grid-template-columns:minmax(0,1fr) minmax(380px,420px);gap:clamp(36px,5vw,64px);padding:clamp(48px,6vh,68px) clamp(30px,4vw,56px) 185px}
  .sh-intro{justify-self:center;width:max-content;max-width:100%;padding-bottom:0}
  .sh-eyebrow{margin-bottom:21px}
  .sh-intro h1{font-size:clamp(45px,4.1vw,58px);line-height:1.27}
  .sh-intro-copy{margin-top:22px;font-size:15px;line-height:1.8}
  .sh-intro-line{margin-top:28px}
  .sh-login-card{max-width:420px;justify-self:end;padding:32px 34px 26px}
  .sh-heading{margin-bottom:23px}
  .sh-field+.sh-field{margin-top:16px}
  .sh-field input{height:52px}
  .sh-submit{height:54px;margin-top:22px}
  .sh-submit svg{top:17px}
  .sh-register{margin-top:9px}
  .sh-footer{height:185px}
}
@media(max-height:760px) and (min-width:761px){.sh-main{padding-top:36px;padding-bottom:155px}.sh-login-card{padding-top:27px;padding-bottom:20px}.sh-heading{margin-bottom:18px}.sh-footer{height:165px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.sh-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sh-card-top .sh-card-eyebrow{display:block;margin:0!important}.sh-portal-link{display:inline-flex;gap:6px;align-items:center;min-height:36px;padding:6px 10px;background:#edf4eb;border:1px solid #dce8da;border-radius:9px;text-decoration:none;font-size:12px;font-weight:600;color:#23563f;white-space:nowrap}.sh-portal-link:hover{background:#dfeddd}.sh-remember{margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#6f8577}.sh-remember label{display:inline-flex;align-items:center;gap:7px;color:#315344;cursor:pointer;min-height:32px}.sh-remember input{width:16px;height:16px;accent-color:#07543d;margin:0}.sh-remember+.sh-submit{margin-top:12px}@media(max-width:400px){.sh-remember{flex-wrap:wrap}.sh-card-top{gap:6px}.sh-card-top .sh-card-eyebrow{font-size:11px!important;letter-spacing:1px}}
