/* V1.41 공통 포인트색: 기존 시설 사이트의 파랑·청색 계열.
   배치·크기·서체·모서리와 예약 상태 구분은 기존 스타일을 유지합니다. */
:root,.public-body{
 --primary:#2474dd;
 --primary-hover:#1763c5;
 --primary-text:#1261ba;
 --accent:#3299f5;
 --primary-soft:#edf5ff;
 --primary-tint:#e1efff;
 --primary-line:#bed8f5;
 --focus:#4294ef;
 --green:var(--primary);
 --green2:var(--primary-hover);
 --blue:var(--primary);
 --lime:var(--primary-soft);
}

/* 공통 버튼·입력·링크·선택 표시 */
.btn.primary,.btn.dark,.public-body :is(.btn.primary,.btn.dark){background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover,.btn.dark:hover,.public-body :is(.btn.primary,.btn.dark):hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.btn.lime,.public-body .btn.lime{background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-text)}
.btn.link,.public-body .btn.link{color:var(--primary-text)}
.btn:not(.primary):not(.dark):not(.danger):not(.naver):not(.kakao):hover,.public-body .btn:not(.primary):not(.dark):not(.danger):not(.naver):not(.kakao):hover{background:var(--primary-soft);border-color:var(--primary-line)}
.public-body :is(a,button,input,select,textarea):focus-visible,
.admin-body :is(a,button,input,select,textarea):focus-visible{outline-color:var(--focus)}
input[type=checkbox],input[type=radio],.calendar-slot-check,.calendar-date-check{accent-color:var(--primary)}
.tabs .active,.public-body .tabs .active{color:var(--primary-text);border-color:var(--primary)}
.steps span.active,.public-body .steps span.active{color:var(--primary-text);border-color:var(--primary)}
.rich-content a{color:var(--primary-text)}
.badge.blue,.public-body .badge.blue{background:var(--primary-tint);color:var(--primary-text)}
.notice:not(.warning):not(.danger):not(.success),.public-body .notice:not(.warning):not(.danger):not(.success){background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-text)}
.price-box,.public-body .price-box{background:var(--primary-soft)}
.amount,.public-body .amount{color:var(--primary-text)}
.toast,#toast,.public-body #toast{background:var(--primary-hover)}
#toast.error,.public-body #toast.error{background:#91424c}

/* 사용자 홈·시설 정보·예약 달력 */
.public-body :is(.eyebrow,.hero .eyebrow){color:var(--primary-text)}
.public-body .hero{background:var(--primary-soft);border-color:var(--primary-line)}
.public-body .pitch{background:#2d89bc;border-color:#deeffa}
.public-body .art-label{border-color:var(--primary-line)}
.public-body .art-label strong{color:var(--primary-text)}
.public-body .public-footer{background:#f4f8fd}
.public-body .facility-card:hover{border-color:var(--primary-line)}
.public-body .facility-information-tabs [role=tab][aria-selected=true]{background:var(--primary);border-color:var(--primary);color:#fff}
.public-body .facility-information-panel{border-bottom-color:var(--primary)}
.public-body .facility-information-panel>h2,.public-body .facility-guide-table132{border-color:var(--primary)}
.public-body .facility-guide-table132 th{background:#f3f8ff}
.public-body .cal-day.available{background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-text)}
.public-body .cal-day.available small{color:var(--primary-text)}
.public-body .cal-day.available:hover:not(:disabled){background:var(--primary-tint);border-color:var(--accent)}
.public-body .cal-day.sat:not(.selected){color:var(--primary-text)}
.public-body .cal-day.selected:not(.quota-limited),.public-body .cal-day.selected:not(.quota-limited):hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}
.public-body .cal-day.selected small{color:#fff}
.public-body .slot:hover:not(:disabled){background:var(--primary-soft);border-color:var(--accent)}
.public-body .slot.selected,.public-body .slot.selected:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}
.public-body .dot.green{background:var(--accent)}
.quota-card strong,.public-body .quota-card strong{color:var(--primary-text)}
.public-body .gallery-viewport .gallery-arrow{border-color:var(--primary-line);color:var(--primary-text)}
.facility-gallery .thumbnails button[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-tint)}

/* 관리자 메뉴·설정·회원 정보 */
.admin-body{--admin-title:#26384a;--admin-line:#d7e4f2;--admin-soft:#f3f8ff;background:#f3f7fc}
.admin-body #sidebar{background:#1766bb;color:#fff}
.admin-body #sidebar .brand small,.admin-body #sidebar :is(.nav-label,.sidebar-foot){color:#e2efff}
.admin-body .sidebar-foot{border-color:#ffffff40}
.admin-nav a:hover{background:#1e70cc}
.admin-nav a.active{background:var(--primary);color:#fff}
.admin-nav a.active:hover{background:var(--primary-hover)}
.admin-body #sidebar .brand-mark{background:var(--primary);color:#fff}
.stat.emphasis{background:var(--primary);border-color:var(--primary)}
.stat.emphasis small{color:#fff}
.stat .stat-icon{background:var(--primary-soft);color:var(--primary-text)}
.stat.emphasis .stat-icon{background:#ffffff24;color:#fff}
.mini-bar span{background:var(--accent)}
.admin-body .settings-section{border-top-color:var(--primary)}
.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-color:var(--primary)}
.help-trigger{color:var(--primary-text);border-color:var(--primary-line)}
.help-trigger:hover,.help-trigger:focus-visible{color:#fff;background:var(--primary);outline-color:var(--focus)}
.setting-tooltip{background:var(--primary-hover);box-shadow:0 8px 24px #1766bb26}
.facility-config-tabs button.active{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px #2474dd15}
.editor-tabs [aria-selected=true]{background:var(--primary)}
.slot-fee-preview{background:var(--primary-soft);color:var(--primary-text)}
.file-card.dragging{border-color:var(--primary)}
.file-card.drop-target{outline-color:var(--accent)}
.footer-setting-row.dragging{outline-color:var(--accent);background:var(--primary-soft)}
.member-profile{background:var(--primary-soft);border-color:var(--primary-line)}
.member-avatar{background:var(--primary)}
.member-detail-section h3{color:var(--admin-title);background:#f3f8ff}
.reservation-switch.is-on{background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-text)}
.reservation-switch.is-on i{background:var(--primary)}
.time-control121 .time-picker-button121{color:var(--primary-text)}
.time-picker-button121:hover{background:var(--primary-soft)}

/* 관리자 달력: 예약 상태색은 유지하고 체크·선택 색상만 통일 */
.calendar-add{border-color:var(--primary-line);color:var(--primary-text)}
.calendar-add:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.admin-slot.is-selected{background:var(--primary-soft)!important;border-color:var(--primary)!important;box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary-text)}
.admin-slot.is-selected :is(.admin-slot-state,.admin-slot-time,.admin-event){color:var(--primary-text)}
.calendar-bulk-bar strong{color:var(--primary-text)}
.calendar-selection-months .selected-month{background:var(--primary-tint);color:var(--primary-text);border-color:var(--primary-line)}
