:root{--coral:#ff6b52;--coral-dark:#e9513a;--cream:#fffaf3;--yellow:#ffc94a;--green:#69b88a;--blue:#72aee8;--ink:#26323b;--muted:#7d878d;--line:#e9e5de;--white:#fff;--shadow:0 14px 40px rgba(60,46,34,.09);font-family:"Gowun Dodum",sans-serif;color:var(--ink);background:#f8f8f6}
*{box-sizing:border-box}body{margin:0;background:#f8f8f6}button,input,select{font:inherit}button{cursor:pointer}.route-hidden{display:none!important}.app-shell{min-height:100vh}.topbar{height:78px;background:rgba(255,255,255,.94);display:flex;align-items:center;padding:0 max(4vw,28px);position:sticky;top:0;z-index:20;border-bottom:1px solid #eee9e2;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font:900 21px Nunito,"Gowun Dodum";min-width:220px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--coral);color:#fff;display:grid;place-items:center;font:900 22px Nunito;transform:rotate(-5deg);box-shadow:0 5px 0 #d84f39}.brand small{display:block;color:var(--coral);font:800 9px Nunito;letter-spacing:2.8px;text-transform:uppercase}.role-switcher{margin:auto;background:#f4f2ee;border-radius:12px;padding:4px;display:flex}.role-button{border:0;background:transparent;padding:9px 21px;border-radius:9px;color:#7b8184;font-weight:700}.role-button.active{background:#fff;color:var(--coral);box-shadow:0 3px 12px #dcd7d0}.header-actions{min-width:220px;margin-left:auto;display:flex;justify-content:flex-end;align-items:center;gap:14px}.icon-button,.profile-button{border:0;background:transparent}.icon-button{font-size:18px;position:relative}.dot{position:absolute;width:7px;height:7px;background:var(--coral);border:2px solid #fff;border-radius:50%;right:2px;top:0}.profile-button{display:flex;align-items:center;gap:8px;font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe1d7;color:var(--coral);font-weight:900}.role-view{display:none}.role-view.active{display:block}
.customer-page-tabs{max-width:1140px;margin:18px auto 0;display:flex;gap:8px;overflow:auto;padding:0 2px}.customer-page-tabs a{flex:0 0 auto;text-decoration:none;border:1px solid var(--line);background:#fff;color:#697378;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900}.customer-page-tabs a.active{border-color:#ffc5b8;background:#fff0ec;color:var(--coral)}.customer-hero{height:390px;background:linear-gradient(115deg,#fff3db 0%,#fff9ec 60%,#e7f4e9 100%);display:flex;overflow:hidden;position:relative;padding:52px max(9vw,48px)}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{font:900 11px Nunito;color:var(--coral);letter-spacing:2.2px}.hero-copy h1{font:900 clamp(38px,4vw,58px)/1.18 Nunito,"Gowun Dodum";margin:10px 0 14px;letter-spacing:-2px}.hero-copy em{color:var(--coral);font-style:normal;position:relative}.hero-copy em:after{content:"";position:absolute;height:7px;background:var(--yellow);opacity:.5;border-radius:50%;left:-2px;right:-2px;bottom:3px;z-index:-1}.hero-copy p{color:#647078;line-height:1.7;margin:0}.hero-art{position:absolute;right:8vw;top:25px;width:500px;height:360px}.sun{position:absolute;right:35px;top:15px;font-size:66px;color:#ffd45e}.cloud{position:absolute;width:110px;height:35px;border-radius:40px;background:#fff;opacity:.8}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:50px;height:50px;left:22px;bottom:0}.cloud:after{width:35px;height:35px;left:62px;bottom:0}.cloud-one{top:70px;left:20px}.cloud-two{right:-15px;top:135px;transform:scale(.7)}.tent{position:absolute;width:235px;height:170px;background:#ff765c;clip-path:polygon(50% 0,100% 100%,0 100%);bottom:20px;left:125px;filter:drop-shadow(0 14px 0 rgba(82,107,73,.12))}.tent:after{content:"";position:absolute;width:90px;height:120px;background:#fff1cb;clip-path:polygon(50% 0,100% 100%,0 100%);bottom:0;left:72px}.tree{position:absolute;color:#57956b;font-size:105px;line-height:1}.tree-one{bottom:5px;left:10px}.tree-two{right:5px;bottom:-5px;transform:scale(.8);color:#438359}.ball{position:absolute;bottom:14px;left:85px;color:#ffc94a;font-size:30px}.search-card{position:relative;z-index:4;margin:-38px auto 0;max-width:1140px;min-height:108px;background:#fff;padding:20px 22px;border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr 1fr 1.1fr auto;gap:14px;align-items:end}.search-card label{font-size:12px;font-weight:700;color:#606a70}.input-like{height:48px;border:1px solid var(--line);border-radius:11px;margin-top:8px;padding:0 13px;display:flex;align-items:center;gap:7px;color:var(--coral)}.input-like input,.input-like select{border:0;outline:0;background:transparent;width:100%;color:var(--ink);font-size:14px}.search-button,.primary-button{height:48px;border:0;border-radius:11px;background:var(--coral);color:#fff;font-weight:800;padding:0 25px;box-shadow:0 5px 0 #d9543e}.search-button span{margin-left:15px}.content-section{max-width:1140px;margin:60px auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-heading h2{font:900 26px Nunito,"Gowun Dodum";margin:4px 0 0}.text-button,.panel-title button{border:0;background:transparent;color:var(--coral);font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.category-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:21px;display:grid;grid-template-columns:52px auto;grid-template-rows:auto auto;text-align:left;column-gap:14px;transition:.2s}.category-card:hover,.category-card.active{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#ffd1c8}.category-icon{grid-row:1/3;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px}.coral{background:#ffe1da;color:var(--coral)}.yellow{background:#fff1c6;color:#d49b11}.green{background:#def1e4;color:#4a9a69}.blue{background:#dfeefa;color:#478fc9}.category-card strong{align-self:end}.category-card small{color:var(--muted);margin-top:3px}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s}.place-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.place-image{height:205px;position:relative;overflow:hidden;background:var(--card-bg)}.place-image:before,.place-image:after{content:"";position:absolute}.place-image:before{width:180px;height:120px;border-radius:55% 55% 0 0;background:var(--shape);left:30px;bottom:-10px;transform:rotate(-5deg)}.place-image:after{width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.35);right:-25px;top:-30px}.place-emoji{position:absolute;font-size:78px;left:50%;top:50%;transform:translate(-50%,-44%);z-index:2;filter:drop-shadow(0 8px 5px rgba(0,0,0,.15))}.favorite{position:absolute;right:13px;top:13px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:#a8a8a8;z-index:3;font-size:20px}.favorite.active{color:var(--coral)}.place-tag{position:absolute;left:13px;top:13px;background:var(--coral);color:#fff;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:800;z-index:3}.place-body{padding:17px}.place-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.rating{color:#e09e10}.place-body h3{margin:8px 0 13px}.place-footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #f0ede8;padding-top:12px}.place-footer small{display:block;color:var(--muted)}.place-footer b{font:900 18px Nunito}.place-footer button{border:0;background:#fff0ec;color:var(--coral);padding:8px 13px;border-radius:8px;font-weight:800}.booking-banner{max-width:1140px;margin:70px auto;background:#325746;border-radius:24px;min-height:250px;color:#fff;padding:42px 55px;display:flex;justify-content:space-between;overflow:hidden}.booking-banner span{color:#ffd969;font-size:12px}.booking-banner h2{font-size:30px;margin:10px 0 20px}.booking-banner button{border:0;background:#fff;color:#325746;border-radius:9px;padding:12px 17px;font-weight:800}.banner-illustration{position:relative;width:330px}.banner-illustration>span{position:absolute;font-size:90px;right:25px;top:-40px;color:#ffd35f}.mini-tent{position:absolute;bottom:-70px;left:30px;width:220px;height:190px;background:#ff8168;clip-path:polygon(50% 0,100% 100%,0 100%)}
.dashboard-view.active{display:flex;min-height:calc(100vh - 78px)}.sidebar{width:245px;background:#fff;padding:28px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.side-brand{display:flex;align-items:center;gap:12px;padding:0 9px 28px}.side-brand .brand-mark{width:35px;height:35px;font-size:18px;border-radius:11px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.side-link,.admin-link{border:0;background:transparent;color:#697378;border-radius:10px;text-align:left;padding:12px 14px;font-weight:700}.side-link.active{background:#fff0ec;color:var(--coral)}.side-link span,.admin-link span{float:right;background:var(--coral);color:#fff;border-radius:12px;padding:1px 7px;font-size:10px}.sidebar-help{margin-top:auto;background:#fff6e5;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:5px}.sidebar-help small{color:var(--muted)}.sidebar-help button{border:0;background:transparent;color:var(--coral);text-align:left;padding:7px 0 0;font-weight:800}.dashboard-main{flex:1;padding:34px;min-width:0}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.dashboard-header span{font-size:12px;color:var(--muted)}.dashboard-header h1{font-size:25px;margin:7px 0 0}.dashboard-panel{display:none}.dashboard-panel.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;gap:14px}.metric-icon{min-width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.metric-grid small,.metric-grid span{font-size:11px;color:var(--muted)}.metric-grid strong{display:block;font:900 25px Nunito;margin:3px 0}.metric-grid em{font:700 12px "Gowun Dodum";font-style:normal;margin-left:3px}.metric-grid .up{color:#4e9d70}.metric-grid .warn{color:#e5962f}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title h2{font-size:17px;margin:0 0 4px}.panel-title span{font-size:11px;color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;color:var(--muted);font-weight:500;padding:8px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:12px 8px;border-bottom:1px solid #f2efeb}.status{padding:4px 7px;border-radius:12px;font-size:10px}.status.confirmed{background:#e4f3e9;color:#43875d}.status.waiting{background:#fff0d5;color:#c2801e}.occupancy .panel-title b{font:900 28px Nunito;color:var(--coral)}.bar-chart{height:160px;display:flex;align-items:end;gap:10px;padding-top:15px;border-bottom:1px solid var(--line)}.bar-item{flex:1;text-align:center;font-size:9px;color:var(--muted)}.bar{height:var(--height);background:#ffe0d9;border-radius:6px 6px 0 0;position:relative;margin-bottom:6px}.bar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--fill);background:var(--coral);border-radius:6px 6px 0 0}.chart-legend{text-align:center;padding-top:13px;font-size:10px;color:var(--muted)}.chart-legend span{margin:0 7px}.chart-legend i{display:inline-block;width:7px;height:7px;background:var(--coral);border-radius:2px;margin-right:4px}.chart-legend span+span i{background:#ffe0d9}.notice-panel{margin-top:20px;display:flex;align-items:center;justify-content:space-between}.notice-panel>div{display:flex;gap:12px;align-items:center}.notice-panel small{display:block;color:var(--muted);margin-top:4px}.notice-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff0d5;color:#d98a19;font-weight:900}.notice-panel button{border:0;background:transparent;color:var(--coral);font-weight:800}.empty-panel{background:#fff;border:1px solid var(--line);border-radius:18px;min-height:440px;text-align:center;padding:100px 20px}.empty-panel>span{width:76px;height:76px;border-radius:24px;background:#fff0ec;color:var(--coral);display:grid;place-items:center;font-size:35px;margin:auto}.empty-panel h2{margin:20px 0 8px}.empty-panel p{color:var(--muted)}.empty-panel button{margin-top:15px}
.admin{background:#f4f5f7}.admin-sidebar{background:#26323b;color:#fff;border:0}.admin-sidebar .side-brand .brand-mark.dark{background:#ff785f;box-shadow:none}.admin-sidebar .admin-link{color:#aeb7bc}.admin-sidebar .admin-link.active{background:#3a474f;color:#fff}.admin-user{margin-top:auto;border-top:1px solid #445058;padding:18px 5px 0;display:flex;gap:10px;align-items:center}.admin-user small{display:block;color:#9ba6ab;font-size:9px}.live-badge{background:#e7f4eb;color:#4d9768;padding:9px 13px;border-radius:20px;font-size:11px}.live-badge i,.status-row i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55b37a;margin-right:5px}.admin-metrics article{border-top:3px solid var(--coral)}.admin-metrics article:nth-child(2){border-top-color:#ffc44b}.admin-metrics article:nth-child(3){border-top-color:#60b584}.admin-metrics article:nth-child(4){border-top-color:#6ba8df}.admin-grid{grid-template-columns:1.7fr 1fr}.approval-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eee}.approval-item:last-child{border:0}.company-icon{width:38px;height:38px;border-radius:10px;background:#eef1f2;display:grid;place-items:center}.company-info{flex:1}.company-info b,.company-info small{display:block}.company-info small{color:var(--muted);font-size:10px}.approval-item button{border:0;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:700}.reject{background:#eee;color:#667}.approve,.stat-review-button{background:var(--coral);color:#fff}.status-row{padding:13px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;font-size:12px}.status-row b{color:#4c9d6c}.status-row .caution{background:#e7a13c}.status-row .caution-text,.caution-text{color:#d68d22}.admin-chart{margin-top:20px}.chart-total{text-align:right}.chart-total small{display:block}.line-chart{height:205px}.line-chart svg{width:100%;height:165px;overflow:visible}.line-chart .area{fill:url(#admin-area)}.line-chart .line{fill:none;stroke:var(--coral);stroke-width:3}.line-chart circle{fill:#fff;stroke:var(--coral);stroke-width:3}.x-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.admin-ops-panel{margin-top:20px}.admin-stat-list{display:grid;gap:8px}.admin-stat-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eee;font-size:12px}.admin-stat-row:last-child{border:0}.admin-stat-row span{color:#5c666d}.admin-stat-row b{white-space:nowrap}
.modal-backdrop{position:fixed;inset:0;background:rgba(22,29,32,.55);z-index:50;display:none;place-items:center;padding:20px}.modal-backdrop.open{display:grid}.modal{background:#fff;width:min(420px,100%);border-radius:22px;padding:34px;text-align:center;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.2)}.modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:27px;color:#999}.modal-icon{width:58px;height:58px;border-radius:18px;background:#e3f3e9;color:#4b9b69;display:grid;place-items:center;margin:auto;font-size:25px}.modal h2{margin:17px 0 7px}.modal p{color:var(--muted);margin:0 0 22px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#26323b;color:#fff;padding:12px 20px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:80}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.hero-art{right:-70px;opacity:.8}.search-card,.content-section,.booking-banner{margin-left:24px;margin-right:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:205px}.profile-name{display:none}.header-actions,.brand{min-width:auto}}
@media(max-width:720px){.topbar{height:auto;min-height:68px;padding:10px 15px;flex-wrap:wrap;gap:8px}.brand{flex:1}.brand-mark{width:35px;height:35px}.role-switcher{order:3;width:100%}.role-button{flex:1;padding:7px 5px;font-size:12px}.customer-hero{height:350px;padding:35px 25px}.hero-copy h1{font-size:39px}.hero-art{opacity:.28;right:-170px}.search-card{grid-template-columns:1fr;margin-top:-25px;padding:16px}.category-grid{grid-template-columns:repeat(2,1fr)}.place-grid{grid-template-columns:1fr}.content-section{margin-top:45px}.booking-banner{padding:35px 26px}.banner-illustration{display:none}.dashboard-view.active{display:block}.sidebar{width:100%;padding:10px;overflow:auto;display:block}.side-brand,.sidebar-help,.admin-user{display:none}.sidebar nav{flex-direction:row;overflow:auto}.side-link,.admin-link{white-space:nowrap}.dashboard-main{padding:22px 14px}.dashboard-header{align-items:flex-start}.dashboard-header h1{font-size:20px}.dashboard-header .primary-button{padding:0 12px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{padding:13px}.metric-grid strong{font-size:20px}.metric-icon{display:none}.panel{padding:15px}.table-wrap{overflow:auto}table{min-width:560px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.category-card{grid-template-columns:42px auto;padding:15px}.category-icon{width:42px;height:42px}.header-actions{display:none}}
.place-body h3{margin:8px 0 8px}.place-description{min-height:43px;margin:0 0 13px;color:#667179;font-size:12px;line-height:1.55}.empty-results{grid-column:1/-1;background:#fff;border:1px dashed #e2d9ce;border-radius:14px;padding:34px;text-align:center;color:var(--muted)}.place-footer small{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-button:disabled{opacity:.7;cursor:progress}
#search-results-section{scroll-margin-top:100px}
.management-panel{min-height:520px}.management-title{align-items:flex-start}.partner-token-box{display:flex;gap:8px;align-items:center}.partner-token-box input{height:40px;width:230px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff}.primary-button.compact{height:40px;padding:0 16px}.management-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);gap:20px}.management-form{display:flex;flex-direction:column;gap:14px}.management-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#616b72}.management-form input,.management-form select,.management-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink);outline:0}.management-form textarea{min-height:88px;resize:vertical}.form-row{display:grid;gap:12px}.form-row.two{grid-template-columns:repeat(2,1fr)}.form-row.three{grid-template-columns:1.15fr .85fr .7fr}.partner-venue-panel{min-height:100%}.partner-venue-list{display:flex;flex-direction:column;gap:11px}.partner-venue-item{border:1px solid #eee9e2;border-radius:12px;padding:14px;background:#fff}.partner-venue-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.partner-venue-item h3{margin:0 0 5px;font-size:15px}.partner-venue-item small{color:var(--muted)}.partner-venue-item dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0 0}.partner-venue-item div{min-width:0}.partner-venue-item dt{font-size:10px;color:var(--muted)}.partner-venue-item dd{margin:3px 0 0;font-weight:800}.venue-status{padding:4px 8px;border-radius:12px;font-size:10px;background:#e4f3e9;color:#43875d;white-space:nowrap}.venue-status.draft{background:#fff0d5;color:#c2801e}.venue-status.hidden{background:#eceff1;color:#697378}@media(max-width:1000px){.management-grid{grid-template-columns:1fr}.management-title{display:block}.partner-token-box{margin-top:12px}}@media(max-width:720px){.partner-token-box{display:grid;grid-template-columns:1fr auto}.partner-token-box input{width:100%}.form-row.two,.form-row.three{grid-template-columns:1fr}.partner-venue-item dl{grid-template-columns:1fr 1fr}}
.role-switcher{display:none}.dev-mode .role-switcher,.role-switcher.accessible{display:flex}.role-switcher [hidden]{display:none}
.header-actions{position:relative}.account-menu{display:none;position:absolute;right:0;top:52px;width:210px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:40}.account-menu.open{display:grid;gap:5px}.account-menu strong,.account-menu small{padding:2px 8px}.account-menu small{color:var(--muted)}.account-menu button{border:0;border-radius:9px;padding:10px;text-align:left;background:#f8f8f6;color:var(--ink);font-weight:800}.account-menu button:hover{background:#fff0ec;color:var(--coral)}.account-menu button[hidden]{display:none}.staff-preview-banner{display:none;margin:18px max(4vw,28px) 0;padding:12px 15px;border:1px solid #ffd0c5;border-radius:12px;background:#fff5f2;align-items:center;justify-content:space-between;gap:12px;color:#59636b}.staff-preview-banner.active{display:flex}.staff-preview-banner b{color:var(--coral);margin-right:6px}.staff-preview-banner button{border:0;border-radius:9px;padding:9px 12px;background:var(--coral);color:#fff;font-weight:900}.staff-preview-mode .customer-page-tabs{display:none}@media(max-width:720px){.role-switcher.accessible{display:none}.staff-preview-banner{margin:10px 12px 0;align-items:stretch;flex-direction:column}.staff-preview-banner button{width:100%}.account-menu{position:fixed;left:12px;right:12px;top:68px;width:auto;max-height:calc(100dvh - 80px);overflow:auto}}
.auth-logout{display:none}.auth-logout.active{display:inline-block}.auth-gate{display:none;min-height:calc(100vh - 78px);padding:54px 20px;background:#f8f8f6;place-items:start center}.auth-gate.active{display:grid}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:15px}.auth-card h1{font:900 27px Nunito,"Gowun Dodum";margin:6px 0}.auth-card p,.auth-card small{color:var(--muted);line-height:1.6}.auth-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#616b72}.auth-card input{height:44px;width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;color:var(--ink);outline:0}.role-secret-row.hidden{display:none}.role-view.locked{display:none!important}@media(max-width:720px){.auth-gate{padding:30px 14px}.auth-card{padding:20px}.auth-logout.active{display:none}}
.auth-card .hidden{display:none}.auth-card .staff-login{grid-template-columns:1fr}.auth-card input{border-radius:12px}.social-login{display:grid;gap:12px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:800}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.social-login-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.social-login-button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:900}.social-login-button.kakao{border-color:#f5df00;background:#fee500;color:#191919}.social-login-button.naver{border-color:#03c75a;background:#03c75a;color:#fff}.social-login-button.google{background:#fff;color:#3c4043}@media(max-width:430px){.social-login-buttons{grid-template-columns:1fr}}
.auth-mode-toggle{min-height:44px;border:1px solid #ffc5b8;border-radius:12px;background:#fff5f2;color:var(--coral);font-weight:900}.auth-agreements{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fffaf7}.auth-card .auth-agreements label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:700}.auth-agreements input{width:18px;height:18px;flex:0 0 18px;padding:0}.auth-agreements b{color:var(--coral)}
@media(max-width:430px){.header-actions{display:flex;min-width:0;gap:6px}.header-actions .icon-button{display:none}.header-actions .profile-button{padding:4px}.header-actions .profile-name{display:none}.header-actions .auth-logout.active{display:inline-block;font-size:11px}}
.search-card{grid-template-columns:1fr .85fr .85fr .85fr auto}.guest-controls input{max-width:58px;text-align:center;font-weight:800}.group-name-field{display:none}.group-name-field.active{display:block}.manage-venue-button{margin-top:12px;padding:0}.compact-list{gap:8px}.product-venue-button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--ink)}.product-venue-button.active,.product-venue-button:hover{border-color:#ffc5b8;background:#fff5f2}.product-venue-button small{color:var(--muted)}.product-management-grid{grid-template-columns:minmax(280px,.55fr) minmax(500px,1.45fr)}.product-workbench{display:flex;flex-direction:column;gap:20px}.inline-title{margin-bottom:2px}.schedule-editor-list{display:flex;flex-direction:column;gap:10px}.schedule-editor-row{display:grid;grid-template-columns:1.05fr .7fr .7fr .65fr .85fr auto;gap:9px;align-items:end;border:1px solid #eee9e2;border-radius:12px;padding:12px;background:#fff}.schedule-editor-row label{min-width:0}.schedule-editor-row input,.schedule-editor-row select{height:38px;padding:0 9px}.schedule-editor-row small{color:var(--muted);white-space:nowrap;padding-bottom:9px}.schedule-form{gap:12px}@media(max-width:1100px){.search-card{grid-template-columns:1fr 1fr}.product-management-grid{grid-template-columns:1fr}.schedule-editor-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.search-card{grid-template-columns:1fr}.schedule-editor-row{grid-template-columns:1fr}.schedule-editor-row small{padding-bottom:0}}
.reservation-toolbar{display:flex;gap:8px;align-items:center}.reservation-toolbar select,.reservation-toolbar input{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;color:var(--ink)}.reservation-panel{min-height:500px}.reservation-card-list{display:flex;flex-direction:column;gap:12px}.reservation-card{border:1px solid #eee9e2;border-radius:13px;background:#fff;padding:16px}.reservation-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.reservation-card header strong,.reservation-card header small{display:block}.reservation-card header small{color:var(--muted);font-size:11px;margin-top:4px}.reservation-type{display:inline-block;margin-right:8px;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:900;background:#eef1f2;color:#667}.reservation-type.group{background:#fff0d5;color:#bd7b16}.reservation-type.personal{background:#e4f3e9;color:#43875d}.reservation-card dl{display:grid;grid-template-columns:1.3fr .9fr .8fr .7fr;gap:12px;margin:14px 0}.reservation-card dt{font-size:10px;color:var(--muted)}.reservation-card dd{margin:4px 0 0;font-weight:800}.reservation-card dd small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.reservation-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #f0ede8;padding-top:12px}.reservation-actions button{border:0;border-radius:8px;padding:8px 11px;background:#f4f2ee;color:#566169;font-weight:800}.reservation-actions button:first-child{background:#fff0ec;color:var(--coral)}.status.pending{background:#fff0d5;color:#c2801e}.status.cancelled{background:#eceff1;color:#697378}.status.completed{background:#e8eef8;color:#4f77a8}@media(max-width:900px){.reservation-toolbar{flex-wrap:wrap}.reservation-card dl{grid-template-columns:1fr 1fr}}@media(max-width:560px){.reservation-card header{display:block}.reservation-card .status{display:inline-block;margin-top:8px}.reservation-card dl{grid-template-columns:1fr}.reservation-actions{justify-content:flex-start;flex-wrap:wrap}}
.admin-partner-list{display:flex;flex-direction:column;gap:12px}.admin-partner-card{border:1px solid #eee9e2;border-radius:13px;background:#fff;padding:16px}.admin-partner-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-partner-card header strong,.admin-partner-card header small{display:block}.admin-partner-card header small{color:var(--muted);font-size:11px;margin-top:4px}.admin-partner-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.admin-partner-card dt{font-size:10px;color:var(--muted)}.admin-partner-card dd{margin:3px 0 0;font-weight:900}.admin-user-card dd{overflow-wrap:anywhere}.venue-status.pending{background:#fff0d5;color:#c2801e}.venue-status.paid{background:#e4f3e9;color:#43875d}.venue-status.held{background:#ffe1da;color:#c94d39}.venue-status.rejected{background:#ffe1da;color:#c94d39}.venue-status.suspended,.venue-status.deleted{background:#eceff1;color:#697378}@media(max-width:560px){.admin-partner-card header{display:block}.admin-partner-card .venue-status{display:inline-block;margin-top:8px}}
.customer-reservation-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.reservation-login-card,.customer-reservation-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.reservation-login-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.reservation-login-card b,.reservation-login-card small{display:block}.reservation-login-card small{color:var(--muted);margin-top:4px}.customer-reservation-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.customer-reservation-card header strong,.customer-reservation-card header small{display:block}.customer-reservation-card header small{color:var(--muted);font-size:11px;margin-top:4px}.customer-reservation-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 0}.customer-reservation-card dt{font-size:10px;color:var(--muted)}.customer-reservation-card dd{margin:4px 0 0;font-weight:800}.customer-reservation-card dd small{display:block;color:var(--muted);font-weight:500;margin-top:3px}@media(max-width:760px){.customer-reservation-list{grid-template-columns:1fr}.reservation-login-card{display:block}.reservation-login-card button{margin-top:12px}.customer-reservation-card header{display:block}.customer-reservation-card .status{display:inline-block;margin-top:8px}}
.reservation-request-note{margin-top:13px;border:1px solid #f2e3d5;background:#fff8ef;border-radius:12px;padding:12px}.reservation-request-note b{display:block;color:#bd7b16;font-size:12px}.reservation-request-note p{margin:5px 0 0;color:var(--ink);font-size:12px;line-height:1.45}.reservation-request-note small{display:block;margin-top:6px;color:var(--muted)}.customer-actions{justify-content:flex-start;margin-top:13px;border-top:1px solid #f0ede8;padding-top:12px}
.dot{display:none}.dot.active{display:block}.notification-panel{display:none;position:fixed;top:78px;right:24px;width:min(420px,calc(100vw - 28px));max-height:calc(100vh - 104px);overflow:auto;z-index:20;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 22px 60px rgba(50,42,34,.14)}.notification-panel.active{display:block}.notification-list{display:flex;flex-direction:column;gap:10px}.notification-item{display:flex;justify-content:space-between;gap:12px;border:1px solid #eee9e2;border-radius:12px;padding:12px;background:#fff}.notification-item.unread{border-color:#ffc5b8;background:#fff8f5}.notification-item strong{font-size:13px}.notification-item p{font-size:12px;line-height:1.45;margin:5px 0;color:var(--ink)}.notification-item small{display:block;color:var(--muted);font-size:10px}.notification-item button{border:0;border-radius:8px;background:#fff0ec;color:var(--coral);font-weight:800;padding:7px 9px;white-space:nowrap;align-self:flex-start}@media(max-width:640px){.notification-panel{top:70px;right:14px;left:14px;width:auto}}
.notification-preference-list{display:grid;gap:10px}.notification-preference-card{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #eee9e2;background:#fff;border-radius:13px;padding:14px}.notification-preference-card span,.notification-preference-card small{display:block;color:var(--muted);font-size:10px}.notification-preference-card strong{display:block;margin:3px 0;font-size:14px}.notification-toggle-group{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.notification-toggle-group button{border:1px solid var(--line);background:#f4f2ee;color:#697378;border-radius:999px;padding:7px 11px;font-weight:900;font-size:11px}.notification-toggle-group button.active{border-color:#ffc5b8;background:#fff0ec;color:var(--coral)}@media(max-width:560px){.notification-preference-card{display:block}.notification-toggle-group{justify-content:flex-start;margin-top:10px}}
.reservation-quote-note{margin-top:13px;border:1px solid #dbe8df;background:#f5fbf7;border-radius:12px;padding:12px}.reservation-quote-note b{display:block;color:#43875d;font-size:12px}.reservation-quote-note dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0 0}.reservation-quote-note dt{font-size:10px;color:var(--muted)}.reservation-quote-note dd{margin:3px 0 0;font-weight:900}.reservation-quote-note p{margin:8px 0 0;color:var(--ink);font-size:12px;line-height:1.45}.reservation-quote-note small{display:block;margin-top:6px;color:var(--muted)}
.reservation-payment-note{margin-top:10px;border:1px solid #d9e4f2;background:#f6f9fe;border-radius:12px;padding:12px}.reservation-payment-note b{display:block;color:#4f77a8;font-size:12px}.reservation-payment-note dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0 0}.reservation-payment-note dt{font-size:10px;color:var(--muted)}.reservation-payment-note dd{margin:3px 0 0;font-weight:900}
.reservation-note-list{margin-top:10px;border:1px solid #dbe8df;background:#f7fbf8;border-radius:12px;padding:12px}.reservation-note-list>b{display:block;color:#43875d;font-size:12px;margin-bottom:8px}.reservation-note-list div{border-top:1px solid #e4eee7;padding:8px 0}.reservation-note-list div:first-of-type{border-top:0}.reservation-note-list span,.reservation-note-list small{display:block;color:var(--muted);font-size:10px}.reservation-note-list p{margin:4px 0;color:#4e5961;font-size:12px;line-height:1.45}
.form-divider{border:0;border-top:1px solid var(--line);margin:16px 0}.account-link-row{align-items:end}.account-invite-title{margin-top:18px}.partner-membership-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}.membership-chip{border:1px solid #dbe8df;background:#f5fbf7;border-radius:12px;padding:10px 12px}.membership-chip b,.membership-chip small{display:block}.membership-chip small{color:var(--muted);font-size:10px;margin-top:3px}.invite-chip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invite-chip button{border:0;border-radius:8px;padding:7px 9px;background:#fff0ec;color:var(--coral);font-weight:800}.compact-empty{padding:10px}
.customer-profile-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:16px}.customer-profile-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:#616b72}.customer-profile-form input{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 13px;color:var(--ink);outline:0;transition:border-color .2s,box-shadow .2s}.customer-profile-form input:focus{border-color:#ffad9d;box-shadow:0 0 0 3px rgba(255,107,82,.12)}.customer-profile-form.locked{opacity:.72}.customer-child-list{display:flex;flex-wrap:wrap;gap:8px}.customer-profile-form .primary-button{align-self:flex-start}
.place-image.has-photo{background-size:cover;background-position:center}.place-image.has-photo:before,.place-image.has-photo:after{display:none}.place-actions{display:flex;gap:7px}.place-actions button{white-space:nowrap}.partner-venue-thumb{height:130px;border-radius:14px;background:#fff2db;display:grid;place-items:center;color:var(--coral);font-weight:900;margin-bottom:12px;background-size:cover;background-position:center}.partner-venue-thumb.has-photo{box-shadow:inset 0 -50px 70px rgba(0,0,0,.16)}.venue-image-tools{margin:12px 0}.venue-image-tools label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#647078}.venue-image-tools input{border:1px dashed var(--line);border-radius:10px;padding:9px;background:#fff}
.venue-detail-section{display:none}.venue-detail-section.active{display:block}body.venue-detail-mode #customer-view>.customer-hero,body.venue-detail-mode #customer-view>.search-card,body.venue-detail-mode #customer-view>.filter-strip,body.venue-detail-mode #customer-view>.content-section:not(.venue-detail-section),body.venue-detail-mode #customer-view>.booking-banner{display:none}body.venue-detail-mode .venue-detail-section{display:block;margin-top:28px}.venue-detail-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.venue-detail-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:0;min-height:330px}.venue-detail-main-image{min-height:330px;background:#fff2db;display:grid;place-items:center;background-size:cover;background-position:center;position:relative}.venue-detail-main-image span{font-size:78px}.venue-detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#f8f5ef}.venue-detail-gallery img,.venue-detail-thumb-fallback{width:100%;height:100%;min-height:156px;object-fit:cover;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--coral);font-weight:900}.venue-detail-body{padding:24px;display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.venue-detail-copy h3{font:900 26px Nunito,"Gowun Dodum";margin:6px 0 8px}.venue-detail-copy p{color:#5f6b72;line-height:1.7;margin:0 0 15px}.venue-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.venue-detail-meta span,.amenity-chip{border:1px solid var(--line);background:#fffaf5;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:#5e6870}.venue-detail-info{display:grid;gap:10px}.venue-detail-info article{border:1px solid #eee9e2;border-radius:12px;padding:13px;background:#fff}.venue-detail-info b{display:block;font-size:12px;color:var(--coral);margin-bottom:5px}.venue-detail-info p{margin:0;color:#59636b;line-height:1.55;font-size:13px}.amenity-list{display:flex;gap:7px;flex-wrap:wrap}.venue-detail-cta{margin-top:18px;display:flex;gap:9px;flex-wrap:wrap}.venue-detail-cta button{border:0;border-radius:9px;padding:11px 14px;font-weight:900}.venue-detail-cta .primary-button{height:auto;box-shadow:0 4px 0 #d9543e}.venue-detail-cta .ghost-button{background:#f4f2ee;color:#566169}@media(max-width:900px){.venue-detail-hero,.venue-detail-body{grid-template-columns:1fr}.venue-detail-gallery{grid-template-columns:repeat(4,1fr)}.venue-detail-gallery img,.venue-detail-thumb-fallback{min-height:90px}}@media(max-width:560px){.venue-detail-gallery{grid-template-columns:1fr 1fr}.venue-detail-main-image{min-height:240px}.venue-detail-body{padding:18px}}
.management-form textarea.long-description{min-height:180px}.refund-policy-editor{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffaf7}.refund-policy-editor>small{color:var(--muted)}.refund-policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.refund-policy-grid label{position:relative}.refund-policy-grid input{padding-right:30px}.refund-policy-grid em{position:absolute;right:11px;bottom:12px;font-style:normal;color:var(--muted)}.venue-gallery-heading{display:grid;gap:3px}.venue-gallery-heading small,.venue-multi-upload small{color:var(--muted);font-weight:500}.partner-image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0}.partner-image-card{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#f4f2ee;cursor:grab}.partner-image-card.primary{border-color:var(--coral)}.partner-image-card.dragging{opacity:.45}.partner-image-card img{width:100%;height:100%;object-fit:cover}.partner-image-card>span,.partner-image-card>button:not(.image-delete){position:absolute;left:5px;bottom:5px;border:0;border-radius:7px;padding:5px 7px;background:rgba(255,255,255,.92);color:var(--coral);font-size:10px;font-weight:900}.partner-image-card .image-delete{position:absolute;right:5px;top:5px;width:25px;height:25px;border:0;border-radius:50%;background:rgba(34,39,42,.76);color:#fff;font-size:16px}.image-order-buttons{position:absolute;right:5px;bottom:5px;display:flex;gap:3px}.image-order-buttons button{width:25px;height:25px;border:0;border-radius:7px;background:rgba(255,255,255,.92);color:#4f5b62;font-weight:900}.venue-multi-upload input{width:100%}.venue-detail-copy>p,.venue-detail-info p{white-space:pre-line}.venue-detail-gallery{max-height:330px;overflow:auto}.venue-detail-gallery button{border:0;padding:0;border-radius:10px;background:transparent;cursor:pointer;min-height:120px}.venue-detail-gallery button img{display:block;height:100%}@media(max-width:720px){.refund-policy-grid{grid-template-columns:1fr 1fr}.partner-image-gallery{grid-template-columns:repeat(2,1fr)}}
.filter-strip{max-width:1140px;margin:18px auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:1.2fr .95fr .95fr auto auto auto;gap:10px;align-items:end}.filter-strip label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#606a70}.filter-strip input,.filter-strip select{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;color:var(--ink);outline:0}.filter-strip .check-filter{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 11px;display:flex;flex-direction:row;align-items:center;gap:7px;white-space:nowrap}.filter-strip .check-filter input{width:16px;height:16px;padding:0}.place-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.place-card-badges span{background:#f4f2ee;color:#667179;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.place-card-badges .group{background:#fff0d5;color:#bd7b16}.place-card-badges .parking{background:#e4f3e9;color:#43875d}@media(max-width:1000px){.filter-strip{margin-left:24px;margin-right:24px;grid-template-columns:1fr 1fr 1fr}}@media(max-width:640px){.filter-strip{grid-template-columns:1fr}.filter-strip .check-filter{justify-content:flex-start}}
.saved-venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.saved-venue-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.saved-venue-panel header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.saved-venue-panel h3{margin:0;font-size:16px}.saved-venue-panel small{color:var(--muted)}.saved-venue-list{display:flex;flex-direction:column;gap:10px}.saved-venue-card{border:1px solid #eee9e2;border-radius:12px;padding:10px;display:grid;grid-template-columns:82px 1fr;gap:12px;background:#fff}.saved-venue-thumb{height:72px;border-radius:10px;background:#fff2db;display:grid;place-items:center;background-size:cover;background-position:center;color:var(--coral);font-size:28px}.saved-venue-thumb.has-photo span{display:none}.saved-venue-card strong,.saved-venue-card small{display:block}.saved-venue-card small{color:var(--muted);font-size:11px;margin-top:4px}.saved-venue-actions{display:flex;gap:7px;margin-top:9px}.saved-venue-actions button{border:0;background:#fff0ec;color:var(--coral);border-radius:8px;padding:7px 9px;font-weight:800;font-size:11px}@media(max-width:820px){.saved-venue-grid{grid-template-columns:1fr}}@media(max-width:430px){.saved-venue-card{grid-template-columns:1fr}.saved-venue-thumb{height:120px}}

.site-footer{margin:70px auto 0;padding:28px max(4vw,28px);border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#6f777d}.site-footer b{color:var(--ink);margin-right:10px}.site-footer nav{display:flex;flex-wrap:wrap;gap:14px}.site-footer a{color:#5c646b;text-decoration:none;font-weight:800}.site-footer a:hover{color:var(--coral)}.policy-shell{min-height:100vh;background:#f8f8f6;color:var(--ink)}.policy-main{max-width:920px;margin:0 auto;padding:48px 22px 80px}.policy-hero{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.policy-hero h1{font:900 34px Nunito,"Gowun Dodum";margin:8px 0}.policy-hero p{color:var(--muted);line-height:1.7;margin:0}.policy-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;margin-top:18px}.policy-section h2{font-size:21px;margin:0 0 13px}.policy-section h3{font-size:16px;margin:18px 0 8px}.policy-section p,.policy-section li{color:#59636b;line-height:1.75}.policy-section ul,.policy-section ol{padding-left:22px}.policy-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.policy-table th,.policy-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.policy-table th{background:#fff5f1;color:#4d555b}.policy-note{background:#fff8df;border:1px solid #f0df9c;border-radius:12px;padding:14px;color:#6b5a1c}.policy-back{display:inline-flex;margin-bottom:18px;color:var(--coral);font-weight:900;text-decoration:none}@media(max-width:720px){.site-footer{display:block}.site-footer nav{margin-top:14px}.policy-hero{padding:24px}.policy-table{font-size:12px}}
.reservation-review-note{margin-top:10px;border:1px solid #f1dfad;background:#fffaf0;border-radius:12px;padding:12px}.reservation-review-note b{display:block;color:#b67911;font-size:12px}.reservation-review-note p{margin:6px 0 0;color:#4e5961;font-size:12px;line-height:1.45}.venue-review-section{border-top:1px solid var(--line);padding:22px 24px 24px;background:#fffdf9}.venue-review-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.venue-review-heading b{font-size:16px}.venue-review-heading span,.venue-review-item strong{color:#e09e10}.venue-review-item{border:1px solid #eee9e2;border-radius:12px;padding:13px;margin-top:10px;background:#fff}.venue-review-item div{display:flex;justify-content:space-between;gap:12px}.venue-review-item small{color:var(--muted)}.venue-review-item p{margin:8px 0 0;color:#59636b;line-height:1.55;font-size:13px}@media(max-width:560px){.venue-review-item div{display:block}.venue-review-item small{display:block;margin-top:4px}}
.reservation-review-note small{display:block;margin-top:7px;color:var(--muted)}.venue-review-item aside{margin-top:10px;border-radius:10px;background:#f5fbf7;border:1px solid #dbe8df;padding:10px}.venue-review-item aside b{display:block;color:#43875d;font-size:12px}.venue-review-item aside p{margin-top:5px}.review-card .rating{font-weight:900;white-space:nowrap}
.venue-status.visible{background:#e4f3e9;color:#43875d}
.change-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.change-preview div{border:1px solid #eee2d7;background:#fff;border-radius:10px;padding:10px}.change-preview span,.request-history span{display:block;color:var(--muted);font-size:10px;font-weight:800}.change-preview b{display:block;margin-top:4px;font-size:12px}.change-preview small{margin-top:4px}.request-history{margin-top:10px;border:1px solid #e3e8ef;background:#f8fbff;border-radius:12px;padding:12px}.request-history>b{display:block;color:#4f77a8;font-size:12px;margin-bottom:8px}.request-history div{padding:7px 0;border-top:1px solid #e8edf3}.request-history div:first-of-type{border-top:0}.request-history small{display:block;color:var(--muted);font-size:10px;margin-top:3px}@media(max-width:720px){.change-preview{grid-template-columns:1fr}}

.issue-summary{margin-top:0}.admin-issue-list{display:flex;flex-direction:column;gap:12px}.admin-issue-card{border:1px solid #eee9e2;border-radius:13px;background:#fff;padding:16px}.admin-issue-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-issue-card header strong,.admin-issue-card header small{display:block}.admin-issue-card header small{color:var(--muted);font-size:11px;margin-top:4px}.admin-issue-card p{margin:12px 0 0;color:#59636b;font-size:12px;line-height:1.55}.admin-issue-card .reservation-actions{margin-top:13px}@media(max-width:560px){.admin-issue-card header{display:block}.admin-issue-card .venue-status{display:inline-block;margin-top:8px}}
.support-ticket-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.support-ticket-list{display:flex;flex-direction:column;gap:12px}.support-ticket-card{border:1px solid #eee9e2;background:#fff;border-radius:13px;padding:15px}.support-ticket-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.support-ticket-card header strong,.support-ticket-card header span,.support-ticket-card header small,.support-ticket-card>small{display:block}.support-ticket-card header span,.support-ticket-card header small,.support-ticket-card>small{color:var(--muted);font-size:10px}.support-ticket-card header strong{font-size:14px;margin:3px 0}.support-ticket-card p{margin:11px 0 0;color:#59636b;font-size:12px;line-height:1.55}.support-ticket-card aside{margin-top:10px;border:1px solid #dbe8df;background:#f7fbf8;border-radius:10px;padding:10px}.support-ticket-card aside b{display:block;color:#43875d;font-size:12px}.support-ticket-card .reservation-actions{margin-top:12px}.venue-status.open{background:#fff0d5;color:#c2801e}.venue-status.in_progress{background:#dfeefa;color:#478fc9}.venue-status.resolved{background:#e4f3e9;color:#43875d}.venue-status.closed{background:#eef1f2;color:#667179}@media(max-width:900px){.support-ticket-grid{grid-template-columns:1fr}}@media(max-width:560px){.support-ticket-card header{display:block}.support-ticket-card .venue-status{display:inline-block;margin-top:8px}}
#customer-support-ticket-form{gap:14px}#customer-support-ticket-form label{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center}#customer-support-ticket-form label>span{line-height:1.4}#customer-support-ticket-form input,#customer-support-ticket-form select,#customer-support-ticket-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);outline:0;transition:border-color .2s,box-shadow .2s}#customer-support-ticket-form input,#customer-support-ticket-form select{height:44px;padding:0 13px}#customer-support-ticket-form textarea{min-height:112px;padding:12px 13px;resize:vertical;line-height:1.55}#customer-support-ticket-form .support-message-field{align-items:start}#customer-support-ticket-form .support-message-field>span{padding-top:12px}#customer-support-ticket-form input:focus,#customer-support-ticket-form select:focus,#customer-support-ticket-form textarea:focus{border-color:#ffad9d;box-shadow:0 0 0 3px rgba(255,107,82,.12)}@media(max-width:560px){#customer-support-ticket-form .form-row.two{grid-template-columns:1fr}#customer-support-ticket-form label{grid-template-columns:48px minmax(0,1fr)}}
.launch-summary{margin-top:0}.launch-checklist{display:grid;gap:18px}.launch-category{display:grid;gap:10px}.launch-category h3{font-size:14px;margin:0;color:#5d6870}.launch-check-card{border:1px solid #eee9e2;background:#fff;border-radius:13px;padding:15px;border-left:4px solid #ccd4d8}.launch-check-card.ready{border-left-color:#55b37a}.launch-check-card.in_progress,.launch-check-card.pending{border-left-color:#e7a13c}.launch-check-card.blocked{border-left-color:var(--coral)}.launch-check-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.launch-check-card header span,.launch-check-card header small,.launch-check-card>small{display:block;color:var(--muted);font-size:10px}.launch-check-card header strong{display:block;font-size:14px;margin:3px 0}.launch-check-card header b{border-radius:999px;padding:6px 9px;background:#eef1f2;color:#667179;font-size:11px;white-space:nowrap}.launch-check-card.ready header b{background:#e4f3e9;color:#43875d}.launch-check-card.pending header b,.launch-check-card.in_progress header b{background:#fff0d5;color:#c2801e}.launch-check-card.blocked header b{background:#fff0ec;color:var(--coral)}.launch-check-card p{margin:10px 0 0;color:#59636b;font-size:12px;line-height:1.5}.launch-check-card .reservation-actions{margin-top:12px}@media(max-width:560px){.launch-check-card header{display:block}.launch-check-card header b{display:inline-block;margin-top:8px}}
.test-scenario-list{display:grid;gap:12px}.test-scenario-card{border:1px solid #eee9e2;background:#fff;border-radius:13px;padding:15px;border-left:4px solid #55b37a}.test-scenario-card.cleaned{border-left-color:#aeb8bd;background:#fafafa}.test-scenario-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.test-scenario-card header span,.test-scenario-card header small{display:block;color:var(--muted);font-size:10px}.test-scenario-card header strong{display:block;font-size:14px;margin:3px 0}.test-scenario-card header b{border-radius:999px;padding:6px 9px;background:#e4f3e9;color:#43875d;font-size:11px;white-space:nowrap}.test-scenario-card.cleaned header b{background:#eef1f2;color:#667179}.test-scenario-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0 0}.test-scenario-card dt{font-size:10px;color:var(--muted);font-weight:800}.test-scenario-card dd{margin:3px 0 0;font-size:12px;font-weight:900;color:#333;word-break:break-all}.test-check-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.test-check-list span{border:1px solid #dbe8df;background:#f7fbf8;color:#43875d;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}@media(max-width:700px){.test-scenario-card header{display:block}.test-scenario-card header b{display:inline-block;margin-top:8px}.test-scenario-card dl{grid-template-columns:1fr}}
.admin-stat-row[data-admin-panel-jump]{cursor:pointer}.admin-stat-row[data-admin-panel-jump]:hover{color:var(--coral)}
.onboarding-card .onboarding-progress{height:9px;background:#f0ede8;border-radius:999px;overflow:hidden;margin:14px 0 6px}.onboarding-card .onboarding-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--coral),#ffc94a);border-radius:inherit}.onboarding-steps{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.onboarding-steps span{border:1px solid #eee9e2;background:#f7f6f3;color:#6a747a;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.onboarding-steps span.done{border-color:#dbe8df;background:#f5fbf7;color:#43875d}.onboarding-missing{display:block;margin-top:11px;color:#bd7b16;font-weight:800}.onboarding-missing.done{color:#43875d}.onboarding-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #f0ede8;margin-top:12px;padding-top:12px}.onboarding-actions button{border:0;border-radius:8px;background:#fff0ec;color:var(--coral);font-weight:900;padding:8px 10px;font-size:12px}
button,.primary-button,.search-button,.text-button,.side-link,.admin-link,.status,.venue-status,.live-badge,.notification-toggle-group button,.reservation-actions button,.place-footer button,.saved-venue-actions button,.onboarding-actions button,.place-actions button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.primary-button,.search-button{height:auto;min-height:48px}.primary-button.compact{height:auto;min-height:40px}.partner-token-box{flex-wrap:wrap;justify-content:flex-end}.partner-token-box .legacy-token-input{display:none}.dev-mode .partner-token-box .legacy-token-input{display:block}.panel-title>div,.dashboard-header>div,.partner-venue-item header>div,.reservation-card header>div,.customer-reservation-card header>div,.admin-partner-card header>div,.admin-issue-card header>div,.support-ticket-card header>div,.launch-check-card header>div,.test-scenario-card header>div,.notification-item>div,.saved-venue-card>div,.place-body,.company-info{min-width:0}.panel-title h2,.panel-title span,.dashboard-header h1,.dashboard-header span,.partner-venue-item h3,.partner-venue-item dd,.reservation-card dd,.customer-reservation-card dd,.admin-partner-card dd,.admin-issue-card p,.support-ticket-card p,.launch-check-card p,.notification-item p,.saved-venue-card strong,.saved-venue-card small,.place-body h3,.place-description,.company-info b,.company-info small{overflow-wrap:anywhere}.partner-venue-item dl,.reservation-card dl,.customer-reservation-card dl,.admin-partner-card dl,.test-scenario-card dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media(max-width:720px){.partner-token-box{display:flex;justify-content:flex-start}.dev-mode .partner-token-box{display:grid;grid-template-columns:1fr auto}.side-link,.admin-link{white-space:nowrap}}
.input-modal{text-align:left}.input-modal .modal-icon,.input-modal h2,.input-modal p{text-align:center}.input-modal input,.input-modal textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:0;font:inherit}.input-modal textarea{min-height:104px;resize:vertical}.input-modal input.hidden,.input-modal textarea.hidden{display:none}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}.modal-actions button{border:0;border-radius:10px;padding:11px 15px;font-weight:900}.modal-actions .ghost-button{background:#f4f2ee;color:#566169}@media(max-width:430px){.modal-actions{display:grid;grid-template-columns:1fr 1fr}}
.not-found-view{display:none;min-height:calc(100vh - 78px);padding:74px 22px;place-items:center;background:#f8f8f6;text-align:center}.not-found-view.active{display:grid}.not-found-view>div{width:min(520px,100%)}.not-found-view h1{font:900 34px Nunito,"Gowun Dodum";margin:9px 0}.not-found-view p{color:var(--muted);line-height:1.7;margin:0}.not-found-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.not-found-actions a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.not-found-actions .ghost-button{border-radius:11px;background:#f4f2ee;color:#566169;font-weight:900;padding:13px 18px}@media(max-width:430px){.not-found-actions{display:grid}.not-found-actions a{width:100%}}
@media(max-width:720px){html,body,.app-shell{width:100%;max-width:100%;overflow-x:hidden}input,select,textarea{min-width:0;max-width:100%}.dashboard-view.active{display:block;width:100%;min-width:0}.dashboard-view .sidebar{width:100%;max-width:100%;padding:10px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.dashboard-view .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}.dashboard-view .side-link,.dashboard-view .admin-link{width:100%;min-width:0;padding:10px 9px;white-space:normal;overflow-wrap:anywhere;text-align:center}.dashboard-main{width:100%;max-width:100%;min-width:0;padding:18px 12px;overflow:hidden}.dashboard-header,.management-title{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.dashboard-header>.primary-button,.management-title>.primary-button,.management-title>.reservation-toolbar,.management-title>.partner-token-box{width:100%}.dashboard-panel,.dashboard-grid,.management-grid,.product-management-grid,.product-workbench,.support-ticket-grid,.panel,.panel-title,.reservation-panel{min-width:0;max-width:100%}.panel-title{align-items:flex-start;gap:10px}.reservation-toolbar{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}.reservation-toolbar select,.reservation-toolbar input,.reservation-toolbar button{width:100%}.partner-token-box,.dev-mode .partner-token-box{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-content:stretch}.partner-token-box input,.partner-token-box button{width:100%}.form-row.two,.form-row.three,.schedule-editor-row,.account-link-row{grid-template-columns:minmax(0,1fr)}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:560px}.reservation-actions,.onboarding-actions,.saved-venue-actions,.place-actions,.notification-toggle-group{max-width:100%;flex-wrap:wrap;justify-content:flex-start}.modal-backdrop{padding:12px;overflow:hidden}.modal{width:calc(100vw - 24px);max-width:420px;max-height:calc(100dvh - 24px);padding:24px 18px;overflow-x:hidden;overflow-y:auto}.modal h2,.modal p,.modal-message{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.input-modal input,.input-modal textarea{width:100%;max-width:100%}.notification-panel{left:12px;right:12px;top:72px;width:auto;max-width:none;max-height:calc(100dvh - 84px)}.notification-item{min-width:0;flex-wrap:wrap}.notification-item>div{width:100%}.notification-item button{max-width:100%;white-space:normal}.admin-partner-card,.admin-issue-card,.reservation-card,.support-ticket-card,.launch-check-card,.test-scenario-card,.partner-venue-item{max-width:100%;overflow:hidden}}@media(max-width:380px){.dashboard-view .sidebar nav{grid-template-columns:minmax(0,1fr)}.modal-actions{grid-template-columns:minmax(0,1fr)}}
