:root{--bg:#f4f1ea;--surface:#fff;--surface-2:#f8f6f1;--ink:#16161a;--ink-2:#5a5a60;--ink-3:#9a968d;--line:#e7e2d8;--navy:#1c3a5e;--navy-ink:#16314f;--coral:#ffa53c;--coral-soft:#fff1de;--coral-ink:#d77e12;--after:#e2503b;--gold:#b89150;--shadow:0 1px 2px #14141a0a,0 12px 32px #14141a14;--shadow-lg:0 24px 60px #14141a2e}.dark{--bg:#0c0c0e;--surface:#16161a;--surface-2:#1e1e23;--ink:#f3f0e9;--ink-2:#a8a49b;--ink-3:#6e6a62;--line:#2a2a30;--navy:#9fc0e8;--navy-ink:#9fc0e8;--coral:#ffb759;--coral-soft:#2a2113;--coral-ink:#ffb759;--after:#f26a55;--gold:#c9a86a;--shadow:0 1px 2px #0006,0 16px 40px #00000080;--shadow-lg:0 30px 70px #0009}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.5;transition:background .35s,color .35s}.serif{font-family:Playfair Display,Noto Serif KR,serif}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}a{color:inherit}.app{background:var(--surface);flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #00000014;container-type:inline-size}.steps{gap:5px;padding:14px clamp(16px,5cqi,22px) 4px;display:flex}.steps i{background:var(--line);border-radius:2px;flex:1;height:3px;transition:all .3s}.steps i.act,.steps i.done{background:var(--coral)}.scroll{flex:1;overflow-y:auto}.body{padding:clamp(16px,4.6cqi,22px) clamp(16px,5cqi,24px) clamp(16px,5cqi,24px)}.h-title{letter-spacing:-.5px;font-size:clamp(19px,5cqi,24px);font-weight:600;line-height:1.32}.h-sub{color:var(--ink-2);margin-top:8px;margin-bottom:clamp(16px,4.6cqi,22px);font-size:clamp(12.5px,2.9cqi,14px)}.fieldlbl{color:var(--ink-2);letter-spacing:.2px;flex-wrap:wrap;align-items:center;gap:6px;margin:clamp(15px,4.2cqi,20px) 0 9px;font-size:clamp(11px,2.6cqi,12.5px);font-weight:600;display:flex}.fieldlbl .req{color:var(--coral)}.fieldlbl .auto{color:var(--coral);font-size:clamp(10px,2.3cqi,11px);font-weight:700}.fieldlbl .hint{color:var(--ink-3);font-weight:500}.inp{background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:12px;padding:clamp(12px,3.1cqi,15px);font-size:16px}.inp::placeholder{color:var(--ink-3)}.inp:focus{border-color:var(--navy);outline:none}.chips{flex-wrap:wrap;gap:clamp(5px,1.7cqi,8px);display:flex}.chip{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;padding:clamp(8px,2.3cqi,11px) clamp(10px,3.1cqi,15px);font-size:clamp(12px,2.9cqi,14px);font-weight:500;transition:all .15s}.chip.sel{background:var(--coral);color:#231405;border-color:var(--coral);font-weight:600}.chips.grid4{grid-template-columns:repeat(4,1fr);gap:clamp(5px,1.6cqi,8px);display:grid}.chips.grid4 .chip{text-align:center;white-space:nowrap;padding:clamp(8px,2.3cqi,11px) 3px;font-size:clamp(10px,2.7cqi,13px)}.consent{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;margin-top:clamp(16px,4.6cqi,22px);padding:clamp(12px,3.1cqi,15px);display:flex}.cbox{border:2px solid var(--ink-3);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:clamp(20px,5cqi,24px);height:clamp(20px,5cqi,24px);font-size:14px;transition:all .15s;display:flex}.cbox.on{background:var(--coral);border-color:var(--coral)}.consent .ct{color:var(--ink-2);font-size:clamp(11px,2.6cqi,12.5px);line-height:1.55}.consent .ct b{color:var(--ink);font-weight:600}.consent .ct .more{color:var(--navy);font-size:clamp(10px,2.4cqi,11.5px);text-decoration:underline}.cal{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:clamp(10px,2.9cqi,14px)}.cal .mhead{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal .mhead b{font-size:clamp(13px,3.1cqi,15px);font-weight:600}.cal .mhead button{color:var(--ink-2);border-radius:8px;padding:2px 12px;font-size:clamp(15px,3.75cqi,18px)}.cal .mhead button:disabled{color:var(--ink-3);opacity:.35}.dow,.dates{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.dow span{text-align:center;color:var(--ink-3);padding-bottom:6px;font-size:clamp(9px,2.3cqi,11px)}.dates button{aspect-ratio:1;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:clamp(11px,2.8cqi,13.5px);display:flex}.dates button.mute{color:var(--ink-3);opacity:.35;pointer-events:none}.dates button.sun{color:#c65}.dates button.today{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.dates button.sel{background:var(--coral);box-shadow:none;font-weight:700;color:#fff!important}.dates button.empty{pointer-events:none}.timeslots{grid-template-columns:repeat(3,1fr);gap:clamp(5px,1.7cqi,8px);display:grid}.slot{border:1px solid var(--line);background:var(--surface-2);text-align:center;border-radius:12px;padding:clamp(10px,2.9cqi,14px) 4px;transition:all .15s}.slot .t{font-size:clamp(12.5px,3.1cqi,15px);font-weight:600}.slot .l{color:var(--ink-3);margin-top:3px;font-size:clamp(9.5px,2.3cqi,11px)}.slot.sel{background:var(--coral);border-color:var(--coral);color:#231405}.slot.sel .t{font-weight:700}.slot.sel .l{color:#23140599}.cta-wrap{padding:14px clamp(16px,5cqi,24px) calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--surface) 28%);z-index:10;flex:none;position:sticky;bottom:0}.cta{color:#fff;letter-spacing:.3px;background:linear-gradient(#ffb452,#f2870e);border-radius:14px;width:100%;padding:clamp(14px,3.5cqi,17px);font-size:clamp(14px,3.33cqi,16px);font-weight:700;transition:all .15s;box-shadow:0 8px 20px #f2870e59}.cta:active{transform:translateY(1px)}.cta:disabled{background:var(--line);color:var(--ink-3);box-shadow:none;cursor:not-allowed}.cta.ghost{background:var(--navy);box-shadow:none}.cta-hint{text-align:center;color:var(--ink-3);margin-top:10px;font-size:clamp(10.5px,2.4cqi,11.5px)}.done{text-align:center;background:radial-gradient(120% 55% at 50% 0%,var(--coral-soft),var(--surface) 58%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:clamp(28px,8.3cqi,40px) clamp(20px,6.25cqi,30px);display:flex}.done .check{background:var(--coral);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(60px,16.6cqi,80px);height:clamp(60px,16.6cqi,80px);margin-bottom:clamp(18px,5cqi,24px);font-size:clamp(28px,7.9cqi,38px);display:flex;box-shadow:0 14px 30px #ffa53c66}.done .serif-word{color:var(--navy-ink);margin-bottom:18px;font-size:clamp(16px,4.2cqi,20px)}.done h2{letter-spacing:-.4px;font-size:clamp(19px,5cqi,24px);font-weight:600;line-height:1.34}.done p{color:var(--ink-2);margin-top:14px;font-size:clamp(12.5px,2.9cqi,14px);line-height:1.6}.giftcard{background:var(--navy);color:#fff;text-align:left;border-radius:18px;width:100%;max-width:360px;margin-top:clamp(20px,5.8cqi,28px);padding:clamp(15px,4.2cqi,20px)}.giftcard .gl{letter-spacing:2px;opacity:.7;font-size:clamp(10px,2.3cqi,11px);font-weight:700}.giftcard .gt{margin-top:7px;font-size:clamp(13.5px,3.3cqi,16px);font-weight:600}.giftcard .gp{opacity:.85;align-items:center;gap:7px;margin-top:9px;font-size:clamp(11px,2.6cqi,12.5px);display:flex}.toast{color:#fff;z-index:100;text-align:center;background:#16161a;border-radius:12px;max-width:90vw;padding:12px 20px;font-size:13px;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.themefab{z-index:50;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink-2);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;position:fixed;top:14px;right:14px}.themefab.onhero{color:#fff;background:#ffffff26;border-color:#ffffff4d}.landing{background:var(--surface)}.l-top{text-align:center;padding:clamp(28px,9.6cqi,46px) clamp(16px,5cqi,24px) 8px}.l-logo{letter-spacing:.5px;font-size:clamp(21px,5.4cqi,26px)}.l-logo .dot{color:var(--coral)}.l-ci-img{width:auto;height:clamp(40px,10.8cqi,52px);margin:18px 0 12px;display:inline-block}.dark .l-ci-img{filter:invert()}.l-title{letter-spacing:-.4px;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.9cqi,9px);font-size:clamp(18px,4.8cqi,23px);font-weight:700;display:flex}.styling-badge{background:var(--after);color:#fff;border-radius:999px;padding:3px clamp(10px,3.1cqi,15px);font-family:Playfair Display,serif;font-size:clamp(14px,3.75cqi,18px);font-style:italic;font-weight:600;display:inline-block}.l-sub{color:var(--ink-2);margin-top:16px;font-size:clamp(12px,2.8cqi,13.5px);line-height:1.6}.l-sub b{color:var(--ink);font-weight:600}.ba-stack{flex-direction:column;gap:clamp(8px,2.5cqi,12px);padding:clamp(12px,3.75cqi,18px) clamp(16px,5cqi,24px) 6px;display:flex}.ba-card{aspect-ratio:16/10;width:100%;box-shadow:var(--shadow);border:1px solid var(--line);background:#e9e6e0;border-radius:14px;position:relative;overflow:hidden}.ba-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.ba-label{letter-spacing:1.5px;z-index:5;font-size:clamp(10px,2.5cqi,12px);font-weight:800;position:absolute;top:10px;left:13px}.ba-label.before{color:#0e0e0e;text-shadow:0 1px 3px #fff9}.ba-label.after{color:#fff;background:var(--after);border-radius:5px;padding:2px 8px;top:11px;left:11px}.ba-center{text-align:center;z-index:5;color:#222;text-shadow:0 1px 10px #fffffffa,0 0 3px #fffffff2;flex-direction:column;justify-content:center;align-items:center;padding:0 22px;font-size:clamp(15px,4cqi,19px);font-weight:700;line-height:1.5;display:flex;position:absolute;inset:0}.methods{grid-template-columns:1fr 1fr;gap:clamp(5px,1.7cqi,8px);display:grid}.method{border:1px solid var(--line);background:var(--surface-2);text-align:center;border-radius:12px;padding:clamp(10px,2.9cqi,14px) clamp(8px,2.5cqi,12px);transition:all .15s}.method .mt{font-size:clamp(12px,2.9cqi,14px);font-weight:600}.method .md{color:var(--ink-3);margin-top:3px;font-size:clamp(9.5px,2.3cqi,11px)}.method.sel{background:var(--coral);border-color:var(--coral);color:#231405}.method.sel .mt{font-weight:700}.method.sel .md{color:#23140599}.inp.area{resize:none;min-height:86px;line-height:1.5}.charcount{text-align:right;color:var(--ink-3);margin-top:6px;font-size:clamp(10px,2.4cqi,11px)}.confirm-lead{color:var(--ink-2);margin-bottom:16px;font-size:clamp(12.5px,2.9cqi,14px);line-height:1.6}.confirm-card{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:6px clamp(14px,3.75cqi,18px) 16px}.confirm-card .ct-title{text-align:center;border-bottom:1px solid var(--line);margin-bottom:2px;padding:15px 0 13px;font-size:clamp(14px,3.5cqi,17px);font-weight:700}.confirm-card .srow{padding:13px 0;font-size:clamp(12.5px,3cqi,14.5px)}.confirm-note{color:var(--ink-3);text-align:center;margin-top:14px;font-size:clamp(11px,2.5cqi,12px);line-height:1.55}.cta-row{gap:10px;display:flex}.cta.secondary{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);box-shadow:none}.done-contact{color:var(--ink-2);text-align:center;margin-top:20px;font-size:clamp(10.5px,2.5cqi,12px);line-height:1.8}.done-contact a{color:var(--coral-ink);font-weight:700;text-decoration:none}.done-pickup{color:var(--ink);margin-top:18px;font-size:clamp(12.5px,3cqi,14.5px);font-weight:600;line-height:1.65}.done-pickup .hl{color:var(--after)}.done-giftnote{color:var(--after);margin-top:12px;font-size:clamp(11px,2.7cqi,13px);font-weight:700}.admin-page{max-width:1180px;margin:0 auto;padding:32px 28px 80px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.admin-head .brand{letter-spacing:.5px;font-size:24px}.admin-head .brand b{font-weight:600}.admin-head .brand .dot{color:var(--coral)}.admin-head .sub{color:var(--ink-2);margin-top:2px;font-size:12.5px}.admin-head .right{align-items:center;gap:10px;display:flex}.linkbtn{color:var(--ink-2);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:600}.kpis{background:var(--line);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.kpi{background:var(--surface);padding:18px 22px}.kpi .kl{color:var(--ink-2);font-size:12px}.kpi .kv{letter-spacing:-.5px;margin-top:5px;font-size:28px;font-weight:700}.kpi .kv small{color:var(--ink-3);font-size:14px;font-weight:600}.kpi.flag .kv{color:var(--coral)}.admin-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.panel-top{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.panel-top .pt{font-size:14.5px;font-weight:600}.seg{background:var(--surface-2);border-radius:10px;gap:4px;margin-left:auto;padding:4px;display:flex}.seg button{color:var(--ink-2);border-radius:7px;padding:7px 13px;font-size:12.5px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.daygrp{background:var(--surface-2);color:var(--ink-2);letter-spacing:.3px;justify-content:space-between;padding:9px 20px;font-size:12px;font-weight:700;display:flex}.rowx{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:14px;padding:15px 20px;transition:all .12s;display:flex}.rowx:hover{background:var(--surface-2)}.rowx.act{background:var(--coral-soft)}.rowx .av{background:var(--navy);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.rowx .nm{font-size:14.5px;font-weight:600}.rowx .ph{color:var(--ink-2);margin-top:1px;font-size:12px}.rowx .meta{text-align:right;margin-left:auto}.rowx .tm{font-size:12.5px;font-weight:600}.pill{border-radius:999px;margin-top:5px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-block}.pill.NEW{background:var(--after);color:#fff}.pill.CONFIRMED{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.pill.COMPLETED{color:#3a6b3a;background:#e6efe6}.pill.CANCELED{background:var(--surface-2);color:var(--ink-3);text-decoration:line-through}.dark .pill.COMPLETED{color:#7fae7f;background:#1c2a1c}.empty-list{text-align:center;color:var(--ink-3);padding:40px 20px;font-size:13px}.detail{padding:24px;position:sticky;top:24px}.detail .dn{font-size:20px;font-weight:600}.detail .dph{color:var(--ink-2);margin-top:3px;font-size:13px}.ctx-banner{border-radius:12px;align-items:center;gap:8px;margin-top:18px;padding:12px 14px;font-size:12.5px;font-weight:600;display:flex}.ctx-banner.NEW{background:var(--coral-soft);color:var(--coral)}.ctx-banner.CONFIRMED{background:var(--surface-2);color:var(--ink-2)}.ctx-banner.COMPLETED{color:#3a6b3a;background:#e6efe6}.dark .ctx-banner.COMPLETED{color:#7fae7f;background:#1c2a1c}.dgrid{margin-top:18px}.srow{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;font-size:13.5px;display:flex}.srow .k{color:var(--ink-2);flex:none}.srow .v{text-align:right;font-weight:600}.tagrow{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.minitag{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:600}.act-row{gap:9px;margin-top:24px;display:flex}.act-row a,.act-row button{text-align:center;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:5px;padding:14px;font-size:13.5px;font-weight:700;text-decoration:none;display:flex}.act-row .call{background:var(--coral);color:#fff}.act-row .sms{background:var(--navy);color:#fff}.act-row .done-btn{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);width:100%}.act-row button:disabled{opacity:.4;cursor:not-allowed}.compose{margin-top:20px}.compose-lbl{color:var(--ink-2);margin-bottom:9px;font-size:12.5px;font-weight:700}.compose-area{resize:vertical;background:var(--surface-2);border:1px solid var(--line);width:100%;min-height:128px;color:var(--ink);border-radius:12px;padding:13px 14px;font-family:inherit;font-size:13px;line-height:1.6}.compose-area:focus{border-color:var(--coral);outline:none}.compose-bar{justify-content:space-between;align-items:center;margin-top:9px;display:flex}.compose-bar .tmpl{color:var(--navy-ink);font-size:12px;font-weight:600;text-decoration:underline}.compose-bar .cnt{color:var(--ink-3);font-size:11.5px}.send-btn{color:#fff;background:linear-gradient(#ffb452,#f2870e);border-radius:12px;width:100%;margin-top:11px;padding:14px;font-size:14.5px;font-weight:700;box-shadow:0 6px 16px #f2870e4d}.send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.send-note{text-align:center;color:var(--ink-3);margin-top:8px;font-size:11px}.detail-empty{text-align:center;color:var(--ink-3);padding:60px 24px;font-size:13px}@media (max-width:820px){.admin-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.detail{position:static}}
