*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#fee500;--primary-dark:#f5c800;--primary-text:#3c1e1e;--accent:#ff6b35;--accent-light:#fff3ef;--surface:#fff;--surface-2:#f8f9fa;--surface-3:#f1f3f5;--border:#e9ecef;--text-primary:#1a1a2e;--text-secondary:#6c757d;--text-muted:#adb5bd;--available:#28a745;--partial:#fd7e14;--full:#dc3545;--blocked:#6c757d;--radius:16px;--radius-sm:8px;--shadow:0 4px 20px #00000014;--shadow-lg:0 8px 40px #0000001f}html{font-size:16px}body{background:var(--surface-2);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,Apple SD Gothic Neo,Pretendard,Noto Sans KR,sans-serif;line-height:1.6}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}html{scroll-behavior:smooth;scroll-padding-top:148px}.navbar{z-index:200;background:var(--primary);will-change:transform;transition:transform .32s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #fee50059}.navbar--visible{transform:translateY(0)}.navbar--hidden{transform:translateY(-100%)}.navbar__inner{flex-direction:column;align-items:center;max-width:1100px;margin:0 auto;display:flex}.navbar__menu-row{border-bottom:1px solid #00000014;justify-content:center;align-items:center;gap:4px;width:100%;padding:10px 24px 8px;display:flex}.navbar__nav-item{color:var(--primary-text);white-space:nowrap;border-radius:20px;padding:7px 16px;font-size:14px;font-weight:600;transition:background .18s}.navbar__nav-item:hover{background:#0000001a}.navbar__cancel-btn{color:var(--primary-text);white-space:nowrap;background:#0000001f;border-radius:20px;margin-left:6px;padding:7px 16px;font-size:14px;font-weight:700;transition:background .18s}.navbar__cancel-btn:hover{background:#00000038}.navbar__brand-row{justify-content:center;align-items:center;width:100%;padding:12px 24px 16px;display:flex;position:relative}.navbar__logo{align-items:center;gap:14px;text-decoration:none;display:flex}.navbar__logo-img{object-fit:contain;width:auto;height:72px}.navbar__logo-main{color:var(--primary-text);letter-spacing:-.5px;font-size:34px;font-weight:900;line-height:1.15;display:block}.navbar__logo-sub{color:var(--primary-text);opacity:.65;margin-top:2px;font-size:14px;font-weight:500;display:block}.navbar__hamburger{background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;transition:background .2s;display:none;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.navbar__hamburger:hover{background:#0000001a}.navbar__hamburger span{background:var(--primary-text);transform-origin:50%;border-radius:2px;width:24px;height:2.5px;transition:all .25s;display:block}.navbar__hamburger.open span:first-child{transform:translateY(7.5px)rotate(45deg)}.navbar__hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__hamburger.open span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.navbar__drawer{background:var(--primary);border-top:1px solid #00000014;max-height:0;transition:max-height .3s;overflow:hidden}.navbar__drawer--open{max-height:280px}.navbar__drawer-item{color:var(--primary-text);border-bottom:1px solid #0000000f;padding:16px 24px;font-size:16px;font-weight:600;transition:background .15s;display:block}.navbar__drawer-item:hover{background:#00000012}.navbar__drawer-cancel{text-align:left;color:#c0392b;width:100%;font-weight:700}.navbar-spacer{height:148px}@media (width<=640px){html{scroll-padding-top:76px}.navbar__inner{flex-direction:row;align-items:center;height:76px;padding:0 16px}.navbar__menu-row{display:none}.navbar__brand-row{border-bottom:none;flex:1;justify-content:flex-start;padding:0}.navbar__logo-img{height:46px}.navbar__logo-main{font-size:22px}.navbar__logo-sub{font-size:11px}.navbar__hamburger{margin-left:auto;display:flex;position:static;transform:none}.navbar-spacer{height:76px}}.main-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 20px 60px}.hero-section{background:url(/20251031_105304.jpg) 50% 20%/cover no-repeat;justify-content:center;align-items:center;min-height:540px;display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";z-index:0;background:linear-gradient(#0a19509e 0%,#0a195080 50%,#0a1950b3 100%);position:absolute;inset:0}.hero-bg-dots{pointer-events:none;z-index:0;background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.hero-content{z-index:1;text-align:center;max-width:760px;padding:72px 24px 64px;position:relative}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.1em;background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;margin-bottom:24px;padding:6px 16px;font-size:12px;font-weight:700;display:inline-block}.hero-title{color:#fff;letter-spacing:-1px;margin-bottom:20px;font-size:clamp(28px,5.5vw,52px);font-weight:900;line-height:1.2}.hero-title em{color:#7eb3ff;font-style:normal}.hero-desc{color:#ffffffc7;margin-bottom:36px;font-size:clamp(14px,2vw,16px);line-height:1.85}.info-chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffe6;background:#ffffff1f;border:1px solid #ffffff40;border-radius:24px;padding:8px 18px;font-size:13px;font-weight:500}.hero-scroll-hint{color:#ffffff73;z-index:1;font-size:22px;animation:1.6s infinite bounceDown;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@keyframes bounceDown{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(7px)}}@media (width<=600px){.hero-section{min-height:420px}.hero-content{padding:56px 20px 48px}}.booking-layout{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px;display:grid}@media (width<=768px){.booking-layout{grid-template-columns:1fr}}.calendar-container{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.month-title{font-size:18px;font-weight:800}.month-nav-btn{background:var(--surface-3);width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .2s;display:flex}.month-nav-btn:hover{background:var(--primary)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.weekday-label{text-align:center;color:var(--text-muted);padding:4px 0;font-size:12px;font-weight:700}.weekday-label.sunday{color:#f03e3e}.weekday-label.saturday{color:#228be6}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-day{aspect-ratio:1;border:2px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:600;transition:all .18s;display:flex;position:relative}.calendar-day .day-number{line-height:1}.calendar-day.sun .day-number{color:#f03e3e}.calendar-day.sat .day-number{color:#228be6}.calendar-day.available{color:var(--text-primary);background:#f0fff4}.calendar-day.available:hover{border-color:var(--available);background:#d3f9d8;transform:scale(1.06)}.calendar-day.partial{background:#fff9db}.calendar-day.partial:hover{border-color:var(--partial);background:#ffe066;transform:scale(1.06)}.calendar-day.full{color:var(--text-muted);cursor:not-allowed;background:#fff5f5}.calendar-day.blocked{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.calendar-day.other-month{opacity:.25;cursor:default}.calendar-day.past{opacity:.35;cursor:not-allowed}.calendar-day.today .day-number{background:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:900;display:flex}.calendar-day.selected{box-shadow:0 2px 12px #fee50080;background:var(--primary)!important;border-color:var(--primary-dark)!important}.day-dot{border-radius:50%;width:5px;height:5px}.dot-available{background:var(--available)}.dot-partial{background:var(--partial)}.dot-full{background:var(--full)}.dot-blocked{background:var(--blocked)}.dot-selected{background:var(--primary-text)}.dot-other-month,.dot-past{display:none}.calendar-legend{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-dot.available{background:var(--available)}.legend-dot.partial{background:var(--partial)}.legend-dot.full{background:var(--full)}.legend-dot.blocked{background:var(--blocked)}.slots-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:24px;display:flex}.selected-date-header{margin-bottom:16px}.selected-date-header h3{color:var(--text-primary);font-size:17px;font-weight:800}.timeslots-container{flex:1}.timeslots-title{margin-bottom:4px;font-size:15px;font-weight:700}.timeslots-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.timeslots-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.timeslots-grid--single{grid-template-columns:1fr}.timeslot-btn{border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;transition:all .18s;display:flex}.timeslot-time{font-size:16px;font-weight:800}.timeslot-end{color:inherit;opacity:.7;font-size:11px}.timeslot-status{font-size:11px;font-weight:600}.timeslot-available{color:#1b7a34;background:#f0fff4;border-color:#d3f9d8}.timeslot-available:hover{border-color:var(--available);background:#d3f9d8;transform:translateY(-2px);box-shadow:0 4px 12px #28a74533}.timeslot-selected{background:var(--primary);border-color:var(--primary-dark);color:var(--primary-text);transform:translateY(-2px);box-shadow:0 4px 16px #fee50080}.timeslot-unavailable{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.timeslot-unavailable .timeslot-status{color:var(--full)}.timeslot-locked{cursor:not-allowed;color:var(--text-muted)!important;background:#f1f3f5!important}.timeslot-locked .timeslot-time{opacity:.5;text-decoration:line-through}.timeslot-locked .timeslot-status{color:var(--blocked)!important}.reserve-action{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.selected-summary{color:var(--text-secondary);text-align:center;margin-bottom:12px;font-size:14px;font-weight:600}.btn-reserve{background:var(--primary);width:100%;color:var(--primary-text);border-radius:14px;padding:16px;font-size:16px;font-weight:800;transition:all .2s;box-shadow:0 4px 16px #fee50066}.btn-reserve:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #fee50080}.empty-slots{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 0;display:flex}.empty-icon{font-size:48px}.empty-slots p{text-align:center;font-size:15px;line-height:1.7}.info-section{margin-bottom:48px}.info-section h2{text-align:center;margin-bottom:20px;font-size:22px;font-weight:800}.info-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=640px){.info-cards{grid-template-columns:1fr}}.info-card{background:var(--surface);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:28px 20px;transition:transform .2s}.info-card:hover{transform:translateY(-4px)}.info-card-icon{margin-bottom:12px;font-size:36px}.info-card h4{margin-bottom:8px;font-size:16px;font-weight:700}.info-card p{color:var(--text-secondary);font-size:13px;line-height:1.7}.why-section{background:var(--bg-secondary);padding:80px 24px}.why-header{text-align:center;margin-bottom:56px}.why-label{letter-spacing:.12em;color:var(--primary);text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.why-title{color:var(--text-primary);font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.2}.why-grid{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:20px;max-width:960px;margin:0 auto;display:grid}.why-card{border-radius:20px;flex-direction:column;padding:2px;transition:transform .2s,box-shadow .2s;display:flex}.why-card-inner{flex:1}.why-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.why-card--blue{background:linear-gradient(135deg,#1e3fae,#4c6ef5)}.why-card--blue .why-card-inner{background:#1e3fae}.why-card--blue .why-accent{color:#a5c8ff;background:#ffffff2e}.why-card--blue h3{color:#fff}.why-card--blue h3 em{color:#a5c8ff}.why-card--blue p{color:#fffc}.why-card--green{background:linear-gradient(135deg,#166534,#16a34a)}.why-card--green .why-card-inner{background:#166534}.why-card--green .why-accent{color:#86efac;background:#ffffff2e}.why-card--green h3{color:#fff}.why-card--green h3 em{color:#86efac}.why-card--green p{color:#fffc}.why-card--purple{background:linear-gradient(135deg,#4c1d95,#7c3aed)}.why-card--purple .why-card-inner{background:#4c1d95}.why-card--purple .why-accent{color:#c4b5fd;background:#ffffff2e}.why-card--purple h3{color:#fff}.why-card--purple h3 em{color:#c4b5fd}.why-card--purple p{color:#fffc}.why-card--orange{background:linear-gradient(135deg,#92400e,#d97706)}.why-card--orange .why-card-inner{background:#92400e}.why-card--orange .why-accent{color:#fcd34d;background:#ffffff2e}.why-card--orange h3{color:#fff}.why-card--orange h3 em{color:#fcd34d}.why-card--orange p{color:#fffc}.why-card-inner{border-radius:18px;flex-direction:column;flex:1;gap:12px;min-height:310px;padding:32px 28px;display:flex}.why-accent{letter-spacing:.1em;text-transform:uppercase;border-radius:20px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.why-card h3{margin:0;font-size:18px;font-weight:700;line-height:1.45}.why-card h3 em{font-style:normal}.why-card p{margin:0;font-size:14px;line-height:1.7}.why-program-list{grid-template-columns:1fr 1fr;gap:7px;margin:4px 0 0;padding:0;list-style:none;display:grid}.why-program-list li{color:#ffffffeb;text-align:center;background:#ffffff1f;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}@media (width<=600px){.why-grid{grid-template-columns:1fr}.why-section{padding:56px 16px}}.pricing-section{max-width:900px;margin:0 auto;padding:80px 24px}.pricing-header{text-align:center;margin-bottom:48px}.pricing-label{letter-spacing:.15em;color:var(--primary);margin-bottom:8px;font-size:12px;font-weight:700}.pricing-title{color:var(--text-primary);margin-bottom:10px;font-size:clamp(26px,4vw,38px);font-weight:800}.pricing-subtitle{color:var(--text-secondary);font-size:15px}.pricing-cards{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;display:grid}.pricing-card{border-radius:20px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 24px #00000014}.pricing-card-top{flex-shrink:0}.pricing-features,.pricing-notice{flex:1}.pricing-card--main{color:#fff;background:linear-gradient(160deg,#1e3fae 0%,#3b6de8 100%)}.pricing-card--extra{color:#fff;background:linear-gradient(160deg,#134e4a 0%,#0f766e 100%)}.pricing-card-top{padding:32px 28px 24px}.pricing-tag{letter-spacing:.08em;color:#fff;background:#fff3;border-radius:20px;margin-bottom:20px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.pricing-tag--extra{color:#fff;background:#ffffff2e}.pricing-amount{align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.pricing-number{letter-spacing:-1px;font-size:clamp(36px,5vw,52px);font-weight:900;line-height:1}.pricing-card--extra .pricing-number{color:#fff}.pricing-unit{opacity:.85;font-size:16px;font-weight:600}.pricing-card--extra .pricing-unit{color:#ffffffd9}.pricing-basis{opacity:.75;margin-top:2px;font-size:13px}.pricing-card--extra .pricing-basis{color:#ffffffbf}.pricing-vehicle-info{color:#ffffffe6;background:#ffffff26;border-radius:6px;margin-top:8px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-block}.pricing-features{border-top:1px solid #ffffff26;flex-direction:column;gap:10px;margin:0;padding:20px 28px 28px;list-style:none;display:flex}.pricing-features li{color:#ffffffe6;font-size:14px}.pricing-notice{background:#ffffff1f;border:1px solid #ffffff40;border-radius:12px;align-items:flex-start;gap:10px;margin:0 28px 20px;padding:14px 16px;display:flex}.pricing-notice-icon{flex-shrink:0;font-size:18px}.pricing-notice-sub{color:#dc3545;margin-top:8px;font-size:12px;font-weight:600}.pricing-notice p{color:#ffffffe6;margin:0;font-size:13px;line-height:1.65}.pricing-notice strong{color:#fde68a}.pricing-call-btn{background:var(--primary);color:#fff;text-align:center;border-radius:12px;margin:0 28px 28px;padding:12px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .15s;display:block}.pricing-call-btn:hover{opacity:.85}.pricing-footnote{text-align:center;color:var(--text-secondary);margin-top:28px;font-size:13px}@media (width<=640px){.pricing-cards{grid-template-columns:1fr}.pricing-section{padding:56px 16px}}.location-section{max-width:1100px;margin:0 auto;padding:64px 24px}.location-section h2{color:var(--text-primary);margin-bottom:32px;font-size:24px;font-weight:700}.location-layout{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}.location-map{background:var(--bg-secondary);border-radius:16px;width:100%;height:380px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.location-info{flex-direction:column;gap:24px;display:flex}.location-name{align-items:flex-start;gap:12px;display:flex}.location-icon{font-size:28px;line-height:1}.location-name strong{color:var(--text-primary);font-size:18px;font-weight:700;display:block}.location-floor{color:var(--text-secondary);margin-top:2px;font-size:13px}.location-detail-list{background:var(--bg-secondary);border-radius:12px;flex-direction:column;gap:12px;margin:0;padding:20px;list-style:none;display:flex}.location-detail-list li{color:var(--text-primary);gap:12px;font-size:14px;line-height:1.6;display:flex}.loc-label{width:36px;color:var(--primary);flex-shrink:0;font-weight:600}.location-detail-list a{color:var(--primary);text-decoration:none}.location-detail-list a:hover{text-decoration:underline}.location-transport h4{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.location-transport ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.location-transport li{color:var(--text-secondary);font-size:13px;line-height:1.5}.btn-map-open{background:var(--primary);color:#fff;text-align:center;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.btn-map-open:hover{opacity:.85}@media (width<=768px){.location-layout{grid-template-columns:1fr}.location-map{height:260px}}.gallery-section{background:var(--surface);padding:80px 20px;overflow:hidden}.gallery-header{text-align:center;margin-bottom:48px}.gallery-label{letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700}.gallery-title{color:var(--text-primary);margin-bottom:10px;font-size:clamp(24px,4vw,36px);font-weight:800}.gallery-subtitle{color:var(--text-secondary);font-size:15px}.carousel-wrap{max-width:1100px;margin:0 auto;padding-bottom:56px;position:relative}.carousel-stage{justify-content:center;align-items:center;height:380px;display:flex;position:relative}.carousel-card{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:18px;flex-shrink:0;width:420px;height:300px;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s,filter .5s,z-index;position:absolute;overflow:hidden;box-shadow:0 8px 40px #0000002e}.carousel-card--active{cursor:default;box-shadow:0 16px 60px #00000040}.carousel-img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.carousel-placeholder{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:20px;font-size:14px;display:flex}.carousel-placeholder span{font-size:36px}.carousel-placeholder p{font-size:16px;font-weight:600}.carousel-placeholder small{opacity:.8;font-size:12px;line-height:1.5}.carousel-btn{width:44px;height:44px;color:var(--text-primary);cursor:pointer;z-index:20;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #00000026}.carousel-btn:hover{background:#fff;transform:translateY(-50%)scale(1.1)}.carousel-btn--prev{left:0}.carousel-btn--next{right:0}.carousel-dots{align-items:center;gap:8px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.carousel-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.carousel-dot.active{background:var(--accent);transform:scale(1.4)}@media (width<=768px){.carousel-stage{height:260px}.carousel-card{border-radius:12px;width:260px;height:185px}.carousel-btn{width:36px;height:36px;font-size:20px}}.site-footer{background:var(--text-primary);color:#ffffffb3;padding:32px 20px}.footer-inner{text-align:center;flex-direction:column;gap:6px;max-width:1100px;margin:0 auto;font-size:13px;display:flex}.footer-inner strong{color:#fff;font-size:15px}.footer-admin-link{color:#fff3;justify-content:center;align-items:center;margin-top:8px;transition:color .2s;display:inline-flex}.footer-admin-link:hover{color:#fff9}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);padding:28px;animation:.25s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{font-size:20px;font-weight:800}.modal-close{background:var(--surface-3);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background .2s;display:flex}.modal-close:hover{background:var(--border)}.modal-date-badge{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.modal-date-badge span{background:var(--primary);color:var(--primary-text);border-radius:20px;padding:6px 14px;font-size:14px;font-weight:700}.modal-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.required{color:var(--full)}.form-group input,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);padding:12px 14px;font-size:15px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #fee50033}.form-group input.error{border-color:var(--full)}.error-msg{color:var(--full);font-size:12px}.modal-notice{border-radius:var(--radius-sm);color:#856404;background:#fff3cd;padding:12px 14px;font-size:13px;font-weight:500}.modal-actions{gap:10px;margin-top:4px;display:flex}.btn-cancel{background:var(--surface-3);color:var(--text-secondary);border-radius:12px;flex:1;padding:14px;font-size:15px;font-weight:700;transition:background .2s}.btn-cancel:hover{background:var(--border)}.btn-submit{background:var(--primary);color:var(--primary-text);border-radius:12px;flex:2;padding:14px;font-size:15px;font-weight:800;transition:all .2s;box-shadow:0 3px 12px #fee50066}.btn-submit:hover{background:var(--primary-dark);transform:translateY(-1px)}.success-modal{text-align:center;padding:40px 32px}.success-icon{margin-bottom:16px;font-size:56px}.success-modal h2{margin-bottom:20px;font-size:22px;font-weight:800}.success-details{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:16px;display:flex}.success-details div{justify-content:space-between;font-size:14px;display:flex}.success-details span{color:var(--text-secondary)}.success-details strong{color:var(--text-primary)}.success-notice{color:#1565c0;background:#e3f2fd;border-radius:10px;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.8}.search-row{gap:8px;display:flex}.search-row input{flex:1}.btn-search{border-radius:var(--radius-sm);background:var(--text-primary);color:#fff;white-space:nowrap;padding:12px 20px;font-size:14px;font-weight:700;transition:opacity .2s}.btn-search:hover{opacity:.8}.cancel-results{margin-top:16px}.no-results{color:var(--text-muted);text-align:center;padding:20px;font-size:14px}.reservation-list{flex-direction:column;gap:10px;display:flex}.reservation-item{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.reservation-info{flex-direction:column;flex:1;gap:3px;display:flex}.reservation-info strong{font-size:14px}.reservation-info span{color:var(--text-secondary);font-size:13px}.btn-cancel-item{color:var(--full);white-space:nowrap;background:#fff5f5;border:1.5px solid #ffcdd2;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s}.btn-cancel-item:hover{background:#ffcdd2}.alert-msg{border-radius:10px;margin-top:14px;padding:14px;font-size:14px;line-height:1.7}.alert-msg.success{color:#2e7d32;background:#e8f5e9}.alert-msg.error{color:#856404;background:#fff3cd}.admin-login-wrapper{background:var(--surface-2);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.admin-login-box{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;gap:16px;padding:48px 40px;display:flex}.admin-logo{font-size:48px}.admin-login-box h2{font-size:24px;font-weight:800}.admin-login-box p{color:var(--text-secondary);font-size:14px}.admin-login-box form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.admin-login-box input{border:1.5px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:14px;font-size:15px}.admin-login-box input:focus{border-color:var(--primary);outline:none}.back-link{color:var(--text-secondary);font-size:14px;transition:color .2s}.back-link:hover{color:var(--text-primary)}.admin-wrapper{background:var(--surface-2);flex-direction:column;min-height:100vh;display:flex}.admin-header{background:var(--primary);z-index:100;position:sticky;top:0;box-shadow:0 2px 8px #fee50066}.admin-header-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.admin-title-area,.admin-header-actions{align-items:center;gap:10px;display:flex}.btn-link-small{color:var(--primary-text);background:#0000001a;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .2s}.btn-link-small:hover{background:#0003}.btn-logout{background:var(--text-primary);color:#fff;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-logout:hover{opacity:.8}.admin-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px}.admin-tabs{gap:4px;margin-bottom:20px;display:flex}.admin-tab{background:var(--surface-3);color:var(--text-secondary);border-bottom:3px solid #0000;border-radius:12px 12px 0 0;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.admin-tab.active{background:var(--surface);color:var(--text-primary);border-bottom-color:var(--primary)}.tab-panel{background:var(--surface);border-radius:0 var(--radius) var(--radius) var(--radius);box-shadow:var(--shadow);padding:24px}.panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-toolbar h3{font-size:18px;font-weight:800}.filter-row{align-items:center;gap:8px;font-size:14px;display:flex}.filter-row input[type=date]{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:14px}.btn-clear{border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-secondary);padding:8px 14px;font-size:13px;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px;font-size:15px}.reservation-table-wrap{overflow-x:auto}.reservation-table{border-collapse:collapse;width:100%;font-size:14px}.reservation-table th{background:var(--surface-2);text-align:left;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px 14px;font-weight:700}.reservation-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.reservation-table tr:hover td{background:var(--surface-2)}.date-badge{color:#1565c0;background:#eff6ff;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.memo-cell{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--text-secondary);overflow:hidden}.created-cell{white-space:nowrap;color:var(--text-secondary);font-size:12px}.btn-delete{color:var(--full);white-space:nowrap;background:#fff5f5;border:1.5px solid #ffcdd2;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .2s}.btn-delete:hover{background:#ffcdd2}.block-form-card{background:var(--surface-2);border-radius:12px;margin-bottom:20px;padding:20px}.block-form-card h4{margin-bottom:6px;font-size:16px;font-weight:700}.block-form-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.block-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.block-form-row .form-group{flex:1;min-width:140px}.flex-grow{flex:2!important}.block-submit-btn{align-self:flex-end;flex:none!important;padding:12px 24px!important}.blocked-list{flex-direction:column;gap:10px;display:flex}.blocked-item{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.blocked-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.blocked-badge{color:var(--blocked);background:#f5f5f5;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.available-badge{color:#2e7d32;background:#e8f5e9;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.blocked-info strong{font-size:14px}.blocked-reason{color:var(--text-secondary);font-size:13px}.confirm-box{background:var(--surface);border-radius:var(--radius);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:32px}.confirm-box h3{margin-bottom:8px;font-size:18px;font-weight:800}.confirm-box p{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.confirm-actions{gap:10px;display:flex}.btn-delete-confirm{background:var(--full);color:#fff;border-radius:10px;flex:1;padding:13px;font-size:15px;font-weight:700;transition:opacity .2s}.btn-delete-confirm:hover{opacity:.85}.admin-cal-wrap{flex-direction:column;gap:16px;display:flex}.admin-cal-guide{border-radius:10px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;display:flex}.guide--idle{color:#1565c0;background:#eff6ff}.guide--selecting{color:#7b6000;background:#fff9db}.guide--confirm{color:#1b5e20;background:#ebfbee}.admin-cal-inner{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}@media (width<=900px){.admin-cal-inner{grid-template-columns:1fr}}.admin-cal-calendar{background:var(--surface-2);border-radius:14px;padding:20px}.admin-cal-day{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:600;transition:all .12s;display:flex;position:relative}.admin-cal-day .day-number{line-height:1}.admin-cal-day.sun .day-number{color:#f03e3e}.admin-cal-day.sat .day-number{color:#228be6}.adm-available{background:#f8f9fa}.adm-available:hover{background:#e9ecef;border-color:#ced4da}.adm-blocked{background:#fff5f5}.adm-blocked .day-number{color:var(--full);opacity:.7;text-decoration:line-through}.adm-past{opacity:.35;cursor:not-allowed}.adm-other{opacity:.2;cursor:default}.adm-today .day-number{background:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:900;display:flex}.adm-in-range{background:#fee50059!important;border-color:#0000!important;border-radius:0!important}.adm-range-start{background:var(--primary)!important;border-color:var(--primary-dark)!important;border-radius:8px 0 0 8px!important}.adm-range-end{background:var(--primary)!important;border-color:var(--primary-dark)!important;border-radius:0 8px 8px 0!important}.adm-range-start.adm-range-end{border-radius:8px!important}.adm-dot-reserved{background:#4c6ef5;border-radius:50%;width:5px;height:5px}.adm-dot-blocked{background:var(--full);border-radius:50%;width:5px;height:5px}.admin-cal-panel{flex-direction:column;gap:16px;display:flex}.admin-cal-confirm-box{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:20px}.admin-cal-confirm-box h4{margin-bottom:12px;font-size:16px;font-weight:700}.confirm-range-display{background:var(--surface-2);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.confirm-range-label{color:var(--text-secondary);font-weight:600}.admin-cal-blocked-list{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:20px}.admin-cal-blocked-list h4{margin-bottom:14px;font-size:15px;font-weight:700}.blocked-range-list{flex-direction:column;gap:8px;display:flex}.blocked-range-item{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.blocked-range-dates{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.blocked-range-text{font-size:13px;font-weight:600}@media (width<=480px){.timeslots-grid{grid-template-columns:repeat(2,1fr)}.modal-box{padding:20px}.admin-login-box{padding:32px 24px}.block-form-row{flex-direction:column}.block-submit-btn{width:100%}.reservation-table{font-size:12px}.reservation-table th,.reservation-table td{padding:8px}}
