@import url('fonts.css?v=1.06');
:root{--ink:#162e38;--muted:#66777d;--line:#dce5e6;--bg:#f4f7f7;--green:#10594b;--green2:#187461;--lime:#d6ef92;--blue:#2860af;--danger:#b63135;--radius:16px;--shadow:0 10px 35px #173f4710}*{box-sizing:border-box}body{margin:0;font-family:'Paperlogy',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #72b6fd;outline-offset:3px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.35}h2{font-size:23px;letter-spacing:-.6px;line-height:1.4}h3{font-size:18px;line-height:1.5}small{font-size:12px}hr{border:0;border-top:1px solid var(--line);margin:26px 0}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--green2);display:block;margin-bottom:12px}.container{max-width:1240px;margin:0 auto;padding:0 28px}.public-header{border-bottom:1px solid var(--line);background:#fff}.utility{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:12px;min-height:38px;padding:5px 28px;color:var(--muted)}.utility button,#utility button{border:0;background:none;padding:0;color:inherit;font-size:inherit}#utility{display:flex;align-items:center;gap:15px;font-size:12px}.nav-wrap{max-width:1240px;margin:auto;padding:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:700;letter-spacing:-.6px;line-height:1.3}.brand small{display:block;font-weight:300;color:var(--muted);font-size:11px;letter-spacing:.2px;margin-top:5px}.brand-mark{display:grid;place-items:center;width:41px;height:44px;background:var(--green);color:var(--lime);border-radius:14px 3px 14px 3px;font-family:Georgia,serif;font-style:italic;font-size:30px;flex-shrink:0}nav{display:flex;gap:36px;font-weight:700}nav a:hover{color:var(--green2)}.public-footer{background:#f1f5f4;border-top:1px solid var(--line);margin-top:80px;padding:38px 0;color:var(--muted);font-size:13px}.public-footer .container{display:flex;justify-content:space-between;gap:30px}.public-footer .brand{color:var(--ink)}.public-footer p{margin:12px 0 3px}.test-strip{background:#fff2ca;color:#72520d;text-align:center;font-size:12px;padding:6px 20px;border-bottom:1px solid #f0dfa6}.hero{position:relative;background:#edf3f0;overflow:hidden}.hero .container{display:grid;grid-template-columns:1.1fr .9fr;min-height:420px;align-items:center;gap:36px;padding-top:48px;padding-bottom:48px}.hero h1{font-size:46px;line-height:1.35;letter-spacing:-2px;margin-bottom:22px}.hero p{font-size:16px;max-width:490px;color:#536a64;line-height:1.9}.hero .eyebrow{letter-spacing:2.6px}.hero .btn{margin-top:10px}.hero-art{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center}.pitch{position:relative;width:92%;height:260px;background:repeating-linear-gradient(90deg,#2b7862 0,#2b7862 54px,#236c57 54px,#236c57 108px);border:12px solid #d5e5d9;border-radius:8px;transform:rotate(-8deg);box-shadow:15px 25px 0 #c3d9c8,30px 40px 65px #23584121}.pitch:before{content:'';position:absolute;inset:18px;border:2px solid #ffffffad}.pitch:after{content:'';position:absolute;left:50%;height:calc(100% - 36px);top:18px;border-left:2px solid #ffffffa8}.pitch-center{position:absolute;border:2px solid #ffffffa8;border-radius:50%;width:75px;height:75px;top:calc(50% - 37.5px);left:calc(50% - 37.5px)}.pitch-box{position:absolute;top:calc(50% - 52px);left:18px;width:50px;height:104px;border:2px solid #ffffffa8}.pitch-box.right{left:auto;right:18px}.art-label{position:absolute;bottom:6px;right:0;background:#fff;padding:12px 20px;border-radius:12px;box-shadow:var(--shadow);font-size:12px}.art-label strong{display:block;font-size:16px}.section{padding-top:48px;padding-bottom:20px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.section-head h2{margin-bottom:5px}.section-head p{margin:0;color:var(--muted)}.page-head{padding:38px 0 28px}.page-head h1{margin-bottom:9px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:18px}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.panel + .panel{margin-top:20px}.facility-card{display:grid;grid-template-columns:330px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:white;transition:box-shadow .2s}.facility-card:hover{box-shadow:var(--shadow)}.facility-card .cover{height:260px;background:#dbe9df;overflow:hidden;display:grid;place-items:center;position:relative}.cover img{width:100%;height:100%;object-fit:cover}.cover .pitch{width:80%;height:180px;border-width:8px;box-shadow:10px 15px 0 #c3d9c8}.cover-caption{position:absolute;bottom:10px;left:12px;font-size:10px;background:#ffffffe0;border-radius:4px;padding:1px 5px;color:#4a6559}.facility-card .card-content{padding:28px 32px}.card-content h3{font-size:25px;margin:12px 0}.card-content p{color:var(--muted);margin-bottom:18px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ccd8d7;border-radius:8px;padding:10px 17px;background:#fff;color:var(--ink);font-weight:700;font-size:14px;white-space:nowrap;line-height:1.5;text-align:center}.btn:hover{background:#edf4f1}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#0b493d}.btn.lime{background:var(--lime);border-color:var(--lime);color:#1f4031}.btn.danger{color:var(--danger);background:#fff6f6;border-color:#edc6c7}.btn.dark{background:#203943;color:#fff;border-color:#203943}.btn.small{padding:6px 10px;font-size:12px}.btn.wide{width:100%}.btn.icon{padding:7px 11px;font-size:18px}.btn.link{border:0;background:none;padding:0;color:var(--green);text-decoration:underline}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.actions.right{justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;background:#eef2f3;color:#57686e;border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}.badge.green,.badge.confirmed{background:#e5f2ec;color:#186048}.badge.blue,.badge.new{background:#e8f0fd;color:#275cad}.badge.red,.badge.cancel_requested{background:#fff0e9;color:#b54d2f}.badge.cancelled{background:#eff1f2;color:#66757b}.badge.yellow{background:#fff4d2;color:#816010}.notice{background:#eef5f3;border:1px solid #d1e3dc;color:#355c50;border-radius:10px;padding:16px 18px;margin:18px 0;font-size:14px;line-height:1.8}.notice.danger{background:#fff0f0;border-color:#efcfd0;color:#a22b30}.notice.warning{background:#fff8e8;border-color:#f1e0af;color:#7d5e1a}.notice.success{background:#eaf7ef;color:#166d3d}.empty{text-align:center;padding:48px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#fafcfc}.loading{padding:80px;text-align:center;color:var(--muted)}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;margin-bottom:16px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cad6d8;border-radius:7px;background:#fff;color:var(--ink);min-width:0}input[readonly],input:disabled{background:#f1f4f4;color:#68797e}textarea{resize:vertical;min-height:94px}.check{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-weight:300;cursor:pointer;line-height:1.8;margin:10px 0}.check input{width:17px;height:17px;flex-shrink:0;margin-top:5px;accent-color:var(--green)}.field-help{display:block;color:var(--muted);font-size:12px;font-weight:300;margin-top:3px}.checks{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.checks .check{margin:0}.checks label{white-space:nowrap}.field-row{display:flex;gap:10px;align-items:center}.field-row>input,.field-row>select{flex:1}.field-row label{flex:1;margin:0}.stack{display:grid;gap:15px}.auth-wrap{max-width:540px;margin:44px auto;padding:0 20px}.auth-wrap h1{font-size:29px}.auth-wrap .panel{padding:32px}.auth-links{display:flex;justify-content:center;gap:20px;font-size:13px;margin-top:20px}.social{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.btn.naver{background:#03c75a;color:#fff;border-color:#03c75a}.btn.kakao{background:#fee500;color:#302900;border-color:#fee500}.divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;margin:24px 0}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}.tabs button,.tabs a{padding:12px 17px;background:none;border:0;border-bottom:3px solid transparent;white-space:nowrap;color:var(--muted);font-weight:700}.tabs .active{border-color:var(--green);color:var(--green)}.steps{display:flex;gap:10px;margin:24px 0;counter-reset:step;font-size:13px}.steps span{flex:1;color:var(--muted);border-top:3px solid var(--line);padding-top:10px}.steps span.active{border-color:var(--green);color:var(--green);font-weight:700}.terms-block{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:10px 15px}.terms-block summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.terms-body{white-space:pre-wrap;font-size:13px;color:#627177;max-height:210px;overflow:auto;background:#f7f9f9;padding:15px;margin-top:12px}.preline{white-space:pre-line}.detail-top{display:grid;grid-template-columns:1.15fr 1fr;gap:32px}.detail-cover{height:330px;border-radius:16px;overflow:hidden;background:#e2eee5;display:grid;place-items:center;position:relative}.detail-cover img{width:100%;height:100%;object-fit:cover}.thumbnails{display:flex;gap:8px;margin-top:8px}.thumbnails button{border:1px solid var(--line);padding:0;width:70px;height:46px;border-radius:5px;overflow:hidden}.thumbnails img{width:100%;height:100%;object-fit:cover}.facts{display:grid;grid-template-columns:105px 1fr;gap:14px 10px;font-size:14px;margin:22px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.calendar-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:26px}.calendar{min-width:0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-toolbar h3{margin:0;font-size:22px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week span{text-align:center;padding:8px 0;font-size:12px;color:var(--muted)}.calendar-grid{gap:5px}.cal-day{background:#fff;border:1px solid transparent;border-radius:10px;min-height:64px;padding:7px 3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:16px;color:var(--ink)}.cal-day small{font-size:10px;line-height:1.4;font-weight:500;color:var(--muted)}.cal-day.available{background:#edf6f0;border-color:#d4e8dc}.cal-day.available small{color:var(--green)}.cal-day.selected{background:var(--green);color:#fff;border-color:var(--green)}.cal-day.selected small{color:#e9f3df}.cal-day.past{color:#adb5b8;background:#f8f9f9;opacity:.55}.cal-day.closed,.cal-day.booked,.cal-day.unopened{background:#f2f4f4;color:#8d9a9e}.cal-day.sun:not(.selected){color:#c26b61}.cal-day.sat:not(.selected){color:#426e9e}.calendar-legend{display:flex;justify-content:center;gap:20px;font-size:12px;margin-top:20px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;background:#c5cfce}.dot.green{background:#6ba17e}.dot.dark{background:var(--green)}.slot-panel{background:#f5f8f7;border-radius:12px;padding:24px}.slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slot{border:1px solid var(--line);border-radius:8px;text-align:left;background:white;padding:12px 14px}.slot strong{display:block;font-size:14px}.slot small{display:block;color:var(--muted)}.slot:hover:not(:disabled){border-color:var(--green);background:#edf5ef}.slot:disabled{opacity:.6;background:#e8edeb}.slot.selected{border:2px solid var(--green);background:#eaf4ed}.amount{font-size:30px;font-weight:700;letter-spacing:-1px;color:var(--green)}.amount small{font-size:15px;letter-spacing:0}.price-box{padding:20px;background:#eef5f1;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:16px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px}.sticky{position:sticky;top:20px;align-self:start}.summary-line{display:flex;justify-content:space-between;gap:20px;margin:12px 0;font-size:14px}.summary-line span:first-child{color:var(--muted)}.booking-list{display:grid;gap:18px}.reservation-card{padding:24px;border:1px solid var(--line);border-radius:14px;display:flex;justify-content:space-between;gap:24px;align-items:center}.reservation-card h3{margin:10px 0 4px}.reservation-card p{margin:0;font-size:14px;color:var(--muted)}.split{display:flex;justify-content:space-between;gap:16px;align-items:center}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}dialog{border:0;border-radius:18px;width:min(780px,calc(100% - 32px));max-height:90dvh;padding:0;box-shadow:0 30px 100px #0004;color:var(--ink)}dialog::backdrop{background:#0d242db3;backdrop-filter:blur(3px)}.modal-head{position:sticky;top:0;background:#fff;z-index:1;padding:20px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:22px;margin:0}.modal-body{padding:26px}.modal-body>.panel{box-shadow:none}.close{border:0;background:#f0f3f3;width:32px;height:32px;border-radius:50%;font-size:20px}.toast,#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#183d32;color:white;z-index:1000;border-radius:10px;padding:13px 22px;box-shadow:var(--shadow);max-width:calc(100% - 32px);font-size:14px;display:none}#toast.show{display:block}#toast.error{background:#8e2d32}.form-error:empty{display:none}.form-error{background:#fff0ef;color:#a72e35;border-radius:8px;margin:10px 0;padding:12px;font-size:13px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:10px;z-index:999}.skip:focus{top:10px}.mobile-only{display:none}.admin-body{background:#f2f5f7}.admin-body #test-banner{position:relative;z-index:4}.admin-body #sidebar{position:fixed;top:0;bottom:0;left:0;width:236px;background:#142b39;color:#c0ced5;padding:54px 19px 22px;overflow:auto;z-index:3}.admin-body #sidebar .brand{color:#fff;font-size:17px;margin-bottom:38px}.admin-body #sidebar .brand small{color:#91a9b5}.admin-body #sidebar .brand-mark{background:#254e4a;color:var(--lime);width:35px;height:39px}.admin-nav{display:grid;gap:5px}.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;font-size:14px}.admin-nav a:hover{background:#213c4a}.admin-nav a.active{background:#244f4c;color:#def1ce;font-weight:700}.nav-icon{width:22px;opacity:.7;text-align:center;font-size:17px}.nav-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#6d8b9b;padding:24px 14px 8px}.sidebar-foot{border-top:1px solid #2a424e;margin-top:28px;padding:20px 12px;font-size:12px;color:#79929f}.admin-work{margin-left:236px}.admin-top{min-height:69px;padding:16px 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-caption{font-size:14px;font-weight:700}.admin-body #main{padding:30px 34px 55px;max-width:1700px;margin:auto}.admin-body h1{font-size:28px}.admin-body h2{font-size:20px}.admin-body .page-head{padding:0 0 25px}.admin-body .panel{box-shadow:none;border-radius:12px;padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;position:relative}.stat .number{display:block;font-size:36px;font-weight:700;letter-spacing:-1px;margin-top:10px;line-height:1.3}.stat small{color:var(--muted)}.stat.emphasis{background:#174d45;color:#fff;border-color:#174d45}.stat.emphasis small{color:#bbd6cc}.stat .stat-icon{position:absolute;right:20px;top:20px;width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#edf4f0;color:#477860;font-size:18px}.stat.emphasis .stat-icon{background:#2b6357;color:#d3eaa0}.table-wrap{overflow:auto;width:100%;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;white-space:nowrap}th{background:#f7f9fa;color:#75858d;padding:12px 16px;font-size:11px;font-weight:700;border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid #e7edef}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfa}td .sub{display:block;color:var(--muted);font-size:11px;margin-top:2px}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:20px 0}.filters label{min-width:120px;flex:1;margin:0}.filters .wide-field{flex:2}.filters input,.filters select{padding:9px 10px}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:22px;font-size:13px}.admin-body .calendar-grid{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.admin-day{min-height:140px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;background:white}.admin-day.past{background:#f8fafb}.admin-event{display:block;width:100%;border:0;border-radius:4px;margin:4px 0;padding:4px 6px;text-align:left;font-size:10px;background:#edf3f9;color:#315e96}.admin-event.confirmed{background:#e6f3eb;color:#2d6f48}.admin-event.cancel_requested{background:#fff1e8;color:#b9663b}.admin-event.cancelled{background:#eff1f2;color:#8a949b;text-decoration:line-through}.editor-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;align-items:end;gap:10px;background:#f7f9f9;border:1px solid #e4ebeb;border-radius:8px;padding:14px;margin:10px 0}.editor-row label{margin:0}.editor-row input,.editor-row select{padding:8px 9px}.editor-block{padding:20px;border:1px solid var(--line);border-radius:10px;margin:14px 0}.editor-block .panel{padding:14px}.period-range{display:flex;gap:10px;align-items:center;margin:10px 0}.period-range input{width:180px}.weekday-row{display:flex;gap:16px;align-items:center;background:#f7f9f8;padding:12px;border-radius:8px;margin:10px 0;flex-wrap:wrap}.weekday-row input[type=number]{width:130px}.weekday-row .checks{margin:0;flex:1}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.toolbar h2{margin:0}.log-detail{max-width:450px;white-space:normal;word-break:break-word}.install-body{background:#eef3f1}.install-wrap{max-width:820px;padding:35px 20px;margin:auto}.install-wrap>.brand{margin-bottom:25px}.install-wrap h1{font-size:30px}.install-wrap h2{margin-top:28px}.install-wrap .panel{padding:35px}.admin-login{max-width:460px;margin:60px auto}.admin-body.login-page .admin-work{margin:0}.admin-body.login-page #sidebar{display:none}.admin-body.login-page .admin-top{display:none}.timelabel{font-variant-numeric:tabular-nums}.alert-number{font-weight:700;color:#b74f35}.stat-mini{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.stat-mini:last-child{border:0}.mini-bar{height:5px;background:#e5ece9;border-radius:10px;margin:5px 0 17px;overflow:hidden}.mini-bar span{display:block;height:100%;background:#6ba78b}.inline-note{font-size:12px;color:var(--muted)}.searchbar{max-width:310px;position:relative}.readable{max-width:850px}.required{color:#ba4444}.file-list{display:flex;gap:12px;flex-wrap:wrap}.file-card{width:130px}.file-card img{width:130px;height:90px;object-fit:cover;border-radius:8px}.file-card button{margin-top:5px}.json-detail{white-space:pre-wrap;font:12px/1.7 monospace;background:#f6f8f8;padding:12px;border-radius:6px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.hero h1{font-size:39px}.hero .container{gap:20px}.admin-body #sidebar{width:210px}.admin-work{margin-left:210px}.admin-body #main{padding:26px 22px}.admin-top{padding:16px 22px}.stat-grid{gap:12px}.stat{padding:18px}.stat .stat-icon{display:none}.booking-layout{grid-template-columns:1fr 300px}.grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:800px){h1{font-size:28px}.hero h1{font-size:35px}.hero .container{grid-template-columns:1fr;gap:24px;padding-top:35px;padding-bottom:28px}.hero-art{min-height:210px}.hero .pitch{max-width:420px;height:180px}.hero p{font-size:14px}.container{padding:0 20px}.nav-wrap{padding:18px 20px;align-items:flex-start}.nav-wrap nav{gap:16px;font-size:13px;padding-top:10px}.brand{font-size:17px}.brand small{font-size:10px}.brand-mark{width:34px;height:38px}.utility{padding:7px 20px;flex-wrap:wrap;gap:10px}.facility-card{grid-template-columns:1fr}.facility-card .cover{height:220px}.facility-card .card-content{padding:24px}.facility-card .pitch{max-width:360px}.detail-top,.calendar-layout,.booking-layout{grid-template-columns:1fr}.detail-cover{height:260px}.panel{padding:22px}.sticky{position:static}.grid.three,.grid.four{grid-template-columns:1fr 1fr}.public-footer .container{flex-direction:column}.calendar-grid{gap:4px}.cal-day{min-height:58px}.slot-panel{padding:20px}.reservation-card{align-items:flex-start;flex-direction:column}.reservation-card>.row{width:100%;justify-content:space-between}.section-head{align-items:flex-start;flex-direction:column}.searchbar{max-width:none;width:100%}.admin-body #sidebar{transform:translateX(-100%);transition:transform .2s;width:236px;padding-top:30px}.admin-body.menu-open #sidebar{transform:translateX(0);box-shadow:30px 0 100px #142b3966}.admin-work{margin-left:0}.admin-body #main{padding:24px 18px}.admin-top{padding:15px 18px}.admin-caption{display:none}.mobile-only{display:inline-flex}.admin-body #utility{flex-wrap:wrap;justify-content:flex-end;font-size:11px;gap:10px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .number{font-size:30px}.admin-body .panel{padding:20px}.admin-body .grid.two{grid-template-columns:1fr}.editor-row{grid-template-columns:1fr 1fr}.editor-row .btn{grid-column:2;justify-self:end}.filters label{min-width:130px}.admin-day{min-height:110px;padding:4px;font-size:11px}.admin-event{font-size:9px;padding:3px 2px;white-space:normal}.period-range input{width:100%;min-width:0}.period-range{flex-wrap:wrap}.period-range>input{flex:1}.modal-head{padding:18px 20px}.modal-body{padding:20px}.split{align-items:flex-start}.auth-wrap .panel{padding:25px}.facts{grid-template-columns:90px 1fr}.install-wrap .panel{padding:24px}.install-wrap .grid.two{grid-template-columns:1fr}.test-strip{font-size:11px}.toolbar{flex-wrap:wrap}.steps{font-size:11px;gap:6px}}
@media(max-width:480px){.nav-wrap{flex-direction:column;gap:14px}.nav-wrap nav{justify-content:space-between;width:100%;padding-top:0}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.card-bottom{align-items:flex-start;flex-direction:column}.btn{padding:10px 14px}.hero h1{font-size:33px}.hero-art{min-height:185px}.hero .pitch{height:160px}.pitch-center{width:60px;height:60px;left:calc(50% - 30px);top:calc(50% - 30px)}.pitch-box{height:80px;top:calc(50% - 40px);width:40px}.detail-cover{height:210px}.cal-day{min-height:52px;font-size:14px}.cal-day small{font-size:9px}.calendar-toolbar h3{font-size:19px}.panel{padding:18px}.slot-panel{padding:16px}.slot{padding:10px}.price-box{padding:16px}.amount{font-size:26px}.admin-body .grid.four{grid-template-columns:1fr 1fr}.admin-body .tabs button,.admin-body .tabs a{padding:10px 12px}.admin-body h1{font-size:25px}.admin-body .calendar-grid{min-width:620px}.admin-body .calendar-week{min-width:620px}.admin-cal-scroll{overflow:auto}.notice{font-size:13px;padding:13px}.admin-login{margin-top:25px}.auth-links{gap:12px;font-size:12px}}
@media print{#sidebar,.admin-top,.public-header,.public-footer,.actions,.btn,#test-banner{display:none!important}.admin-work{margin:0}.panel{box-shadow:none}dialog{position:static;max-height:none;width:100%}body{background:white}}
[hidden]{display:none!important}
@media(max-width:1000px){.admin-body .grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}}
#main:focus{outline:none}

.grid > .panel + .panel{margin-top:0}

.test-strip{word-break:keep-all}

/* V1.01: 기존 색상과 클래스 구조를 유지하며 글자 크기와 폼 간격을 정리합니다. */
.admin-body #test-banner{position:sticky;top:0}
.admin-body #sidebar{top:var(--admin-banner-height,0px);padding-top:28px}
.grid>*{min-width:0}
.stack>.panel+.panel{margin-top:0}
.panel+form[data-form],form[data-form]+.panel{margin-top:22px}
label{gap:8px}
.grid>label{margin-bottom:0}
form>.grid{margin-bottom:22px}
form>.grid:last-child{margin-bottom:0}
.panel>.grid,.editor-block>.grid{margin-bottom:22px}
.panel>.grid:last-child,.editor-block>.grid:last-child{margin-bottom:0}
input:not([type=checkbox]):not([type=radio]),select{min-height:46px}
textarea{min-height:104px;resize:vertical;line-height:1.7}
input[type=checkbox],input[type=radio]{accent-color:var(--green)}
.check{gap:10px}
.checks{gap:12px 20px}
.checks .check{white-space:normal}
.actions{flex-wrap:wrap;gap:12px}
.split>div{min-width:0}
.panel>.toolbar{flex-wrap:wrap}
.editor-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end}
.editor-block{padding:22px;margin:20px 0}
.editor-block>summary{cursor:pointer;line-height:1.6}
.editor-block .grid{gap:18px}
.period-range{flex-wrap:wrap;gap:12px}
.period-range>input{flex:1 1 170px;max-width:260px}
.period-range>label{flex:1 1 170px;max-width:260px;min-width:0;margin:0}
.period-range>label>input{width:100%}
.period-range>.btn{align-self:flex-end;min-height:46px}
.weekday-row{gap:14px 20px;padding:16px}
.weekday-row .checks{flex:1 1 320px}
.filters{gap:16px;margin:24px 0;align-items:end}
.filters label{flex:1 1 180px;min-width:0}
.filters input,.filters select{min-height:46px;padding:10px 12px}
.filters>.btn{min-height:46px}
.admin-top{flex-wrap:wrap;gap:12px 20px}
#utility{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;line-height:1.6}
.admin-top #utility{margin-left:auto}
#utility .idle-option{display:inline-flex;flex-direction:row;align-items:center;gap:7px;margin:0;font-weight:300;white-space:nowrap;font-size:inherit;cursor:pointer}
.idle-option input{width:17px;height:17px;min-height:0;margin:0;flex:none}
.session-countdown{white-space:nowrap}
#utility button:disabled{opacity:.45;cursor:default}
.admin-body #sidebar .brand{padding:0 10px;margin-bottom:28px;font-size:21px}
.admin-body #sidebar .brand small{font-size:15px;margin-top:8px}
.nav-label{letter-spacing:0;padding-top:24px}
.sidebar-foot{line-height:1.9}
.sidebar-foot a{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.admin-nav a{padding:12px 14px;min-height:48px}
.table-wrap td,.table-wrap th{vertical-align:middle}
.table-wrap td{line-height:1.65}
.table-wrap td .sub{margin-top:6px}
.stat>small:first-of-type{display:block;padding-right:40px;min-height:48px}
.stat .number{margin-top:8px}
.stat .number small{font-size:16px}
.admin-login{max-width:510px}
.admin-login .auth-links{flex-wrap:wrap;gap:12px 18px;line-height:1.7}
.recovery-steps{padding-left:24px;line-height:1.85}
.recovery-steps li+li{margin-top:10px}
.recovery-code{font:14px/1.7 ui-monospace,Consolas,monospace;min-height:180px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:751px){
 body{font-size:17px}
 label,.check,.btn,.admin-nav a,.notice,.form-error,.reservation-card p,.summary-line,.stat-mini{font-size:17px}
 input,select,textarea{font-size:17px}
 small,.field-help,.inline-note,.badge,.btn.small,.test-strip,.pagination,.calendar-legend{font-size:15px}
 .utility,#utility,.admin-caption,.public-footer{font-size:15px}
 .brand small{font-size:14px}
 .eyebrow,.breadcrumb,.nav-label,.sidebar-foot{font-size:14px}
 table{font-size:17px}
 th{font-size:15px;padding:14px 18px}
 td{padding:17px 18px}
 td .sub{font-size:15px}
 .calendar-week span{font-size:15px}
 .cal-day{min-height:74px;font-size:18px}
 .cal-day small{font-size:12px}
 .slot strong{font-size:17px}
 .facts,.hero p{font-size:17px}
 .terms-block summary,.terms-body,.auth-links,.steps{font-size:15px}
 .slot small{font-size:15px}
 .admin-event{font-size:13px;line-height:1.5;padding:6px 7px;white-space:normal;overflow-wrap:anywhere}
 .admin-day{font-size:15px;min-height:155px}
 .admin-body #sidebar{width:260px;padding-left:18px;padding-right:18px}
 .admin-work{margin-left:260px}
 .admin-body #main{padding:32px 30px 60px}
 .admin-body .panel{padding:26px}
 .admin-body h2{font-size:23px}
 .admin-body h3{font-size:20px}
 .stat-grid{gap:20px}
}
@media(min-width:751px) and (max-width:1450px){
 .admin-body .grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}
 .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat{padding:20px}
 .stat .stat-icon{display:none}
 .stat>small:first-of-type{padding-right:0}
 .editor-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .editor-row>.btn{justify-self:end;grid-column:2}
}
@media(max-width:1100px){
 .admin-body #sidebar{width:260px;transform:translateX(-100%);transition:transform .2s}
 .admin-body.menu-open #sidebar{transform:translateX(0);box-shadow:30px 0 100px #142b3966}
 .admin-work{margin-left:0}
 .admin-body .mobile-only{display:inline-flex}
 .admin-caption{display:none}
 .admin-top{flex-wrap:nowrap}
 .admin-body .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-body .grid.three,.admin-body .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
 body{font-size:15px}
 label,.check,input,select,textarea,.btn,.notice,.form-error,.admin-nav a{font-size:15px}
 .field-help,small,.inline-note,.btn.small,.badge{font-size:13px}
 .utility,#utility,.admin-body #utility{font-size:13px;gap:9px 12px}
 .utility{padding-left:18px;padding-right:18px}
 .admin-body #main{padding:24px 16px 40px}
 .admin-body .panel{padding:18px}
 .admin-top{padding:14px 16px;align-items:flex-start}
 .admin-body .grid.two,.admin-body .grid.three,.admin-body .grid.four{grid-template-columns:1fr}
 .grid{gap:18px}
 .filters{gap:14px;margin:20px 0}
 .filters label{flex-basis:calc(50% - 14px)}
 .filters label:has(input[type=search]){flex-basis:100%}
 table{font-size:14px}
 th,td .sub{font-size:13px}
 .editor-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:14px}
 .editor-row .btn{grid-column:2;justify-self:end}
 .editor-block{padding:16px;margin:18px 0}
 .period-range>input{min-width:0;flex-basis:110px;max-width:none}
 .period-range>label{flex-basis:110px;max-width:none}
 .period-range>.btn{flex-basis:100%}
 .weekday-row{padding:14px;gap:12px}
 .weekday-row .checks{flex-basis:100%}
 .stat-grid{gap:12px}
 .stat{padding:16px}
 .stat>small:first-of-type{min-height:42px;padding-right:0}
 .admin-login{margin:24px auto}
 .admin-login .auth-links{font-size:13px}
 .calendar-legend{gap:12px;flex-wrap:wrap}
 .calendar-week span{font-size:13px}
 .calendar-grid{gap:3px}
 .cal-day{font-size:15px}
 .cal-day small{font-size:10px}
 .split{flex-wrap:wrap;gap:14px}
 .toolbar{gap:14px}
 .admin-body .calendar-grid,.admin-body .calendar-week{min-width:760px}
 .admin-cal-scroll{overflow:auto}
 .admin-event{font-size:12px;line-height:1.5;padding:5px}
}

