:root{--navy:#082b4f;--blue:#075fa8;--cyan:#00a6b7;--sky:#eef8fc;--ink:#102c3d;--muted:#587383;--line:#cfe2e9;--white:#fff}
*{box-sizing:border-box}
html{min-height:100%;background:#eef8fc}
body{min-height:100vh;margin:0;color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.member-page{display:grid;place-items:center;padding:40px;background:linear-gradient(130deg,#eff9fc 0%,#dff3f8 55%,#f7fcfe 100%)}
.auth-shell{width:min(1120px,100%);min-height:690px;display:grid;grid-template-columns:.86fr 1.14fr;background:#fff;box-shadow:0 28px 70px rgba(8,43,79,.16)}
.auth-brand{position:relative;padding:58px 54px;overflow:hidden;background:linear-gradient(145deg,#082b4f,#075f82);color:#fff}
.auth-brand:after{content:"";position:absolute;right:-90px;bottom:-90px;width:280px;height:280px;border:1px solid rgba(120,229,238,.28);border-radius:50%;box-shadow:0 0 0 55px rgba(120,229,238,.06)}
.member-logo{display:inline-block;width:155px;background:#fff;padding:7px 10px}
.member-logo img{width:100%;height:48px;object-fit:contain}
.member-eyebrow{margin:90px 0 14px;color:#78e5ee;font-size:.74rem;font-weight:850;letter-spacing:.15em}
.auth-brand h1{margin:0;font-size:clamp(3rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.055em}
.auth-brand>p:not(.member-eyebrow){max-width:380px;margin:28px 0 0;color:#c8e0e9}
.back-home{position:absolute;left:54px;bottom:48px;z-index:1;color:#fff;font-size:.82rem;font-weight:800}
.auth-card{display:flex;flex-direction:column;justify-content:center;padding:70px 86px}
.member-page--login{display:flex;align-items:center;justify-content:center}
.auth-shell--login{width:min(460px,calc(100% - 32px));min-height:0;display:block;grid-template-columns:none}
.auth-card--login{min-height:0;padding:54px 48px 58px}
.login-logo{width:126px;margin:0 auto 34px}
.login-logo img{width:100%;height:48px;object-fit:contain}
.auth-card--login h2{text-align:center;margin-bottom:32px}
.member-page--register{display:flex;align-items:center;justify-content:center}
.auth-shell--register{width:min(620px,calc(100% - 32px));min-height:0;display:block;grid-template-columns:none}
.auth-card--register{min-height:0;padding:54px 58px 58px}
.auth-card--register h2{text-align:center;margin-bottom:32px}
.auth-card .member-eyebrow{margin:0 0 12px;color:var(--cyan)}
.auth-card h2{margin:0;color:var(--navy);font-size:2.65rem;letter-spacing:-.04em}
.auth-description{margin:9px 0 30px;color:var(--muted)}
.member-form{display:grid;gap:18px}
.member-form--grid{grid-template-columns:1fr 1fr}
.member-form__full{grid-column:1/-1}
.member-form label{display:grid;gap:7px;color:var(--navy);font-size:.82rem;font-weight:800}
.member-form input{width:100%;height:50px;padding:0 14px;border:1px solid #b9d1dc;background:#fff;outline:none}
.member-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,166,183,.12)}
.member-form button,.member-primary-link{min-height:52px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--blue);color:#fff;font-weight:850;cursor:pointer}
.member-form button:disabled{cursor:not-allowed;opacity:.5}
.auth-note{margin:24px 0 0;color:#718b99;font-size:.76rem}
.alert{margin:0 0 15px;padding:13px 15px;font-size:.82rem}
.alert--error{border-left:3px solid #d94b4b;background:#fff2f2;color:#8f2929}
.alert--success{border-left:3px solid #00a67d;background:#eefbf7;color:#176b57}
.member-primary-link{margin-top:2px;padding:0 24px}
.member-widget-page{min-height:100vh;padding:24px;background:#fff}
.member-widget{width:100%}
.member-widget h1{margin:0 0 18px;color:var(--navy);font-size:1.35rem;letter-spacing:-.03em}
.member-widget .member-form{gap:12px}
.member-widget .member-form input{height:42px}
.member-widget .member-form button{min-height:44px}
.member-widget .alert{margin-bottom:12px;padding:10px 12px;font-size:.76rem}
.member-widget__link{min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-size:.85rem;font-weight:850}
.member-dashboard-page{min-height:100vh;background:#f5fafc}
.member-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}
.member-header__actions{display:flex;align-items:center;gap:22px;color:var(--navy);font-size:.84rem;font-weight:800}
.member-header__actions form{margin:0}
.member-header__actions button{padding:9px 15px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.member-dashboard{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:78px 0 100px}
.member-welcome{padding:52px 56px;background:linear-gradient(120deg,#082b4f,#075f82);color:#fff}
.member-welcome .member-eyebrow{margin:0 0 12px}
.member-welcome h1{margin:0;font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.1;letter-spacing:-.05em}
.member-welcome>p:last-child{margin:18px 0 0;color:#c8e0e9}
.member-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.member-menu-card{min-height:270px;padding:34px;background:#fff;border:1px solid var(--line)}
.member-menu-card>span{color:var(--cyan);font-size:.74rem;font-weight:850;letter-spacing:.12em}
.member-menu-card h2{margin:13px 0 10px;color:var(--navy);font-size:1.45rem}
.member-menu-card p{margin:0 0 28px;color:var(--muted);font-size:.88rem}
.member-menu-card>strong{display:inline-block;color:var(--blue);font-size:.78rem}
.member-menu-card dl{margin:20px 0 0;border-top:1px solid var(--line)}
.member-menu-card dl>div{padding:12px 0;border-bottom:1px solid var(--line)}
.member-menu-card dt{color:var(--muted);font-size:.72rem}
.member-menu-card dd{margin:3px 0 0;word-break:break-all;color:var(--navy);font-size:.86rem;font-weight:800}
.member-home-link{display:inline-block;margin-top:34px;color:var(--blue);font-size:.86rem;font-weight:850}
@media(max-width:900px){.member-page{padding:0}.member-page--login,.member-page--register{padding:24px}.auth-shell{min-height:100vh;grid-template-columns:1fr}.auth-shell--login,.auth-shell--register{width:min(620px,100%);min-height:0;display:block}.auth-shell--login{width:min(460px,100%)}.auth-brand{padding:38px 30px 110px}.member-eyebrow{margin-top:52px}.back-home{left:30px;bottom:34px}.auth-card{padding:58px 30px}.auth-card--login,.auth-card--register{width:100%;min-height:0;padding:48px 30px 52px}.member-menu-grid{grid-template-columns:1fr}.member-header{padding:0 22px}.member-dashboard{width:min(100% - 32px,1180px);padding-top:48px}.member-welcome{padding:38px 30px}}
@media(max-width:580px){.member-form--grid{grid-template-columns:1fr}.member-form__full{grid-column:auto}.member-header__actions>span{display:none}.auth-brand h1{font-size:3rem}.auth-card h2{font-size:2.25rem}}
