@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#202221;font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:Noto Sans KR,DM Sans,sans-serif}*{box-sizing:border-box}body{background:#fff;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.page-shell{background:#fff;grid-template-columns:minmax(420px,1fr) minmax(520px,1.03fr);min-height:100svh;display:grid;overflow-x:hidden}.visual-panel{background:#ece2d3;min-height:100svh;position:relative;overflow:hidden}.visual-panel img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.visual-shade{pointer-events:none;background:linear-gradient(90deg,#ffffff05,#0000 58%,#ffffff0d);position:absolute;inset:0}.form-panel{background:#fff;min-width:0;min-height:100svh;position:relative}.form-content{flex-direction:column;width:calc(100% - 96px);min-width:0;max-width:560px;min-height:100svh;margin:0 auto;padding:42px 0 40px;display:flex}.brand-header{justify-content:flex-end;display:flex}.brand{color:#202221;letter-spacing:-.055em;font-family:DM Sans,sans-serif;font-size:25px;font-weight:700;text-decoration:none}.form-copy{margin-top:clamp(116px,18vh,206px)}.form-eyebrow{color:#a7aaa5;letter-spacing:.18em;margin:0 0 17px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700}h1{letter-spacing:-.075em;margin:0;font-size:clamp(34px,3.15vw,48px);font-weight:700;line-height:1.22}.subtitle{color:#888d87;letter-spacing:-.055em;margin:18px 0 0;font-size:17px}.login-form{margin-top:54px}.login-form label{letter-spacing:-.055em;margin-bottom:11px;font-size:15px;font-weight:600;display:block}.login-form input{color:#202221;letter-spacing:-.03em;background:#fff;border:1px solid #cfd2cf;border-radius:13px;outline:none;width:100%;height:58px;padding:0 19px;font-size:15px;transition:border-color .2s,box-shadow .2s}.login-form input::placeholder{color:#a4a8a4}.login-form input:focus{border-color:#8a9270;box-shadow:0 0 0 4px #8a92701f}.password-wrap{margin-bottom:32px;position:relative}.password-wrap input{padding-right:57px}.icon-button{color:#777d77;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.icon-button:hover{color:#202221;background:#f3f4f1}.submit-button{color:#fff;letter-spacing:-.04em;background:#c9785a;border:0;border-radius:13px;justify-content:center;align-items:center;gap:11px;width:100%;height:58px;font-size:16px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.submit-button:hover{background:#b9674c;transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.form-links{justify-content:space-between;margin-top:26px;display:flex}.form-links button{color:#888d87;letter-spacing:-.05em;background:0 0;border:0;border-bottom:1px solid #b8bcb7;padding:0;font-size:14px}.form-links button:hover{color:#202221;border-color:#202221}.status-message{color:#7e8760;opacity:0;letter-spacing:-.04em;align-items:center;gap:7px;min-height:24px;margin-top:22px;font-size:13px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(3px)}.status-message.is-visible{opacity:1;transform:translateY(0)}.version{color:#a3a7a2;letter-spacing:.02em;margin-top:auto;font-family:DM Sans,sans-serif;font-size:13px}.home-shell{color:#202221;background:#fbfaf8;min-height:100svh;padding:38px clamp(24px,6vw,96px) 30px}.home-header{justify-content:space-between;align-items:center;max-width:1248px;margin:0 auto;display:flex}.home-nav{align-items:center;gap:28px;display:flex}.home-nav a,.home-nav button{color:#8d928c;letter-spacing:-.04em;background:0 0;border:0;padding:0;font-size:14px;text-decoration:none}.home-nav a:hover,.home-nav button:hover,.home-nav .home-nav-active{color:#202221}.logout-button{align-items:center;gap:7px;display:inline-flex}.home-main{max-width:1248px;margin:0 auto;padding:clamp(86px,14vh,150px) 0 80px}.home-intro{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.home-intro h1{max-width:700px;font-size:clamp(35px,4.4vw,60px)}.home-primary{color:#fff;letter-spacing:-.04em;background:#c9785a;border:0;border-radius:12px;justify-content:center;align-items:center;gap:11px;min-width:172px;height:55px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.home-primary:hover{background:#b9674c}.home-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-top:72px;display:grid}.focus-card,.reservation-card{background:#fff;border:1px solid #e2e0db;border-radius:16px;min-height:250px;padding:30px}.card-heading{color:#7e847d;letter-spacing:-.04em;justify-content:space-between;align-items:center;font-size:14px;display:flex}.card-heading svg{color:#8a9270}.focus-card strong{color:#202221;letter-spacing:-.07em;margin-top:42px;font-family:DM Sans,sans-serif;font-size:clamp(44px,5vw,68px);font-weight:500;display:block}.focus-card strong span{color:#9da39a;letter-spacing:-.04em;margin:0 10px 0 4px;font-family:Noto Sans KR,sans-serif;font-size:16px}.progress-track{background:#ecebe7;border-radius:20px;height:8px;margin-top:22px;overflow:hidden}.progress-value{border-radius:inherit;background:#8a9270;width:58%;height:100%}.focus-card p{color:#969b95;letter-spacing:-.04em;margin:16px 0 0;font-size:13px}.reservation-date{letter-spacing:-.05em;margin-top:46px;font-size:16px}.reservation-date b{letter-spacing:-.06em;margin-top:8px;font-size:25px;font-weight:600;display:block}.location-line{color:#8b918a;letter-spacing:-.04em;align-items:center;gap:6px;margin-top:18px;font-size:14px;display:flex}.location-line svg{color:#c9785a}.reservation-card button{color:#7c837a;background:0 0;border:0;border-bottom:1px solid #bdc1bb;align-items:center;gap:5px;margin-top:25px;padding:0;font-size:13px;display:inline-flex}.home-notice{color:#7e8760;opacity:0;align-items:center;gap:7px;min-height:24px;margin-top:24px;font-size:13px;transition:opacity .2s;display:flex}.home-notice.is-visible{opacity:1}.home-footer{color:#a3a7a2;justify-content:space-between;max-width:1248px;margin:0 auto;font-family:DM Sans,sans-serif;font-size:13px;display:flex}.reservation-shell{color:#202221;background:#fbfaf8;min-height:100svh;padding:38px clamp(24px,6vw,96px) 30px}.reservation-header{justify-content:space-between;align-items:center;max-width:920px;margin:0 auto;display:flex}.back-link{color:#858b84;letter-spacing:-.04em;align-items:center;gap:7px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{color:#202221}.reservation-main{max-width:920px;margin:0 auto;padding:clamp(82px,13vh,138px) 0 70px}.reservation-intro h1{font-size:clamp(35px,4vw,54px)}.reservation-form{background:#fff;border:1px solid #e2e0db;border-radius:16px;margin-top:54px;padding:34px}.reservation-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.reservation-form label{color:#333633;letter-spacing:-.04em;font-size:14px;font-weight:600;display:block}.reservation-form label>svg{float:right;color:#8a9270}.reservation-form select{color:#202221;background:#fff;border:1px solid #cfd2cf;border-radius:12px;outline:none;width:100%;height:56px;margin-top:11px;padding:0 16px;font-size:15px}.reservation-form select:focus{border-color:#8a9270;box-shadow:0 0 0 4px #8a92701f}.seat-label{margin-top:30px}.seat-options{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px;display:grid}.seat-option{color:#858b84;letter-spacing:-.04em;background:#fff;border:1px solid #d8dad6;border-radius:11px;height:51px;font-size:14px}.seat-option:hover,.seat-option.is-selected{color:#536044;background:#f3f5ed;border-color:#8a9270}.reservation-summary{color:#8b918a;letter-spacing:-.04em;border-top:1px solid #ecebe7;border-bottom:1px solid #ecebe7;justify-content:space-between;align-items:center;margin-top:32px;padding:18px 0;font-size:14px;display:flex}.reservation-summary strong{color:#202221;text-align:right;letter-spacing:-.05em;font-size:15px;font-weight:600;line-height:1.65}.reservation-submit{width:100%;margin-top:25px;text-decoration:none;display:flex}@media (width<=900px){.page-shell{grid-template-columns:1fr}.visual-panel{min-height:270px;max-height:35svh}.form-panel,.form-content{min-height:auto}.form-content{width:calc(100% - 48px);max-width:560px;padding:29px 0 28px}.brand-header{justify-content:flex-start}.brand{font-size:22px}.form-copy{margin-top:68px}h1{font-size:clamp(30px,8vw,42px)}.login-form{margin-top:40px}.version{margin-top:62px}.home-shell{padding:28px 24px}.home-header{align-items:flex-start}.home-nav{gap:16px}.home-nav a,.home-nav button{font-size:13px}.home-main{padding:90px 0 60px}.home-intro{display:block}.home-primary{margin-top:30px}.home-grid{grid-template-columns:1fr;margin-top:48px}.reservation-shell{padding:28px 24px}.reservation-main{padding:90px 0 60px}.reservation-form{padding:26px}}@media (width<=520px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.page-shell,.visual-panel,.form-panel{width:100%;max-width:100%}.visual-panel{min-height:218px;max-height:30svh}.form-content{width:calc(100vw - 36px);max-width:calc(100vw - 36px);padding-top:23px}.form-copy{margin-top:54px}.form-eyebrow{margin-bottom:13px;font-size:10px}.subtitle{margin-top:13px;font-size:15px}.login-form{margin-top:33px}.login-form input,.submit-button{height:55px}.password-wrap{margin-bottom:24px}.home-shell{padding:23px 18px}.home-header{display:block}.home-nav{justify-content:space-between;margin-top:25px}.home-nav a,.home-nav button{font-size:12px}.home-main{padding-top:72px}.home-intro h1{font-size:33px}.home-grid{margin-top:42px}.focus-card,.reservation-card{min-height:220px;padding:24px}.reservation-shell{padding:23px 18px}.reservation-header .brand{font-size:22px}.reservation-main{padding-top:72px}.reservation-form{margin-top:36px;padding:20px}.reservation-form-grid{grid-template-columns:1fr;gap:22px}.seat-options{grid-template-columns:1fr}.reservation-summary{align-items:flex-start;gap:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
