:root{--green:#4d8626;--dark:#203324;--muted:#687168;--line:#dde3d8}
*{box-sizing:border-box}body{margin:0;color:#1f261f;font:16px/1.6 "Noto Sans KR","Malgun Gothic",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}[hidden]{display:none!important}
.auth-shell{display:grid;grid-template-columns:minmax(360px,42%) minmax(0,1fr);min-height:100dvh}.auth-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:42px clamp(32px,4.5vw,78px);background:linear-gradient(150deg,#243d2b,#355935);color:#fff}.auth-intro:after{content:"";position:absolute;right:-190px;bottom:15%;width:420px;height:420px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05;pointer-events:none}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;align-self:flex-start}.auth-brand svg{width:48px;height:48px;flex:none}.auth-brand strong,.auth-brand small{display:block;line-height:1.1}.auth-brand strong{font-size:24px;letter-spacing:-1px}.auth-brand small{margin-top:5px;font-size:11px;color:#dfecd8}.auth-intro-copy,.auth-intro-foot{position:relative;z-index:1}.auth-kicker{display:block;color:#a9ca86;font-size:11px;font-weight:800;letter-spacing:.16em}.auth-intro-copy h2{margin:24px 0;font-size:clamp(34px,3.6vw,60px);line-height:1.18;letter-spacing:-.055em;word-break:keep-all}.auth-intro-copy p{max-width:460px;color:#e1e9dd;line-height:1.9;word-break:keep-all}.auth-intro-foot{display:grid;max-width:460px}.auth-intro-foot span{padding:17px 0;border-top:1px solid #ffffff32;font-size:14px}.auth-main{display:grid;place-items:center;padding:56px clamp(24px,7vw,120px);background:#fff}.auth-card{width:min(100%,620px)}.auth-card>.auth-kicker{color:var(--green)}.auth-card h1{margin:12px 0 4px;font-size:clamp(35px,3.2vw,48px);line-height:1.2;letter-spacing:-.05em}.auth-desc{margin:0 0 36px;color:var(--muted);font-size:15px;word-break:keep-all}.auth-form{display:grid;gap:20px}.auth-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.auth-form label small{color:var(--muted);font-weight:400}.auth-form input{width:100%;height:54px;padding:0 16px;border:1px solid #d5ddd0;border-radius:7px;background:#fbfcfa;color:#1f261f;outline:0}.auth-form input::placeholder{color:#98a094}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #4d862622}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;margin-top:8px;padding:12px 20px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:#fff;font-weight:700;text-align:left;cursor:pointer}.auth-button:hover{background:#3d6f1c}.auth-button.secondary{background:#fff;color:var(--green)}.auth-button:focus-visible,.auth-switch a:focus-visible,.auth-home:focus-visible{outline:3px solid #86ad6a;outline-offset:3px}.auth-button span{font-size:24px;font-weight:400;line-height:1}.auth-switch{margin:22px 0 0;text-align:center;color:var(--muted);font-size:14px}.auth-switch a{margin-left:4px;color:var(--green);font-weight:800}.auth-home{display:inline-block;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);width:100%;color:var(--muted);font-size:14px}.account-message{min-height:24px;margin:0 0 14px;color:var(--green);font-weight:700}.account-message:empty{display:none}.account-message.error{color:#b02525}.account-panel h2{font-size:24px}.account-actions{display:flex;gap:12px}.account-actions .auth-button{width:auto}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:290px;gap:30px;padding:24px}.auth-intro-copy h2{margin:10px 0;font-size:34px}.auth-intro-copy p{margin:0}.auth-intro-foot{display:none}.auth-main{padding:44px 24px 72px}}@media(max-width:560px){.auth-intro{min-height:250px}.auth-brand strong{font-size:21px}.auth-brand svg{width:42px;height:42px}.auth-intro-copy h2{font-size:30px}.auth-intro-copy p{font-size:13px}.auth-main{padding:34px 20px 60px}.auth-row{grid-template-columns:1fr}.auth-desc{margin-bottom:26px}}
