*{box-sizing:border-box} :root{--deep:#0e3d3a;--green:#0f5e55;--mint:#dff0e9;--lime:#8cc63f;--ink:#18231f;--muted:#6e7b76;--bg:#f4f6f3;--card:#fff;--line:#e3e8e4;--busy:#edf0ee;--danger:#a7333f;--shadow:0 16px 45px rgba(16,55,48,.09)}
html{background:var(--bg)} body{margin:0;color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg)} button,input,select{font:inherit} button{cursor:pointer}.hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#103f3b 0%,#0f5e55 55%,#317d68 100%);color:#fff}.hero:after{content:"";position:absolute;inset:auto -12% -130px auto;width:460px;height:460px;border:80px solid rgba(255,255,255,.05);border-radius:50%}.hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 36px));margin:auto;padding:28px 0 48px}.brandline{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:14px;background:#fff;color:var(--green);display:grid;place-items:center;font-weight:900;font-size:21px}.brand-kicker{font-size:10px;letter-spacing:.16em;margin:0 0 2px;opacity:.7}.brandline h1{font-size:17px;margin:0}.hero-copy{margin-top:48px}.eyebrow{margin:0 0 8px;font-size:13px;font-weight:800;color:#cceadf}.hero-copy h2{margin:0;font-size:clamp(38px,6vw,62px);letter-spacing:-.045em}.hero-copy p:last-child{margin:10px 0 0;color:#d7e8e3}.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.hero-pills span{padding:8px 12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:999px;font-size:12px}.hero-skyline{position:absolute;right:5%;bottom:-18px;height:190px;width:430px;opacity:.14;display:flex;align-items:end;gap:8px;transform:skewY(-1deg)}.hero-skyline i{display:block;width:52px;background:#fff;border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.hero-skyline i:nth-child(1){height:90px}.hero-skyline i:nth-child(2){height:150px}.hero-skyline i:nth-child(3){height:120px}.hero-skyline i:nth-child(4){height:180px}.hero-skyline i:nth-child(5){height:138px}.hero-skyline i:nth-child(6){height:164px}.hero-skyline i:nth-child(7){height:104px}.shell{width:min(1180px,calc(100% - 36px));margin:22px auto 70px}.notice{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:16px}.notice-icon{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-weight:900}.notice p{margin:3px 0 0;color:var(--muted);font-size:13px}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.booking-card,.form-card,.my-card{padding:24px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-head.compact{margin-bottom:15px}.section-head>div:first-child{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.section-head h3{font-size:19px;margin:0;letter-spacing:-.02em}.step{font-weight:900;color:var(--green);font-size:12px;letter-spacing:.08em}.hint{width:100%;margin:1px 0 0 31px;color:var(--muted);font-size:12px}.section-head input[type=date]{width:auto;min-width:158px}.divider{height:1px;background:var(--line);margin:24px 0}.quick-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px}.quick-date,.table-tab,.slot{border:1px solid var(--line);background:#fff;border-radius:14px}.quick-date{padding:12px 6px;text-align:center}.quick-date b{display:block;font-size:14px}.quick-date small{font-size:11px;color:var(--muted)}.quick-date.active,.table-tab.active{border-color:var(--green);background:var(--mint);color:var(--green)}.quick-date.active small{color:var(--green)}.table-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.table-tab{padding:15px;font-weight:800}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slot{padding:13px 8px;min-height:60px;font-weight:800}.slot small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px}.slot.busy{background:var(--busy);color:#a5afa9;cursor:not-allowed;text-decoration:line-through}.slot.selected{background:var(--green);border-color:var(--green);color:#fff}.slot.selected small{color:#dbece7}.legend{display:flex;gap:9px;font-size:11px;color:var(--muted);white-space:nowrap}.legend span{display:flex;align-items:center;gap:4px}.lg{width:9px;height:9px;border-radius:50%;border:1px solid var(--line)}.lg.free{background:#fff}.lg.busy{background:var(--busy)}.lg.chosen{background:var(--green);border-color:var(--green)}label{display:grid;gap:6px;font-size:13px;font-weight:800;margin-bottom:13px}input,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,94,85,.10)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.agree{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500;color:var(--muted);font-size:12px}.agree input{width:17px;height:17px;margin-top:0}.selection-summary{background:linear-gradient(135deg,#eff8f4,#f8fbf9);border:1px solid #dcebe5;border-radius:15px;padding:14px;margin:2px 0 18px;color:#48625a;font-size:13px}.selection-summary strong{display:block;color:var(--green);font-size:15px;margin-bottom:3px}.primary,.secondary,.danger{border:0;border-radius:12px;padding:12px 15px;font-weight:900}.primary{width:100%;background:var(--green);color:#fff}.primary:hover{background:#0c5049}.secondary{background:#edf3f0;color:var(--deep)}.danger{background:#fff0f1;color:var(--danger)}.message{margin-top:12px;padding:12px;border-radius:12px;font-size:13px;font-weight:700}.message.ok{background:#edf8f1;color:#28653f}.message.err{background:#fff0f1;color:var(--danger)}.hidden{display:none!important}.my-card{margin-top:16px}.my-list{margin-top:12px}.my-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.my-item:first-child{border-top:0}.my-item strong{display:block;margin-bottom:4px}.my-meta{font-size:12px;color:var(--muted)}.empty{padding:22px 0;text-align:center;color:var(--muted);font-size:13px}.cancel-box{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:20px 22px;background:#e9efec;border-radius:18px}.cancel-box p{margin:4px 0 0;color:var(--muted);font-size:12px}.cancel-form{display:grid;grid-template-columns:120px 150px auto;gap:8px}.cancel-form input{background:#fff}footer{width:min(1180px,calc(100% - 36px));margin:0 auto 35px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}footer strong{color:var(--ink)}footer a{margin-left:auto;color:var(--green);text-decoration:none}dialog{padding:0;border:0;border-radius:22px;width:min(440px,calc(100% - 28px));box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(4,24,21,.55)}.dialog-body{padding:28px;text-align:center}.success-mark{width:52px;height:52px;border-radius:50%;background:var(--mint);color:var(--green);font-size:28px;font-weight:900;display:grid;place-items:center;margin:0 auto 14px}.dialog-body h3{margin:0 0 9px}.dialog-body>p{color:var(--muted);font-size:13px}.receipt-code{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin:8px 0}.receipt-code span{font-size:12px;color:var(--muted)}.receipt-code strong{font-size:18px;letter-spacing:.05em}.dialog-note{font-size:11px!important;text-align:left;background:#f5f7f5;padding:10px;border-radius:10px}.dialog-body .primary{margin-top:8px}
@media(max-width:860px){.hero-skyline{right:-120px}.content-grid{grid-template-columns:1fr}.quick-dates{grid-template-columns:repeat(7,minmax(62px,1fr));overflow-x:auto}.form-card{order:2}.cancel-box{align-items:flex-start;flex-direction:column}.cancel-form{width:100%;grid-template-columns:1fr 1fr}.cancel-form button{grid-column:1/-1}.slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.hero-inner,.shell,footer{width:min(100% - 24px,1180px)}.hero-inner{padding-top:20px}.hero-copy{margin-top:38px}.booking-card,.form-card,.my-card{padding:18px;border-radius:18px}.section-head{flex-direction:column}.section-head input[type=date]{width:100%}.slots{grid-template-columns:repeat(2,1fr)}.legend{margin-left:31px}.two-cols{grid-template-columns:1fr 1fr}.cancel-form{grid-template-columns:1fr}.cancel-form button{grid-column:auto}.my-item{align-items:flex-start;flex-direction:column}.my-item button{width:100%}}