/* V1.02 회원 검색과 관리 버튼 */
.member-filters label:has(input[type=search]){flex:2 1 260px}
.member-row-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:220px}
@media(max-width:750px){.member-filters label{flex-basis:calc(50% - 14px)}.member-filters label:has(input[type=search]){flex-basis:100%}.member-row-actions{min-width:180px}}

.member-table{table-layout:fixed;width:100%;min-width:920px}.member-table th,.member-table td{padding:16px 12px;white-space:normal;overflow-wrap:anywhere}.member-table .member-row-actions{min-width:0;align-items:flex-start}.member-filters label:last-of-type{flex:0 1 150px}

/* V1.03: 신청서의 좌우 시작선을 맞추고, 월별 관리자 달력에 운영 회차를 표시합니다. */
.booking-layout>form[data-form]+.panel{margin-top:0}
.admin-slot-calendar{max-width:100%;overflow-x:auto}
.admin-slot-calendar .calendar-grid,.admin-slot-calendar .calendar-week{min-width:910px}
.admin-slot-calendar .admin-day{padding:8px;min-width:0}
.admin-date-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:2px 0 10px}
.admin-date-heading strong{font-size:17px}.admin-date-heading small{font-size:12px;color:var(--muted)}
.admin-date-heading .sun{color:#ba4444}.admin-date-heading .sat{color:var(--blue)}
.admin-slot{margin-top:7px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}
.admin-slot-time{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 6px;padding:7px 8px 3px;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.admin-slot-time strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}.admin-slot-time span{white-space:nowrap}
.admin-slot-state{padding:0 8px 7px;font-size:13px;line-height:1.5;color:var(--muted)}
.admin-slot.available{background:#edf7f1;border-color:#c4dfd0}.admin-slot.available .admin-slot-state{color:#186048;font-weight:700}
.admin-slot.closed,.admin-slot.blocked,.admin-slot.paused{background:#f1f3f4}.admin-slot.past,.admin-slot.cutoff,.admin-slot.unopened{background:#f8f9fa;color:#76838a}
.admin-slot.held{background:#fff7df;border-color:#e5d7aa}.admin-slot.held .admin-slot-state{color:#816010}
.admin-slot .admin-event{margin:0;border-radius:0;padding:7px 8px;font-size:13px;line-height:1.5;white-space:normal;text-decoration:none}
.admin-slot .admin-event:hover{filter:brightness(.96)}
.admin-slot-status,.admin-slot-name,.admin-slot-title{display:block;overflow-wrap:anywhere}.admin-slot-status{font-weight:700}.admin-slot-title{font-size:12px;margin-top:2px}
.admin-slot-history{border-top:1px dashed var(--line);background:#fff}.admin-slot-history summary{cursor:pointer;padding:5px 8px;font-size:12px;color:var(--muted)}
.admin-other-bookings{margin-top:10px}.calendar-status-legend{flex-wrap:wrap}
@media(max-width:750px){.calendar-filters label{flex:1 1 100%}.admin-slot-calendar .calendar-grid,.admin-slot-calendar .calendar-week{min-width:980px}.admin-slot-calendar .admin-day{padding:6px}.admin-slot-time,.admin-slot-state,.admin-slot .admin-event{font-size:12px}}

/* V1.06: 기존 클래스와 배치를 유지한 남색·파란색 테마 / 페이퍼로지 굵기 기준 */
:root{--ink:#182e4d;--muted:#617089;--line:#dce3ed;--bg:#f4f7fb;--green:#173d79;--green2:#235bb1;--lime:#dce9ff;--blue:#2862b7;--shadow:0 10px 35px #173d7910}
body{font-family:'Paperlogy',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;font-weight:300}
button,input,select,textarea{font-family:inherit}input,select,textarea{font-weight:300}
b,strong{font-weight:500}h1,h2,h3,.brand,.amount,.stat .number{font-weight:700}
label,.btn,.tabs button,.tabs a,.badge,.admin-caption,.eyebrow{font-weight:500}
.brand small,.summary-line,.facts,.terms-body,.check{font-weight:300}
.breadcrumb,.cover-caption,.inline-note,.public-footer .footer-links,.public-footer .footer-info,.public-footer .footer-bottom{font-weight:200}
.public-footer .footer-info span{font-weight:300;color:#405574}
.hero{background:#edf3fc}.hero p{color:#53657f}.hero .art-label{color:var(--ink)}
.btn:hover{background:#edf3fc}.btn.primary:hover{background:#102f60}.btn.lime{color:#173d79}.btn.dark{background:#1b3458;border-color:#1b3458}
.brand-mark{background:#173d79;color:#e4edff;font-family:inherit;font-style:normal;font-weight:700}
.public-footer{background:#f2f5fa;color:#53657d}.public-footer .footer-body{flex:1}.footer-info{display:flex;flex-direction:column;gap:4px;margin-top:16px;overflow-wrap:anywhere}.footer-info:empty{display:none}.footer-info span{margin-right:8px}.public-footer .container.footer-bottom{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.footer-bottom small{font-size:13px}
.notice{background:#edf3fc;border-color:#ccdbf1;color:#294b7b}.price-box{background:#edf3fc}.slot-panel{background:#f3f6fb}
.notice.warning{background:#fff8e8;border-color:#f1e0af;color:#7d5e1a}.notice.danger{background:#fff0f0;border-color:#efcfd0;color:#a22b30}.notice.success{background:#edf4ff;border-color:#c7d9f4;color:#204e91}
.badge.green,.badge.confirmed{background:#e5edfb;color:#173d79}.badge.blue,.badge.new{background:#eaf3ff;color:#2862b7}
.cal-day.available{background:#edf3fc;border-color:#cfddf2}.cal-day.selected{background:var(--green);color:#fff}.cal-day.selected small{color:#fff}
.dot.green{background:#87a9da}.dot.dark{background:var(--green)}.slot:hover:not(:disabled){background:#edf3fc}.slot.selected{background:#e7effc}.slot:disabled{background:#ebeff5}
.admin-body{background:#f3f5f9}.admin-body #sidebar{background:#142947;color:#c5d2e7}.admin-nav a:hover{background:#1d3a60}.admin-nav a.active{background:#254c80;color:#fff}.admin-body #sidebar .brand small{color:#a0b3d0}.nav-label,.sidebar-foot{color:#91a7c7}.sidebar-foot{border-color:#304969}
.stat.emphasis{background:#173d79;border-color:#173d79}.stat.emphasis small{color:#c8d8f1}.stat .stat-icon{background:#edf3fc;color:#426ca9}.stat.emphasis .stat-icon{background:#2a538b;color:#e1ecff}.mini-bar span{background:#7099d0}
.admin-event.confirmed{background:#e3ecfb;color:#173d79}.admin-slot.available{background:#f0f5fc;border-color:#ccdaee}.admin-slot.available .admin-slot-state{color:#315c9a;font-weight:500}.admin-slot-status{font-weight:500}
.editor-row,.weekday-row{background:#f5f7fb}.toast,#toast{background:#173d79}#toast.error{background:#8e2d32}.install-body{background:#eef2f8}
@media(max-width:750px){.public-footer .container.footer-bottom{margin-left:20px;margin-right:20px;padding-left:0;padding-right:0}.footer-bottom small{font-size:12px}}

/* V1.06 예약 상태는 포인트색과 분리하여 일관되게 구분합니다. */
.calendar-status-legend .badge.available,.admin-slot.available{background:#edf7ee;color:#246638;border-color:#b7d9c0}
.admin-slot.available .admin-slot-state{color:#246638;font-weight:500}
.badge.new,.admin-event.new,.admin-slot.status-new{background:#fff1d6;color:#87500b;border-color:#eac781}
.badge.confirmed,.admin-event.confirmed,.admin-slot.status-confirmed{background:#e4edff;color:#234f99;border-color:#aac3ef}
.badge.cancel_requested,.admin-event.cancel_requested,.admin-slot.status-cancel_requested{background:#ffe5e5;color:#a12630;border-color:#edb1b8}
.badge.cancelled,.admin-event.cancelled,.admin-slot.status-cancelled{background:#edf0f3;color:#556273;border-color:#cbd3dc}
.admin-slot.held{background:#f2e9fb;color:#70429b;border-color:#d8bfe9}
.admin-slot.held .admin-slot-state{color:#70429b}
.admin-slot.available,.admin-slot.occupied{border-left-width:4px}
.admin-slot.occupied .admin-slot-time{color:inherit}
.admin-slot .admin-event.new{background:#fff1d6;color:#87500b}
.admin-slot .admin-event.confirmed{background:#e4edff;color:#234f99}
.admin-slot .admin-event.cancel_requested{background:#ffe5e5;color:#a12630}
.admin-slot .admin-event.cancelled{background:#edf0f3;color:#556273}

/* V1.07: 같은 줄의 한 줄 입력 폼과 버튼은 외곽 높이와 아래 정렬선을 맞춥니다.
   기본 52px / 모바일 48px. 목록용 작은 버튼은 별도 높이를 유지하며,
   입력 폼과 나란히 쓰는 작은 버튼만 해당 폼 높이를 따릅니다. */
:root{--control-height:52px;--control-small-height:38px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=image]),select{
 height:var(--control-height);min-height:var(--control-height);line-height:1.5;margin-block:0;
}
.btn:not(.link){height:var(--control-height);min-height:var(--control-height);padding-top:0;padding-bottom:0}
.btn.small:not(.link),.btn.icon:not(.link){height:var(--control-small-height);min-height:var(--control-small-height)}
.filters>.btn:not(.link),.field-row>.btn:not(.link),.editor-row>.btn:not(.link),.period-range>.btn:not(.link),.weekday-row>.btn:not(.link),.grid>.actions>.btn:not(.link){
 height:var(--control-height);min-height:var(--control-height);
}
.field-row{align-items:flex-end;flex-wrap:wrap}
.field-row>label,.field-row>input,.field-row>select{flex:1 1 180px;min-width:0}
.field-row>.btn{flex-shrink:0}
.period-range,.weekday-row{align-items:flex-end}
.weekday-row>.checks{min-height:var(--control-height);align-items:center}
.grid>label:not(.check){justify-content:flex-end}
.grid>.actions{align-self:end;margin-top:0;min-height:var(--control-height)}
@media(max-width:750px){
 :root{--control-height:48px;--control-small-height:36px}
 /* 좁은 화면에서는 날짜가 잘리지 않도록 기간 입력칸을 다음 줄로 넘깁니다. */
 .period-range>label,.period-range>input{flex-basis:160px}
}

/* V1.11: configuration sections and reservation quotas. */
.settings-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.settings-section{scroll-margin-top:24px;border-top:3px solid #254c80}.settings-section>h2{margin-bottom:20px}.setting-group{padding:22px;background:#f6f8fc;border:1px solid #dae2ef;border-radius:12px;margin:20px 0}.setting-group>h3{margin-top:0}.setting-group>.grid{margin-bottom:14px}.setting-group summary{cursor:pointer;font-weight:500}.setting-label{line-height:1.6}.help-trigger{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:21px;height:21px;flex:none;border:1px solid #8096b5;border-radius:50%;background:#fff;color:#254c80;font:500 14px/1 sans-serif;cursor:help;margin-left:4px}.help-trigger:hover,.help-trigger:focus-visible{background:#254c80;color:#fff;outline:2px solid #93b8f1;outline-offset:2px}.setting-tooltip{position:fixed;z-index:10000;width:330px;max-width:calc(100vw - 24px);padding:16px 18px;background:#172e50;color:#fff;border-radius:10px;box-shadow:0 8px 24px #14294733;font-size:15px;line-height:1.75;font-weight:300;pointer-events:none}.quota-summary{margin-bottom:24px}.quota-summary h3{margin:0}.quota-summary .split{gap:8px;flex-wrap:wrap}.quota-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quota-card{display:flex;flex-direction:column;gap:7px;border:1px solid #d2ddef;border-radius:10px;background:#fff;padding:14px;min-width:0}.quota-card>span{font-size:15px;font-weight:500}.quota-card small{display:block;color:#61738f;font-size:12px;line-height:1.6}.quota-card strong{font-size:23px;font-weight:700;color:#193e75}.quota-card strong span{font-size:14px;font-weight:300}.quota-card b{font-size:13px;font-weight:500;color:#a24216}.quota-card.limit-reached{background:#fff6e8;border-color:#dfad58}.quota-card.other-type{background:#f8faff}.quota-stop{padding:30px 12px;line-height:1.9}.cal-day.quota-limited{background:#fff6e8;border-color:#dfad58;color:#855113}.cal-day.quota-limited.selected{background:#855113;color:#fff}.booking-layout .quota-cards{grid-template-columns:1fr}.settings-nav .btn{white-space:normal}
@media(max-width:750px){.setting-group{padding:16px}.settings-nav{gap:8px}.settings-nav .btn{flex:1 1 130px}.quota-card{padding:12px}.quota-card small{font-size:12px}.quota-cards{gap:8px}}
#reservation-quota .quota-summary{padding:24px;border:1px solid #d2ddef;border-radius:16px;background:#f6f8fc}#reservation-quota .quota-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:750px){#reservation-quota .quota-summary{padding:16px}#reservation-quota .quota-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1.12: registration address search and calendar booking */
.address-fields{border:0;padding:0;margin:20px 0;min-width:0}
.address-fields legend{font-weight:500;margin-bottom:12px}
.address-fields .field-row{justify-content:flex-start}
.address-fields .field-row label{flex:0 1 200px}
.postcode-search{width:100%;height:min(580px,70dvh);min-height:360px}
.admin-slot-time{position:relative;padding-right:40px}
.calendar-add{position:absolute;right:2px;top:0;width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;border:1px solid #9eb7dc;border-radius:7px;background:#fff;color:#173d79;font-size:22px;font-weight:500;cursor:pointer}
.calendar-add:hover{background:#e5efff;border-color:#173d79}
.calendar-add:disabled{opacity:.5;cursor:wait}
.admin-slot .calendar-add:focus-visible{outline:3px solid #245ad3;outline-offset:2px}
.admin-day.past .calendar-add{opacity:1}
@media(max-width:600px){.address-fields .field-row{flex-wrap:wrap}.address-fields .field-row label{flex:1 1 120px}.address-fields .field-row .btn{flex:1 1 150px}}
/* Facility settings and content editing */
.slot-time-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:16px}.slot-time-fields label{margin-bottom:0}.slot-time-fields>.btn{height:52px}.slot-adjustments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.slot-fee-preview{margin-top:8px;padding:12px 16px;border-radius:8px;background:#edf3ff;color:#213e73;line-height:1.8}.text-danger{color:#a32436}.refund-rule-row{align-items:end;margin-bottom:18px}.refund-rule-row label{margin-bottom:0}.settings-section>h2{padding-bottom:16px;border-bottom:1px solid #dbe3f0}.setting-group summary{font-weight:500;cursor:pointer;margin-bottom:16px}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.file-card{position:relative;min-width:0;padding:10px;border:1px solid #d2ddec;border-radius:12px;background:#fff;cursor:grab}.file-card img{display:block;width:100%;height:145px;object-fit:cover;border-radius:8px}.file-card.dragging{opacity:.45;border:2px dashed #34598e}.photo-remove{position:absolute;right:15px;top:15px;border:1px solid #fff;border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;background:#963248;color:white;font-size:24px;line-height:1;cursor:pointer}.photo-caption{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:10px;font-size:14px}.photo-caption .btn{padding:4px 9px;min-height:32px;height:32px;margin-left:4px}.member-row-actions{flex-wrap:wrap}.member-facts dd{overflow-wrap:anywhere;white-space:pre-line}.rich-editor{border:1px solid #cdd9eb;border-radius:10px;margin-bottom:26px;overflow:clip}.editor-tabs{display:flex;background:#eef3fa;border-bottom:1px solid #d2ddec;padding:8px;gap:8px}.editor-tabs button{padding:10px 22px;border:0;border-radius:6px;background:transparent;min-height:44px;font:inherit;cursor:pointer}.editor-tabs [aria-selected=true]{background:#1c3f7d;color:white;font-weight:500}.editor-attachments{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px}.rich-editor #detail-source,.rich-editor #detail-preview{padding:20px;min-height:300px}.rich-editor #detail-error{color:#a22b42;margin:0 16px}.rich-editor #detail-html{font:15px/1.6 monospace;min-height:380px}.rich-content{overflow-wrap:anywhere;overflow-x:auto;line-height:1.8}.rich-content table{border-collapse:collapse;max-width:100%;min-width:0;width:auto}.rich-content th,.rich-content td{border:1px solid #cbd5e2;padding:10px;white-space:normal}.rich-content img{max-width:100%;height:auto}.rich-content a{color:#205ec3;text-decoration:underline}.rich-content p{margin:.5em 0}.rich-content ul,.rich-content ol{padding-left:2em}.jodit-container .jodit-toolbar-button button{min-height:0;height:auto;font-family:inherit}.jodit-container .jodit-workplace{font-weight:300}.jodit-container table{min-width:0}.jodit-ui-input input,.jodit-ui-select select{height:auto;min-height:0}.jodit-container [contenteditable=true]{line-height:1.8}.jodit-popup{z-index:1000!important}
@media(max-width:1000px){.slot-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.slot-time-fields{grid-template-columns:1fr 1fr;gap:12px}.slot-time-fields>.btn{height:48px}.slot-adjustments{gap:12px}.editor-tabs button{padding:10px 14px}.refund-rule-row{grid-template-columns:1fr 1fr}.refund-rule-row .actions{grid-column:1/-1}.file-list{grid-template-columns:repeat(2,minmax(0,1fr))}.file-card img{height:110px}.photo-caption{flex-wrap:wrap}.rich-editor #detail-source,.rich-editor #detail-preview{padding:12px}}

.file-list .file-card{width:auto;max-width:none;user-select:none;touch-action:pan-y}.photo-caption strong{white-space:nowrap}.photo-caption>div{display:flex}.file-card.drop-target{outline:3px solid #315d9f;outline-offset:2px}
.slot-adjustments{align-items:end}.admin-body form[data-form=policy] .slot-time-fields>.btn,.admin-body form[data-form=policy] .refund-rule-row .btn{height:52px;min-height:52px}.refund-rule-row .actions{margin:0}
@media(max-width:750px){.admin-body form[data-form=policy] .slot-time-fields>.btn,.admin-body form[data-form=policy] .refund-rule-row .btn{height:48px;min-height:48px}}

/* Unified select spacing; keep list boxes and the rich-text editor native. */
select:not([multiple]):not([size]):not(.jodit-ui-select__input){appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%234b6385' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}
@media(forced-colors:active){select:not([multiple]):not([size]){appearance:auto;background-image:none}}
.photo-filename{margin-top:10px;font-size:13px;font-weight:300;line-height:1.6;color:#526984;overflow-wrap:anywhere}
.footer-setting-row{display:grid;grid-template-columns:30px minmax(130px,1fr) minmax(180px,2fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #d7e1ed;border-radius:10px;margin:12px 0;background:#fff}
.footer-setting-row label{margin:0;min-width:0}.footer-drag{height:52px;padding:0;border:0;background:transparent;color:#6780a0;font-size:26px;cursor:grab;touch-action:none}.footer-setting-row.dragging{outline:2px solid #245bc2;background:#eef4ff}.footer-row-actions{display:flex;gap:6px;align-items:center;min-height:52px}.footer-row-actions .btn{padding:0;width:36px;height:40px;min-height:40px}.footer-preview-box{padding:20px;margin-top:22px;background:#f3f6fa;border:1px dashed #bccde0;border-radius:10px;line-height:1.8;overflow-wrap:anywhere}.footer-preview-box>strong{display:block;margin-bottom:12px}.footer-preview-box span{font-weight:500;margin-right:12px}.seo-image{display:flex;align-items:center;gap:16px;margin:18px 0}.seo-image img{width:200px;max-width:60%;aspect-ratio:1200/630;object-fit:contain;border:1px solid #d7e1ed;border-radius:8px;background:#f7f9fc}
.admin-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px 0;min-height:38px}.admin-slot-heading>strong{font-size:13px;font-weight:500;min-width:0;overflow-wrap:anywhere}.slot-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;min-height:30px}.slot-check-label{display:grid;place-items:center;width:28px;height:30px;margin:0;cursor:pointer}.calendar-slot-check,.calendar-date-check{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#1d4f9b;cursor:pointer}.calendar-add{position:static;display:grid;place-items:center;width:30px;height:30px;min-height:30px;border-radius:50%;border:1px solid #bfcee3;background:#fff;color:#214b85;box-shadow:none;padding:0}.calendar-add:hover{color:#fff;background:#214b85;border-color:#214b85}.calendar-add[hidden]{display:none}.admin-slot-time{position:static;padding:2px 8px 4px;justify-content:flex-start;font-size:13px}.admin-date-heading{display:flex;align-items:center;gap:7px}.admin-date-heading small{margin-left:auto}.admin-slot.is-selected{background:#eaf1ff!important;border-color:#2c61b8!important;box-shadow:inset 0 0 0 1px #2c61b8}.admin-slot.is-selected .admin-slot-state{color:#1b4b90}.calendar-bulk-bar{position:fixed;z-index:80;bottom:24px;left:calc(50% + 130px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;background:#fff;border:1px solid #bacbe5;border-radius:16px;box-shadow:0 12px 40px #132f5833;max-width:calc(100vw - 32px);white-space:nowrap}.calendar-bulk-bar[hidden]{display:none}.calendar-bulk-bar>span{font-size:17px}.calendar-bulk-bar strong{color:#1e4e96;font-weight:700;margin-right:5px}.has-bulk-selection .admin-work main{padding-bottom:140px}.bulk-slot-summary{max-height:230px;overflow:auto;border:1px solid #d7e1ed;border-radius:10px;margin-bottom:18px;padding:10px 16px}.bulk-slot-summary>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #e5ebf3;font-size:15px}.bulk-slot-summary>div:last-child{border-bottom:0}.bulk-slot-summary strong{white-space:nowrap;font-weight:500}
@media(max-width:1000px){.calendar-bulk-bar{left:50%}}
@media(max-width:750px){.footer-setting-row{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:12px}.footer-setting-row label,.footer-row-actions{grid-column:2}.footer-drag{grid-row:1 / span 2;align-self:center;height:48px}.footer-row-actions{justify-content:flex-end;min-height:40px}.calendar-bulk-bar{gap:10px;padding:12px;bottom:14px;border-radius:12px}.calendar-bulk-bar>span{font-size:14px}.calendar-bulk-bar .btn{font-size:14px;padding:8px 12px;height:44px;min-height:44px}.bulk-slot-summary>div{flex-wrap:wrap;gap:4px}.admin-slot-calendar .calendar-grid,.admin-slot-calendar .calendar-week{min-width:1120px}}

.admin-date-heading>strong{white-space:nowrap;flex-shrink:0}.admin-date-heading>.calendar-date-check{flex-shrink:0}.admin-slot-calendar .calendar-grid,.admin-slot-calendar .calendar-week{min-width:1050px}.admin-date-heading small{font-size:11px;line-height:1.5}

.footer-row-actions .btn{height:52px;min-height:52px;width:40px}@media(max-width:750px){.footer-row-actions .btn{height:48px;min-height:48px}}
/* Facility gallery and grouped settings */
.facility-gallery{min-width:0}.gallery-viewport{display:block;touch-action:pan-y;cursor:grab;isolation:isolate}.gallery-track{display:flex;width:100%;height:100%;transition:transform .28s ease;user-select:none}.gallery-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;pointer-events:none}.gallery-viewport.is-dragging{cursor:grabbing}.is-dragging .gallery-track{transition:none}.gallery-viewport .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:#fff;box-shadow:0 2px 12px #142b3930;font-size:28px;color:#173d79;border:1px solid #d6e1f2;z-index:2}.gallery-arrow.prev{left:14px}.gallery-arrow.next{right:14px}.gallery-count{position:absolute;right:16px;bottom:14px;padding:5px 12px;background:#142b39c9;color:#fff;border-radius:20px;font-size:14px;pointer-events:none}.facility-gallery .thumbnails{display:flex;gap:10px;overflow-x:auto;padding:6px 2px;margin-top:12px}.facility-gallery .thumbnails button{flex:0 0 76px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0}.facility-gallery .thumbnails button[aria-pressed=true]{border-color:#173d79;box-shadow:0 0 0 2px #e8effb}.bulk-fee-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end}.bulk-fee-fields label{margin:0}.bulk-fee-box{margin:8px 0 28px}.field-disabled{color:#718096}.field-disabled input{background:#eef1f5;color:#778394;cursor:not-allowed}.settings-section h3{margin:24px 0 14px}.settings-section .setting-group h3:first-child{margin-top:0}.settings-section details.setting-group{margin-top:24px}.settings-section details[open]>summary{margin-bottom:18px}.settings-section .editor-block+.btn,.settings-section #policy-slots+.btn,.settings-section #policy-time-fees+.btn,.settings-section #policy-periods+.btn,.settings-section #refund-rules+.btn{margin-top:12px}.settings-section #policy-time-fees{margin-top:20px}.settings-section .notice{margin-top:18px}.policy-apply{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.policy-apply p,.policy-apply .error:empty{margin:0}.seo-asset-box{border:1px solid var(--line,#d6e1f2);border-radius:12px;padding:22px;margin:24px 0}.seo-asset-box h3{margin:0 0 18px}.seo-asset-box .seo-image{margin:14px 0;gap:16px;display:flex;align-items:center}.seo-asset-box .seo-image img{max-width:240px;max-height:140px;object-fit:contain}.seo-asset-box[data-kind=favicon] .seo-image img{width:48px;height:48px}.seo-asset-box .field-help{margin:12px 0}.seo-asset-name{font-size:14px;overflow-wrap:anywhere}.settings-section .field-row{gap:16px}.policy-apply .btn{min-width:130px}@media(max-width:1100px){.bulk-fee-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-fee-fields>.btn{grid-column:1/-1;justify-self:start}}@media(max-width:600px){.bulk-fee-fields{gap:14px}.seo-asset-box{padding:16px}.gallery-viewport .gallery-arrow{width:36px;height:36px;min-height:36px}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.gallery-count{bottom:10px;right:10px}.seo-asset-box .seo-image{align-items:flex-start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}

.bulk-fee-box .bulk-fee-fields+.field-help{margin-top:14px}
/* Conditional settings and cross-month selection */
label.field-disabled{opacity:.62}label.field-disabled input,label.field-disabled select{cursor:not-allowed}.calendar-selection-summary{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}.calendar-selection-summary>span{white-space:nowrap}.calendar-selection-months{display:flex;gap:8px;flex-wrap:wrap;max-height:96px;overflow:auto}.calendar-selection-months .btn{min-height:34px;padding:5px 10px;white-space:nowrap;font-size:14px}.calendar-selection-months .selected-month{background:#e8effb;color:#173d79;border-color:#8ba9d7}.calendar-bulk-bar{flex-wrap:wrap;gap:12px;width:min(900px,calc(100vw - 308px))}.has-bulk-selection .admin-work main{padding-bottom:180px}@media(max-width:1000px){.calendar-bulk-bar{width:calc(100% - 32px)}}@media(max-width:750px){.calendar-selection-summary{flex-basis:100%;gap:10px}.calendar-selection-months{max-height:78px}.calendar-selection-months .btn{height:auto;min-height:34px}.has-bulk-selection .admin-work main{padding-bottom:220px}}
/* Facility configuration and application flows */
.facility-config-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:24px 0;position:sticky;top:0;z-index:8;background:#f3f5fa;padding:12px 0}.facility-config-tabs button{min-height:68px;padding:10px 8px;border:1px solid #d7e0ee;border-radius:12px;background:#fff;color:#51647b;font:inherit;font-weight:500;cursor:pointer}.facility-config-tabs small{display:block;font-size:12px;font-weight:300;opacity:.65;margin-bottom:4px}.facility-config-tabs button.active{background:#1c3f78;color:#fff;border-color:#1c3f78;box-shadow:0 4px 12px #17366115}.facility-tab-panel{padding:30px}.facility-tab-panel[hidden]{display:none!important}.facility-tab-panel>.setting-group{margin:26px 0;padding-top:24px;border-top:1px solid #e0e7ef}.facility-tab-panel h3{margin-bottom:18px}.facility-tab-panel>.settings-section{border:0;padding:0;box-shadow:none;margin:26px 0}.facility-tab-panel .actions{gap:12px;flex-wrap:wrap;margin-top:16px}.setting-title{margin-bottom:30px}.setting-title h2{margin-bottom:10px}.facility-save117{margin-top:26px}.facility-save117 p{max-width:920px;margin:0 24px 0 0}.facility-save117 [type=submit]{min-width:140px;flex-shrink:0}.operating-hours{min-width:520px}.operating-hours input{margin:0}.operating-hours th{white-space:nowrap}.operating-hours .check{margin:0}.fee-table117{min-width:700px}.fee-table117 input{min-width:105px;width:100%;margin:0}.fee-table117 small{display:block;line-height:1.5;margin-top:8px;color:#65768c;font-size:13px}.fee-bulk117{background:#f2f6fc;border:1px solid #dbe5f4;padding:22px;border-radius:12px;margin:22px 0}.fee-bulk117 .grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.extra-photo117{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0}.extra-photo117 img{width:130px;height:95px;object-fit:cover;border-radius:10px}.facility-map{height:320px;width:100%;border-radius:14px;margin:18px 0;overflow:hidden;background:#edf2f8}.reservation-switch{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:30px;background:#fff4e4;color:#865019;border:1px solid #ecd1a4;font:inherit;font-weight:500;white-space:nowrap}.reservation-switch i{position:relative;width:42px;height:24px;border-radius:20px;background:#c9b598}.reservation-switch i:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff}.reservation-switch.is-on{background:#edf5ff;color:#163d77;border-color:#b8cdea}.reservation-switch.is-on i{background:#1c4a8b}.reservation-switch.is-on i:after{left:21px}.booking-options117{margin:28px 0}.booking-extras117{display:grid;gap:12px;margin:18px 0}.extra-choice117{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid #d7e1ef;border-radius:12px;margin:0}.extra-choice117>input{width:20px;height:20px;margin:3px 0;flex-shrink:0}.extra-choice117>span{display:flex;flex-direction:column;gap:9px;min-width:0}.extra-choice117 small{color:#566b85}.extra-choice117 img{width:150px;height:100px;object-fit:cover;border-radius:8px}.booking-documents117{margin:26px 0}.document-list117 .toolbar{padding:12px 0;border-bottom:1px solid #e5eaf0;gap:12px}.document-list117 span{overflow-wrap:anywhere}.checkout-slots117{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.amenity-image117{width:100%;height:180px;object-fit:cover;border-radius:10px}.checkout-slots117+.summary-line{margin-top:20px}#checkout-quote117 .amount{font-size:26px}#hours-summary117{line-height:2}.question117 .toolbar{margin-top:18px}.facility-tab-panel input:disabled,.facility-tab-panel select:disabled,.facility-tab-panel textarea:disabled{opacity:.55}.facility-tab-panel .slot-time-fields{grid-template-columns:1.3fr 1fr 1fr auto}.facility-tab-panel section>button{margin-bottom:10px}
@media(max-width:1100px){.facility-config-tabs{grid-template-columns:repeat(4,minmax(0,1fr));position:static}.facility-tab-panel{padding:22px}.facility-save117 .split{flex-direction:column;align-items:stretch;gap:18px}.fee-bulk117 .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.facility-config-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facility-config-tabs button{min-height:54px}.facility-tab-panel{padding:18px}.facility-tab-panel .slot-time-fields{grid-template-columns:1fr 1fr}.facility-tab-panel .field-row{flex-direction:column;align-items:stretch}.facility-tab-panel .field-row label{width:100%}.reservation-switch{font-size:14px}.facility-map{height:260px}.fee-bulk117{padding:14px}.extra-choice117{padding:14px}.extra-photo117{align-items:flex-start;flex-direction:column}.facility-save117 p{margin:0}.facility-tab-panel .toolbar{flex-wrap:wrap;gap:12px}}

/* V1.18 시설 목록: 기존 카드 안에서 설정 바로가기와 접수 토글을 정리합니다. */
.facility-list-info{min-width:0}.facility-list-info h2,.facility-list-info p{overflow-wrap:anywhere}.facility-list-card>.split{gap:24px}.facility-list-card .reservation-switch{flex-shrink:0}.reservation-switch{cursor:pointer}.reservation-switch:focus-visible{outline:3px solid #8eb8ec;outline-offset:3px}.facility-list-links{flex-wrap:wrap}
@media(max-width:750px){.facility-list-card>.split{flex-direction:column;align-items:stretch;gap:20px}.facility-list-card .reservation-switch{align-self:flex-start}.facility-list-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.facility-list-links .btn{min-width:0;padding:12px 10px;white-space:normal;text-align:center}}

/* V1.19 관리자 공통: 기존 청색 디자인과 52/48px 입력 높이를 유지합니다. */
.admin-body{--admin-line:#d7e1ef;--admin-soft:#f4f7fc;--admin-title:#193c70}
.admin-body #main>.filters{padding:24px;background:#fff;border:1px solid var(--admin-line);border-radius:14px;margin:0 0 24px;gap:16px;align-items:flex-end}
.admin-body .panel{border-color:var(--admin-line)}
.admin-body .editor-block,.admin-body .setting-group{background:var(--admin-soft);border:1px solid var(--admin-line);border-radius:12px;padding:24px}
.admin-body .facility-tab-panel>.setting-group{background:transparent;border:0;border-top:1px solid var(--admin-line);border-radius:0;padding:24px 0 0}
.admin-body .panel>h2,.admin-body .editor-block>h3,.admin-body .setting-group>h3{color:var(--admin-title)}
.admin-body .modal-head{padding:24px 28px;border-bottom:1px solid var(--admin-line)}
.admin-body .modal-body{padding:28px}.admin-body .modal-body>form>.actions{margin-top:24px}
.admin-body input:not([type=checkbox]):not([type=radio]),.admin-body select,.admin-body textarea{border-color:#cbd7e6;border-radius:8px}
.admin-body input:focus-visible,.admin-body select:focus-visible,.admin-body textarea:focus-visible{outline:2px solid #9ab8e7;outline-offset:2px}
.admin-body .editor-block>.grid label{min-width:0}.admin-body .field-help{line-height:1.75}
.member-profile{display:flex;align-items:center;gap:20px;padding:26px;background:#eef4fd;border:1px solid #d7e4f7;border-radius:14px;margin-bottom:24px}
.member-avatar{display:flex;align-items:center;justify-content:center;width:76px;height:76px;flex-shrink:0;border-radius:50%;background:#214b82;color:#fff;font-size:30px;font-weight:700}
.member-profile-copy{min-width:0}.member-profile h2{margin:12px 0 8px;font-size:25px;overflow-wrap:anywhere}.member-profile p{margin:0;color:#62748c;overflow-wrap:anywhere}
.member-detail-section{border:1px solid #d7e1ef;border-radius:12px;margin:0 0 20px;background:#fff;overflow:hidden}
.member-detail-section h3{display:flex;align-items:center;gap:12px;font-size:18px;padding:18px 22px;margin:0;border-bottom:1px solid #e1e8f1;background:#f7f9fc;color:#193c70}.member-detail-section h3 span{font-size:13px;font-weight:500;color:#8195af}
.member-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 22px;gap:0 24px}
.member-detail-field{padding:17px 0;min-width:0;border-bottom:1px solid #edf1f6}.member-detail-field.is-wide{grid-column:1/-1}.member-detail-field dt{font-size:13px;color:#728197;margin-bottom:7px}.member-detail-field dd{margin:0;line-height:1.7;color:#263c59;font-size:16px;overflow-wrap:anywhere;white-space:pre-line}
.member-privacy-note{font-size:13px;color:#73839a;padding:0 2px;margin:20px 0}
.calendar-booking-choice{display:flex;gap:6px;align-items:flex-start}.calendar-booking-choice>.slot-check-label{flex-shrink:0;margin-top:5px}.calendar-booking-choice>.admin-event{min-width:0;flex:1}
.slot-check-label.is-disabled{opacity:.35;cursor:not-allowed}.slot-check-label input:disabled{cursor:not-allowed}.calendar-mode-hint{margin:18px 0}.calendar-bulk-bar.is-cancel-mode{border-color:#e5b3b9;background:#fff7f7}.bulk-cancel-item>.split{flex-wrap:wrap;gap:12px}.bulk-cancel-item .grid{margin-top:14px}.bulk-cancel-item input[readonly]{background:#edf1f6;color:#617187}
@media(max-width:750px){.admin-body #main>.filters,.admin-body .editor-block,.admin-body .setting-group{padding:18px;gap:12px}.admin-body .modal-head{padding:18px}.admin-body .modal-body{padding:18px}.member-profile{padding:20px 16px;gap:14px}.member-avatar{width:58px;height:58px;font-size:24px}.member-profile h2{font-size:22px}.member-detail-grid{grid-template-columns:1fr;padding:4px 18px}.member-detail-section h3{padding:16px 18px;font-size:17px}.member-detail-field dd{font-size:15px}.member-detail-field{padding:14px 0}.member-detail .badge{font-size:12px}}

/* V1.21: consistent controls, booking selection and complete paginated lists. */
.check{align-items:center}.check>input[type=checkbox],.check>input[type=radio]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;align-self:center}.operating-hours{table-layout:fixed;min-width:650px}.operating-hours th:first-child{width:14%}.operating-hours th:nth-child(2){width:18%}.operating-hours th:nth-child(3),.operating-hours th:nth-child(4){width:34%}.operating-hours th,.operating-hours td{vertical-align:middle}.operating-hours .check{display:flex;align-items:center;gap:10px;min-height:52px}
.time-control121{position:relative;display:block;width:100%;min-width:0;margin-top:8px}.time-control121 .time-value121{width:100%;padding-right:48px;margin:0;font-variant-numeric:tabular-nums}.time-control121 .time-picker-button121{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:#25456e;padding:0;width:38px;height:38px;min-height:38px;margin:0}.time-picker-button121:hover{background:#eaf0f9}.time-control121 .native-time-picker121{position:absolute!important;right:5px;bottom:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0;pointer-events:none}.operating-hours .time-control121{margin:0}
.admin-body .slot-time-fields>.btn:not(.link),.admin-body .field-row>.btn:not(.link),.admin-body .filters>.btn:not(.link),.admin-body .filters>button[type=submit],.admin-body .bulk-fee-fields>.btn:not(.link){height:52px;min-height:52px;align-self:end;margin-bottom:0}.field-row>label,.filters>label{margin-bottom:0;min-width:0}.field-row{gap:16px}.fee-bulk117>.grid+.btn{margin-top:18px}.facility-tab-panel .editor-block+.btn,.facility-tab-panel .round-list117+.btn,.facility-tab-panel #policy-periods+.btn,.facility-tab-panel #policy-holidays+.btn,.facility-tab-panel #policy-recurrences+.btn,.facility-tab-panel #extra-options117+.btn,.facility-tab-panel #extra-amenities117+.btn,.facility-tab-panel #application-questions117+.btn{margin-top:14px}.rich-editor-section{margin:0 0 28px}.rich-editor [data-editor-panel=html],.rich-editor [data-editor-panel=preview]{padding:20px;min-height:300px}.rich-editor [data-editor-error]{color:#a22b42;margin:0 16px}.rich-editor [data-editor-source]{font:15px/1.6 monospace;min-height:380px}
.admin-slot .calendar-booking-choice{align-items:center;gap:0;padding:0 8px 8px}.admin-slot .calendar-booking-choice>.slot-check-label{margin:0;flex:0 0 28px;align-self:center}.admin-slot .calendar-booking-choice>.admin-event{border:0;box-shadow:none;background:transparent!important;border-radius:0;margin:0;padding:6px 4px;min-width:0;flex:1;text-align:left;color:inherit}.admin-slot .admin-event{border:0;box-shadow:none;background:transparent!important;color:inherit}.admin-slot.is-selected{box-shadow:inset 0 0 0 1px #2c61b8;color:#1b4b90}.admin-slot.is-selected .admin-slot-time,.admin-slot.is-selected .admin-event{color:#1b4b90}.slot-check-label[hidden]{display:none!important}
.list-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:24px 0 18px}.list-summary>p{margin:0}.list-summary>label{display:flex;align-items:center;gap:12px;margin:0;white-space:nowrap;font-size:14px}.list-summary select{width:120px;margin:0}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:28px 0}.pagination .btn{min-width:40px}.pagination [aria-current=page]{font-weight:700}.pagination span{padding:0 4px}
.slot.quota-view-only:disabled{opacity:1;background:#f4f8ff;border-color:#c8d9f1;color:#274c7c;cursor:default}.extra-photos121{margin:18px 0 22px}.extra-photos121 .file-card img{width:100%;height:145px}.file-list .photo-remove{margin:0}.extra-thumbnails121{display:flex!important;flex-direction:row!important;gap:10px;overflow-x:auto;max-width:100%}.extra-thumbnails121 img{flex:0 0 140px}.amenity-card121 .gallery-viewport{height:210px}.amenity-card121 .gallery-viewport img{height:100%}.amenity-card121 h3{margin-top:18px}.amenity-card121 .thumbnails button{flex-basis:60px}.amenity-card121 .thumbnails img{height:44px}
@media(max-width:750px){.admin-body .slot-time-fields>.btn:not(.link),.admin-body .field-row>.btn:not(.link),.admin-body .filters>.btn:not(.link),.admin-body .filters>button[type=submit],.admin-body .bulk-fee-fields>.btn:not(.link){height:48px;min-height:48px}.operating-hours .check{min-height:48px}.rich-editor [data-editor-panel=html],.rich-editor [data-editor-panel=preview]{padding:12px}.pagination{gap:6px}.pagination .btn{padding:8px 12px;min-width:36px}.extra-photos121 .file-card img{height:110px}.list-summary{gap:12px}}

/* V1.23: 관리자 주요 섹션을 회원가입 설정과 같은 테두리·제목 간격으로 통일합니다.
   내부 입력 묶음, 편집기 본문, 저장 버튼 전용 박스에는 중복 포인트를 넣지 않습니다. */
.admin-body #main .panel:not(.panel .panel):has(>h2,>.toolbar>h2,>.setting-title>h2,>.table-wrap,>.tabs,>.calendar-filters),
.admin-body #main .facility-list-card{border-top:3px solid var(--admin-line)}
.admin-body #main .panel:not(.panel .panel)>h2,
.admin-body #main .panel:not(.panel .panel)>.setting-title>h2{color:var(--admin-title);padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid #dbe3f0}
.admin-body #main .panel:not(.panel .panel)>.toolbar:has(>h2){padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid #dbe3f0}
.admin-body #main .panel:not(.panel .panel)>.toolbar>h2{color:var(--admin-title);margin:0}

/* V1.24: booking address search and separate detail input */
.booking-address124 .booking-address-actions124{margin:0 0 20px;gap:12px}
.booking-address124 [data-address-parts] label:first-child{max-width:240px}
.booking-address124 .help{margin-top:8px}
.booking-address-dialog124{width:min(600px,calc(100% - 24px))}
.booking-address-dialog124 .modal-body{padding:16px}
.booking-address-dialog124 .postcode-search{height:min(520px,calc(90dvh - 160px));min-height:240px}
.booking-address-dialog124 .help{margin:0 0 12px}

/* V1.25: 사용자 헤더 고정, 교체형 이미지 로고, 가운데 정렬 푸터 */
.public-body{padding-top:var(--public-header-height,160px)}
.public-body .public-header{position:fixed;inset:0 0 auto;z-index:60;width:100%;background:#fff}
.public-body .public-header .brand{min-width:0;max-width:100%}
.public-body .header-logo{display:block;width:180px;height:32px;max-width:100%;object-fit:contain;object-position:left center}
.public-body .sticky{top:calc(var(--public-header-height,160px) + 20px)}
.public-footer{text-align:center}
.public-footer .container{justify-content:center}
.public-footer .footer-body{width:100%;min-width:0}
.footer-info{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 24px}
.footer-info>div{max-width:100%;min-width:0;overflow-wrap:anywhere}
.public-footer .container.footer-bottom{text-align:center}
.footer-preview-box .footer-info{text-align:center}
@media(max-width:750px){
 .public-body .nav-wrap{align-items:center}
 .public-body .header-logo{width:160px;height:28px}
 .footer-info{gap:8px 18px}
}
@media(max-width:480px){.public-body .nav-wrap{align-items:flex-start}}
@media print{.public-body{padding-top:0}.public-body .sticky{top:0}}

/* V1.26: 로고와 상하 여백을 함께 줄여 고정 헤더를 간결하게 표시합니다. */
.public-body .nav-wrap{padding-top:12px;padding-bottom:12px}
@media(max-width:750px){.public-body .nav-wrap{padding-top:10px;padding-bottom:10px}}
@media(max-width:480px){.public-body .nav-wrap{gap:10px}}

/* V1.36: flex labels already provide the spacing above time controls. */
.admin-body label > .time-control121{margin-top:0}

/* V1.37: consistent spacing between stacked form rows and photo uploads. */
.admin-body .field-row + label,
.admin-body .file-list + label,
.admin-body :is(.facility-tab-panel,.setting-group,.editor-block,.settings-section) > .grid + :is(label,.grid,.field-row,.checks){margin-top:20px}
.header-logo-fields{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:start}
.header-logo-preview{display:flex;align-items:center;justify-content:center;min-height:108px;padding:22px;border:1px solid #d2ddec;background:#fff}
.header-logo-preview img{display:block;width:auto;height:auto;max-width:100%;max-height:64px;object-fit:contain}
.header-logo-filename{margin:12px 0;overflow-wrap:anywhere;font-size:14px;color:#51647b}
.header-logo-settings [data-header-logo-status]:empty{display:none}
@media(max-width:700px){.header-logo-fields{grid-template-columns:minmax(0,1fr);gap:20px}}
@media(max-width:600px){
 .admin-body .facility-tab-panel .field-row > :is(label,input,select){flex:0 1 auto}
}
