/* 관리자 화면 뼈대 - 기능 없음 */
.admin-body {
  min-height: 100vh;
  background: #f3f6f9;
}

[hidden] { display: none !important; }

.admin-login {
  min-height: 100vh;
  padding: 24px;
  display: grid;
  place-items: center;
}

.admin-login__card {
  width: min(100%, 420px);
  padding: 42px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.admin-login__brand {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--primary);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}

.admin-login__card > p:first-of-type {
  margin-top: 24px;
  color: var(--primary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
}

.admin-login__card h1 { margin: 4px 0 28px; font-size: 28px; }
.admin-login__card label { display: grid; gap: 7px; margin-top: 16px; }
.admin-login__card label span { font-size: 13px; font-weight: 700; }
.admin-login__card input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
}
.admin-login__card input:focus { border-color: var(--primary); outline: 2px solid var(--primary-soft); }
.admin-login__card > button {
  width: 100%;
  height: 50px;
  margin-top: 8px;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
  font-weight: 800;
}
.admin-login__card > button:disabled { opacity: .65; cursor: wait; }
.admin-login__card > a { display: block; margin-top: 18px; color: var(--text-sub); font-size: 12px; text-align: center; }
.admin-login__error { min-height: 21px; margin-top: 10px; color: #c73535; font-size: 12px; }

.admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 250px 1fr;
  transition: grid-template-columns .2s ease;
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  background: #132333;
  color: rgba(255,255,255,.78);
  transition: padding .2s ease;
}
.admin-sidebar-toggle {
  width:32px;
  height:32px;
  position:absolute;
  z-index:8;
  top:31px;
  right:-16px;
  display:grid;
  place-items:center;
  border:1px solid #b7c9d8;
  border-radius:999px;
  background:#fff;
  color:#173b5c;
  box-shadow:0 6px 18px rgba(8,30,48,.2);
  font-size:22px;
  font-weight:800;
  line-height:1;
}
.admin-sidebar-toggle:hover { border-color:var(--primary); color:var(--primary); transform:scale(1.05); }
.admin-shell.is-builder-view .admin-main { padding:20px 24px 36px; }

.admin-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 8px 24px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.admin-brand > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--primary);
  color: #fff;
  font-weight: 900;
}
.admin-brand div { display: flex; flex-direction: column; line-height: 1.2; }
.admin-brand strong { color: #fff; font-size: 14px; }
.admin-brand small { margin-top: 4px; color: rgba(255,255,255,.35); font-size: 9px; letter-spacing: .12em; }

.admin-nav {
  display: grid;
  gap: 4px;
  margin-top: 24px;
}
.admin-nav a {
  position:relative;
  padding: 11px 12px;
  border-radius: 8px;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-nav a::before {
  width:20px;
  flex:0 0 20px;
  color:rgba(255,255,255,.5);
  content:attr(data-admin-icon);
  font-size:15px;
  font-weight:900;
  text-align:center;
}
.admin-nav a:hover,
.admin-nav a.is-active {
  background: rgba(255,255,255,.1);
  color: #fff;
}
.admin-nav a:hover::before,.admin-nav a.is-active::before { color:#fff; }

.admin-go-site {
  margin-top: auto;
  padding: 12px;
  display:flex;
  align-items:center;
  gap:9px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #fff;
  font-size: 12px;
}
.admin-go-site span { width:20px; flex:0 0 20px; font-size:16px; font-weight:900; text-align:center; }
.admin-go-site b { font:inherit; font-weight:800; white-space:nowrap; }
.admin-shell.is-sidebar-collapsed { grid-template-columns:82px 1fr; }
.admin-shell.is-sidebar-collapsed .admin-sidebar { padding:28px 12px; }
.admin-shell.is-sidebar-collapsed .admin-brand { justify-content:center; padding:0 0 24px; }
.admin-shell.is-sidebar-collapsed .admin-brand div { display:none; }
.admin-shell.is-sidebar-collapsed .admin-nav a { justify-content:center; padding:11px 0; gap:0; font-size:0; }
.admin-shell.is-sidebar-collapsed .admin-nav a::before { margin:0; font-size:17px; }
.admin-shell.is-sidebar-collapsed .admin-nav .admin-unanswered-badge { min-width:15px; height:15px; padding:0 3px; position:absolute; top:4px; right:3px; font-size:8px; }
.admin-shell.is-sidebar-collapsed .admin-go-site { justify-content:center; padding:12px 0; }
.admin-shell.is-sidebar-collapsed .admin-go-site b { display:none; }

.admin-main { min-width:0; padding:38px; }
.admin-view { margin-top: 30px; }
.admin-shell.is-builder-view .admin-view[data-admin-panel="templates"] { margin-top:18px; }

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-topbar p { color: var(--primary); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.admin-topbar h1 { margin-top: 3px; font-size: 30px; letter-spacing: -.04em; }
.admin-topbar button {
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.admin-account { display: flex; align-items: center; gap: 12px; }
.admin-account span { color: var(--text-sub); font-size: 12px; }

.admin-notice {
  margin-top: 30px;
  padding: 20px 22px;
  border-left: 4px solid var(--primary);
  border-radius: 10px;
  background: #fff;
}
.admin-notice p { margin-top: 3px; color: var(--text-sub); font-size: 13px; }

.admin-card-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.admin-card {
  min-height: 190px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}
.admin-card span { color: var(--primary); font-size: 11px; font-weight: 900; }
.admin-card h2 { margin-top: 32px; font-size: 18px; }
.admin-card p { margin-top: 8px; color: var(--text-sub); font-size: 13px; }

.admin-section-placeholder {
  margin-top: 20px;
  min-height: 160px;
  padding: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 2px dashed #d8e0e8;
  border-radius: 14px;
  color: var(--text-sub);
}
.admin-section-placeholder h2 { color: var(--text-main); }
.admin-section-placeholder span {
  padding: 8px 12px;
  border-radius: 999px;
  background: #e8edf2;
  font-size: 11px;
}

.admin-content-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.admin-content-heading > div > p { color: var(--primary); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.admin-content-heading h2 { margin-top: 4px; font-size: 28px; }
.admin-content-heading > p { max-width: 520px; color: var(--text-sub); font-size: 13px; }
.top-menu-tabs { margin-top: 22px; padding: 6px; display: flex; gap: 6px; overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.top-menu-tab { min-width: 145px; padding: 14px 18px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; color: var(--text-sub); white-space: nowrap; }
.top-menu-tab strong { font-size: 14px; }
.top-menu-tab span { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 999px; background: var(--bg-soft); font-size: 10px; }
.top-menu-tab:hover { background: var(--bg-soft); color: var(--text-main); }
.top-menu-tab.is-active { background: var(--primary); color: #fff; }
.top-menu-tab.is-active span { background: rgba(255,255,255,.2); }
.admin-action-message { width: max-content; max-width: min(520px,calc(100vw - 32px)); min-height: 0; padding: 0; position: fixed; z-index: 1000; top: 50%; left: 50%; overflow: hidden; border: 0; border-radius: 14px; opacity: 0; visibility: hidden; pointer-events: none; box-shadow: 0 18px 60px rgba(11,35,56,.24); font-size: 14px; font-weight: 800; line-height: 1.5; text-align: center; transform: translate(-50%,-42%) scale(.96); transition: opacity .24s ease,transform .24s ease,visibility 0s linear .24s; }
.admin-action-message.is-success,.admin-action-message.is-error,.admin-action-message.is-progress { min-height: 54px; padding: 16px 22px; display: grid; place-items: center; opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); transition: opacity .18s ease,transform .18s ease; }
.admin-action-message.is-progress { background: #eef7ff; color: var(--primary-dark); }
.admin-action-message.is-success { background: #eaf8f0; color: #167044; }
.admin-action-message.is-error { background: #fff0f0; color: #a82424; }
.admin-action-message.is-leaving { opacity: 0; transform: translate(-50%,-56%) scale(.98); }
.template-admin-layout { margin-top: 14px; display: grid; grid-template-columns: minmax(0,1fr); gap: 0; align-items: start; }
.submenu-manager {
  margin-top:10px;
  padding:12px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  grid-template-areas:"heading slots" "form form";
  gap:10px 14px;
  align-items:center;
  position:static;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
.submenu-manager__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.submenu-manager__heading { grid-area:heading; }
.submenu-manager__heading > div { min-width:0; }
.submenu-manager__heading small { color: var(--text-sub); font-size: 10px; }
.submenu-manager__heading h3 { margin-top: 2px; font-size: 18px; }
.submenu-manager__heading .admin-primary-button { min-height: 36px; padding: 0 12px; font-size: 11px; }
.submenu-quick-form { grid-area:form; margin-top:0; padding:12px; display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:10px; border-radius:10px; background:var(--bg-soft); }
.submenu-quick-form label { display: grid; gap: 5px; }
.submenu-quick-form label span { font-size: 11px; font-weight: 700; }
.submenu-quick-form input,.submenu-quick-form select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 7px; background: #fff; }
.submenu-quick-form > div { display:grid; grid-template-columns:110px 70px; gap:6px; }
.submenu-quick-form > div > button:last-child { border: 1px solid var(--border); border-radius: 7px; background: #fff; }
.submenu-empty-state { min-height: 210px; padding: 24px 12px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 2px dashed var(--border); border-radius: 10px; text-align: center; }
.submenu-empty-state strong { font-size: 14px; }
.submenu-empty-state p { margin-top: 5px; color: var(--text-sub); font-size: 11px; }
.submenu-empty-state button { margin-top: 16px; padding: 9px 13px; border-radius: 7px; background: var(--primary-soft); color: var(--primary); font-size: 11px; font-weight: 800; }
.submenu-create-card { margin-top: 22px; }
.submenu-create-form { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr 1fr 100px auto; gap: 10px; align-items: end; }
.submenu-create-form label { display: grid; gap: 6px; }
.submenu-create-form label span { font-size: 12px; font-weight: 700; }
.submenu-create-form input,.submenu-create-form select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.template-slot-list { min-width:0; margin-top:0; padding:2px 2px 6px; grid-area:slots; display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; }
.template-slot-list::-webkit-scrollbar { height:7px; }
.template-slot-list::-webkit-scrollbar-thumb { border-radius:999px; background:#c7d6e2; }
.template-menu-group { padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.template-menu-group h4 { padding: 5px 6px 10px; color: var(--text-main); font-size: 13px; }
.template-menu-group .template-slot + .template-slot { margin-top: 7px; }
.template-menu-group__empty { padding: 12px 6px; color: var(--text-sub); font-size: 11px; }
.template-slot { min-width:230px; max-width:290px; flex:0 0 clamp(230px,22vw,290px); padding:9px; display:grid; grid-template-columns:1fr auto; gap:6px; border:1px solid var(--border); border-radius:10px; background:#fff; text-align:left; scroll-snap-align:start; }
.submenu-manager .submenu-empty-state { min-height:76px; flex:1 0 320px; padding:12px 20px; }
.template-slot__main { min-width: 0; padding: 5px; display: grid; gap: 3px; text-align: left; }
.template-slot small { color: var(--text-sub); font-size: 10px; }
.template-slot strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.template-slot span { color: var(--primary); font-size: 11px; }
.template-slot__order { margin-top:2px; padding-top:6px; display:flex; justify-content:flex-end; gap:4px; border-top:1px solid #edf2f6; }
.template-slot__order button { width:30px; height:26px; border-radius:6px; background:var(--bg-soft); color:var(--text-sub); font-size:14px; font-weight:800; }
.template-slot__order button:hover:not(:disabled) { background:var(--primary-soft); color:var(--primary); }
.template-slot__order button:disabled { opacity:.3; cursor:not-allowed; }
.template-slot__order .template-slot__delete { margin-left:2px; background:#fff0f0; color:#b02e2e; }
.template-slot__order .template-slot__delete:hover { background:#b02e2e; color:#fff; }
.template-slot.is-active { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft); }
.submenu-settings-card { width:min(100%,760px); margin-right:auto; padding:18px 20px; border-left:3px solid var(--primary); }
.submenu-settings-card .editor-card__heading p { max-width:540px; }
.submenu-settings-form { margin-top:14px; display:grid; grid-template-columns:minmax(150px,190px) minmax(260px,1fr) auto; gap:10px; align-items:end; }
.submenu-settings-form label { min-width:0; display:grid; gap:6px; }
.submenu-settings-form label > span { font-size:11px; font-weight:750; }
.submenu-settings-form input,.submenu-settings-form select { width:100%; height:40px; padding:0 10px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.submenu-visible { height: 42px; padding: 0 12px; display: flex !important; align-items: center; gap: 7px !important; border: 1px solid var(--border); border-radius: 8px; }
.submenu-visible input { width: auto; height: auto; }
.submenu-settings-actions { grid-column: 1 / -1; display: flex; gap: 8px; }
.submenu-settings-actions .admin-primary-button { flex: 1; }
.admin-danger-button { min-height: 42px; padding: 0 18px; border: 1px solid #efcaca; border-radius: 8px; background: #fff5f5; color: #b02e2e; font-weight: 800; }
.notice-admin-list { margin-top: 18px; display: grid; gap: 10px; }
.notice-admin-card { position:relative; padding: 20px 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.notice-admin-card__meta { display: flex; align-items: center; gap: 8px; color: var(--text-sub); font-size: 11px; }
.notice-admin-card__meta b { padding: 4px 7px; border-radius: 999px; background: var(--primary-soft); color: var(--primary); }
.notice-admin-card__meta b.is-attachment { background:#eef3f7; color:#49667e; }
.notice-admin-card.is-pinned { border-color:var(--border); background:#fff; box-shadow:none; }
.notice-admin-card.is-pinned::before { content:""; width:4px; position:absolute; top:0; bottom:0; left:0; border-radius:12px 0 0 12px; background:var(--primary); }
.notice-admin-card__meta b.is-pinned::before { content:"📌"; margin-right:4px; }
.notice-admin-card.is-pinned .notice-admin-card__meta b.is-pinned { padding-left:0; background:transparent; color:#587084; }
.notice-admin-card h3 { margin-top: 7px; font-size: 18px; }
.notice-admin-card p { margin-top: 7px; overflow: hidden; color: var(--text-sub); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.notice-admin-card__actions { display: flex; gap: 6px; }
.notice-admin-card__actions button { min-height: 36px; padding: 0 12px; border-radius: 7px; background: var(--bg-soft); font-size: 12px; font-weight: 800; }
.notice-admin-card__actions [data-toggle-notice-pin] { background:#eaf5ff; color:#1468b8; }
.notice-admin-card__actions [data-delete-notice] { background: #fff0f0; color: #b02e2e; }
.notice-admin-empty { min-height: 240px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px dashed var(--border); border-radius: 12px; color: var(--text-sub); }
.admin-form-grid .notice-check-field { min-width:0; min-height:46px; padding:12px 14px; display:flex; align-items:center; gap:12px; border:1px solid var(--border); border-radius:10px; background:#fff; cursor:pointer; }
.admin-form-grid .notice-check-field > input[type="checkbox"] { width:18px; height:18px; flex:0 0 18px; margin:0; padding:0; accent-color:#1468b8; }
.admin-form-grid .notice-check-field > span { min-width:0; display:grid; gap:5px; text-align:left; }
.notice-publication-options { min-width:0; margin:0; padding:0; border:0; }
.notice-publication-options legend { margin-bottom:9px; padding:0; color:#273f54; font-size:12px; font-weight:700; }
.notice-publication-options__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:10px; }
.notice-publication-options .notice-check-field { min-height:74px; transition:border-color .15s,background .15s; }
.notice-publication-options .notice-check-field:has(input:checked) { border-color:#a7cceb; background:#f0f7fd; }
.notice-publication-options .notice-check-field:focus-within { outline:2px solid #1468b8; outline-offset:2px; }
.notice-publication-options .notice-check-field strong { color:#243f56; font-size:13px; line-height:1.4; }
.notice-publication-options .notice-check-field small { color:#60788b; font-size:11px; font-weight:400; line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
.notice-editor-modal { width: min(1040px, calc(100% - 24px)); }
.board-admin-tabs { margin-top:22px; display:flex; align-items:center; gap:6px; padding:6px; border:1px solid var(--border); border-radius:14px; background:#eef5fb; }
.board-admin-tabs button { min-width:150px; min-height:42px; padding:0 20px; border-radius:10px; color:#62778b; font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.board-admin-tabs button.is-active { background:#fff; color:var(--primary); box-shadow:0 4px 14px rgba(24,73,117,.1); }
.admin-unanswered-badge { margin-left:auto; min-width:20px; height:20px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#ef4444; color:#fff; font-size:10px; line-height:1; font-weight:900; letter-spacing:0; box-shadow:0 0 0 3px rgba(239,68,68,.14); }
.admin-unanswered-badge[hidden] { display:none !important; }
.board-admin-tabs .admin-unanswered-badge { margin-left:0; }
.board-admin-panel { margin-top:16px; padding:22px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.board-admin-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.board-admin-panel__heading > div { display:grid; gap:5px; }
.board-admin-panel__heading strong { color:#102b43; font-size:17px; }
.board-admin-panel__heading span { color:var(--text-sub); font-size:12px; }
.qna-admin-card .notice-admin-card__meta b.is-answered { background:#e7f7ef; color:#16804a; }
.qna-admin-card .notice-admin-card__meta b.is-waiting { background:#ffe7e7; color:#c32626; }
.qna-admin-card.is-unanswered { border-color:#ef9b9b; background:linear-gradient(90deg,#fff3f3,#fff 36%); box-shadow:inset 5px 0 0 #df3636; }
.qna-admin-card.is-unanswered h3 { color:#9f1f1f; }
.qna-admin-card.is-unanswered [data-edit-qna] { background:#d92f2f; color:#fff; }
.qna-admin-card .notice-admin-card__actions [data-delete-qna] { background:#fff0f0; color:#b02e2e; }
.resource-admin-card .notice-admin-card__actions [data-delete-resource] { background:#fff0f0; color:#b02e2e; }
.qna-admin-table { min-width:760px; overflow:hidden; border:1px solid #d3e0ea; border-radius:13px; background:#fff; }
#qnaAdminList { min-width:0; overflow-x:auto; }
.qna-admin-table__header,.qna-admin-row { display:grid; grid-template-columns:72px minmax(300px,1fr) 130px 120px 150px; align-items:center; }
.qna-admin-table__header { min-height:46px; background:#102638; color:#fff; font-size:11px; font-weight:900; text-align:center; }
.qna-admin-table__header span:nth-child(2) { text-align:left; }
.qna-admin-row { position:relative; min-height:66px; border-top:1px solid #dce6ed; color:#264257; }
.qna-admin-table__header + .qna-admin-row { border-top:0; }
.qna-admin-row > * { min-width:0; }
.qna-admin-row__number,.qna-admin-row__author,.qna-admin-row__date { padding:0 12px; text-align:center; }
.qna-admin-row__number { color:#6a8092; font-size:12px; font-weight:900; }
.qna-admin-row__author { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.qna-admin-row__date { color:#728595; font-size:11px; }
.qna-admin-row__title { min-height:65px; padding:10px 16px; display:flex; align-items:center; gap:9px; color:#172f44; text-align:left; }
.qna-admin-row__title > span { overflow:hidden; font-size:14px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.qna-status-badge { flex:0 0 auto; padding:5px 8px; border-radius:999px; font-size:9px; line-height:1; font-weight:900; }
.qna-status-badge.is-complete { background:#e5f6ed; color:#137845; }
.qna-status-badge.is-waiting { background:#ffe6e6; color:#c32626; }
.qna-status-badge.is-faq { border:1px solid #d3e0ea; background:transparent; color:#607689; }
.qna-admin-row__actions { padding:0 10px; display:flex; justify-content:center; gap:5px; }
.qna-admin-row__actions button { min-height:32px; padding:0 10px; border-radius:7px; background:#edf5fb; color:#1766a5; font-size:10px; font-weight:900; }
.qna-admin-row__actions [data-delete-qna] { background:#fff0f0; color:#b02e2e; }
.qna-admin-row.is-unanswered { background:#fff8f8; box-shadow:inset 4px 0 0 #dc3434; }
.qna-admin-row.is-unanswered .qna-admin-row__title > span { color:#9f1f1f; }
.qna-admin-row.is-pinned { background:#fff; }
.qna-admin-row.is-pinned::before { content:""; width:4px; position:absolute; top:0; bottom:0; left:0; background:var(--primary); }
.qna-question-source { padding:18px 20px; display:grid; gap:10px; border:1px solid #c9dfef; border-left:4px solid var(--primary); border-radius:12px; background:#f5faff; }
.qna-question-source > div { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#6c8294; font-size:10px; font-weight:800; }
.qna-question-source h4 { color:#102b43; font-size:20px; line-height:1.4; }
.qna-question-source p { margin:0; color:#405b70; font-size:14px; line-height:1.75; white-space:pre-wrap; }
.qna-question-source small { color:#70869a; font-size:11px; }
.qna-plain-answer-field { display:grid; gap:7px; }
.qna-plain-answer-field > span { color:#273f54; font-size:12px; font-weight:800; }
.qna-plain-answer-field textarea { min-height:150px; resize:vertical; font-size:15px; line-height:1.7; }
.qna-plain-answer-field small { color:#7a8d9e; font-size:10px; }
.board-block-editor { display:grid; gap:18px; }
.board-data-link-badge { padding:7px 10px; border-radius:999px; background:#e7f3ff; color:#1468b8; font-size:11px; font-weight:900; }
.board-design-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.board-design-options label { cursor:pointer; }
.board-design-options input { position:absolute; opacity:0; pointer-events:none; }
.board-design-options span { min-height:84px; display:grid; align-content:center; gap:5px; padding:14px; border:1px solid #cdddea; border-radius:12px; background:#f7fbff; }
.board-design-options strong { color:#17344d; font-size:13px; }
.board-design-options small { color:#73879a; font-size:10px; line-height:1.45; }
.board-design-options input:checked + span { border-color:#1468b8; background:#eaf5ff; box-shadow:inset 0 0 0 1px #1468b8; }
.board-color-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.board-color-controls label,.board-display-controls label { display:grid; gap:7px; color:#38536b; font-size:11px; font-weight:800; }
.board-color-controls input[type="color"] { width:100%; height:42px; padding:5px; border:1px solid #cdddea; border-radius:9px; background:#fff; }
.board-display-controls { display:grid; grid-template-columns:minmax(180px,260px); align-items:end; gap:12px; }
.board-display-controls select { min-height:42px; padding:0 12px; border:1px solid #cdddea; border-radius:9px; background:#fff; }
.board-display-controls .notice-check-field { min-height:42px; display:flex; align-items:center; padding:0 12px; border:1px solid #cdddea; border-radius:9px; }
.board-attachment-field small { color:#7a8d9e; font-size:10px; font-weight:500; }
.board-attachment-field input[type="file"] { padding:8px; border:1px solid #cdddea; border-radius:9px; background:#f8fbfd; }
.board-attachment-list { min-width:0; padding:12px; border:1px solid #d7e4ed; border-radius:12px; background:#f6fafc; }
.board-attachment-list__heading { margin-bottom:9px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.board-attachment-list__heading strong { color:#17344d; font-size:12px; }
.board-attachment-list__heading span,.board-attachment-list__empty { color:#7b8e9f; font-size:10px; }
.board-attachment-list__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.board-attachment-chip { min-width:0; min-height:58px; padding:7px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:9px; border:1px solid #d5e2eb; border-radius:9px; background:#fff; }
.board-attachment-chip img { width:42px; height:42px; display:block; justify-self:center; border-radius:7px; object-fit:scale-down; object-position:center; }
.board-attachment-chip__file { width:42px; height:42px; display:grid; place-items:center; border-radius:7px; background:#e9f3fa; color:#176bb0; font-size:9px; font-weight:900; }
.board-attachment-chip > div { min-width:0; display:grid; gap:3px; }
.board-attachment-chip strong { overflow:hidden; color:#27465f; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.board-attachment-chip small { color:#8293a2; font-size:9px; }
.board-attachment-chip button { padding:7px 8px; border-radius:7px; background:#fff0f0; color:#b02e2e; font-size:10px; font-weight:800; }
.board-attachment-chip.is-pending { grid-template-columns:42px minmax(0,1fr); border-style:dashed; }
.board-rich-editor-field { min-width:0; display:grid; gap:8px; }
.board-rich-editor-field__label { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.board-rich-editor-field__label strong { color:#273f54; font-size:12px; }
.board-rich-editor-field__label span { color:#7a8d9e; font-size:10px; }
.board-rich-editor { min-height:360px; background:#fff; }
.board-rich-editor--answer { min-height:260px; }
.board-rich-editor .ql-editor { min-height:inherit; color:#182a3a; font-size:16px; line-height:1.75; text-align:left; }
.board-rich-editor .ql-editor img { max-width:100%; height:auto; }
.notice-image-tools { padding:10px 12px; display:grid; grid-template-columns:minmax(150px,1fr) auto minmax(170px,240px) auto; align-items:center; gap:10px; border:1px solid #bdd8ec; border-radius:10px; background:#eef7fd; }
.notice-image-tools[hidden] { display:none; }
.notice-image-tools > div:first-child { min-width:0; display:grid; gap:2px; }
.notice-image-tools > div:first-child strong { color:#183e5c; font-size:11px; }
.notice-image-tools > div:first-child span { overflow:hidden; color:#70889a; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.notice-image-tools__align { display:flex; gap:4px; }
.notice-image-tools__align button,.notice-image-tools__delete { min-height:32px; padding:0 9px; border:1px solid #c5dceb; border-radius:7px; background:#fff; color:#31536c; font-size:10px; font-weight:800; }
.notice-image-tools__align button.is-active { border-color:#1472c4; background:#1472c4; color:#fff; }
.notice-image-tools > label { display:grid; grid-template-columns:auto minmax(90px,1fr) 38px; align-items:center; gap:7px; color:#31536c; font-size:10px; font-weight:800; }
.notice-image-tools > label input { min-width:0; accent-color:#1472c4; }
.notice-image-tools > label output { color:#1472c4; text-align:right; }
.notice-image-tools__delete { border-color:#f1c8c8; background:#fff4f4; color:#bb3434; }
.board-rich-editor .ql-editor img.is-notice-image-selected { outline:3px solid #1682d6; outline-offset:3px; cursor:grab; }
.board-rich-editor .ql-editor img.is-dragging { opacity:.42; cursor:grabbing; }
.board-rich-editor .ql-editor.is-notice-image-dragover { box-shadow:inset 0 0 0 3px rgba(22,130,214,.24); }
#qnaEditorModal .ql-medicalIcon { display:none; }
.notice-editor-modal .ql-toolbar { position:sticky; top:0; z-index:2; background:#fff; }
.notice-editor-modal .admin-form-grid { grid-template-columns:minmax(0,1fr); }
.notice-editor-modal .admin-form-grid > label { min-width:0; }
.notice-editor-modal .board-rich-editor-field__label { flex-wrap:wrap; gap:4px 12px; }
@media (max-width:520px) {
  .notice-editor-modal .admin-modal__card { padding:20px 16px; }
}
.template-editor { min-height: 360px; }
.template-editor__empty { min-height: 360px; display: grid; place-items: center; border: 2px dashed #d8e0e8; border-radius: 14px; color: var(--text-sub); }
.template-editor__header { margin-bottom: 14px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; border-radius: 12px; background: #132333; color: #fff; }
.template-editor__header small { color: rgba(255,255,255,.6); }
.template-editor__header h3 { font-size: 22px; }
.template-editor__header a { font-size: 12px; }
.editor-card { margin-top: 14px; padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.editor-card h4 { font-size: 17px; }
.editor-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.editor-card__heading p { margin-top: 3px; color: var(--text-sub); font-size: 12px; }
.editor-card__heading > button { color: var(--primary); font-size: 12px; font-weight: 800; }
.editor-card__heading > .admin-primary-button { color: #fff; }
.mode-options { margin-top: 14px; display: flex; gap: 22px; }
.mode-options label { display: flex; align-items: center; gap: 7px; font-size: 13px; }
.admin-form-row { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr) 110px 120px; gap: 8px; }
.admin-form-row input,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-field textarea,.schedule-admin-row input { width: 100%; padding: 11px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.admin-primary-button { min-height: 42px; padding: 0 18px; border-radius: 8px; background: var(--primary); color: #fff; font-weight: 800; }
.admin-primary-button:disabled { opacity: .45; cursor: not-allowed; }
.admin-chip-list { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.admin-chip-list > p,.admin-record-list > p { color: var(--text-sub); font-size: 13px; }
.admin-chip { padding: 7px 9px 7px 12px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); font-size: 12px; }
.admin-chip button { margin-left: 6px; color: #b02e2e; }
.admin-form-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.admin-form-grid label,.admin-field { display: grid; gap: 6px; }
.admin-form-grid label span,.admin-field span { font-size: 12px; font-weight: 700; }
.admin-form-grid__wide { grid-column: 1 / -1; }
.admin-record-list { margin-top: 16px; display: grid; gap: 10px; }
.admin-record { padding: 12px; display: grid; grid-template-columns: 68px 1fr auto; gap: 14px; align-items: center; border: 1px solid var(--border); border-radius: 10px; }
.admin-record img { width:68px; height:78px; padding:2px; justify-self:center; border-radius:7px; object-fit:scale-down; object-position:center; background:var(--bg-soft); }
.admin-record div { display: grid; gap: 3px; }
.admin-record small,.admin-record p { color: var(--text-sub); font-size: 11px; }
.admin-record button { color: #b02e2e; font-size: 12px; }
.department-add-form { margin-top: 16px; display: grid; grid-template-columns: 1fr 150px; gap: 8px; }
.department-add-form[data-doctor-department-form] { grid-template-columns: minmax(0, 1fr) 120px 150px; }
.department-add-form input { width: 100%; height: 44px; padding: 0 13px; border: 1px solid var(--border); border-radius: 8px; }
.doctor-workspace { padding: 0; overflow: hidden; }
.department-tabs { padding: 12px 16px 0; display: flex; gap: 6px; overflow-x: auto; border-bottom: 1px solid var(--border); background: var(--bg-soft); }
.department-tab { flex: 0 0 auto; padding: 13px 18px; display: flex; align-items: center; gap: 8px; border: 1px solid transparent; border-bottom: 0; border-radius: 9px 9px 0 0; color: var(--text-sub); }
.department-tab span { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; background: #e8edf2; font-size: 10px; }
.department-tab.is-active { border-color: var(--border); background: #fff; color: var(--primary); font-weight: 800; }
.department-panel { padding: 24px; }
.department-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.department-panel__heading small { color: var(--text-sub); font-size: 10px; }
.department-panel__heading h4 { margin-top: 2px; font-size: 21px; }
.department-panel__heading > div:last-child { display: flex; gap: 7px; }
.admin-secondary-button { min-height: 42px; padding: 0 14px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text-sub); font-size: 12px; }
.doctor-admin-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.doctor-admin-card { min-width: 0; padding: 12px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--border); border-radius: 10px; }
.doctor-admin-card > img { width:72px; height:86px; padding:2px; justify-self:center; object-fit:scale-down; object-position:center; border-radius:7px; background:var(--bg-soft); }
.doctor-admin-card__photo { width:72px; height:86px; padding:2px; border-radius:7px; background:var(--bg-soft); }
.doctor-admin-card > div { min-width: 0; display: grid; gap: 3px; }
.doctor-admin-card small { color: var(--primary); font-size: 10px; }
.doctor-admin-card strong { font-size: 15px; }
.doctor-admin-card p { overflow: hidden; color: var(--text-sub); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.doctor-admin-card__actions { display: grid; gap: 5px; }
.doctor-admin-card__actions button { padding: 6px 9px; border-radius: 6px; background: var(--primary-soft); color: var(--primary); font-size: 11px; }
.doctor-admin-card__actions button:last-child { background: #fff0f0; color: #b02e2e; }
.doctor-admin-empty { min-height: 180px; grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--text-sub); text-align: center; }
.doctor-admin-empty strong { color: var(--text-main); }
.doctor-admin-empty p { margin-top: 5px; font-size: 12px; }
.doctor-admin-empty--large { min-height: 330px; }
.admin-modal { width: min(720px, calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; overflow: auto; border: 0; border-radius: 16px; box-shadow: 0 28px 90px rgba(0,0,0,.25); }
.admin-modal::backdrop { background: rgba(11,24,37,.65); backdrop-filter: blur(3px); }
.admin-modal__card { padding: 26px; }
.structured-block-modal { width: min(1240px, calc(100% - 32px)); }
.structured-block-modal.is-table-editor { width:min(980px,calc(100vw - 28px)); min-width:min(780px,calc(100vw - 16px)); min-height:620px; resize:both; }
.structured-block-modal.is-table-editor.is-table-maximized { width:min(1380px,calc(100vw - 16px)); max-width:none; height:calc(100vh - 16px); max-height:none; resize:none; }
.structured-block-modal #structuredBlockFields { margin-top: 20px; }
.doctor-manager-modal .doctor-workspace { margin-top: 14px; }
.doctor-inline-editor { margin-top: 14px; border-color: var(--primary); }
.doctor-manager-actions { grid-template-columns: 1fr 1fr; }
.doctor-section-status { margin: 16px 0; padding: 15px 18px; display: grid; gap: 4px; border-radius: 9px; background: var(--primary-soft); }
.doctor-section-status strong { color: var(--primary-dark); font-size: 14px; }
.doctor-section-status span { color: var(--text-sub); font-size: 12px; }
.doctor-section-quick-entry { margin-top: 14px; padding-top: 18px; border-top: 1px solid var(--border); }
.doctor-directory-editor { display: grid; gap: 12px; color: var(--text-main); }
.doctor-directory-topbar { padding: 14px; display: grid; gap: 12px; border: 1px solid #cfe0ed; border-radius: 14px; background: linear-gradient(145deg,#f7fbff,#eef6fc); }
.doctor-directory-topbar > div:first-child { display: grid; gap: 2px; }
.doctor-directory-topbar strong { font-size: 14px; }
.doctor-directory-topbar > div:first-child span { color: var(--text-sub); font-size: 10px; }
.doctor-column-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.doctor-column-options label { min-width: 0; cursor: pointer; }
.doctor-column-options input { position: absolute; opacity: 0; pointer-events: none; }
.doctor-column-options label > span { min-height: 54px; padding: 8px; display: grid; place-items: center; align-content: center; gap: 1px; border: 1px solid #d3e1eb; border-radius: 10px; background: #fff; color: #5d7284; }
.doctor-column-options label > span b { font-size: 13px; }
.doctor-column-options label > span small { font-size: 9px; }
.doctor-column-options input:checked + span { border-color: var(--primary); background: var(--primary); color: #fff; box-shadow: 0 7px 18px rgba(20,104,184,.18); }
.doctor-concept-color { min-height: 52px; padding: 8px 10px 8px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #d3e1eb; border-radius: 10px; background: #fff; }
.doctor-concept-color > span { min-width: 0; display: grid; gap: 2px; }
.doctor-concept-color > span strong { font-size: 12px; }
.doctor-concept-color > span small { color: var(--text-sub); font-size: 9px; font-weight: 500; }
.doctor-concept-color input[type="color"] { width: 64px; min-width: 64px; height: 36px; padding: 3px; border: 1px solid #cbdbe7; border-radius: 8px; background: #fff; cursor: pointer; }
.doctor-department-bar { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.doctor-directory-tabs { padding: 10px 10px 0; display: flex; gap: 5px; overflow-x: auto; border-bottom: 1px solid var(--border); background: #f5f8fa; scrollbar-width: thin; }
.doctor-directory-tab { min-width: max-content; min-height: 44px; padding: 0 12px; display: flex; align-items: center; gap: 7px; border: 1px solid transparent; border-bottom: 0; border-radius: 9px 9px 0 0; color: #687c8c; font-size: 12px; }
.doctor-directory-tab b { min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: #e4ebf1; color: #718493; font-size: 9px; }
.doctor-directory-tab.is-active { border-color: var(--border); background: #fff; color: var(--primary); font-weight: 800; }
.doctor-directory-tab.is-active b { background: var(--primary-soft); color: var(--primary); }
.doctor-department-add { padding: 10px; display: grid; grid-template-columns: minmax(0,1fr) 88px; gap: 7px; }
.doctor-department-add input { min-width: 0; height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 8px; }
.doctor-department-add button,.doctor-roster__heading > button { border-radius: 8px; background: var(--primary-soft); color: var(--primary); font-size: 11px; font-weight: 800; }
.doctor-department-panel { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.doctor-department-detail { padding: 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; border-bottom: 1px solid var(--border); background: #fbfcfd; }
.doctor-department-detail label { min-width: 0; display: grid; gap: 5px; }
.doctor-department-detail label span { color: var(--text-sub); font-size: 9px; font-weight: 700; }
.doctor-department-detail input { width: 100%; height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 8px; background: #fff; font-weight: 700; }
.doctor-department-order { display: flex; gap: 4px; }
.doctor-department-order button { min-height: 40px; padding: 0 8px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text-sub); font-size: 10px; }
.doctor-department-order button:disabled { opacity: .32; }
.doctor-department-actions { display:flex; align-items:center; gap:6px; }
.doctor-department-actions > .admin-secondary-button { min-height:40px; white-space:nowrap; }
.doctor-danger-button { min-height:40px; padding:0 11px; border:1px solid #f0d3d3; border-radius:8px; background:#fff5f5; color:#bd3434; font-size:10px; font-weight:800; white-space:nowrap; }
.doctor-directory-content { display: grid; gap: 0; }
.doctor-roster { min-width: 0; padding: 14px; border-bottom: 1px solid var(--border); }
.doctor-roster__heading,.doctor-profile-editor__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.doctor-roster__heading > div,.doctor-profile-editor__heading > div { display: grid; gap: 2px; }
.doctor-roster__heading strong,.doctor-profile-editor__heading strong { font-size: 14px; }
.doctor-roster__heading span,.doctor-profile-editor__heading small { color: var(--text-sub); font-size: 9px; }
.doctor-roster__heading > button { min-height: 36px; padding: 0 11px; }
.doctor-roster-list { margin-top: 12px; display: grid; gap: 8px; }
.doctor-roster-card { min-width: 0; padding: 11px; position: relative; display: grid; grid-template-columns: 68px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 1px solid #dbe5ec; border-radius: 13px; background: #fff; transition: border-color .18s,background .18s,box-shadow .18s,transform .18s; }
.doctor-roster-card[role="button"] { cursor:pointer; }
.doctor-roster-card[role="button"]:focus-visible { outline:3px solid rgba(20,104,184,.2); outline-offset:2px; }
.doctor-roster-card:hover { border-color:#b9d6ee; transform:translateY(-1px); }
.doctor-roster-card.is-editing { border-color: var(--primary); background: #f1f8ff; box-shadow: 0 0 0 2px rgba(20,104,184,.13),0 10px 24px rgba(20,104,184,.09); }
.doctor-roster-card.is-editing::before { content:""; width: 4px; position: absolute; top: 9px; bottom: 9px; left: -1px; border-radius: 0 999px 999px 0; background: var(--primary); }
.doctor-roster-card.is-editing [data-new-doctor-active] { background: var(--primary); color: #fff; }
.doctor-roster-card.is-pending::after { content:"적용 대기"; position:absolute; top:7px; right:7px; padding:3px 6px; border-radius:999px; background:#fff0cf; color:#9a6100; font-size:8px; font-weight:900; box-shadow:0 2px 7px rgba(77,54,8,.1); }
.doctor-roster-card--new { border-style:dashed; }
.doctor-roster-card[hidden],.doctor-roster-empty[hidden] { display:none !important; }
.doctor-roster-card__photo { width: 68px; height: 82px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; background: #eff4f7; color: #8da0ae; font-size: 9px; }
.doctor-roster-card__photo img { width:100%; height:100%; display:block; object-fit:scale-down; object-position:center; }
.doctor-roster-card__copy { min-width: 0; display: grid; gap: 2px; }
.doctor-roster-card__copy small { color: var(--primary); font-size: 9px; font-weight: 700; }
.doctor-roster-card__copy strong { font-size: 15px; }
.doctor-roster-card__copy p { overflow: hidden; color: var(--text-sub); font-size: 10px; line-height:1.45; text-overflow: ellipsis; white-space: nowrap; }
.doctor-roster-card__copy em { color: #91a1ad; font-size: 9px; font-style: normal; }
.doctor-roster-card__actions { display: grid; gap: 4px; }
.doctor-roster-card__actions button { min-width: 42px; min-height: 28px; border-radius: 6px; background: var(--primary-soft); color: var(--primary); font-size: 9px; font-weight: 700; }
.doctor-roster-card__actions > [data-delete-directory-doctor] { background: #fff0f0; color: #bd3434; }
.doctor-roster-card__order { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.doctor-roster-card__order button { min-width:0; min-height:24px; padding:0; border:1px solid #d9e5ed; background:#fff; color:#5f7484; }
.doctor-roster-card__order button:disabled { opacity:.28; }
.doctor-roster-empty,.doctor-directory-empty { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 4px; color: var(--text-sub); text-align: center; }
.doctor-roster-empty strong,.doctor-directory-empty strong { color: var(--text-main); font-size: 13px; }
.doctor-roster-empty p,.doctor-directory-empty p { font-size: 10px; }
.doctor-profile-editor { padding: 14px; background: #f7fafc; }
.doctor-profile-editor__heading > button { color: var(--primary); font-size: 10px; font-weight: 700; }
.doctor-profile-editor [data-directory-doctor-form] { margin-top: 12px; display: grid; gap: 11px; }
.doctor-profile-fields { display: grid; grid-template-columns: 1fr 1fr 84px; gap: 8px; }
.doctor-profile-fields label,.doctor-career-field,.doctor-photo-field > label { min-width: 0; display: grid; gap: 5px; }
.doctor-profile-fields label span,.doctor-career-field > span,.doctor-photo-field > label span { color: #3e5668; font-size: 10px; font-weight: 800; }
.doctor-career-field > span { display: flex; align-items: center; justify-content: space-between; }
.doctor-career-field > span small { color: #8a9aa6; font-size: 9px; font-weight: 500; }
.doctor-profile-fields input,.doctor-career-field textarea { width: 100%; min-width: 0; padding: 10px 11px; border: 1px solid #d5e1ea; border-radius: 8px; background: #fff; }
.doctor-career-field textarea { min-height: 138px; resize: vertical; line-height: 1.65; }
.doctor-photo-field { padding: 10px; display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 10px; align-items: center; border: 1px solid #d8e4ec; border-radius: 10px; background: #fff; }
.doctor-photo-preview { width: 94px; min-height: 100px; grid-row: 1 / span 2; overflow: hidden; border-radius: 8px; background: #eef3f6; }
.doctor-photo-preview > strong,.doctor-photo-preview > small { display: none; }
.doctor-photo-preview > span { min-height: 100px; padding: 10px; display: grid; place-items: center; color: #8a9ba8; font-size: 9px; text-align: center; }
.doctor-photo-preview img { width:auto; max-width:100%; height:auto; max-height:118px; display:block; margin:auto; object-fit:contain; }
.doctor-photo-field > button { justify-self: start; color: #bd3434; font-size: 10px; }
.doctor-photo-field > button:disabled { opacity: .35; }
.doctor-profile-save { width: 100%; }
@media (max-width: 520px) {
  .doctor-department-detail { grid-template-columns:1fr; }
  .doctor-department-actions { flex-wrap:wrap; }
  .doctor-department-order { flex:1 1 100%; }
  .doctor-department-order button { flex:1; }
  .doctor-profile-fields { grid-template-columns: 1fr 1fr; }
  .doctor-order-field { grid-column: 1 / -1; }
  .doctor-photo-field { grid-template-columns: 78px minmax(0,1fr); }
  .doctor-photo-preview { width: 78px; }
}
.admin-modal__header { display: flex; align-items: center; justify-content: space-between; }
.admin-modal__header small { color: var(--primary); font-size: 11px; font-weight: 800; }
.admin-modal__header h3 { font-size: 24px; }
.admin-modal__header > button { font-size: 28px; color: var(--text-sub); }
.admin-modal__actions { margin-top: 20px; display: grid; grid-template-columns: 100px 1fr; gap: 8px; }
.admin-modal__actions > button:first-child { border: 1px solid var(--border); border-radius: 8px; }
.template-preview-button { padding: 10px 16px; border: 1px solid rgba(255,255,255,.4); border-radius: 8px; color: #fff; font-weight: 800; }
.content-builder__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.content-builder__toolbar p { margin-top: 3px; color: var(--text-sub); font-size: 12px; }
.page-concept-open-button { min-width: 250px; padding: 12px 16px; display: grid; gap: 2px; border: 1px solid #b9d6ee; border-radius: 12px; background: linear-gradient(135deg,#f5faff,#eaf4ff); color: #153f66; text-align: left; box-shadow: 0 7px 20px rgba(20,104,184,.08); }
.page-concept-open-button span { font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.page-concept-open-button strong { font-size: 15px; }
.page-concept-open-button small { color: #60798d; font-size: 10px; }
.page-concept-open-button.is-active { border-color: var(--primary); background: linear-gradient(135deg,var(--primary),#0b4c8c); color: #fff; box-shadow: 0 12px 28px rgba(20,104,184,.2); }
.page-concept-open-button.is-active small { color: rgba(255,255,255,.76); }
.page-concept-active-notice { margin-top: 16px; padding: 12px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid #b9d6ee; border-radius: 10px; background: #f1f8fe; }
.page-concept-active-notice strong { flex: 0 0 auto; color: var(--primary-dark); font-size: 12px; }
.page-concept-active-notice span { color: var(--text-sub); font-size: 11px; line-height: 1.55; }
.page-concept-modal { width: min(1180px,calc(100% - 24px)); }
.page-concept-modal__description { margin-top: 16px; color: var(--text-sub); font-size: 13px; line-height: 1.7; }
.page-concept-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.page-concept-card { min-width: 0; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(21,49,74,.1); text-align: left; transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.page-concept-card:hover { transform: translateY(-3px); box-shadow: 0 13px 32px rgba(21,49,74,.15); }
.page-concept-card.is-selected { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(20,104,184,.12),0 13px 32px rgba(21,49,74,.15); }
.page-concept-card__preview { min-height: 138px; padding: 24px; display: block; position: relative; overflow: hidden; border-bottom: 1px solid var(--concept-preview-border); background: linear-gradient(145deg,var(--concept-preview-surface),var(--concept-preview-soft)); }
.page-concept-card__preview::after { content:""; width: 88px; height: 88px; position:absolute; top:-38px; right:-28px; border-radius:50%; background:var(--concept-preview-accent); opacity:.14; }
.page-concept-card__eyebrow { width: 38px; height: 4px; display: block; border-radius: 999px; background: var(--concept-preview-accent); }
.page-concept-card__preview > strong { margin-top: 8px; display: block; color: var(--concept-preview-title); font-size: 18px; }
.page-concept-card__tiles { margin-top: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.page-concept-card__tiles b { height: 28px; border: 1px solid var(--concept-preview-border); border-radius: 7px; background: color-mix(in srgb,var(--concept-preview-accent) 10%,var(--concept-preview-surface)); }
.page-concept-card__process { margin-top: 9px; display: flex; align-items: center; gap: 5px; }
.page-concept-card__process i { height: 20px; padding: 0 8px; display: grid; place-items: center; border-radius: 999px; background: var(--concept-preview-accent); color: #fff; font-size: 8px; font-style: normal; font-weight: 900; }
.page-concept-card__process i:not(:last-child)::after { content:"›"; margin-left: 10px; color:var(--concept-preview-accent); }
.page-concept-card[data-page-concept="individual"] .page-concept-card__preview { outline: 2px dashed var(--concept-preview-border); outline-offset: -12px; background: #fff; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__preview { border-radius: 0 0 34px 0; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__tiles b { border-radius: 16px 16px 7px 16px; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__process i { border: 1px solid var(--concept-preview-accent); background: transparent; color: var(--concept-preview-accent); }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles { grid-template-columns: 1.4fr .8fr .8fr; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles b { border-radius: 18px; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__process i { border-radius: 6px 14px 14px 14px; }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__preview > strong { font-family:"Nanum Myeongjo",serif; font-size:20px; }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__eyebrow { width: 22px; border-radius: 0; }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__tiles { grid-template-columns: 1fr; gap: 4px; }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__tiles b { height: 7px; border: 0; border-radius: 0; background: linear-gradient(90deg,var(--concept-preview-accent),transparent); }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__process { position:absolute; right:18px; bottom:18px; }
.page-concept-card[data-page-concept="premium-navy"] .page-concept-card__process i { border-radius: 0; background:var(--concept-preview-accent); color:#101b2d; }
.page-concept-card[data-page-concept="violet-tech"] .page-concept-card__preview { background: radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--concept-preview-accent) 32%,transparent),transparent 34%),linear-gradient(145deg,var(--concept-preview-surface),var(--concept-preview-soft)); }
.page-concept-card[data-page-concept="violet-tech"] .page-concept-card__tiles b { border-color:rgba(255,255,255,.9); border-radius:14px; background:color-mix(in srgb,var(--concept-preview-surface) 65%,transparent); box-shadow:0 8px 18px color-mix(in srgb,var(--concept-preview-accent) 15%,transparent); transform:skewX(-5deg); }
.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__preview { border-radius:0; background:linear-gradient(90deg,var(--concept-preview-accent) 0 30%,var(--concept-preview-surface) 30%); }
.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__eyebrow { margin-left:34%; border-radius:0; background:var(--concept-preview-title); }
.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__preview > strong,.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__tiles,.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__process { margin-left:34%; }
.page-concept-card[data-page-concept="swiss-red"] .page-concept-card__tiles b { border:2px solid var(--concept-preview-title); border-radius:0; background:transparent; }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__preview { border-radius:70px 70px 15px 15px; }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__tiles b { border-radius:24px 24px 6px 6px; background:color-mix(in srgb,var(--concept-preview-accent) 9%,#fff); }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__process i { border-radius:100% 0 100% 0; }
.page-concept-card[data-page-concept="heritage-burgundy"] .page-concept-card__preview { outline:3px double var(--concept-preview-border); outline-offset:-12px; text-align:center; }
.page-concept-card[data-page-concept="heritage-burgundy"] .page-concept-card__eyebrow { width:22px; height:22px; margin:auto; border-radius:50%; }
.page-concept-card[data-page-concept="heritage-burgundy"] .page-concept-card__tiles b { border-radius:22px 22px 4px 4px; }
.page-concept-card[data-page-concept="heritage-burgundy"] .page-concept-card__process { justify-content:center; }
.page-concept-card[data-page-concept="heritage-burgundy"] .page-concept-card__process i { border:1px solid var(--concept-preview-accent); background:transparent; color:var(--concept-preview-accent); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview { background:radial-gradient(circle at 88% 8%,rgba(126,190,255,.52),transparent 34%),linear-gradient(145deg,#f8fbff,#d9eaff); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.9); border-radius:18px; box-shadow:inset 0 1px 0 #fff,0 14px 35px rgba(47,125,244,.12); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview > * { position:relative; z-index:1; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__tiles b { border-color:rgba(255,255,255,.9); border-radius:12px; background:rgba(255,255,255,.58); box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(47,125,244,.1); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__process i { border:1px solid rgba(255,255,255,.8); box-shadow:0 5px 14px rgba(47,125,244,.2); }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__preview { padding-left:42%; border-radius:0; background:linear-gradient(90deg,var(--concept-preview-accent) 0 36%,var(--concept-preview-surface) 36%); }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__preview::after { width:1px; height:100%; top:0; right:22px; border-radius:0; background:var(--concept-preview-title); opacity:1; }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__eyebrow { width:100%; height:1px; border-radius:0; background:var(--concept-preview-title); }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__preview > strong { font-family:"Nanum Myeongjo",serif; font-size:21px; }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__tiles { gap:0; border-top:1px solid var(--concept-preview-title); border-left:1px solid var(--concept-preview-title); }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__tiles b { border:0; border-right:1px solid var(--concept-preview-title); border-bottom:1px solid var(--concept-preview-title); border-radius:0; background:transparent; }
.page-concept-card[data-page-concept="gallery-cobalt"] .page-concept-card__process i { border-radius:0; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__preview { outline:1px solid var(--concept-preview-accent); outline-offset:-14px; text-align:center; background:var(--concept-preview-surface); }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__preview::after { display:none; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__eyebrow { width:1px; height:24px; margin:auto; border-radius:0; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__preview > strong { font-family:"Nanum Myeongjo",serif; font-size:20px; font-weight:700; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles { grid-template-columns:1fr 1fr; gap:1px; background:var(--concept-preview-border); }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles b { height:24px; border:0; border-radius:0; background:var(--concept-preview-surface); }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process { justify-content:center; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process i { border:1px solid var(--concept-preview-accent); border-radius:0; background:transparent; color:var(--concept-preview-accent); }
.page-concept-card[data-page-concept="mono-editorial"] .page-concept-card__preview > strong { font-family:"Nanum Myeongjo",serif; letter-spacing:-.04em; }
.page-concept-card[data-page-concept="mono-editorial"] .page-concept-card__eyebrow { width:100%; height:1px; border-radius:0; }
.page-concept-card[data-page-concept="mono-editorial"] .page-concept-card__tiles b { height:24px; border:0; border-top:2px solid var(--concept-preview-title); border-radius:0; background:transparent; }
.page-concept-card[data-page-concept="mono-editorial"] .page-concept-card__process i { border-radius:0; background:var(--concept-preview-title); }
.page-concept-card__copy { min-height: 92px; padding: 15px 16px 10px; display: grid; align-content: start; gap: 5px; }
.page-concept-card__copy strong { color: var(--text-main); font-size: 14px; }
.unified-concept-editor-notice { margin:16px 0 18px; padding:14px 16px; display:flex; align-items:flex-start; gap:14px; border:1px solid var(--notice-border,#b9d6ee); border-radius:13px; background:linear-gradient(135deg,var(--notice-soft,#eef6fd),#fff); }
.unified-concept-editor-notice > span { flex:0 0 auto; padding:6px 9px; border-radius:999px; color:#fff; background:var(--notice-accent,#1468b8); font-size:10px; font-weight:900; letter-spacing:.04em; }
.unified-concept-editor-notice strong { display:block; color:var(--notice-title,#16202b); font-size:13px; }
.unified-concept-editor-notice p { margin:4px 0 0; color:#66798b; font-size:11px; line-height:1.6; }
.unified-concept-editor-notice.is-individual { border-style:dashed; background:#f8fafc; }
.unified-concept-editor-notice.is-individual > span { background:#718096; }
.unified-concept-editor-shell { margin:16px 0 20px; overflow:hidden; border:1px solid var(--notice-border,#b9d6ee); border-radius:16px; background:#fff; }
.unified-concept-editor-shell .unified-concept-editor-notice { margin:0; border:0; border-bottom:1px solid var(--notice-border,#b9d6ee); border-radius:0; }
.block-concept-mode { margin:0; padding:14px 16px 16px; display:grid; grid-template-columns:1fr 1fr; gap:10px; border:0; }
.block-concept-mode legend { padding:14px 0 0; color:#384b5e; font-size:11px; font-weight:900; }
.block-concept-mode label { min-width:0; padding:13px 14px; display:flex; align-items:flex-start; gap:10px; border:1px solid #d9e3eb; border-radius:12px; background:#fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.block-concept-mode label.is-selected { border-color:var(--notice-accent,#1468b8); background:var(--notice-soft,#eef6fd); box-shadow:0 0 0 2px color-mix(in srgb,var(--notice-accent,#1468b8) 12%,transparent); }
.block-concept-mode input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--notice-accent,#1468b8); }
.block-concept-mode span { min-width:0; display:block; }
.block-concept-mode strong { display:block; color:var(--notice-title,#182634); font-size:12px; }
.block-concept-mode small { display:block; margin-top:4px; color:#6b7d8d; font-size:10px; line-height:1.5; }
.media-layout-preset { margin:14px 0; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #cfe0ec; border-radius:14px; background:linear-gradient(135deg,#f5fbff,#fff); }
.media-layout-preset strong { display:block; color:#18384f; font-size:13px; }
.media-layout-preset span { display:block; margin-top:4px; color:#6a7e8d; font-size:11px; line-height:1.55; }
.media-layout-preset button { flex:0 0 auto; min-height:38px; padding:0 14px; border:1px solid #9bc7e5; border-radius:10px; background:#eaf6ff; color:#0f62a5; font-weight:900; cursor:pointer; }
@media (max-width:640px) {
  .block-concept-mode { grid-template-columns:1fr; }
  .media-layout-preset { align-items:stretch; flex-direction:column; }
}
.content-builder-item__badge small { margin-left:7px; padding:3px 6px; display:inline-block; border-radius:999px; color:#fff; background:var(--primary); font-size:9px; font-weight:900; vertical-align:middle; }
.content-builder-item__badge small.is-block-individual { background:#7255a8; }
.page-concept-card__copy small { color: var(--text-sub); font-size: 11px; line-height: 1.5; }
.page-concept-card__palette { padding: 0 16px 15px; display: flex; gap: 5px; }
.page-concept-card__palette i { width: 18px; height: 18px; border: 1px solid rgba(20,40,60,.12); border-radius: 50%; }
.page-concept-modal__help { margin-top: 16px; padding: 12px 14px; border-radius: 9px; background: var(--bg-soft); color: var(--text-sub); font-size: 11px; }
.site-design-heading-actions { max-width: 560px; display:flex; align-items:center; justify-content:flex-end; gap:18px; }
.site-design-heading-actions > p { max-width:330px; color:var(--text-sub); font-size:13px; text-align:right; }
.site-design-manager-button { min-width:220px; padding:13px 16px; display:grid; gap:1px; border:1px solid #b8d5ee; border-radius:14px; background:linear-gradient(135deg,#f7fbff,#eaf4ff); color:#0b4c8c; text-align:left; box-shadow:0 10px 28px rgba(20,104,184,.09); }
.site-design-manager-button span { font-size:9px; font-weight:900; letter-spacing:.12em; }
.site-design-manager-button strong { font-size:15px; }
.site-design-manager-button small { color:#60798d; font-size:10px; }
.site-design-manager-button:hover { border-color:#1468b8; transform:translateY(-1px); }
.site-common-design-modal { width:min(720px,calc(100vw - 28px)); max-width:none; }
.site-common-design-modal .admin-modal__card { width:100%; padding:24px; }
.site-width-control { padding:18px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,1.25fr) 130px; align-items:end; gap:16px; border:1px solid #dce5ee; border-radius:14px; background:#f8fafc; }
.site-width-control > div strong { color:#16202b; font-size:14px; }
.site-width-control > div p { margin-top:4px; color:#64768a; font-size:11px; line-height:1.55; }
.site-width-control label { min-width:0; display:grid; gap:7px; color:#344b60; font-size:11px; font-weight:800; }
.site-width-control label:has(input[type="range"]) { grid-template-columns:minmax(0,1fr) 62px; align-items:center; }
.site-width-control input[type="range"] { width:100%; accent-color:#1468b8; }
.site-width-control output { color:#0d66b1; font-size:13px; font-weight:900; text-align:right; }
.site-design-background-control { margin-top:18px; padding:18px; display:grid; grid-template-columns:minmax(260px,1fr) auto auto auto; align-items:center; gap:14px; border:1px solid #dce5ee; border-radius:14px; background:#f8fafc; }
.site-design-background-control > div strong { color:#16202b; font-size:14px; }
.site-design-background-control > div p { margin-top:3px; color:#64768a; font-size:11px; line-height:1.55; }
.site-design-background-toggle { min-height:42px; padding:0 13px; display:flex; align-items:center; gap:8px; border:1px solid #d6e0ea; border-radius:10px; background:#fff; color:#526477; font-size:12px; font-weight:800; }
.site-design-background-toggle input { width:17px; height:17px; accent-color:#1468b8; }
.site-design-background-color { min-height:42px; padding:5px 8px; display:flex; align-items:center; gap:8px; border:1px solid #d6e0ea; border-radius:10px; background:#fff; }
.site-design-background-color input { width:42px; height:30px; padding:0; border:0; border-radius:6px; background:transparent; }
.site-design-background-color input:disabled { opacity:.35; cursor:not-allowed; }
.site-design-background-color output { min-width:62px; color:#526477; font-family:Consolas,monospace; font-size:11px; text-transform:uppercase; }
.site-design-background-control > button { min-height:42px; padding:0 13px; border:1px solid #d6e0ea; border-radius:10px; background:#fff; color:#526477; font-size:11px; font-weight:800; }
.site-design-background-control.is-enabled { border-color:#9fc8eb; background:linear-gradient(135deg,#f7fbff,#edf7ff); box-shadow:inset 4px 0 #1468b8; }
.site-design-palette-control { margin-top:18px; padding:18px; border:1px solid #dce5ee; border-radius:14px; background:#fff; }
.site-design-palette-control > div:first-child strong { color:#16202b; font-size:14px; }
.site-design-palette-control > div:first-child p { margin-top:3px; color:#64768a; font-size:11px; line-height:1.55; }
.site-design-palette-options { margin-top:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.site-design-palette-option { min-height:58px; padding:10px 12px; display:flex; align-items:center; gap:10px; border:1px solid #dce5ee; border-radius:11px; background:#f8fafc; color:#34495c; text-align:left; }
.site-design-palette-option > span { display:flex; flex:none; }
.site-design-palette-option i { width:18px; height:28px; border:1px solid rgba(22,32,43,.1); }
.site-design-palette-option i:first-child { border-radius:7px 0 0 7px; }
.site-design-palette-option i:last-child { border-radius:0 7px 7px 0; }
.site-design-palette-option strong { font-size:12px; }
.site-design-palette-option.is-selected { border-color:#1468b8; background:#edf7ff; box-shadow:0 0 0 2px rgba(20,104,184,.1); color:#0b5da7; }
.site-design-custom-palette { margin-top:12px; padding:12px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; border-radius:11px; background:#f4f7fa; }
.site-design-custom-palette[hidden] { display:none; }
.site-design-custom-palette label { min-width:0; display:grid; grid-template-columns:1fr 46px; align-items:center; gap:8px; color:#526477; font-size:11px; font-weight:800; }
.site-design-custom-palette input { width:46px; height:34px; padding:2px; border:1px solid #d6e0ea; border-radius:7px; background:#fff; }
.page-builder-tabs-wrap { margin: 26px 0 18px; display: grid; justify-items: center; gap: 12px; }
.page-builder-tabs { max-width: 100%; display: flex; justify-content: center; gap: 7px; overflow-x: auto; }
.page-builder-tab { min-width: 128px; padding: 11px 14px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text-sub); font-weight: 800; }
.page-builder-tab small { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; background: var(--bg-soft); font-size: 10px; }
.page-builder-tab.is-active { border-color: var(--primary); background: var(--primary); color: #fff; }
.page-builder-tab.is-active small { background: rgba(255,255,255,.2); }
.page-builder-tab-actions { display: flex; justify-content: center; gap: 7px; }
.page-builder-tab-actions button { padding: 8px 12px; border-radius: 7px; background: var(--primary-soft); color: var(--primary); font-size: 11px; font-weight: 800; }
#deleteContentTab { background: #fff0f0; color: #b02e2e; }
.page-builder-tab-actions button:disabled { opacity: .4; cursor: not-allowed; }
.content-builder__list { margin-top: 18px; display: grid; gap: 9px; }
.content-builder-item { min-width: 0; padding: 12px; display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--border); border-radius: 9px; }
.content-builder-item__type { color: var(--primary); font-size: 11px; font-weight: 900; }
.content-builder-item__summary { max-height: 95px; overflow: hidden; }
.content-builder-item__summary .ql-editor { padding: 4px; }
.content-builder-item__summary img { max-width: 150px; max-height: 90px; object-fit: contain; }
.content-builder-item__actions { display: grid; gap: 4px; }
.content-builder-item__action-row { display: flex; justify-content: flex-end; gap: 4px; }
.content-builder-item__actions button { padding: 6px 8px; border-radius: 5px; background: var(--bg-soft); font-size: 11px; }
.content-builder-item__action-row button:last-child { color: #b02e2e; }
.content-builder-item__drag { color: var(--primary); font-weight: 900; cursor: grab; touch-action: none; }
.content-builder__canvas { width: 100%; margin-right: auto; margin-left: auto; gap: 0; }
.content-builder__canvas.is-device-preview { width:min(100%,var(--builder-preview-width,390px)); min-width:0; box-sizing:border-box; outline:1px solid #c7d7e4; outline-offset:8px; border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(16,54,88,.13); transition:width .18s ease; }
.content-builder__canvas.is-device-preview .content-builder-item--actual { width:100%; min-width:0; }
.content-builder__canvas.is-device-preview .content-builder-item__badge { left:8px; }
.content-builder__canvas.is-device-preview .content-builder-item__layout-badge { top:34px; left:8px; }
.content-builder__canvas.is-device-preview .content-builder-item--actual .content-builder-item__actions { right:8px; max-width:calc(100% - 16px); display:flex; flex-wrap:wrap; justify-content:flex-end; }
.content-builder__canvas.is-device-preview .content-builder-item__actual { width:100%; max-width:100%; overflow:hidden; }
.content-builder__canvas.is-device-preview .content-builder-item__actual > .content-layout-item.is-background-full-bleed > .block-background-composite { width:100%; right:0; left:0; transform:none; }
.content-builder__canvas.is-device-preview.is-wide-full-bleed-preview .content-builder-item--actual:has(.content-builder-item__actual > .content-layout-item.is-background-full-bleed),
.content-builder__canvas.is-device-preview.is-wide-full-bleed-preview .content-builder-item__actual { overflow:visible; }
.content-builder__canvas.is-device-preview.is-wide-full-bleed-preview .content-builder-item__actual > .content-layout-item.is-background-full-bleed > .block-background-composite { width:var(--builder-full-bleed-width,100%); right:auto; left:50%; transform:translateX(-50%); }
.content-builder__canvas.is-device-preview .content-builder__insert { max-width:calc(100% - 20px); }
.content-builder-item--actual { position: relative; display: block; min-height: 90px; padding: 28px 0 18px; border-style: dashed; }
.content-builder-item__badge { position:absolute; z-index:2; top:6px; left:max(8px,calc((100% - var(--site-content-width,1400px))/2 - 90px)); padding:3px 7px; border-radius:4px; background:var(--primary-soft); color:var(--primary); font-size:10px; font-weight:900; }
.content-builder-item__layout-badge { position:absolute; z-index:2; top:32px; left:max(8px,calc((100% - var(--site-content-width,1400px))/2 - 90px)); padding:4px 8px; border:1px solid #bdd7eb; border-radius:999px; background:rgba(255,255,255,.94); color:#315b7c; font-size:9px; font-weight:900; }
.content-builder-item--actual .content-builder-item__actions { position:absolute; z-index:3; top:6px; right:max(8px,calc((100% - var(--site-content-width,1400px))/2 - 150px)); padding:3px; border-radius:7px; background:rgba(255,255,255,.92); box-shadow:0 2px 10px rgba(0,0,0,.08); }
.content-builder-item__actual { width:min(100%,var(--site-content-width,1400px)); min-width:0; margin-right:auto; margin-left:auto; }
.content-builder-item__actual > .content-layout-item { width: var(--block-width-pct,100%); }
.content-builder-item__actual > .content-layout-item.block-align-left { margin-right: auto; margin-left: 0; }
.content-builder-item__actual > .content-layout-item.block-align-center { margin-right: auto; margin-left: auto; }
.content-builder-item__actual > .content-layout-item.block-align-right { margin-right: 0; margin-left: auto; }
.content-builder-item--actual:has(.content-builder-item__actual > .content-layout-item.is-background-full-bleed) { overflow:clip; }
.content-builder-item__actual > .content-layout-item { position:relative; isolation:isolate; }
.content-builder-item__actual > .content-layout-item.is-background-full-bleed { position:relative; isolation:isolate; }
.content-builder-item__actual > .content-layout-item.is-background-full-bleed::before { display:none; }
.content-builder-item__actual > .content-layout-item.is-background-full-bleed > .content-layout-surface { border:0 !important; }
.content-builder-item__actual > .content-layout-item.is-background-full-bleed > .content-layout-surface > :first-child { border:0 !important; }
.content-builder-item__actual .block-background-composite { position:absolute; z-index:-1; inset:0; overflow:hidden; border-radius:var(--block-background-radius,0); background-repeat:no-repeat; pointer-events:none; }
.content-builder-item__actual .content-layout-item.is-background-full-bleed > .block-background-composite { width:100vw; right:auto; left:50%; transform:translateX(-50%); }
.content-builder-item__actual .block-background-image-layer { position:absolute; z-index:var(--block-layer-z,1); inset:0; display:block; background-repeat:no-repeat; pointer-events:none; }
.content-builder-item__actual .content-layout-surface { position:relative; z-index:1; }
.content-builder-item__actual > .content-layout-item > .content-layout-surface > :first-child { margin-top: 0; }
.content-builder-item__actual > .content-layout-item > .content-layout-surface > :last-child { margin-bottom: 0; }
.content-builder-item__actual figure { width: 100%; margin: 0; }
.content-builder__canvas .media-block__gallery { padding: 14px 0; background-image: repeating-linear-gradient(to right,rgba(20,104,184,.055) 0,rgba(20,104,184,.055) 1px,transparent 1px,transparent calc(100% / 24)); background-position: left top; }
.content-builder__canvas .media-entry[data-media-resize-entry] { position: relative; border-radius: 8px; outline: 1px dashed transparent; outline-offset: 7px; transition: outline-color .18s; }
.content-builder__canvas .media-entry[data-media-resize-entry]:hover { outline-color: rgba(29,108,181,.42); }
.content-builder__canvas .media-entry__image[data-media-text-edit] { position: relative; overflow: hidden; border-radius: 8px; cursor: pointer; outline: 2px solid transparent; outline-offset: 3px; transition: outline-color .18s; }
.content-builder__canvas .media-entry__image[data-media-text-edit]:hover,.content-builder__canvas .media-entry__image[data-media-text-edit]:focus-visible { outline-color: var(--primary); }
.content-builder__canvas .media-entry__image[data-media-text-edit] img { pointer-events: none; }
.content-builder__canvas :is(.media-block.layout-grid,.media-block.layout-featured) .media-entry-position-presets,.content-builder__canvas :is(.media-block.layout-grid,.media-block.layout-featured) .media-entry-resize-handle { display: none; }
.media-entry-sort-handle { min-height: 32px; padding: 0 10px; position: absolute; z-index: 7; top: -18px; left: 8px; border: 1px solid #8ebbe1; border-radius: 999px; background: #fff; color: var(--primary); box-shadow: 0 2px 10px rgba(15,74,128,.16); font-size: 10px; font-weight: 900; cursor: grab; touch-action: none; user-select: none; }
.media-entry-sort-handle span { pointer-events: none; }
.media-entry-delete { min-width:76px; min-height:34px; padding:6px 11px; position:absolute; z-index:9; top:8px; right:8px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #dc7474; border-radius:8px; background:#fff; color:#b42323; box-shadow:0 2px 10px rgba(85,20,20,.13); font-size:11px; font-weight:800; line-height:1.2; white-space:nowrap; cursor:pointer; }
.media-entry-delete:hover,.media-entry-delete:focus-visible { border-color:#b42323; background:#b42323; color:#fff; }
.media-entry-delete:focus-visible { outline:3px solid #f6b5b5; outline-offset:2px; }
.media-featured-thumbnail-rail .media-entry-delete { top:5px; right:5px; min-width:64px; min-height:30px; padding:5px 7px; font-size:10px; }
.media-entry.is-media-drop-target { outline: 2px solid #51a7eb !important; outline-offset: 5px !important; }
.media-entry-position-presets { padding: 2px; position: absolute; z-index: 7; top: -18px; left: 50%; display: flex; gap: 2px; border: 1px solid #8ebbe1; border-radius: 999px; background: #fff; box-shadow: 0 2px 10px rgba(15,74,128,.16); transform: translateX(-50%); }
.media-entry-position-presets button { width: 26px; height: 24px; padding: 0; border-radius: 999px; background: var(--bg-soft); color: var(--primary); font-size: 9px; font-weight: 900; }
.media-entry-position-presets button:hover { background: var(--primary); color: #fff; }
.media-text-layout-settings { padding: 16px; display: grid; gap: 12px; border: 1px solid #c7ddef; border-radius: 14px; background: #f7fbff; }
.media-text-layout-settings > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.media-text-layout-settings > div:first-child strong { color: var(--text); font-size: 14px; }
.media-text-layout-settings > div:first-child span,.media-text-layout-settings > small { color: var(--text-sub); font-size: 11px; }
.media-text-layout-settings__row { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 12px; }
.media-text-layout-settings fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.media-text-layout-settings legend { margin-bottom: 7px; color: var(--text-sub); font-size: 11px; font-weight: 800; }
.media-text-segmented { padding: 3px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.media-text-segmented.is-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.media-text-segmented label { min-width: 0; cursor: pointer; }
.media-text-segmented input { position: absolute; opacity: 0; pointer-events: none; }
.media-text-segmented span { min-height: 36px; display: grid; place-items: center; border-radius: 7px; color: var(--text-sub); font-size: 12px; font-weight: 900; transition: background .16s ease,color .16s ease,box-shadow .16s ease; }
.media-text-segmented input:checked + span { background: var(--primary); color: #fff; box-shadow: 0 3px 10px rgba(20,104,184,.2); }
.media-text-segmented input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 1px; }
.media-entry-resize-handle { position: absolute; z-index: 6; display: grid; place-items: center; border: 1px solid #8ebbe1; background: #fff; color: var(--primary); box-shadow: 0 2px 10px rgba(15,74,128,.18); touch-action: none; user-select: none; }
.media-entry-resize-handle span { position: absolute; padding: 3px 6px; border-radius: 5px; background: var(--primary); color: #fff; font-size: 9px; font-weight: 900; line-height: 1; white-space: nowrap; pointer-events: none; }
.media-entry-resize-handle--width { width: 14px; height: 72px; top: 50%; right: -12px; border-radius: 999px; cursor: ew-resize; transform: translateY(-50%); }
.media-entry-resize-handle--width::before { content: ""; width: 2px; height: 34px; border-radius: 999px; background: var(--primary); opacity: .72; }
.media-entry-resize-handle--width span { top: -22px; left: 50%; transform: translateX(-50%); }
.media-block.align-right .media-entry-resize-handle--width { right: auto; left: -12px; }
.media-entry-resize-handle--split { width: 12px; top: 0; bottom: 0; border: 0; background: transparent; box-shadow: none; cursor: col-resize; transform: translateX(-50%); }
.media-entry-resize-handle--split::before { content: ""; width: 2px; height: 100%; border-radius: 999px; background: var(--primary); opacity: .38; }
.media-entry-resize-handle--split span { top: 50%; left: 50%; transform: translate(-50%,-50%); }
.media-entry.text-right .media-entry-resize-handle--split { left: calc(var(--media-image-area) + var(--media-entry-half-gap)); }
.media-entry.text-left .media-entry-resize-handle--split { right: calc(var(--media-image-area) + var(--media-entry-half-gap)); left: auto; transform: translateX(50%); }
.media-entry.text-above .media-entry-resize-handle--split,.media-entry.text-below .media-entry-resize-handle--split { display: none; }
.content-builder__canvas .media-entry[data-media-resize-entry]:hover .media-entry-resize-handle--split::before,.is-media-resizing .media-entry-resize-handle--split::before { opacity: .9; }
.is-media-resizing,.is-media-resizing * { cursor: ew-resize !important; user-select: none !important; }
.is-builder-sorting,.is-builder-sorting *,.is-media-sorting,.is-media-sorting * { cursor: grabbing !important; user-select: none !important; }
.content-builder-item.is-builder-dragging,.media-entry.is-media-dragging,.media-image-editor-row.is-media-draft-dragging { position: relative; z-index: 8; opacity: .64; outline: 2px solid var(--primary); outline-offset: 4px; }
.content-builder-item--actual { transition: transform .16s,opacity .16s; }
.media-resize-guide { width: 100%; margin-top: 14px; color: var(--primary); font-size: 10px; font-weight: 800; text-align: center; opacity: .72; }
.media-row-gap-quick-control { width: min(440px,100%); margin: 12px auto 0; padding: 9px 12px; display: grid; grid-template-columns: auto minmax(100px,1fr) 48px; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text-main); font-size: 11px; font-weight: 800; }
.media-row-gap-quick-control input { width: 100%; accent-color: var(--primary); }
.media-row-gap-quick-control output { color: var(--primary); font-weight: 900; text-align: right; }
.image-row-gap-control { display: grid; gap: 8px; }
.image-row-gap-control span { display: flex; align-items: center; justify-content: space-between; }
.image-row-gap-control input { width: 100%; accent-color: var(--primary); }
.image-row-gap-control output { color: var(--primary); font-weight: 900; }
.content-builder-empty { min-height: 200px; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--text-sub); }
.content-builder-insert { width: 100%; min-height: 50px; display: grid; grid-template-columns: minmax(30px, 1fr) auto minmax(30px, 1fr); align-items: center; gap: 12px; }
.content-builder-insert > span { height: 1px; background: linear-gradient(90deg,transparent,#b7ccdd); }
.content-builder-insert > span:last-child { background: linear-gradient(90deg,#b7ccdd,transparent); }
.content-builder-insert__actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; }
.content-builder-insert button { min-height: 34px; padding: 0 16px; border: 1px solid #9fc4e2; border-radius: 999px; background: #fff; color: var(--primary); box-shadow: 0 3px 12px rgba(20,104,184,.1); font-size: 11px; font-weight: 900; transition: background .18s,color .18s,transform .18s; }
.content-builder-insert button:hover { background: var(--primary); color: #fff; transform: translateY(-1px); }
.content-builder-insert.is-empty { width: min(100%, 620px); margin-top: 20px; }
.content-builder-empty .content-builder-insert { flex: 0 0 auto; }
.block-picker-modal { width: min(1040px, calc(100% - 24px)); }
.block-picker-groups { margin-top: 18px; display: grid; gap: 20px; }
.block-picker-groups > section { padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.block-picker-groups > section > div:first-child { margin-bottom: 12px; display: flex; align-items: baseline; gap: 10px; }
.block-picker-groups > section > div:first-child strong { font-size: 15px; }
.block-picker-groups > section > div:first-child span { color: var(--text-sub); font-size: 11px; }
.block-picker-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.block-picker-grid > button { min-height: 78px; padding: 14px; display: grid; align-content: center; justify-items: start; gap: 4px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-soft); text-align: left; transition: border-color .18s,background .18s,transform .18s; }
.block-picker-grid > button:hover { border-color: var(--primary); background: var(--primary-soft); transform: translateY(-2px); }
.block-picker-grid b { color: var(--text-main); font-size: 13px; }
.block-picker-grid small { color: var(--text-sub); font-size: 10px; }
.block-picker-availability { min-height: 14px; display: flex; align-items: center; gap: 5px; color: #28784f; font-size: 10px; font-weight: 800; line-height: 1.35; }
.block-picker-availability:not(:empty)::before { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: currentColor; content: ""; box-shadow: 0 0 0 3px color-mix(in srgb,currentColor 13%,transparent); }
.block-picker-grid > button.is-checking { cursor: wait; opacity: .7; }
.block-picker-grid > button.is-unavailable,
.block-picker-grid > button.is-unavailable:hover,
.block-picker-grid > button:disabled.is-unavailable { border-color: #efaaaa; background: #fff1f1; cursor: not-allowed; opacity: 1; transform: none; box-shadow: inset 3px 0 0 #d92d20; }
.block-picker-grid > button.is-unavailable b { color: #8e1b15; }
.block-picker-grid > button.is-unavailable small { color: #9d5a56; }
.block-picker-grid > button.is-unavailable .block-picker-availability { color: #c32319; }
.divider-editor-modal { width: min(720px, calc(100% - 24px)); }
.divider-editor-preview { min-height: 110px; margin: 16px 0; padding: 24px; display: grid; place-items: center; border-radius: 10px; background: var(--bg-soft); }
.divider-editor-preview hr { height: 0; margin: 0 auto; border: 0; }
.builder-reference-block { min-height: 180px; padding: 52px 32px; display: grid; place-items: center; align-content: center; gap: 8px; border-radius: 12px; background: var(--bg-soft); text-align: center; }
.builder-reference-block strong { color: var(--primary); font-size: 22px; }
.builder-reference-block p { color: var(--text-sub); font-size: 13px; }
.content-builder-empty strong { color: var(--text-main); }
.content-block-modal { width: min(1248px, calc(100% - 32px)); }
.content-block-modal #quillEditor { min-height: 420px; }
.code-block-modal.content-inspector-modal { width:min(760px,calc(100vw - 28px)); }
.code-editor-notice { margin-bottom:14px; padding:13px 15px; border:1px solid #bcd8ee; border-radius:10px; background:#eff8ff; }
.code-editor-notice strong { color:#164f7e; font-size:12px; }
.code-editor-notice p { margin-top:4px; color:#607b90; font-size:10px; line-height:1.6; }
.code-admin-note { margin-bottom:14px; padding:13px 15px; display:grid; gap:9px; border:1px solid #d3dfe8; border-radius:10px; background:#fffdf4; }
.code-admin-note > span { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.code-admin-note strong { color:#594c20; font-size:11px; }
.code-admin-note small { color:#8b815c; font-size:9px; }
.code-admin-note textarea { width:100%; min-height:82px; padding:11px 12px; resize:vertical; border:1px solid #d8d0b0; border-radius:8px; outline:0; background:#fff; color:#3f4650; font:11px/1.65 Pretendard,"Noto Sans KR",sans-serif; }
.code-admin-note textarea:focus { border-color:#c9a82d; box-shadow:0 0 0 3px rgba(201,168,45,.12); }
.code-editor-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.code-editor-field { min-width:0; display:grid; gap:6px; }
.code-editor-field--html { grid-column:1 / -1; }
.code-editor-field > span { color:#244961; font-size:11px; font-weight:900; }
.code-editor-field textarea { width:100%; min-height:520px; padding:16px; resize:vertical; border:1px solid #c8d8e5; border-radius:9px; outline:0; background:#0f1923; color:#e8f2fa; font:12px/1.65 Consolas,"Cascadia Code","Courier New",monospace; tab-size:2; white-space:pre; overflow:auto; }
.code-editor-field textarea:focus { border-color:#2687d8; box-shadow:0 0 0 3px rgba(38,135,216,.13); }
.code-editor-options { margin-top:10px; display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.code-editor-preview { margin-top:16px; overflow:hidden; border:1px solid #c8d8e5; border-radius:11px; background:#fff; }
.code-editor-preview__heading { padding:10px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #dce7ef; background:#f5f9fc; }
.code-editor-preview__heading strong { color:#173b5c; font-size:11px; }
.code-editor-preview__heading span { color:#71899b; font-size:9px; }
.code-editor-preview__empty { min-height:150px; padding:24px; display:grid; place-items:center; color:#8093a1; font-size:11px; text-align:center; }
.code-editor-preview__empty.is-error { color:#b63232; background:#fff4f4; }
.code-content-block { width:100%; min-width:0; overflow:hidden; }
.code-content-frame { width:100%; min-height:120px; display:block; overflow:hidden; border:0; background:transparent; }
.code-content-frame-status { margin:0; padding:8px 12px; border-top:1px solid #dce7ef; background:#f5f9fc; color:#51708a; font-size:10px; }
.code-content-frame-status.is-error { color:#b63232; background:#fff1f1; }
.free-page-editor__heading { margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.free-page-editor__heading p { margin-top: 4px; color: var(--text-sub); font-size: 12px; }
.free-editor-actions { display: flex; gap: 8px; }
.free-image-guide { margin-bottom: 12px; padding: 12px 14px; display: flex; flex-wrap: wrap; gap: 8px 18px; border-radius: 8px; background: var(--primary-soft); color: var(--primary-dark); font-size: 12px; }
.free-image-guide strong { font-weight: 900; }
.free-page-editor #freeContentQuill { width: min(100%, 1080px); margin: 0 auto; }
.free-page-editor #freeContentQuill .ql-editor { min-height: 760px; padding: 34px; font-size: 16px; line-height: 1.8; }
.free-page-editor #freeContentQuill .ql-editor img { max-width: 100%; height: auto; }
.content-block-modal .ql-editor { min-height: 260px; }
.content-block-modal .ql-editor img { max-width: 100%; height: auto; }
.ql-editor img.ql-image-left,.ql-editor img[data-layout="left"] { margin:4px 34px 18px 0; float:left; }
.ql-editor img.ql-image-right,.ql-editor img[data-layout="right"] { margin:4px 0 18px 34px; float:right; }
.ql-editor img.ql-image-center,.ql-editor img[data-layout="center"] { margin:20px auto; display:block; }
.ql-editor img.ql-image-full,.ql-editor img[data-layout="full"] { margin:20px 0; display:block; }
.ql-editor img.ql-image-left:not([width]),.ql-editor img[data-layout="left"]:not([width]),.ql-editor img.ql-image-right:not([width]),.ql-editor img[data-layout="right"]:not([width]) { width:calc(50% - 17px); }
.ql-editor img.ql-image-center:not([width]),.ql-editor img[data-layout="center"]:not([width]) { width:min(80%,900px); }
.ql-editor img.ql-image-full:not([width]),.ql-editor img[data-layout="full"]:not([width]) { width:100%; }
.ql-editor::after { content: ""; display: table; clear: both; }
.ql-clear-float { width: 100%; height: 1px; margin: 0; clear: both; border: 0; }
.board-rich-editor .ql-editor .ql-clear-float + p { min-height: 1.75em; }
.quill-image-dialog { width: min(600px, calc(100% - 32px)); }
.split-editor-modal { width: min(1252px, calc(100% - 32px)); }
.split-editor-modal #splitQuillEditor .ql-editor { min-height: 300px; }
.split-edit-preview { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.split-edit-preview__image,.split-edit-preview__text { min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; }
.split-edit-preview__image img { width:auto; max-width:100%; height:auto; max-height:440px; display:block; margin:auto; object-fit:contain; }
.split-edit-preview__image label { margin-top: 10px; display: grid; gap: 6px; }
.split-edit-preview__image label span,.split-edit-preview__text > span { font-size: 12px; font-weight: 800; }
.split-edit-preview.is-image-right .split-edit-preview__image { order: 2; }
.split-edit-preview.is-image-right .split-edit-preview__text { order: 1; }
.content-block-modal .ql-picker.ql-size { width: 88px; }
.content-block-modal .ql-picker.ql-size .ql-picker-label::before,
.content-block-modal .ql-picker.ql-size .ql-picker-item::before { content: attr(data-value); }
.content-block-modal .ql-picker.ql-size .ql-picker-label:not([data-value])::before,
.split-editor-modal .ql-picker.ql-size .ql-picker-label:not([data-value])::before { content: "16px"; }
.split-editor-modal .ql-picker.ql-size { width: 88px; }
.split-editor-modal .ql-picker.ql-size .ql-picker-item::before { content: attr(data-value); }
.ql-toolbar.ql-snow { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 0; }
.ql-toolbar.ql-snow button.ql-medicalIcon { width: 82px !important; height: 28px !important; padding: 3px 7px !important; display: inline-grid !important; place-items: center; }
.ql-toolbar.ql-snow button.ql-medicalIcon > svg { display: none !important; }
.ql-toolbar button.ql-medicalIcon::before { content: "의료 아이콘"; display: block; font: 700 11px/20px Pretendard,"Noto Sans KR",sans-serif; color: #31506b; white-space: nowrap; }
.ql-toolbar button.ql-medicalIcon:hover::before,.ql-toolbar button.ql-medicalIcon.ql-active::before { color: #1472c4; }
.ql-editor .ql-medical-icon {
  width: var(--medical-icon-size,64px);
  height: var(--medical-icon-size,64px);
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  vertical-align: middle;
  color: var(--medical-icon-color,#fff);
  background: var(--medical-icon-background,#1468b8);
  border-radius: 50%;
  line-height: 1;
  margin: 0 .18em;
  box-sizing: border-box;
  overflow: hidden;
  font-size: 0;
}
.ql-editor .ql-medical-icon[data-shape="rounded"],.medical-icon-preview .ql-medical-icon[data-shape="rounded"] { border-radius: 24%; }
.ql-editor .ql-medical-icon[data-shape="none"],.medical-icon-preview .ql-medical-icon[data-shape="none"] { background: transparent; border-radius: 0; }
.ql-editor .ql-medical-icon[data-icon-background-mode="none"],.medical-icon-preview .ql-medical-icon[data-icon-background-mode="none"] { background: transparent !important; border-radius: 0; }
.ql-editor .ql-medical-icon > * { display: none !important; }
.ql-editor .ql-medical-icon::before,.medical-icon-preview .ql-medical-icon::before { content: ""; position: absolute; inset: 21%; background: var(--medical-icon-color,#fff); -webkit-mask: var(--medical-icon-mask) center/contain no-repeat; mask: var(--medical-icon-mask) center/contain no-repeat; }
.ql-editor .ql-medical-icon[data-shape="none"]::before,.medical-icon-preview .ql-medical-icon[data-shape="none"]::before { inset: 5%; }
.ql-editor .ql-medical-icon[data-icon-background-mode="none"]::before,.medical-icon-preview .ql-medical-icon[data-icon-background-mode="none"]::before { inset: 5%; }
.ql-editor .ql-medical-icon[data-layout="block"] { display: block; margin-top: 18px; margin-bottom: 18px; }
.ql-editor .ql-medical-icon[data-layout="block"][data-align="left"] { margin-left: 0; margin-right: auto; }
.ql-editor .ql-medical-icon[data-layout="block"][data-align="center"] { margin-left: auto; margin-right: auto; }
.ql-editor .ql-medical-icon[data-layout="block"][data-align="right"] { margin-left: auto; margin-right: 0; }
.ql-editor .ql-medical-icon[draggable="true"] { cursor: grab; user-select: none; }
.ql-editor .ql-medical-icon[draggable="true"]:hover,.ql-editor .ql-medical-icon[draggable="true"]:focus-visible { outline:2px solid rgba(20,114,196,.72); outline-offset:3px; }
.ql-editor .ql-medical-icon[draggable="true"]:active { cursor: grabbing; }
.ql-editor .ql-medical-icon.is-dragging { opacity: .38; outline: 2px dashed #1472c4; outline-offset: 3px; }
.ql-editor.is-medical-icon-dragover { box-shadow: inset 0 0 0 2px rgba(20,114,196,.28); }
.quill-medical-icon-dialog,.step-icon-picker-dialog { width:min(1080px,calc(100% - 28px)); max-width:none; }
.quill-medical-icon-dialog .admin-modal__card,.step-icon-picker-dialog .admin-modal__card { width:100%; min-width:0; max-width:none; }
.medical-icon-dialog-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; padding:18px; }
.medical-icon-catalog { min-width:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
.step-icon-picker-dialog .medical-icon-catalog { padding:18px; }
.icon-catalog-toolbar { display:grid; gap:10px; }
.icon-catalog-toolbar > label { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:center; gap:10px; color:#31506b; font-size:11px; font-weight:900; }
.icon-catalog-toolbar input[type="search"] { width:100%; min-width:0; height:40px; padding:0 13px; border:1px solid #cfdeea; border-radius:10px; background:#fff; }
.icon-category-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.icon-category-tabs button { min-height:34px; padding:0 11px; border:1px solid #d6e3ed; border-radius:999px; background:#fff; color:#526d83; font-size:10px; font-weight:900; }
.icon-category-tabs button b { margin-left:3px; color:#8ba0b1; font-size:9px; }
.icon-category-tabs button.is-active { border-color:#1472c4; background:#eaf5ff; color:#0967b6; box-shadow:0 0 0 2px rgba(20,114,196,.1); }
.icon-category-tabs button.is-active b { color:#1472c4; }
.medical-icon-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:9px; max-height:520px; overflow:auto; padding:2px; }
.medical-icon-picker label { cursor: pointer; min-width: 0; }
.medical-icon-picker label[hidden] { display:none !important; }
.medical-icon-picker input { position: absolute; opacity: 0; pointer-events: none; }
.medical-icon-picker label > span { min-height: 94px; padding: 12px 8px; display: grid; place-items: center; align-content: center; gap: 8px; border: 1px solid #d8e5ef; border-radius: 14px; color: #31506b; background: #fff; transition: border-color .15s,background .15s,box-shadow .15s; }
.medical-icon-picker label > span svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.medical-icon-picker label > span b { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.medical-icon-picker input:checked + span { border-color: #1472c4; background: #edf7ff; color: #0967b6; box-shadow: 0 0 0 2px rgba(20,114,196,.14); }
.icon-catalog-none { width:34px; height:34px; display:grid; place-items:center; border:1px dashed currentColor; border-radius:50%; font-size:24px; font-style:normal; font-weight:400; line-height:1; }
.icon-catalog-empty { min-height:70px; display:grid; place-items:center; border:1px dashed #cfdeea; border-radius:12px; color:#788c9d; font-size:12px; }
.medical-icon-settings { min-width: 0; padding: 14px; border: 1px solid #d8e5ef; border-radius: 16px; background: #f7fafc; }
.medical-icon-preview { min-height: 178px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 13px; background: #fff; border: 1px dashed #c7d8e5; overflow: hidden; }
.medical-icon-preview .ql-medical-icon { width: var(--medical-icon-size,64px); height: var(--medical-icon-size,64px); display: block; position: relative; color: var(--medical-icon-color,#fff); background: var(--medical-icon-background,#1468b8); border-radius: 50%; box-sizing: border-box; overflow: hidden; }
.medical-icon-control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.medical-icon-control-grid label { min-width: 0; display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: #31506b; }
.medical-icon-control-grid label:has(input[type="range"]) { grid-column: 1 / -1; }
.medical-icon-control-grid input[type="color"] { width: 100%; min-height: 42px; }
.medical-icon-control-grid input[type="range"] { width: 100%; }
.medical-icon-control-grid select { min-width: 0; }
@media (max-width: 760px) {
  .board-admin-tabs button { min-width:0; flex:1; }
  .board-admin-panel { padding:16px; }
  .board-admin-panel__heading { align-items:flex-start; flex-direction:column; }
  .board-design-options,.board-color-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .board-display-controls { grid-template-columns:1fr; }
  .board-attachment-list__items { grid-template-columns:1fr; }
  .qna-admin-table__header,.qna-admin-row { grid-template-columns:52px minmax(250px,1fr) 95px 92px 128px; }
  .qna-admin-row__title { padding-right:8px; }
  .quill-medical-icon-dialog,.step-icon-picker-dialog { width:calc(100vw - 16px); max-width:calc(100vw - 16px); }
  .quill-medical-icon-dialog .admin-modal__card,.step-icon-picker-dialog .admin-modal__card { padding:18px; }
  .medical-icon-dialog-layout { grid-template-columns: 1fr; }
  .medical-icon-picker { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:340px; }
  .icon-catalog-toolbar > label { grid-template-columns:1fr; gap:5px; }
  .medical-icon-settings { display: grid; grid-template-columns: 132px 1fr; gap: 12px; }
  .medical-icon-preview { min-height: 132px; margin: 0; }
}
.ql-editor.has-rich-text-selection { caret-color: transparent; }
::highlight(quill-preserved-selection) { background: #5f9fdb; color: #fff; }
.ql-toolbar .ql-picker.ql-font { width: 128px; }
.admin-body .ql-snow .ql-picker.ql-header { width: 112px; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label:not([data-value])::before { content: "본문"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item:not([data-value])::before { content: "본문"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { content: "큰 제목"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { content: "중간 제목"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { content: "작은 제목"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { content: "소제목"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { content: "작은 소제목"; }
.admin-body .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,.admin-body .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { content: "보조 문구"; }
.ql-toolbar .ql-picker.ql-size { width: 86px; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align { width:112px; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label,
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-item { font-family:Pretendard,"Noto Sans KR",sans-serif; font-size:11px; font-weight:800; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label { padding-right:28px; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label svg,
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-item svg { display:none; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label::before,
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-item::before { content:"왼쪽 정렬"; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align [data-value="center"]::before { content:"가운데 정렬"; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align [data-value="right"]::before { content:"오른쪽 정렬"; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align [data-value="justify"]::before { content:"양쪽 정렬"; }
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label::after { content:"▾"; position:absolute; top:50%; right:10px; color:#607b90; font-size:10px; transform:translateY(-50%); }
.ql-toolbar .ql-picker.ql-font .ql-picker-label::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item::before { content: "기본 글꼴"; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="pretendard"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="pretendard"]::before { content: "프리텐다드"; font-family: Pretendard,sans-serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="noto-sans-kr"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="noto-sans-kr"]::before { content: "Noto Sans KR"; font-family: "Noto Sans KR",sans-serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="nanum-gothic"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="nanum-gothic"]::before { content: "나눔고딕"; font-family: "Nanum Gothic",sans-serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="nanum-myeongjo"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="nanum-myeongjo"]::before { content: "나눔명조"; font-family: "Nanum Myeongjo",serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="malgun-gothic"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="malgun-gothic"]::before { content: "맑은 고딕"; font-family: "Malgun Gothic",sans-serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="arial"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="arial"]::before { content: "Arial"; font-family: Arial,sans-serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="georgia"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="georgia"]::before { content: "Georgia"; font-family: Georgia,serif; }
.ql-toolbar .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,.ql-toolbar .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { content: "고정폭"; font-family: monospace; }
.ql-toolbar .ql-picker.ql-size .ql-picker-label::before,.ql-toolbar .ql-picker.ql-size .ql-picker-item::before { content: attr(data-value); }
.ql-toolbar .ql-picker.ql-size .ql-picker-label:not([data-value])::before { content: "기본 크기"; }
.admin-body .ql-toolbar.ql-snow {
  padding:10px 12px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  border:1px solid #cbdbe7;
  border-radius:13px 13px 0 0;
  background:linear-gradient(180deg,#fcfeff 0%,#f2f7fb 100%);
  box-shadow:0 8px 24px rgba(22,64,97,.09);
}
.admin-body .ql-toolbar.ql-snow .ql-formats { margin:0; padding-right:6px; display:inline-flex; align-items:center; gap:3px; border-right:1px solid #d9e5ee; }
.admin-body .ql-toolbar.ql-snow .ql-formats:last-child { padding-right:0; border-right:0; }
.admin-body .ql-toolbar.ql-snow button { width:34px; height:34px; padding:7px; border:1px solid transparent; border-radius:8px; transition:background .15s,border-color .15s,box-shadow .15s,color .15s; }
.admin-body .ql-toolbar.ql-snow button:hover { border-color:#c8dcec; background:#fff; box-shadow:0 4px 12px rgba(20,104,184,.1); }
.admin-body .ql-toolbar.ql-snow button.ql-active { border-color:#9bc5e8; background:#e5f3ff; box-shadow:inset 0 0 0 1px rgba(20,104,184,.08); }
.admin-body .ql-snow.ql-toolbar button:hover .ql-stroke,
.admin-body .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke:#0968b8; }
.admin-body .ql-snow.ql-toolbar button:hover .ql-fill,
.admin-body .ql-snow.ql-toolbar button.ql-active .ql-fill { fill:#0968b8; }
.admin-body .ql-toolbar.ql-snow .ql-picker { height:34px; color:#294a64; }
.admin-body .ql-toolbar.ql-snow .ql-picker-label { height:34px; padding:0 27px 0 10px; display:flex; align-items:center; border:1px solid #cfdee9; border-radius:8px; background:#fff; font-size:12px; font-weight:750; }
.admin-body .ql-toolbar.ql-snow .ql-picker-label:hover,
.admin-body .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { border-color:#82b8e2; color:#0968b8; box-shadow:0 0 0 3px rgba(20,104,184,.09); }
.admin-body .ql-toolbar.ql-snow .ql-picker-options { margin-top:7px; padding:7px; border:1px solid #cbdbe7; border-radius:11px; background:#fff; box-shadow:0 16px 38px rgba(22,64,97,.18); }
.admin-body .ql-toolbar.ql-snow .ql-picker-item { min-height:30px; padding:6px 9px; border-radius:7px; }
.admin-body .ql-toolbar.ql-snow .ql-picker-item:hover { background:#edf6fd; color:#0968b8; }
.admin-body .ql-container.ql-snow { border-color:#cbdbe7; border-radius:0 0 13px 13px; background:#fff; }
.admin-body :has(> .ql-toolbar.ql-snow):focus-within .ql-toolbar.ql-snow { border-color:#83b9e2; box-shadow:0 0 0 3px rgba(20,104,184,.08),0 8px 24px rgba(22,64,97,.09); }
.admin-body .ql-toolbar.ql-snow button.ql-medicalIcon { width:auto !important; min-width:92px; height:34px !important; padding:6px 10px !important; border:1px solid #cfdee9 !important; background:#fff; }
/* Toolbar fields must not inherit the surrounding form's vertical label layout. */
.admin-body .ql-toolbar.ql-snow .rich-text-power-controls { min-width:0; max-width:100%; min-height:34px; display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px; }
.admin-body .ql-toolbar.ql-snow :is(.rich-text-px-field,.rich-text-exact-color) { width:auto; min-width:0; height:34px; margin:0; padding:0; display:inline-flex; flex:0 0 auto; align-items:center; gap:0; overflow:hidden; border:1px solid #cfdee9; border-radius:8px; background:#fff; }
.admin-body .ql-toolbar.ql-snow :is(.rich-text-px-field,.rich-text-exact-color) > span { display:block; flex:0 0 auto; padding:0 8px; color:#526b7e; font-size:11px; font-weight:800; line-height:1; white-space:nowrap; }
.admin-body .ql-toolbar.ql-snow .rich-text-px-field input { width:48px; min-width:0; height:32px; flex:0 0 48px; margin:0; padding:0 4px; border:0; border-left:1px solid #e0e8ee; border-radius:0; color:var(--text-main); font-size:12px; text-align:center; }
.admin-body .ql-toolbar.ql-snow .rich-text-px-field button { width:auto; height:32px; padding:0 8px; border:0; border-left:1px solid #e0e8ee; border-radius:0; color:var(--primary); font-size:11px; font-weight:800; }
.admin-body .ql-toolbar.ql-snow .rich-text-exact-color input[type="color"] { width:32px; min-width:32px; height:32px; flex:0 0 32px; margin:0; padding:5px; border:0; border-left:1px solid #e0e8ee; border-radius:0; background:#fff; cursor:pointer; }
.admin-body .ql-toolbar.ql-snow .rich-text-exact-color input::-webkit-color-swatch-wrapper { padding:0; }
.admin-body .ql-toolbar.ql-snow .rich-text-exact-color input::-webkit-color-swatch { border:1px solid #b8c8d5; border-radius:4px; }
.admin-body .ql-toolbar.ql-snow .rich-text-exact-color input::-moz-color-swatch { border:1px solid #b8c8d5; border-radius:4px; }
.admin-body .ql-toolbar.ql-snow :is(.rich-text-px-field,.rich-text-exact-color):focus-within { outline:2px solid #1468b8; outline-offset:2px; }
.rich-text-history-button { width:34px !important; height:34px !important; padding:0 !important; border:1px solid #cfdee9 !important; border-radius:8px !important; background:#fff !important; color:var(--text-main) !important; font-size:18px !important; line-height:1 !important; }
.ql-font-pretendard { font-family: Pretendard,"Noto Sans KR",sans-serif; }
.ql-font-noto-sans-kr { font-family: "Noto Sans KR",sans-serif; }
.ql-font-nanum-gothic { font-family: "Nanum Gothic",sans-serif; }
.ql-font-nanum-myeongjo { font-family: "Nanum Myeongjo",serif; }
.ql-font-malgun-gothic { font-family: "Malgun Gothic",sans-serif; }
.ql-font-arial { font-family: Arial,sans-serif; }
.ql-font-georgia { font-family: Georgia,serif; }
.ql-font-monospace { font-family: Consolas,"Courier New",monospace; }
.content-spacing-fields { margin-top: 15px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.content-spacing-fields label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.content-spacing-fields select { height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 7px; }
.content-preview-modal { width:calc(100vw - 16px); max-width:none; height:calc(100vh - 16px); max-height:none; overflow:auto; }
.content-preview-modal .admin-modal__card { width:100%; min-height:100%; padding:18px 18px 32px; }
.content-preview-modal__heading { min-height:54px; padding:0 64px 10px 4px; }
.content-preview-modal__heading small { display:block; margin-bottom:3px; }
.content-preview-floating-close { width:46px; height:46px; position:fixed; z-index:60; top:18px; right:20px; display:grid; place-items:center; border:1px solid #cfdce7; border-radius:50%; background:rgba(255,255,255,.96); color:#173b5c; font-size:28px; line-height:1; box-shadow:0 12px 34px rgba(15,49,77,.22); backdrop-filter:blur(12px); }
.content-preview-resolution-tools { margin:0 58px 14px 0; padding:10px 14px; position:sticky; z-index:45; top:8px; display:grid; grid-template-columns:minmax(420px,1fr) auto; align-items:center; gap:18px; border:1px solid #d4e1eb; border-radius:14px; background:rgba(255,255,255,.95); box-shadow:0 10px 30px rgba(15,49,77,.13); backdrop-filter:blur(12px); }
.content-preview-resolution-tools label { min-width:0; display:grid; grid-template-columns:auto minmax(220px,1fr) auto; align-items:center; gap:12px; color:#35536c; font-size:11px; font-weight:900; }
.content-preview-resolution-tools input { width:100%; accent-color:var(--primary); }
.content-preview-resolution-tools output,.content-builder-resolution output { min-width:112px; display:flex; align-items:center; justify-content:flex-end; gap:7px; font-variant-numeric:tabular-nums; }
.content-preview-resolution-tools output b,.content-builder-resolution output b { padding:5px 8px; border-radius:999px; background:#e8f3fc; color:var(--primary); font-size:10px; }
.content-preview-resolution-tools output span,.content-builder-resolution output span { color:#173b5c; font-size:12px; font-weight:900; }
.content-preview-resolution-tools > small { color:#6b8092; font-size:10px; white-space:nowrap; }
.content-preview-stage { min-height:500px; padding:18px; display:flex; align-items:flex-start; justify-content:safe center; overflow-x:auto; overflow-y:visible; border:1px solid #e0e8ef; border-radius:16px; background:#edf2f6; }
.content-live-preview { width:min(100%,var(--site-content-width,1400px)); min-height:500px; margin:0 auto; padding:40px 0; }
.content-preview-resolution-canvas { width:var(--content-preview-width,var(--site-content-width,1400px)); max-width:none; min-width:360px; flex:0 0 auto; margin:0; background:#fff; box-shadow:0 8px 28px rgba(17,52,80,.08); container-name:content-preview; container-type:inline-size; }
.content-builder { position:relative; }
.content-builder-floating-actions { height:0; position:sticky; z-index:1300; top:14px; display:flex; justify-content:center; pointer-events:none; }
.content-builder-floating-actions__bar { padding:6px; display:flex; align-items:center; gap:6px; border:1px solid #d4e1eb; border-radius:12px; background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(15,49,77,.16); backdrop-filter:blur(12px); pointer-events:auto; }
.content-builder-floating-actions__bar button { min-height:40px; padding:0 12px; }
.content-builder-floating-actions__bar .admin-secondary-button { border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text-main); font-weight:800; }
.content-builder-floating-actions__bar .admin-primary-button:disabled { background:#b8c4cd; box-shadow:none; }
.content-builder-resolution { min-width:430px; height:40px; padding:0 10px; display:grid; grid-template-columns:auto minmax(180px,1fr) auto; align-items:center; gap:9px; border:1px solid #d6e2ec; border-radius:9px; background:#fff; color:#526b80; font-size:10px; font-weight:900; }
.content-builder-resolution input { width:100%; min-width:0; accent-color:var(--primary); }
.content-builder-floating-actions__bar > #openContentPreview { min-width:100px; }
.content-builder-floating-actions__bar > #saveContentPage { min-width:170px; }
.content-builder__toolbar { min-height:54px; padding-right:720px; }
.current-file-box { margin: 16px 0; padding: 12px; display: grid; gap: 6px; border-radius: 9px; background: var(--bg-soft); }
.current-file-box img { width:auto; max-width:min(100%,360px); height:auto; max-height:240px; object-fit:contain; object-position:left center; }
.current-file-box span,.current-file-box small { color: var(--text-sub); font-size: 11px; overflow-wrap: anywhere; }
.has-custom-file { position: relative; }
.has-custom-file input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.custom-file-input { min-height: 48px; display: flex; align-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: #fff; cursor: pointer; }
.custom-file-input b { align-self: stretch; padding: 0 14px; display: flex; align-items: center; flex: 0 0 auto; border-right: 1px solid var(--border); background: var(--bg-soft); font-size: 13px; }
.custom-file-input em { min-width: 0; padding: 0 13px; overflow: hidden; color: var(--text-main); font-size: 13px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.content-block--text.ql-editor { padding: 0; }
.content-block--image { display: flex; }
.content-block--image.is-left { justify-content: flex-start; }
.content-block--image.is-center { justify-content: center; }
.content-block--image.is-right { justify-content: flex-end; }
.content-block--image picture { display: block; }
.content-block--image img { width:auto; max-width:100%; height:auto; object-fit:contain; }
.section-form textarea { resize: vertical; }
.list-editor-modal { width: min(1320px, calc(100% - 24px)); }
.media-editor-modal { width: min(820px, calc(100% - 24px)); }
.list-editor-modal .admin-modal__card { width: 100%; }
.list-design-live-preview { margin-top: 22px; padding: 16px; overflow-x: auto; border: 1px solid #b9d6ee; border-radius: 12px; background: #eef5fa; }
.list-design-live-preview__label { width:min(var(--site-content-width,1400px),100%); margin:0 auto 10px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--text-main); }
.list-design-live-preview__label strong { font-size: 13px; }
.list-design-live-preview__label span { color: var(--text-sub); font-size: 11px; }
.list-design-live-preview__canvas { width:min(var(--site-content-width,1400px),100%); min-width:760px; margin:0 auto; padding:38px 32px; border-radius:10px; background:#fff; box-shadow:0 5px 20px rgba(16,54,88,.08); }
.design-preview-modal { width: min(1180px, calc(100% - 24px)); }
.block-design-live-preview { margin-top: 20px; margin-bottom: 20px; padding: 16px; overflow-x: auto; border: 1px solid #b9d6ee; border-radius: 14px; background: #eef5fa; }
.block-design-live-preview__heading { width: min(1080px, 100%); margin: 0 auto 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.block-design-live-preview__heading strong { color: var(--text-main); font-size: 13px; }
.block-design-live-preview__heading span { color: var(--text-sub); font-size: 11px; }
.block-design-live-preview__canvas { width: min(1080px, 100%); min-width: 680px; margin: 0 auto; padding: clamp(24px, 4vw, 44px); border-radius: 12px; background: #fff; box-shadow: 0 5px 20px rgba(16,54,88,.08); }
.block-design-live-preview__canvas .public-content-blocks { width: 100%; }
.block-design-live-preview__canvas .schedule-template { width: 100%; }
.schedule-design-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.schedule-design-row-control { min-width:0; display:grid; gap:6px; }
.schedule-design-row-control > span { font-size:12px; font-weight:700; }
.schedule-design-row-control > button { min-height:43px; padding:0 14px; border:1px solid var(--primary); border-radius:8px; background:#fff; color:var(--primary); font-size:12px; font-weight:800; }
.schedule-design-row-control > button:hover { background:var(--primary); color:#fff; }
.schedule-concept-design { margin:0 0 14px; }
.schedule-concept-summary { min-width:0; min-height:38px; display:flex; justify-content:center; flex-direction:column; }
.schedule-concept-summary strong { color:#173b5c; font-size:11px; }
.schedule-concept-summary span { margin-top:3px; color:#6f8394; font-size:9px; line-height:1.45; }
.schedule-group-fields { margin-top:18px; display:grid; gap:14px; }
.schedule-group-color-guide { margin:0; padding:11px 13px; border-radius:9px; background:#edf6fd; color:#486d8b; font-size:10px; font-weight:750; line-height:1.55; }
.schedule-group-list { min-width:0; display:grid; grid-template-columns:1fr; gap:12px; counter-reset:schedule-group-editor; }
.schedule-group-editor { min-width:0; padding:14px; display:grid; gap:12px; border:2px solid #c4d8e8; border-radius:14px; background:linear-gradient(145deg,#fbfdff,#f1f7fb); counter-increment:schedule-group-editor; }
.schedule-group-editor__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.schedule-group-editor__heading strong::after { content:" " counter(schedule-group-editor,decimal-leading-zero); color:var(--primary); }
.schedule-group-editor__heading button { padding:7px 9px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:10px; font-weight:850; }
.schedule-group-editor__name { min-width:0; display:grid; gap:6px; }
.schedule-group-editor__name > span { color:#294b69; font-size:11px; font-weight:850; }
.schedule-group-editor__name input,.schedule-group-time-row input { width:100%; min-width:0; min-height:42px; padding:10px 11px; border:1px solid #c7d8e6; border-radius:8px; background:#fff; }
.schedule-group-editor__rows { display:grid; gap:7px; }
.schedule-group-time-row { min-width:0; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr) 32px; gap:7px; }
.schedule-group-time-row button { width:32px; min-height:42px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:17px; font-weight:850; }
.schedule-group-editor__add-row { min-height:36px; border:1px dashed #85b5da; border-radius:8px; background:#f7fbff; color:#176ba9; font-size:11px; font-weight:850; }
.schedule-group-editor__add-row:hover { border-style:solid; background:#e9f5ff; }
.equipment-design-controls { grid-template-columns:minmax(0,1fr); }
.schedule-design-controls input[type="color"],.equipment-design-controls input[type="color"],#numberedBlockForm input[type="color"] { min-height: 46px; padding: 4px; cursor: pointer; }
.equipment-add-row { margin:10px 0 14px; display:flex; justify-content:flex-end; }
.equipment-add-row button { min-height:38px; padding:0 14px; border-radius:9px; background:var(--primary); color:#fff; font-size:11px; font-weight:800; }
.list-layout-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
.list-heading-customization { display:grid; gap:12px; }
.list-heading-customization__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.list-heading-customization__title > div { min-width: 0; display: grid; gap: 3px; }
.list-heading-customization__title strong { font-size: 14px; }
.list-heading-customization__title span { color: var(--text-sub); font-size: 11px; }
.list-heading-customization__title button { flex: 0 0 auto; padding: 8px 11px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-soft); color: var(--text-main); font-size: 11px; font-weight: 800; }
.list-heading-customization__title button:hover { border-color: var(--primary); color: var(--primary); }
.list-heading-field-row { display: grid; grid-template-columns: minmax(260px,1fr) 190px 120px 88px; gap: 10px; align-items: end; }
.list-heading-field-row label { min-width: 0; display: grid; gap: 6px; }
.list-heading-field-row label > span:first-child { font-size: 12px; font-weight: 800; }
.list-heading-field-row input,.list-heading-field-row select { width: 100%; height: 43px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.list-heading-field-row input[type="color"] { padding: 4px; cursor: pointer; }
.list-heading-size-input { display: grid; grid-template-columns: minmax(0,1fr) 30px; align-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.list-heading-size-input input { height: 41px; border: 0; border-radius: 0; }
.list-heading-size-input b { color: var(--text-sub); font-size: 11px; text-align: center; }
.list-item-editor-heading { margin-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.list-item-global-design { margin:18px 0; padding:15px; display:grid; gap:12px; border:1px solid var(--border); border-radius:14px; background:#f7fafc; }
.compact-global-design { padding:12px; gap:10px; border:2px solid #9ec9e8; background:linear-gradient(145deg,#f3f9fd 0%,#eaf4fb 100%); box-shadow:0 8px 22px rgba(31,91,137,.08); }
.list-global-design-intro { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.list-global-design-intro > div { min-width:0; display:grid; gap:3px; }
.list-global-design-intro strong { color:#0f4f80; font-size:13px; }
.list-global-design-intro span { color:#607d94; font-size:10px; line-height:1.45; }
.list-global-design-intro em { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#1468b8; color:#fff; font-size:9px; font-style:normal; font-weight:900; }
.concept-style-strip { min-width:0; padding:10px; display:grid; grid-template-columns:minmax(150px,.7fr) minmax(0,2fr) auto; align-items:end; gap:10px; border:1px solid #dce7f0; border-radius:11px; background:#fff; }
.compact-global-design .concept-style-strip { border-color:#9ec9e8; box-shadow:inset 4px 0 0 #1468b8; }
.concept-color-control,.compact-align-control,.compact-color-controls label,.compact-card-controls label,.compact-button-controls > label { min-width:0; display:grid; gap:5px; }
.concept-style-strip label > span,.compact-style-section label > span,.compact-button-controls label > span { color:#314d64; font-size:10px; font-weight:800; }
.concept-style-strip :is(input,select),.compact-style-section :is(input,select,textarea),.compact-button-controls :is(input,select) { width:100%; min-width:0; border:1px solid var(--border); border-radius:7px; background:#fff; }
.concept-style-strip :is(input,select),.compact-style-section :is(input,select),.compact-button-controls :is(input,select) { height:36px; padding:6px 8px; }
.concept-style-strip input[type="color"],.compact-style-section input[type="color"],.compact-button-controls input[type="color"] { padding:3px; cursor:pointer; }
.concept-color-control input[type="color"] { height:38px; }
.compact-color-controls { min-width:0; display:grid; grid-template-columns:repeat(4,minmax(58px,1fr)); gap:7px; }
.compact-card-controls { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.compact-reset-button,.compact-style-section__heading button { min-height:32px; padding:0 9px; border:1px solid #cbddea; border-radius:7px; background:#f5f9fc; color:#266291; font-size:9px; font-weight:800; }
.compact-style-section { min-width:0; padding:10px; display:grid; gap:9px; border:1px solid #dce7f0; border-radius:11px; background:#fff; }
.compact-style-section__heading { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.compact-style-section__heading strong { color:#183d5e; font-size:11px; }
.compact-field-style { min-width:0; padding:10px; display:grid; gap:7px; border:1px solid #dce7f0; border-radius:11px; background:#fff; }
.compact-field-style__input { min-width:0; display:grid; gap:6px; }
.compact-field-style__input > span { font-size:11px; font-weight:800; }
.compact-field-style__input :is(input,textarea) { width:100%; min-width:0; padding:9px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; resize:vertical; }
.compact-type-controls { width:min(100%,430px); display:grid; grid-template-columns:76px minmax(150px,1fr) 96px; align-items:end; gap:7px; }
.compact-type-controls label { min-width:0; display:grid; gap:4px; }
.compact-type-controls input[type="color"] { width:100%; }
.compact-pixel-input { display:grid; grid-template-columns:minmax(0,1fr) 24px; align-items:center; overflow:hidden; border:1px solid var(--border); border-radius:7px; background:#fff; }
.compact-pixel-input input { min-width:0; height:34px !important; padding:5px 4px 5px 9px !important; border:0 !important; border-radius:0 !important; font-variant-numeric:tabular-nums; }
.compact-pixel-input b { color:#788a9a; font-size:9px; text-align:center; }
.list-item-typography { margin:8px 0 10px; }
.list-item-type-row { min-width:0; display:grid; grid-template-columns:68px minmax(0,1fr); align-items:end; gap:9px; }
.list-item-type-row > b { padding-bottom:10px; color:#314d64; font-size:10px; }
.compact-inline-reset { display:flex; justify-content:flex-end; }
.compact-button-controls { min-width:0; display:grid; grid-template-columns:110px 72px minmax(280px,1fr) 92px 92px; align-items:end; gap:7px; }
.compact-button-controls > .compact-type-controls { width:100%; grid-template-columns:70px minmax(120px,1fr) 86px; }
.compact-field-design { gap:10px; }
#numberedBlockForm .compact-type-controls input[type="color"],#numberedBlockForm .concept-color-control input[type="color"] { min-height:34px; height:34px; }
.list-design-group { min-width:0; padding:13px; display:grid; gap:12px; border:1px solid #dce7f0; border-radius:12px; background:#fff; }
.list-design-group__heading { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.list-design-group__heading > div { min-width:0; display:grid; gap:3px; }
.list-design-group__heading strong { color:#183d5e; font-size:12px; }
.list-design-group__heading span { color:#75879a; font-size:10px; line-height:1.4; }
.list-design-group__actions { min-width:max-content !important; display:flex !important; flex-wrap:wrap; justify-content:flex-end; gap:6px !important; }
.list-design-group__heading button { min-height:32px; padding:0 10px; flex:0 0 auto; border:1px solid #cbddea; border-radius:8px; background:#f5f9fc; color:#266291; font-size:10px; font-weight:800; }
.list-design-group__heading button:hover { border-color:#8db8d7; background:#edf6fc; }
.list-design-group__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.list-design-group label { min-width:0; position:relative; display:grid; gap:6px; }
.list-design-group label span { font-size:11px; font-weight:800; }
.list-design-group input { width:100%; min-width:0; height:42px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.list-design-group input[type="color"] { padding:4px; }
.list-design-group input[type="number"] { padding-right:32px; }
.list-design-group label > em { position:absolute; right:10px; bottom:13px; color:#8a9bab; font-size:10px; font-style:normal; pointer-events:none; }
.list-item-editor-heading button { min-height: 38px; padding: 0 14px; border-radius: 7px; background: var(--primary-soft); color: var(--primary); font-weight: 800; }
.list-item-editor-list { margin-top:10px; padding:2px 2px 8px; display:grid; gap:18px; overflow-x:auto; counter-reset:builder-list-item; }
.list-item-editor { min-width:0; position:relative; padding:15px; display:grid; grid-template-columns:62px minmax(0,1fr); gap:14px; align-items:start; border:2px solid #b9d3e6; border-radius:15px; background:linear-gradient(145deg,#f6fafe 0%,#edf5fa 100%); box-shadow:inset 5px 0 #277fbe,0 8px 22px rgba(30,78,114,.08); counter-increment:builder-list-item; transition:border-color .16s,box-shadow .16s,transform .16s; }
.list-item-editor:nth-child(even) { border-color:#c5d1e7; background:linear-gradient(145deg,#f8f9fe 0%,#f0f3fb 100%); box-shadow:inset 5px 0 #6477ba,0 8px 22px rgba(44,64,108,.07); }
.list-item-editor:focus-within { border-color:#2585cc; box-shadow:inset 5px 0 #1475bc,0 0 0 3px rgba(37,133,204,.12),0 12px 28px rgba(30,78,114,.12); }
.list-item-editor__number { color: transparent; font-size: 0; }
.list-item-editor__number::before { content: counter(builder-list-item, decimal-leading-zero); width: 48px; height: 48px; display: grid; place-items: center; border-radius: 999px; background: var(--primary-soft); color: var(--primary); font-size: 13px; font-weight: 900; }
.list-item-editor > div:nth-child(2) { display:grid; grid-template-columns:1fr; gap:12px; }
.list-item-marker-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.list-item-edit-field { min-width:0; padding:11px; display:grid; gap:7px; border:1px solid #c9dbe8; border-radius:10px; background:rgba(255,255,255,.92); box-shadow:0 2px 7px rgba(34,73,103,.04); }
.list-item-edit-field__heading { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:end; gap:10px; }
.list-item-edit-field__heading > strong { padding-bottom:9px; color:#234863; font-size:10px; white-space:nowrap; }
.list-item-edit-field__heading .compact-type-controls--item { width:100%; grid-template-columns:52px minmax(0,112px) 90px; justify-content:end; gap:5px; }
.list-item-edit-field__heading .compact-type-controls--item label { gap:3px; }
.list-item-edit-field__heading .compact-type-controls--item label > span:first-child { color:#668095; font-size:9px; }
.list-item-edit-field__heading .compact-type-controls--item :is(input,select) { height:32px; padding:4px 6px; font-size:10px; }
.list-item-edit-field__heading .compact-type-controls--item input[type="color"] { padding:3px; }
.step-icon-style-controls { min-width:0; display:grid; grid-template-columns:84px 56px 104px; justify-content:end; align-items:end; gap:6px; }
.step-icon-style-controls label { min-width:0; display:grid; gap:3px; }
.step-icon-style-controls label > span:first-child { color:#668095; font-size:9px; font-weight:800; }
.step-icon-style-controls input[type="color"] { height:32px; padding:3px; }
.step-icon-style-controls select { min-width:0; height:32px; padding:4px 6px; font-size:10px; }
.step-icon-style-controls .compact-pixel-input input { height:30px !important; font-size:10px; }
.step-icon-picker-trigger { width:100%; min-height:62px; padding:9px 11px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid #cddfea; border-radius:10px; background:#fff; color:#244861; text-align:left; }
.step-icon-picker-trigger:hover { border-color:#76acd3; background:#f7fbfe; }
.step-icon-picker-trigger__preview { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:#eaf5ff; color:#1472c4; }
.step-icon-picker-trigger__preview svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.step-icon-picker-trigger__preview i { font-size:24px; font-style:normal; font-weight:400; }
.step-icon-picker-trigger__copy { min-width:0; display:grid; gap:3px; }
.step-icon-picker-trigger__copy b { overflow:hidden; color:#183d5e; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.step-icon-picker-trigger__copy small { overflow:hidden; color:#7b8e9f; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.step-icon-picker-trigger em { padding:5px 8px; border-radius:999px; background:#eff5f9; color:#3273a4; font-size:9px; font-style:normal; font-weight:900; }
.list-item-edit-field.is-active-edit-field { border-color:#2687d8; background:#eef7ff; box-shadow:0 0 0 2px rgba(38,135,216,.13); }
.list-item-image-size { display:flex; align-items:end; gap:5px; justify-self:end; }
.list-item-image-size > span:first-child { padding-bottom:8px; color:#668095; font-size:9px; }
.list-item-image-editor__body { display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; align-items:center; }
.list-item-image-preview { width:110px; height:88px; display:grid; place-items:center; overflow:hidden; border:1px dashed #c9d9e5; border-radius:9px; background:#fff; color:#8ba0af; font-size:9px; }
.list-item-image-preview img { width:100%; height:100%; object-fit:scale-down; object-position:center; }
.list-item-image-editor__body > div:last-child { min-width:0; display:grid; gap:6px; }
.list-item-image-file { min-height:34px; display:grid; place-items:center; cursor:pointer; }
.list-item-image-file input { width:1px; height:1px; position:absolute; opacity:0; pointer-events:none; }
.list-item-image-editor [data-remove-list-item-image] { justify-self:start; color:#bd3434; font-size:9px; font-weight:700; }
.list-item-image-editor [data-remove-list-item-image]:disabled { opacity:.35; }
.compact-style-section.is-active-edit-field,.concept-style-strip.is-active-edit-field { border-color:#2687d8; box-shadow:0 0 0 2px rgba(38,135,216,.12); }
.content-builder-item__actual .is-list-edit-target { position:relative; z-index:1; outline:3px solid #1688e5 !important; outline-offset:5px; border-radius:5px; box-shadow:0 0 0 8px rgba(22,136,229,.1); transition:outline-color .12s,box-shadow .12s; }
.list-item-editor label { display: grid; gap: 6px; }
.list-item-editor label span { font-size: 12px; font-weight: 800; }
.list-item-editor input,.list-item-editor textarea,.list-item-editor select { width: 100%; padding: 10px 11px; border: 1px solid var(--border); border-radius: 8px; background: #fff; resize: vertical; }
.list-item-alignment-settings { grid-column: 1 / -1; padding: 12px; display: grid; grid-template-columns: minmax(150px,.65fr) minmax(170px,1fr) minmax(170px,1fr); gap: 10px; align-items: end; border: 1px solid #d8e5ef; border-radius: 9px; background: #f7fafc; }
.list-item-alignment-settings > strong { align-self: center; color: var(--primary-dark); font-size: 12px; }
.list-item-editor > button { width:48px; min-height:32px; padding:0 6px; position:absolute; top:72px; left:15px; border-radius:7px; background:#fff0f0; color:#b02e2e; font-size:11px; font-weight:800; }
.media-image-editor-list { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.media-image-manager-heading { margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.media-image-manager-heading > div { display:grid; gap:3px; }
.media-image-manager-heading strong { color:#173b5c; font-size:14px; }
.media-image-manager-heading span { color:var(--text-sub); font-size:11px; line-height:1.5; }
.media-image-manager-heading button { min-height:38px; padding:0 14px; border-radius:9px; background:var(--primary); color:#fff; font-size:12px; font-weight:800; }
.media-image-editor-list.is-gallery-grid { grid-template-columns: repeat(var(--media-editor-columns,3),minmax(0,1fr)); }
.media-image-editor-list.is-featured-gallery { grid-template-columns:repeat(var(--media-editor-columns,3),minmax(0,1fr)); }
.media-image-editor-list.is-featured-gallery .media-image-editor-row:first-child { grid-column:1 / -1; position:relative; border-color:#3c8fc9; background:linear-gradient(145deg,#f4faff,#e3f2fd); box-shadow:inset 4px 0 #126eb3,0 10px 24px rgba(23,91,141,.12); }
.media-image-editor-list.is-featured-gallery .media-image-editor-row:first-child::before { content:"대표 이미지"; padding:5px 9px; position:absolute; z-index:2; top:9px; left:50%; border-radius:999px; background:#116fb4; color:#fff; font-size:9px; font-weight:900; transform:translateX(-50%); }
.media-image-editor-empty { min-height: 90px; display: grid; place-items: center; border: 1px dashed var(--border); border-radius: 9px; color: var(--text-sub); font-size: 12px; }
.media-image-editor-empty { grid-column: 1 / -1; }
.media-image-editor-row { min-width:0; padding:14px; border:2px solid #bed5e6; border-radius:14px; background:linear-gradient(145deg,#f8fbfe,#eef5fa); box-shadow:inset 4px 0 #2a80bd,0 7px 18px rgba(30,78,114,.07); }
.media-image-editor-row:nth-child(even) { border-color:#c8d1e7; box-shadow:inset 4px 0 #6477ba,0 7px 18px rgba(44,64,108,.06); }
.media-image-editor-row:focus-within { border-color:#2585cc; box-shadow:inset 4px 0 #1475bc,0 0 0 3px rgba(37,133,204,.1); }
.media-image-editor-row__heading { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.media-image-editor-row__heading > strong { color: var(--primary); font-size: 13px; }
.media-image-editor-row__heading > div { min-width: 0; display: flex; gap: 3px; }
.media-image-editor-row__heading button { min-width: 29px; height: 30px; padding: 0 6px; border-radius: 6px; background: var(--bg-soft); font-size: 10px; }
.media-image-editor-row__drag { color: var(--primary); cursor: grab; touch-action: none; }
.media-image-editor-row [data-media-remove] { width:100%; min-height:38px; margin-top:10px; padding:8px 12px; display:block; border:1px solid #e8aaaa; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:12px; font-weight:800; }
.media-image-editor-row [data-media-remove]:hover,.media-image-editor-row [data-media-remove]:focus-visible { border-color:#b42323; background:#b42323; color:#fff; }
.media-image-editor-thumbnail { min-width: 0; display: grid; gap: 8px; }
.media-image-editor-thumbnail img { width:auto; max-width:100%; height:auto; max-height:150px; display:block; margin:auto; border-radius:8px; background:var(--bg-soft); object-fit:contain; }
.media-image-editor-thumbnail span { overflow: hidden; color: var(--text-sub); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.media-image-editor-row__primary-action { width:100%; min-height:36px; margin-top:10px; padding:0 10px; border:1px solid #9ec9e8; border-radius:8px; background:#eef7fe; color:#126eb3; font-size:10px; font-weight:900; }
.media-image-editor-row__primary-action:hover:not(:disabled),.media-image-editor-row__primary-action:focus-visible:not(:disabled) { border-color:#126eb3; background:#126eb3; color:#fff; }
.media-image-editor-row__primary-action:disabled { border-color:#a9d3c0; background:#eaf8f0; color:#167044; opacity:1; cursor:default; }
.media-image-editor-row.is-primary-media { border-color:#66a9d7; box-shadow:inset 4px 0 #126eb3,0 8px 20px rgba(23,91,141,.1); }
.media-image-editor-row__upload { margin-top: 10px; padding: 8px; border-radius: 8px; background: #eef6fd; }
.media-image-editor-row__upload > div { margin-bottom: 5px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--primary-dark); font-size: 10px; font-weight: 800; }
.media-image-editor-row__upload progress { width: 100%; height: 7px; display: block; overflow: hidden; border: 0; border-radius: 999px; background: #d6e5f2; accent-color: var(--primary); }
.media-image-editor-row__upload progress::-webkit-progress-bar { border-radius: 999px; background: #d6e5f2; }
.media-image-editor-row__upload progress::-webkit-progress-value { border-radius: 999px; background: var(--primary); transition: width .18s linear; }
.media-image-editor-row__upload.is-complete { background: #eaf8f0; }
.media-image-editor-row__upload.is-complete > div { color: #167044; }
.media-image-editor-row__upload.is-complete progress { accent-color: #23a866; }
.media-image-editor-row__upload.is-error { background: #fff0f0; }
.media-image-editor-row__upload.is-error > div { color: #a82424; }
.media-image-editor-row.has-upload-error { border-color: #e9a1a1; box-shadow: 0 0 0 2px rgba(190,40,40,.08); }
.media-image-editor-row.is-upload-complete { border-color: #a9dbc0; }
.image-upload-progress { margin-top: 16px; padding: 16px; border: 1px solid #b9d6ee; border-radius: 12px; background: #f0f7fd; box-shadow: 0 12px 30px rgba(15,66,110,.10); }
.image-upload-progress__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.image-upload-progress__heading strong { color: #153f66; font-size: 14px; }
.image-upload-progress__heading b { color: var(--primary); font-size: 18px; }
.image-upload-progress > progress { width: 100%; height: 14px; margin-top: 11px; display: block; overflow: hidden; border: 0; border-radius: 999px; background: #d9e7f2; accent-color: var(--primary); }
.image-upload-progress > progress::-webkit-progress-bar { border-radius: 999px; background: #d9e7f2; }
.image-upload-progress > progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg,#1468b8,#22a6d5); transition: width .2s linear; }
.image-upload-progress > p { margin-top: 9px; color: #526b7f; font-size: 12px; line-height: 1.55; }
.image-upload-progress__stats { margin-top: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #456278; font-size: 11px; font-weight: 800; }
.image-upload-progress.is-error { border-color: #edb2b2; background: #fff3f3; }
.image-upload-progress.is-error .image-upload-progress__heading strong,.image-upload-progress.is-error .image-upload-progress__heading b { color: #a82424; }
.image-upload-progress.is-success { border-color: #a9dbc0; background: #effaf4; }
.image-upload-progress.is-success .image-upload-progress__heading strong,.image-upload-progress.is-success .image-upload-progress__heading b { color: #167044; }
#imageBlockForm:is(.is-uploading,.is-preparing-images) .image-upload-progress { width: min(560px,calc(100vw - 32px)); margin: 0; position: fixed; z-index: 100; top: 50%; left: 50%; border-width: 2px; background: #fff; box-shadow: 0 0 0 100vmax rgba(10,24,36,.48),0 24px 70px rgba(8,37,62,.28); transform: translate(-50%,-50%); }
#imageBlockForm:is(.is-uploading,.is-preparing-images) .media-editor-options,#imageBlockForm:is(.is-uploading,.is-preparing-images) .media-image-editor-list,#imageBlockForm:is(.is-uploading,.is-preparing-images) .admin-help-text { pointer-events: none; user-select: none; }
.media-text-modal { width: min(980px, calc(100% - 24px)); }
.media-text-simple-controls { margin: 12px 0 16px; padding: 14px; display: grid; grid-template-columns: minmax(180px,1fr) minmax(150px,.65fr) minmax(150px,.65fr); align-items: end; gap: 12px; border: 1px solid #b9d6ee; border-radius: 12px; background: #f1f8fe; }
.media-text-simple-controls label { min-width: 0; display: grid; gap: 6px; }
.media-text-simple-controls label > span { color: var(--text-main); font-size: 11px; font-weight: 900; }
.media-text-simple-controls select { width: 100%; height: 42px; padding: 4px 9px; border: 1px solid var(--border); border-radius: 7px; background: #fff; }
.media-text-background-color input[type="color"] { width: 100%; height: 42px; padding: 4px; border: 1px solid var(--border); border-radius: 7px; background: #fff; cursor: pointer; }
.media-gap-control input { width: 100%; accent-color: var(--primary); }
.media-gap-control output { float: right; color: var(--primary); font-weight: 900; }
.media-text-quill .ql-toolbar { border-radius: 9px 9px 0 0; background: var(--bg-soft); }
.media-text-quill .ql-container { border-radius: 0 0 9px 9px; background: #fff; font-family: inherit; }
.media-text-quill .ql-editor { min-height: 320px; padding: 22px; font-size: 16px; line-height: 1.8; }
.media-text-quill .ql-picker.ql-size { width: 88px; }
.media-text-quill .ql-picker.ql-size .ql-picker-label::before,.media-text-quill .ql-picker.ql-size .ql-picker-item::before { content: attr(data-value); }
.media-text-remove-button { margin-right: auto; background: #fff0f0 !important; color: #b02e2e !important; }
.media-text-modal__actions { grid-template-columns: minmax(110px,1fr) 110px minmax(150px,1.2fr); align-items:stretch; }
.media-text-modal__actions > button { min-height:44px; border-radius:9px; font-weight:800; }
.media-text-modal__actions .media-text-remove-button { width:max-content; min-width:110px; margin:0; justify-self:start; border:1px solid #f2cccc !important; }
@media (max-width:700px) {
  .media-text-simple-controls { grid-template-columns:1fr 1fr; }
  .media-text-simple-controls .media-gap-control { grid-column:1 / -1; }
  .media-text-modal__actions { grid-template-columns:1fr 1fr 1.2fr; }
  .media-text-modal__actions .media-text-remove-button { width:100%; min-width:0; }
}
.ql-media-section__text[contenteditable="true"] { min-height: 160px; padding: 18px; border: 1px dashed var(--border); border-radius: 9px; background: #fff; }
.ql-media-section__text[contenteditable="true"]:empty::before { content: attr(data-placeholder); color: var(--text-sub); }
.section-numbered { position: relative; padding: 26px 0; }
.section-numbered__heading { position: relative; min-height: 64px; display: flex; align-items: center; gap: 14px; }
.section-numbered__heading span { color: #eef2f6; font-size: 74px; font-weight: 900; line-height: .8; }
.section-numbered__heading h2 { position: absolute; left: 38px; bottom: 4px; font-size: clamp(24px, 3vw, 36px); }
.section-numbered > p { margin-top: 20px; color: var(--text-sub); line-height: 1.8; }
.section-numbered > img { width:auto; max-width:100%; height:auto; display:block; margin:30px auto 0; object-fit:contain; }
.section-split { display: grid; align-items: center; gap: clamp(28px, 5vw, 70px); padding: 24px 0; }
.section-split.ratio-50-50 { grid-template-columns: 1fr 1fr; }
.section-split.ratio-60-40 { grid-template-columns: 3fr 2fr; }
.section-split.ratio-40-60 { grid-template-columns: 2fr 3fr; }
.section-split.image-right .section-split__image { order: 2; }
.section-split.image-right .section-split__text { order: 1; }
.section-split__image img { width:auto; max-width:100%; height:auto; display:block; margin:auto; object-fit:contain; }
.section-split__text h2 { font-size: clamp(25px, 3vw, 40px); }
.section-split__text strong { display: inline-block; margin-top: 14px; padding: 4px 7px; background: var(--primary); color: #fff; }
.section-split__text p { margin-top: 22px; color: var(--text-sub); line-height: 1.9; }
.section-spacer { position: relative; }
.section-spacer.has-line::after { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: var(--border); }
.admin-image-preview { max-height: 360px; margin-top: 18px; object-fit: contain; border: 1px solid var(--border); }
.admin-help-text { margin: 5px 0 14px; color: var(--text-sub); font-size: 12px; }
[data-structured-rows],#scheduleRows { counter-reset:schedule-editor-row; }
.schedule-admin-row { margin-top:10px; padding:46px 12px 12px; position:relative; display:grid; grid-template-columns:160px 1fr 1fr; gap:8px; border:2px solid #c0d6e6; border-radius:13px; background:linear-gradient(145deg,#f8fbfe,#eef5fa); box-shadow:inset 4px 0 #2a80bd; counter-increment:schedule-editor-row; }
.schedule-admin-row:nth-child(even) { border-color:#cad2e7; background:linear-gradient(145deg,#fafaff,#f1f3fb); box-shadow:inset 4px 0 #6477ba; }
.schedule-admin-row::before { content:"시간표 행 " counter(schedule-editor-row,decimal-leading-zero); position:absolute; top:12px; left:14px; padding:5px 9px; border-radius:999px; background:#dceeff; color:#1267a8; font-size:10px; font-weight:900; letter-spacing:.03em; }
.schedule-admin-row button { width:30px; height:30px; position:absolute; top:9px; right:10px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:18px; font-weight:800; }
.admin-field { margin-top: 18px; }
.admin-save-button { width: 100%; margin-top: 14px; }
.simple-section-heading { margin-bottom: 34px; }
.simple-section-heading small { color: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.simple-section-heading h2 { max-width: 760px; margin-top: 8px; font-size: clamp(30px, 4vw, 46px); line-height: 1.25; }
.simple-feature-section,.simple-steps-section { padding: 20px 0; }
.simple-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.simple-feature-grid article { min-height: 230px; padding: 30px; display: grid; grid-template-rows: auto minmax(110px, 1fr); border: 1px solid var(--border); border-radius: 14px; background: #fff; transition: transform .2s,border-color .2s; }
.simple-feature-grid article:hover { transform: translateY(-3px); border-color: var(--primary); }
.simple-feature-grid span { color: var(--primary); font-size: 12px; font-weight: 900; }
.simple-feature-grid h3 { margin: 0; font-size: 21px; }
.simple-feature-grid p { margin-top: 0; display: grid; place-items: center; color: var(--text-sub); font-size: 14px; line-height: 1.75; text-align: center; }
.simple-steps-section ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--text-main); }
.simple-steps-section li { min-width: 0; padding: 28px 22px; border-right: 1px solid var(--border); }
.simple-steps-section li:last-child { border-right: 0; }
.simple-steps-section li > span { color: var(--primary); font-size: 12px; font-weight: 900; }
.simple-steps-section h3 { margin-top: 28px; font-size: 19px; }
.simple-steps-section p { margin-top: 10px; color: var(--text-sub); font-size: 13px; line-height: 1.7; }
@media (max-width: 800px) { .simple-feature-grid { grid-template-columns: 1fr; } .simple-feature-grid article { min-height: 0; } .simple-steps-section ol { grid-template-columns: 1fr 1fr; } .simple-steps-section li:nth-child(2n) { border-right: 0; } }
@media (max-width: 520px) { .simple-steps-section ol { grid-template-columns: 1fr; } .simple-steps-section li { border-right: 0; border-bottom: 1px solid var(--border); } }
.simple-template-editor .editor-card__heading button { padding: 10px 15px; border-radius: 8px; background: var(--primary); color: #fff; font-weight: 800; }
.simple-data-list { display:grid; gap:18px; counter-reset:simple-editor-card; }
.simple-data-card,.faq-admin-row { position:relative; padding:20px; border:2px solid #bdd5e6; border-radius:15px; background:linear-gradient(145deg,#f8fbfe,#eef5fa); box-shadow:inset 5px 0 #277fbe,0 8px 22px rgba(30,78,114,.07); counter-increment:simple-editor-card; }
.simple-data-card:nth-child(even),.faq-admin-row:nth-child(even) { border-color:#c8d1e7; background:linear-gradient(145deg,#fafaff,#f1f3fb); box-shadow:inset 5px 0 #6477ba,0 8px 22px rgba(44,64,108,.06); }
.simple-data-card:focus-within,.faq-admin-row:focus-within { border-color:#2585cc; box-shadow:inset 5px 0 #1475bc,0 0 0 3px rgba(37,133,204,.1),0 10px 24px rgba(30,78,114,.1); }
.simple-data-card__heading::before { content:"항목 " counter(simple-editor-card,decimal-leading-zero); padding:5px 9px; border-radius:999px; background:#dceeff; color:#1267a8; font-size:10px; font-weight:900; }
.simple-data-card__heading > strong { margin-right:auto; }
.faq-admin-row { padding-top:54px; }
.faq-admin-row::before { content:"질문 " counter(simple-editor-card,decimal-leading-zero); position:absolute; top:15px; left:18px; padding:5px 9px; border-radius:999px; background:#dceeff; color:#1267a8; font-size:10px; font-weight:900; }
.faq-admin-row > button { position:absolute; top:15px; right:18px; }
.simple-data-card__heading { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: center; }
.simple-data-card__heading button,.faq-admin-row > button { color: #b02e2e; font-size: 12px; font-weight: 800; }
.simple-image-current { margin-top: 14px; display: flex; align-items: end; gap: 12px; }
.simple-image-current img { width:auto; max-width:160px; height:auto; max-height:120px; object-fit:contain; object-position:left center; }
.simple-image-current small { color: var(--text-sub); }
.equipment-image-manager { margin-top:14px; padding:12px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; border:1px solid var(--border); border-radius:10px; background:#fff; }
.equipment-image-manager .simple-image-current { min-width:0; margin:0; }
.equipment-text-align-field { min-width:0; display:grid; gap:7px; }
.equipment-text-align-field legend { margin-bottom:7px; color:var(--text-main); font-size:12px; font-weight:800; }
.equipment-image-manager > button,.replacement-image-editor > button { min-height:38px; flex:0 0 auto; padding:0 13px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:11px; font-weight:800; }
.equipment-image-manager > button:disabled,.replacement-image-editor > button:disabled { opacity:.45; cursor:not-allowed; }
.replacement-image-editor { padding:13px; display:grid; gap:11px; border:1px solid var(--border); border-radius:11px; background:#f7fafc; }
.replacement-image-editor .current-file-box { margin:0; }
.replacement-image-editor > button { justify-self:start; }
.doctor-photo-manager { padding:12px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; border:1px solid var(--border); border-radius:10px; background:#f7fafc; }
.doctor-photo-manager .current-file-box { min-width:0; margin:0; }
.doctor-photo-manager > button { min-height:38px; flex:0 0 auto; padding:0 13px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:11px; font-weight:800; }
.doctor-photo-manager > button:disabled { opacity:.45; cursor:not-allowed; }
.simple-wide-field { margin: 18px 0; display: grid; gap: 7px; font-size: 12px; font-weight: 800; }
.simple-wide-field textarea { padding: 12px; border: 1px solid var(--border); border-radius: 8px; resize: vertical; }
.nonpay-admin-scroll { overflow-x: auto; }
.nonpay-admin-head,.nonpay-admin-row { min-width: 1180px; display: grid; grid-template-columns: 120px 120px 90px 180px 80px 110px 1fr 130px 34px; gap: 6px; align-items: center; }
.nonpay-admin-head { padding: 9px 0; color: var(--text-sub); font-size: 11px; font-weight: 800; }
.nonpay-admin-row { margin-bottom: 7px; }
.nonpay-admin-row input { min-width: 0; height: 42px; padding: 0 9px; border: 1px solid var(--border); border-radius: 7px; }
.nonpay-admin-row button { color: #b02e2e; font-size: 20px; }
.table-builder { display:grid; gap:16px; }
.table-builder__base { padding:14px; display:grid; grid-template-columns:1fr; gap:10px; border:1px solid #cfe0ed; border-radius:12px; background:#f7fbfe; }
.table-builder__title-controls { display:grid; grid-template-columns:minmax(260px,1fr) 76px minmax(120px,160px) 92px 110px; gap:8px; align-items:end; }
.table-builder__pixel-input { position:relative; display:block; }
.table-builder__pixel-input input { padding-right:30px !important; }
.table-builder__pixel-input b { position:absolute; top:50%; right:10px; transform:translateY(-50%); color:#72869a; font-size:10px; pointer-events:none; }
.table-builder__base label,.table-selection-tools label { min-width:0; display:grid; gap:5px; color:#405a6e; font-size:10px; font-weight:800; }
.table-builder__base input:not([type="color"]),.table-builder__base select,.table-selection-tools input:not([type="color"]),.table-selection-tools select { width:100%; min-width:0; height:38px; padding:0 10px; border:1px solid #cbd9e4; border-radius:7px; background:#fff; }
.table-builder__base input[type="color"],.table-selection-tools input[type="color"] { width:100%; height:38px; padding:3px; border:1px solid #cbd9e4; border-radius:7px; background:#fff; }
.table-selection-tools { padding:12px 14px; position:sticky; top:8px; z-index:30; display:grid; gap:10px; border:2px solid #78b6e1; border-radius:13px; background:rgba(242,248,253,.96); box-shadow:0 12px 30px rgba(24,76,115,.16); backdrop-filter:blur(12px); }
.table-selection-tools__title { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.table-selection-tools__title > div:first-child { min-width:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; }
.table-selection-tools__title strong { color:#164f7e; font-size:13px; }
.table-selection-tools__title span { color:#71869a; font-size:9px; }
.table-selection-tools__history { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.table-selection-tools__history button { min-height:34px; padding:0 11px; border:1px solid #bfd4e4; border-radius:7px; background:#fff; color:#315b78; font-size:10px; font-weight:800; white-space:nowrap; }
.table-selection-tools__history .table-structure-add-button { border-color:#1675c1; background:#1675c1; color:#fff; }
.table-selection-tools__history button:last-child { border-color:var(--primary); background:var(--primary); color:#fff; }
.table-selection-tools__history button:disabled { opacity:.38; cursor:not-allowed; }
.table-selection-tools__cell > button { min-height:38px; padding:0 9px; border:1px solid #c9d8e4; border-radius:7px; background:#fff; color:#587084; font-size:9px; font-weight:800; }
.table-selection-tools__cell > .table-cell-bold-button { font-size:11px; }
.table-selection-tools__cell > .table-cell-bold-button b { margin-right:4px; font-size:15px; }
.table-selection-tools__cell > .table-cell-bold-button.is-active { border-color:#1675c1; background:#1675c1; color:#fff; box-shadow:0 0 0 2px rgba(22,117,193,.14); }
.table-selection-tools__cell { padding-top:11px; display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)); gap:8px; align-items:end; border-top:1px solid #cfe0ed; }
.table-selection-tools__cell[hidden] { display:none; }
.table-sheet-scroll { max-width:100%; max-height:min(68vh,760px); position:relative; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border:1px solid #cbd9e4; border-radius:11px; background:#edf3f7; }
.table-sheet { min-width:max-content; padding:8px; display:block; }
.table-sheet__table { min-width:0; border-collapse:separate; border-spacing:4px; table-layout:fixed; }
.table-sheet__table th,.table-sheet__table td { min-width:0; height:var(--table-row-height,46px); padding:0; position:relative; border:1px solid #cfdae3; border-radius:6px; background:#fff; color:#263746; font-family:Pretendard,"Noto Sans KR",sans-serif; font-size:14px; text-align:center; vertical-align:middle; }
.table-sheet__table .table-sheet__row { min-width:0; display:table-row; padding:0; border:0; border-radius:0; background:transparent; }
.table-sheet__table thead th { height:32px; position:sticky; top:0; z-index:8; border:0; background:#dfeaf2; box-shadow:0 5px 8px rgba(40,75,101,.12); }
.table-sheet__table thead th:first-child,.table-sheet__table tbody th { width:76px; min-width:76px; position:sticky; left:0; z-index:7; }
.table-sheet__table thead th:first-child { z-index:10; }
.table-sheet__index-column { width:76px; }
.table-sheet__table thead button { width:100%; height:32px; display:flex; align-items:center; justify-content:center; gap:5px; border:0; color:#60788b; font-size:9px; font-weight:800; }
.table-sheet__table thead button small { color:#7f95a6; font-size:8px; font-weight:800; }
.table-sheet__table thead button.is-selected small { color:#0f64a7; }
.table-sheet__table thead button.is-selected { background:#c9e4f7; color:#0f64a7; box-shadow:inset 0 -3px 0 #1675c1; }
.table-sheet__column-resizer { width:9px; position:absolute; z-index:12; top:0; right:-5px; bottom:0; cursor:col-resize; touch-action:none; }
.table-sheet__column-resizer::after { width:2px; position:absolute; top:5px; right:3px; bottom:5px; background:#9bb6c9; content:""; opacity:0; transition:opacity .12s; }
.table-sheet__column-resizer:hover::after { opacity:1; }
.table-sheet__row-resizer { height:9px; position:absolute; z-index:12; right:0; bottom:-5px; left:0; cursor:row-resize; touch-action:none; }
.table-sheet__row-resizer::after { height:2px; position:absolute; right:7px; bottom:3px; left:7px; background:#9bb6c9; content:""; opacity:0; transition:opacity .12s; }
.table-sheet__row-resizer:hover::after { opacity:1; }
body.is-resizing-table-column,body.is-resizing-table-column * { cursor:col-resize!important; user-select:none!important; }
body.is-resizing-table-row,body.is-resizing-table-row * { cursor:row-resize!important; user-select:none!important; }
.table-sheet__table td[data-table-cell-wrap] { overflow:hidden; cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%201h6v8h8v6h-8v8H9v-8H1V9h8z'%20fill='white'%20stroke='%2318242f'%20stroke-width='1.5'%20stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,crosshair; transition:outline-color .12s,background .12s; }
.table-sheet__table td[data-table-cell-wrap].is-selected { z-index:5; outline:2px solid rgba(22,117,193,.78); outline-offset:2px; box-shadow:inset 0 0 0 1px rgba(22,117,193,.12); }
.table-sheet__table td[data-table-cell-wrap] [data-table-cell] { width:100%; min-width:0; min-height:40px; padding:8px 10px; display:block; border:0; outline:0; background:transparent; color:inherit; font:inherit; line-height:1.4; text-align:inherit; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%201h6v8h8v6h-8v8H9v-8H1V9h8z'%20fill='white'%20stroke='%2318242f'%20stroke-width='1.5'%20stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,crosshair; user-select:none; }
.table-sheet__table td[data-table-cell-wrap] [data-table-cell]:focus { background:rgba(255,255,255,.34); }
.table-sheet__table td[data-table-cell-wrap] [data-table-cell].is-editing { background:rgba(255,255,255,.72); box-shadow:none; cursor:text; user-select:text; }
.table-sheet__table .table-sheet__row.is-header td { font-weight:900; }
.table-sheet__columns,.table-sheet__row { min-width:max-content; display:grid; gap:4px; align-items:stretch; }
.table-sheet__columns > span,.table-sheet__columns > button { min-height:30px; display:grid; place-items:center; border:0; border-radius:6px; background:#dfeaf2; color:#60788b; font-size:9px; font-weight:800; }
.table-sheet__row { padding:3px; border:2px solid transparent; border-radius:8px; background:#fff; }
.table-sheet__row.is-selected { border-color:#2687d8; box-shadow:0 0 0 2px rgba(38,135,216,.1); }
.table-sheet__row.is-header { box-shadow:inset 4px 0 0 var(--primary); }
.table-sheet__row-handle { width:100%; height:100%; min-height:var(--table-row-height,46px); padding:0; overflow:hidden; border:0; border-radius:5px; background:#e6eef4; color:#526b7e; font-size:11px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.table-sheet__row-handle.is-selected { background:#c9e4f7; color:#0f64a7; box-shadow:inset -3px 0 0 #1675c1; }
.table-sheet__row input { min-width:0; height:42px; padding:0 10px; border:1px solid #cfdae3; border-radius:5px; background:transparent; color:inherit; font:inherit; }
.table-sheet__row input:focus { position:relative; z-index:2; border-color:#1675c1; outline:2px solid #1675c1; background:#fff; }
.table-sheet__row input.is-selected { border-color:#1675c1; box-shadow:inset 0 0 0 1px #1675c1; }
.table-builder__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.table-builder__footer > div { display:flex; align-items:center; gap:10px; }
.table-builder__footer small { color:#7890a2; font-size:9px; }
.table-builder__footer button { background:#fff0f0; color:#b02e2e; }
.table-builder__footer span { color:var(--text-sub); font-size:10px; font-weight:800; }
.table-builder__footer-metrics { justify-content:flex-end; flex-wrap:wrap; }
.table-builder__total-width { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #b9dcf5; border-radius:999px; background:#eaf6ff; color:#0f68ad !important; font-size:10px !important; white-space:nowrap; }
.table-builder__total-width strong { color:#075a9a; font-size:13px; font-weight:950; }
.table-context-menu { width:272px; padding:8px; position:fixed; z-index:5000; display:grid; grid-template-columns:1fr 1fr; gap:5px; border:1px solid #b9cad7; border-radius:10px; background:#fff; box-shadow:0 18px 48px rgba(20,45,66,.25); }
.table-context-menu[hidden] { display:none; }
.table-context-menu hr { height:1px; margin:3px 0; grid-column:1 / -1; border:0; background:#e2eaf0; }
.table-context-menu button { min-height:36px; padding:7px 9px; border:0; border-radius:7px; background:#f3f7fa; color:#294b63; font-size:10px; font-weight:800; text-align:left; }
.table-context-menu button:hover { background:#e4f1fb; color:#0f68ad; }
.table-context-menu button:disabled { opacity:.38; cursor:not-allowed; }
.table-context-menu button[hidden] { display:none; }
.table-context-menu__wide { grid-column:1 / -1; }
.table-context-menu__column-width { grid-column:1 / -1; padding:9px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 8px; border:1px solid #c7dcea; border-radius:8px; background:#f6fbff; }
.table-context-menu__column-width[hidden] { display:none; }
.table-context-menu__column-width label { min-width:0; display:grid; gap:4px; color:#365d78; font-size:9px; font-weight:900; }
.table-context-menu__column-width label > span:last-child { height:34px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; overflow:hidden; border:1px solid #afcadc; border-radius:7px; background:#fff; }
.table-context-menu__column-width input { width:100%; min-width:0; height:32px; padding:0 8px; border:0; outline:0; color:#173f5e; font-size:12px; font-weight:900; }
.table-context-menu__column-width label b { padding-right:8px; color:#71899b; font-size:9px; }
.table-context-menu__column-width button { min-width:76px; align-self:end; background:#1675c1; color:#fff; text-align:center; }
.table-context-menu__column-width button:hover { background:#0f64a7; color:#fff; }
.table-context-menu__column-width small { grid-column:1 / -1; color:#71899b; font-size:8px; line-height:1.4; }
.table-context-menu [data-table-clear-cells] { background:#fff0f0; color:#af3030; }
.table-context-menu .table-context-menu__danger { background:#fff0f0; color:#af3030; }
.faq-admin-row { display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: start; }
.faq-admin-row > div { display: grid; gap: 12px; }
.faq-admin-row label { display: grid; gap: 6px; font-size: 12px; font-weight: 800; }
.faq-admin-row input,.faq-admin-row textarea { padding: 11px; border: 1px solid var(--border); border-radius: 8px; resize: vertical; }

@media (max-width: 900px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { height:auto; position:relative; }
  .admin-sidebar-toggle { top:30px; right:18px; }
  .admin-brand { padding-right:52px; }
  .admin-shell.is-sidebar-collapsed { grid-template-columns:1fr; }
  .admin-shell.is-sidebar-collapsed .admin-sidebar { padding:28px 20px; }
  .admin-shell.is-sidebar-collapsed .admin-brand { justify-content:flex-start; padding:0 52px 0 8px; border-bottom:0; }
  .admin-shell.is-sidebar-collapsed .admin-brand div { display:flex; }
  .admin-shell.is-sidebar-collapsed .admin-nav,.admin-shell.is-sidebar-collapsed .admin-go-site { display:none; }
  .admin-nav { grid-template-columns: repeat(2, 1fr); }
  .admin-go-site { margin-top: 20px; }
  .admin-card-grid { grid-template-columns: 1fr 1fr; }
  .template-admin-layout { grid-template-columns:1fr; }
  .submenu-manager { grid-template-columns:1fr; grid-template-areas:"heading" "slots" "form"; align-items:stretch; }
  .submenu-manager__heading { flex-wrap:wrap; }
  .submenu-create-form { grid-template-columns: 1fr 1fr; }
  .template-slot-list { position:static; }
  .list-heading-field-row { grid-template-columns: minmax(220px,1fr) 160px 110px 74px; }
  .media-image-editor-list:is(.is-gallery-grid,.is-featured-gallery) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-concept-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-design-palette-options,.site-design-custom-palette { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .structured-block-modal.is-table-editor { width:calc(100vw - 16px); min-width:0; min-height:0; resize:none; }
  .table-builder__title-controls { grid-template-columns:76px minmax(120px,1fr) 92px 100px; }
  .table-builder__title-input { grid-column:1 / -1; }
  .table-selection-tools__title { align-items:flex-start; flex-direction:column; }
  .table-selection-tools__history { width:100%; justify-content:flex-start; }
  .table-builder__base { grid-template-columns:1fr; }
  .table-selection-tools__cell { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .notice-image-tools { grid-template-columns:1fr; align-items:stretch; }
  .notice-image-tools__align { display:grid; grid-template-columns:repeat(4,1fr); }
  .media-entry-resize-handle { display: none; }
  .site-width-control { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .admin-login { padding: 16px; }
  .admin-login__card { padding: 30px 22px; }
  .admin-main { padding: 24px 16px; }
  .admin-card-grid { grid-template-columns: 1fr; }
  .notice-admin-card { grid-template-columns: 1fr; }
  .notice-admin-card__actions { justify-content: flex-end; }
  .admin-content-heading { align-items: start; flex-direction: column; }
  .site-design-heading-actions { width:100%; max-width:none; align-items:stretch; flex-direction:column; }
  .site-design-heading-actions > p { max-width:none; text-align:left; }
  .site-design-manager-button { width:100%; min-width:0; }
  .site-design-background-control { grid-template-columns:1fr; }
  .site-design-palette-options,.site-design-custom-palette { grid-template-columns:1fr; }
  .template-slot-list { display:grid; grid-template-columns:1fr; overflow:visible; }
  .template-slot { width:100%; max-width:none; min-width:0; }
  .submenu-quick-form { grid-template-columns:1fr; }
  .submenu-quick-form > div { grid-template-columns:1fr 80px; }
  .admin-shell.is-builder-view .admin-main { padding:16px 10px 28px; }
  .admin-form-row,.admin-form-grid,.schedule-admin-row,.schedule-group-list { grid-template-columns: 1fr; }
  .schedule-group-time-row { grid-template-columns:1fr 1.4fr 32px; }
  .department-add-form,.doctor-admin-grid { grid-template-columns: 1fr; }
  .department-add-form[data-doctor-department-form] { grid-template-columns: 1fr; }
  .content-builder__toolbar { align-items: flex-start; flex-direction: column; }
  .content-builder-floating-actions { height:auto; top:8px; margin-bottom:12px; }
  .content-builder-floating-actions__bar { width:100%; flex-wrap:wrap; }
  .content-builder-resolution { width:100%; min-width:0; grid-template-columns:auto minmax(100px,1fr) auto; }
  .content-builder-floating-actions__bar > #openContentPreview { flex:1; }
  .content-builder-floating-actions__bar > #saveContentPage { flex:1.5; }
  .content-preview-resolution-tools { margin-right:54px; grid-template-columns:1fr; gap:7px; }
  .content-preview-resolution-tools > small { white-space:normal; }
  .content-builder__toolbar { min-height:0; padding-right:0; }
  .page-concept-open-button { width: 100%; min-width: 0; }
  .page-concept-active-notice { align-items: flex-start; flex-direction: column; }
  .page-concept-grid { grid-template-columns: 1fr; }
  .block-picker-grid,.block-picker-grid--layout { grid-template-columns: 1fr 1fr; }
  .section-split { grid-template-columns: 1fr !important; }
  .section-split.mobile-image-first .section-split__image { order: 1; }
  .section-split.mobile-image-first .section-split__text { order: 2; }
  .section-split.mobile-text-first .section-split__text { order: 1; }
  .section-split.mobile-text-first .section-split__image { order: 2; }
  .content-builder-item { grid-template-columns: 1fr; }
  .content-builder-item__actions { flex-wrap: wrap; }
  .media-image-editor-list { grid-template-columns: 1fr; }
  .media-image-editor-list:is(.is-gallery-grid,.is-featured-gallery) { grid-template-columns: 1fr; }
  .media-text-simple-controls { grid-template-columns: 1fr; }
  .media-text-layout-settings__row { grid-template-columns: 1fr; }
  .department-panel__heading { align-items: flex-start; flex-direction: column; }
  .submenu-create-form { grid-template-columns: 1fr; }
  .admin-form-grid__wide { grid-column: auto; }
  .list-layout-controls,.list-heading-field-row { grid-template-columns: 1fr; }
  .list-heading-customization__title { align-items: flex-start; flex-direction: column; }
  .schedule-admin-row button { justify-self: end; }
  .ql-editor img.ql-image-left,.ql-editor img.ql-image-right,.ql-editor img[data-layout="left"],.ql-editor img[data-layout="right"] { width: 100%; margin: 16px 0; float: none; display: block; }
  .content-spacing-fields { grid-template-columns: 1fr; }
  .list-item-alignment-settings { grid-template-columns: 1fr; }
  .list-item-editor__number::before { width: 40px; height: 40px; }
  .free-page-editor__heading { align-items: stretch; flex-direction: column; }
  .free-editor-actions { flex-direction: column; }
}

/* Hospital-only concept previews: calm and immediately recognizable. */
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__preview { background:linear-gradient(135deg,#fffcf9,#f9eee8); }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles { grid-template-columns:repeat(3,1fr); gap:6px; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles b { border:1px solid #e4c9bd; border-radius:10px; background:#fffcf9; box-shadow:none; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__process i { border-radius:50%; background:#c97862; }

.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview { background:linear-gradient(135deg,#fff,#edf6fb); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview::before { display:none; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview::after { width:72px; height:100%; top:0; right:0; border-radius:0; background:#438cc8; opacity:.12; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__tiles b { border:1px solid #c9dde9; border-radius:9px; background:#fff; box-shadow:none; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__process i { border:0; border-radius:50%; background:#438cc8; box-shadow:none; }

.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__preview { outline:0; text-align:left; background:linear-gradient(135deg,#faf8f3,#eee9df); }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__eyebrow { width:38px; height:3px; margin:0; border-radius:999px; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__preview > strong { font-family:Pretendard,"Noto Sans KR",sans-serif; font-size:18px; font-weight:800; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles { grid-template-columns:repeat(3,1fr); gap:6px; background:transparent; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles b { height:28px; border:1px solid #d6cbbc; border-radius:7px; background:#faf8f3; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process { justify-content:flex-start; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process i { border:0; border-radius:50%; background:#9a7b57; color:#fff; }

/* Each global-concept thumbnail mirrors its actual content architecture. */
.page-concept-card[data-page-concept="clean-blue"] .page-concept-card__preview { padding-left:38%; background:linear-gradient(90deg,var(--concept-preview-accent) 0 31%,#fff 31%); }
.page-concept-card[data-page-concept="clean-blue"] .page-concept-card__tiles { gap:0; border:1px solid var(--concept-preview-border); }
.page-concept-card[data-page-concept="clean-blue"] .page-concept-card__tiles b { border:0; border-right:1px solid var(--concept-preview-border); border-radius:0; background:#fff; }
.page-concept-card[data-page-concept="clean-blue"] .page-concept-card__process { gap:0; }
.page-concept-card[data-page-concept="clean-blue"] .page-concept-card__process i { border-radius:0; }

.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__preview { border-radius:54px 12px 54px 12px; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__tiles { grid-template-columns:1fr 1fr; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__tiles b { height:34px; border-radius:24px 8px 24px 8px; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__tiles b:last-child { grid-column:2; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__process { width:70%; margin-left:auto; margin-right:auto; flex-direction:column; align-items:center; }
.page-concept-card[data-page-concept="calm-teal"] .page-concept-card__process i { width:28px; }

.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles { grid-template-columns:1fr; gap:0; border-top:1px solid #91503f; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__tiles b { height:15px; border:0; border-bottom:1px solid #e4c9bd; border-radius:0; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__process { align-items:flex-start; flex-direction:column; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__process i:nth-child(2) { margin-left:20px; }
.page-concept-card[data-page-concept="warm-coral"] .page-concept-card__process i:nth-child(3) { margin-left:40px; }

.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__tiles { gap:8px; }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__tiles b { height:38px; border-radius:30px 30px 8px 8px; }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__process { position:relative; padding-left:15px; flex-direction:column; align-items:flex-start; }
.page-concept-card[data-page-concept="botanical-sage"] .page-concept-card__process::before { content:""; width:1px; position:absolute; top:0; bottom:0; left:5px; background:var(--concept-preview-accent); }

.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__preview { padding-left:34%; background:linear-gradient(90deg,#438cc8 0 28%,#fff 28%); }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__tiles { grid-template-columns:1fr 1fr; gap:4px; padding:5px; border:1px solid #c9dde9; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__tiles b { height:20px; border-radius:3px; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__process { gap:2px; }
.page-concept-card[data-page-concept="aero-silver"] .page-concept-card__process i { border-radius:0; clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%,12% 50%); }

.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles { grid-template-columns:1fr; gap:0; border-top:1px solid #302a25; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__tiles b { height:15px; border:0; border-bottom:1px solid #d6cbbc; border-radius:0; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process { padding-left:12px; position:relative; flex-direction:column; align-items:flex-start; }
.page-concept-card[data-page-concept="quiet-linen"] .page-concept-card__process::before { content:""; width:1px; position:absolute; top:0; bottom:0; left:4px; background:#9a7b57; }

/* 2026 blue medical collection: four layouts, not palette variants. */
.page-concept-card[data-page-concept="midnight-command"] { border-radius:4px; background:#08111e; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__preview { padding:20px 20px 18px 74px; border-bottom-color:#233a58; background-color:#07101c; background-image:linear-gradient(rgba(69,162,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(69,162,255,.08) 1px,transparent 1px),linear-gradient(135deg,#07101c,#10213a); background-size:18px 18px,18px 18px,auto; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__preview::before { content:"MED\A 24:07"; white-space:pre; width:48px; position:absolute; inset:0 auto 0 0; padding:18px 8px; border-right:1px solid #2f7df4; background:#050b14; color:#7eb7ff; font:800 8px/1.5 Consolas,monospace; letter-spacing:.08em; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__preview::after { width:2px; height:auto; inset:0 16px 0 auto; border-radius:0; background:#2f7df4; box-shadow:7px 0 #233a58; opacity:1; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__preview > strong { color:#f4f8ff; font:800 16px/1 Consolas,Pretendard,sans-serif; letter-spacing:-.04em; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__eyebrow { width:24px; height:2px; border-radius:0; box-shadow:30px 0 #233a58; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__tiles { grid-template-columns:1.2fr .8fr .8fr; gap:3px; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__tiles b { height:26px; border-color:#2a486d; border-radius:0; background:rgba(47,125,244,.13); box-shadow:inset 0 2px #2f7df4; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__process i { height:17px; border:1px solid #2f7df4; border-radius:0; background:#0b182a; color:#9bc7ff; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__copy strong { color:#f4f8ff; }
.page-concept-card[data-page-concept="midnight-command"] .page-concept-card__copy small { color:#92a7c2; }

.page-concept-card[data-page-concept="cobalt-modular"] { border-radius:0; border-color:#071426; box-shadow:8px 8px 0 #d9e5ff; }
.page-concept-card[data-page-concept="cobalt-modular"]:hover { box-shadow:11px 11px 0 #b7c9ef; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__preview { padding:18px 18px 18px 42%; border-bottom:3px solid #071426; background:linear-gradient(90deg,#0647e6 0 36%,#071426 36% 40%,#fff 40%); }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__preview::before { content:"+"; position:absolute; top:13px; left:13px; color:#fff; font:300 30px/1 Arial,sans-serif; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__preview::after { width:64px; height:28px; top:auto; right:0; bottom:0; border-radius:0; background:#0647e6; opacity:1; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__eyebrow { width:100%; height:3px; border-radius:0; background:#071426; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__preview > strong { margin-top:10px; font-size:17px; letter-spacing:-.06em; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__tiles { gap:0; border:2px solid #071426; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__tiles b { height:24px; border:0; border-right:2px solid #071426; border-radius:0; background:#edf3ff; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__process { gap:0; }
.page-concept-card[data-page-concept="cobalt-modular"] .page-concept-card__process i { border-radius:0; background:#071426; }

.page-concept-card[data-page-concept="surgical-mono"] { border-radius:0; border:1px solid #090d13; box-shadow:none; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__preview { padding:20px 24px 18px 28%; border-bottom:1px solid #090d13; background:#f8fafc; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__preview::before { content:"01"; position:absolute; top:18px; left:18px; color:#090d13; font:300 44px/.85 Georgia,serif; letter-spacing:-.08em; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__preview::after { width:1px; height:auto; inset:16px auto 16px 24%; border-radius:0; background:#090d13; opacity:1; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__eyebrow { width:100%; height:1px; border-radius:0; background:#123c76; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__preview > strong { margin:12px 0 18px; font-family:Georgia,"Nanum Myeongjo",serif; font-size:19px; font-weight:700; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__tiles { display:block; margin-top:0; border-top:2px solid #090d13; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__tiles b { height:9px; display:block; border:0; border-bottom:1px solid #abb7c6; border-radius:0; background:transparent; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__process { gap:0; border-top:1px solid #090d13; }
.page-concept-card[data-page-concept="surgical-mono"] .page-concept-card__process i { flex:1; border-right:1px solid #f8fafc; border-radius:0; background:#090d13; }

.page-concept-card[data-page-concept="imaging-glass"] { border-radius:22px; background:#07172c; box-shadow:0 18px 44px rgba(7,23,44,.28); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__preview { padding:25px; border-bottom-color:#27527c; background:radial-gradient(circle at 78% 18%,rgba(69,162,255,.42),transparent 32%),radial-gradient(circle at 8% 110%,rgba(29,101,191,.42),transparent 36%),linear-gradient(145deg,#07172c,#102b4c); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__preview::before { content:""; position:absolute; inset:12px; border:1px solid rgba(160,210,255,.28); border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.015)); box-shadow:inset 0 1px rgba(255,255,255,.18),0 18px 34px rgba(0,0,0,.18); backdrop-filter:blur(5px); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__preview::after { width:70px; height:70px; top:-18px; right:-8px; border:1px solid rgba(160,210,255,.45); background:transparent; opacity:1; }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__preview > * { position:relative; z-index:1; }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__preview > strong { color:#eef7ff; text-shadow:0 0 18px rgba(69,162,255,.45); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__eyebrow { height:2px; box-shadow:0 0 12px #45a2ff; }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__tiles { grid-template-columns:1.25fr .75fr .75fr; }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__tiles b { height:30px; border-color:rgba(148,205,255,.35); border-radius:11px; background:rgba(159,210,255,.09); box-shadow:inset 0 1px rgba(255,255,255,.16),0 8px 18px rgba(0,0,0,.16); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__process i { border:1px solid rgba(151,207,255,.45); background:rgba(69,162,255,.18); color:#dff1ff; box-shadow:0 0 14px rgba(69,162,255,.22); }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__copy strong { color:#eef7ff; }
.page-concept-card[data-page-concept="imaging-glass"] .page-concept-card__copy small { color:#9ab5cf; }

.cta-block-modal { width:min(1120px,calc(100vw - 28px)); max-width:none; overflow-x:hidden; }
.cta-block-modal .admin-modal__card { width:100%; min-width:0; padding:26px; overflow:hidden; }
.cta-block-modal form,.cta-block-modal fieldset,.cta-block-modal section,.cta-block-modal div { min-width:0; }
.cta-block-modal [hidden] { display:none !important; }
.cta-block-controls { margin-bottom:18px; }
.cta-detail-design { margin-bottom:18px; padding:15px; display:grid; gap:12px; border:1px solid #d8e5ef; border-radius:14px; background:#f7fafc; }
.cta-detail-design__heading { display:grid; gap:4px; padding:2px 2px 4px; }
.cta-detail-design__heading strong { color:#173b5c; font-size:14px; }
.cta-detail-design__heading span { color:#718397; font-size:10px; }
.cta-design-group { min-width:0; padding:13px; display:grid; gap:12px; border:1px solid #dce7f0; border-radius:12px; background:#fff; }
.cta-design-group__heading { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cta-design-group__heading > div { min-width:0; display:grid; gap:3px; }
.cta-design-group__actions { min-width:max-content; display:flex !important; flex-wrap:wrap; justify-content:flex-end; gap:6px !important; }
.cta-design-group__heading strong { color:#183d5e; font-size:12px; }
.cta-design-group__heading span { color:#75879a; font-size:10px; line-height:1.4; }
.cta-design-group__heading button { min-height:32px; padding:0 10px; flex:0 0 auto; border:1px solid #cbddea; border-radius:8px; background:#f5f9fc; color:#266291; font-size:10px; font-weight:800; }
.cta-design-group__heading button:hover { border-color:#8db8d7; background:#edf6fc; }
.cta-design-group__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cta-design-group label { min-width:0; position:relative; display:grid; gap:6px; }
.cta-design-group label > span { color:#314d64; font-size:11px; font-weight:800; }
.cta-design-group :is(input,select) { width:100%; min-width:0; height:42px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.cta-design-group input[type="color"] { padding:4px; }
.cta-design-group input[type="number"] { padding-right:32px; }
.cta-design-group label > em { position:absolute; right:10px; bottom:13px; color:#8a9bab; font-size:10px; font-style:normal; pointer-events:none; }
.cta-live-preview { max-width:100%; margin-bottom:22px; padding:16px; overflow:hidden; border-radius:16px; background:#edf4fa; }
.cta-live-preview__heading { margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.cta-live-preview__heading strong { color:#173b5c; font-size:13px; }
.cta-live-preview__heading span { color:#6e8193; font-size:11px; }
.cta-live-preview__canvas { width:100%; min-width:0; padding:26px; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(17,56,88,.08); }
.cta-item-editor-heading { margin:20px 0 12px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cta-item-editor-heading > div { display:grid; gap:4px; }
.cta-item-editor-heading strong { color:#173b5c; font-size:15px; }
.cta-item-editor-heading span { color:#728397; font-size:11px; }
.cta-item-editor-heading button { min-height:40px; padding:0 16px; border-radius:10px; background:#0d66b1; color:#fff; font-weight:800; }
.cta-item-editor-list { display:grid; gap:20px; counter-reset:cta-editor-card; }
.cta-item-editor { position:relative; padding:54px 14px 14px; display:block; overflow:hidden; border:2px solid #b8d3e6; border-radius:17px; background:linear-gradient(145deg,#f7fbfe 0%,#ebf4fa 100%); box-shadow:inset 5px 0 #277fbe,0 10px 26px rgba(30,78,114,.09); counter-increment:cta-editor-card; transition:border-color .16s,box-shadow .16s; }
.cta-item-editor:nth-child(even) { border-color:#c5d0e7; background:linear-gradient(145deg,#fafaff 0%,#eff2fb 100%); box-shadow:inset 5px 0 #6477ba,0 10px 26px rgba(44,64,108,.08); }
.cta-item-editor::before { content:"카드 " counter(cta-editor-card,decimal-leading-zero); position:absolute; top:13px; left:16px; padding:6px 10px; border-radius:999px; background:#dceeff; color:#1267a8; font-size:10px; font-weight:900; letter-spacing:.04em; }
.cta-item-editor:focus-within { border-color:#2585cc; box-shadow:inset 5px 0 #1475bc,0 0 0 3px rgba(37,133,204,.12),0 12px 30px rgba(30,78,114,.13); }
.cta-item-editor__fields { min-width:0; display:grid; gap:10px; }
.cta-item-field,.cta-item-image-field,.cta-item-editor__action { min-width:0; padding:13px; display:grid; gap:9px; border:1px solid #c8dbe8; border-radius:12px; background:rgba(255,255,255,.94); box-shadow:0 3px 9px rgba(30,70,102,.045); }
.cta-item-layout-controls { min-width:0; padding:12px; display:grid; gap:9px; border:1px solid #dce7f0; border-radius:12px; background:#f8fbfd; }
.cta-item-layout-controls > strong { color:#173b5c; font-size:12px; }
.cta-item-layout-controls > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cta-item-field > .compact-type-controls { width:100%; grid-template-columns:58px minmax(0,1fr) 82px; }
.cta-item-field .compact-type-controls label:first-child input[type="color"] { min-width:0; height:34px; padding:3px; }
.cta-item-image-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.cta-item-image-actions > button { min-height:40px; padding:0 12px; border-radius:8px; background:#fff0f0; color:#b02e2e; font-size:11px; font-weight:800; }
.cta-item-editor__preview { width:100%; height:180px; display:grid; place-items:center; overflow:hidden; border:1px dashed #c7d9e7; border-radius:12px; background:#edf4f9; color:#71869a; font-size:11px; font-weight:700; text-align:center; }
.cta-item-editor__preview img { width:100%; height:100%; object-fit:scale-down; object-position:center; }
.cta-image-size-control { grid-template-columns:92px minmax(0,1fr) 58px; align-items:center; }
.cta-image-size-control input[type="range"] { height:28px; padding:0; border:0; background:transparent; cursor:pointer; }
.cta-image-size-control output { color:#43627b; font-size:11px; font-weight:800; text-align:right; }
.cta-item-editor label { min-width:0; display:grid; gap:6px; }
.cta-item-editor label > span { color:#273f55; font-size:11px; font-weight:800; }
.cta-item-editor input,.cta-item-editor select,.cta-item-editor textarea { width:100%; min-width:0; padding:10px 11px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text-main); }
.cta-item-editor textarea { resize:vertical; }
.cta-item-editor__action-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.cta-item-editor__action-heading strong { color:#173b5c; font-size:12px; }
.cta-item-editor__action-heading span { color:#728397; font-size:10px; }
.cta-action-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:end; }
.cta-action-fields [data-cta-action-value-field],.cta-action-fields [data-cta-custom-label-field] { grid-column:1 / -1; }
.cta-item-button-style { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:end; }
.cta-item-button-style > .compact-type-controls { width:100%; grid-column:1 / -1; grid-template-columns:58px minmax(0,1fr) 82px; }
.cta-item-delete { min-height:34px; padding:0 12px; position:absolute; top:12px; right:12px; z-index:2; border-radius:8px; background:#fff0f0; color:#b5414d; font-size:12px; font-weight:800; }
.cta-form-error { margin:16px 0 0; padding:12px 14px; border-radius:10px; background:#fff0f1; color:#b42334; font-size:12px; font-weight:800; line-height:1.55; }

@media (max-width:900px) {
  .cta-design-group__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .list-design-group__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .concept-style-strip { grid-template-columns:1fr; align-items:stretch; }
  .compact-button-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compact-button-controls > .compact-type-controls { grid-column:1 / -1; }
}

@media (max-width:760px) {
  .list-item-marker-fields,.cta-item-layout-controls > div { grid-template-columns:1fr; }
  .cta-block-modal { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .cta-block-modal .admin-modal__card { padding:20px; }
  .cta-live-preview__heading { align-items:flex-start; flex-direction:column; }
}

@media (max-width:620px) {
  .cta-live-preview__canvas { padding:14px; }
  .cta-design-group__grid { grid-template-columns:1fr; }
  .list-design-group__grid { grid-template-columns:1fr; }
  .compact-color-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compact-card-controls { grid-template-columns:1fr; }
  .compact-type-controls { width:100%; grid-template-columns:54px minmax(92px,1fr) 78px; }
  .list-item-type-row { grid-template-columns:1fr; }
  .list-item-type-row > b { padding-bottom:0; }
  .compact-button-controls { grid-template-columns:1fr; }
  .compact-button-controls > .compact-type-controls { grid-column:auto; }
}

.block-appearance-modal { width:min(1060px,calc(100vw - 28px)); max-width:none; overflow-x:hidden; }
.block-appearance-modal .admin-modal__card { width:100%; min-width:0; padding:26px; }
.block-appearance-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:22px; align-items:start; }
.block-appearance-fields { min-width:0; }
.block-appearance-fields .admin-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.block-appearance-fields input,.block-appearance-fields select { width:100%; min-width:0; height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.block-appearance-fields input[type="color"] { padding:4px; cursor:pointer; }
.block-appearance-fields input:disabled { opacity:.42; cursor:not-allowed; }
.block-appearance-toggle { align-content:start; }
.block-appearance-toggle input { width:1px; height:1px; position:absolute; opacity:0; }
.block-appearance-toggle b { min-height:44px; padding:0 13px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:8px; background:#f3f7fa; color:var(--text-sub); font-size:12px; cursor:pointer; }
.block-appearance-toggle input:checked + b { border-color:var(--primary); background:var(--primary-soft); color:var(--primary); }
.block-appearance-padding { margin-top:18px; padding:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; border:1px solid var(--border); border-radius:12px; }
.block-appearance-padding legend { padding:0 7px; color:var(--text-main); font-size:12px; font-weight:900; }
.block-appearance-padding label { min-width:0; display:grid; gap:6px; }
.block-appearance-padding label span { color:var(--text-sub); font-size:11px; font-weight:800; }
.block-appearance-preview { min-width:0; padding:16px; border-radius:14px; background:#edf4fa; }
.block-appearance-preview > div:first-child { margin-bottom:11px; display:grid; gap:3px; }
.block-appearance-preview strong { color:#173b5c; font-size:13px; }
.block-appearance-preview span { color:#6e8193; font-size:11px; }
.block-appearance-preview__stage { min-height:330px; padding:22px; display:flex; align-items:center; overflow:hidden; border-radius:11px; background-color:#fff; background-image:linear-gradient(45deg,#f3f6f9 25%,transparent 25%),linear-gradient(-45deg,#f3f6f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f3f6f9 75%),linear-gradient(-45deg,transparent 75%,#f3f6f9 75%); background-position:0 0,0 8px,8px -8px,-8px 0; background-size:16px 16px; }
.block-appearance-preview__stage > div { min-width:25%; box-sizing:border-box; transition:width .2s ease,margin .2s ease,padding .2s ease,border .2s ease,background-color .2s ease; }
.block-appearance-preview__stage small { color:var(--primary); font-size:9px; font-weight:900; letter-spacing:.14em; }
.block-appearance-preview__stage h4 { margin:8px 0 0; color:#173b5c; font-size:21px; }
.block-appearance-preview__stage p { margin:8px 0 0; color:#6e8193; font-size:12px; line-height:1.65; }
.block-appearance-actions { grid-template-columns:110px 110px minmax(0,1fr); }

.inline-block-design { margin:0 0 20px; overflow:hidden; border:1px solid #c9dce9; border-radius:14px; background:#f7fafc; }
.inline-block-content-settings { margin:0 0 12px; padding:14px; border:1px solid #dbe7ef; border-radius:11px; background:#fff; }
.inline-block-content-settings h5 { margin:0 0 11px; color:#173b5c; font-size:12px; }
.inline-block-design > summary { min-height:62px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:#edf5fa; cursor:pointer; list-style:none; }
.inline-block-design > summary::-webkit-details-marker { display:none; }
.inline-block-design > summary span { display:grid; gap:3px; }
.inline-block-design > summary strong { color:#173b5c; font-size:14px; }
.inline-block-design > summary small { color:#6d8294; font-size:10px; }
.inline-block-design > summary > b { padding:6px 9px; border-radius:999px; background:#fff; color:var(--primary); font-size:10px; }
.inline-block-design[open] > summary > b { font-size:0; }
.inline-block-design[open] > summary > b::after { content:"접기"; font-size:10px; }
.inline-block-design__body { padding:16px; display:grid; gap:16px; }
.inline-block-design__body > section { padding:14px; border:1px solid #dbe7ef; border-radius:11px; background:#fff; }
.inline-block-design__body h5 { margin:0 0 11px; color:#173b5c; font-size:12px; }
.inline-block-design__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.inline-block-design label { min-width:0; display:grid; gap:6px; color:#314d64; font-size:11px; font-weight:800; }
.inline-block-design :is(input,select) { width:100%; min-width:0; height:42px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text-main); }
.inline-block-design input[type="color"] { padding:4px; cursor:pointer; }
.inline-design-toggle input { width:1px; height:1px; position:absolute; opacity:0; }
.inline-design-toggle > b { min-height:42px; padding:0 10px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:8px; background:#f3f6f8; color:var(--text-sub); cursor:pointer; }
.inline-design-toggle input:checked + b { border-color:var(--primary); background:var(--primary-soft); color:var(--primary); }
.inline-design-toggle--wide { grid-column:span 2; }
.inline-gradient-toggle { align-self:end; }
.inline-gradient-settings { grid-column:1 / -1; padding:11px; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; border:1px solid #c9ddec; border-radius:9px; background:#fff; }
.inline-gradient-settings[hidden] { display:none !important; }
.inline-background-mode-settings__heading { margin-bottom:12px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.inline-background-mode-settings__heading h5 { margin:0; }
.inline-background-mode-settings__heading > span > small { margin-top:5px; display:block; color:#6f8394; font-size:10px; line-height:1.45; }
.inline-background-settings-group { display:grid; gap:12px; }
.inline-background-mode-settings { padding-bottom:13px; border-bottom:1px solid #dbe7ef; }
.inline-background-settings-child { margin-left:0; padding:13px; position:relative; border:1px solid #dbe7ef; border-radius:10px; background:#f8fbfd; }
.inline-background-settings-child::before { display:none; }
.inline-background-settings-child > h5 { margin-bottom:12px; display:flex; align-items:center; gap:7px; }
.inline-background-settings-child > h5 small { padding:3px 6px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:8px; font-weight:900; }
.inline-background-settings-child > h5 .inline-background-image-toggle { margin-left:auto; }
.inline-background-settings-child > h5 .inline-background-image-toggle b { min-width:92px; }
.inline-background-width-toggle { width:min(190px,48%); }
.inline-background-image-settings__body { display:grid; grid-template-columns:minmax(150px,.42fr) minmax(0,1fr); gap:12px; }
.inline-background-image-list { margin-bottom:12px; display:grid; grid-template-columns:repeat(auto-fill,minmax(116px,1fr)); gap:8px; }
.inline-background-image-list__empty { margin:0; padding:13px; grid-column:1 / -1; border:1px dashed #c5d7e5; border-radius:9px; color:#7b8f9f; text-align:center; font-size:10px; font-weight:800; }
.inline-background-image-list__item { min-width:0; padding:5px; display:grid; gap:5px; border:1px solid #cfdeea; border-radius:10px; background:#fff; }
.inline-background-image-list__item.is-active { border-color:var(--primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent); }
.inline-background-image-list__item > button { min-width:0; padding:0; display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; gap:1px 7px; align-items:center; border:0; background:transparent; color:#21394d; text-align:left; cursor:pointer; }
.inline-background-image-list__item > button > span { width:38px; height:38px; grid-row:1 / 3; border-radius:7px; background:#edf3f7 center / cover no-repeat; }
.inline-background-image-list__item > button b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.inline-background-image-list__item > button small { color:#7890a2; font-size:8px; }
.inline-background-image-list__item > div { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:3px; }
.inline-background-image-list__item > div button { min-height:25px; padding:0 4px; border:1px solid #d5e2eb; border-radius:6px; background:#f7fafc; color:#527086; font-size:8px; font-weight:900; cursor:pointer; }
.inline-background-image-list__item > div button:last-child { color:#bd2d2d; }
.inline-background-image-list__item > div button:disabled { opacity:.35; cursor:not-allowed; }
.inline-background-image-preview { min-height:126px; display:grid; place-items:center; overflow:hidden; border:1px dashed #b9ccdb; border-radius:10px; background-color:#f3f7fa; background-repeat:no-repeat; background-position:center; background-size:contain; color:#8094a5; font-size:10px; font-weight:800; }
.inline-background-image-preview.has-image { border-style:solid; }
.inline-background-image-actions { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-content:start; }
.inline-background-image-file { min-width:0; }
.inline-background-image-file > span,.inline-background-image-actions > button { min-height:42px; padding:0 12px; display:flex; align-items:center; justify-content:center; border:1px solid #b9d3e7; border-radius:8px; background:#eef6fd; color:#1468b8; font-size:11px; font-weight:900; cursor:pointer; }
.inline-background-image-file input { width:1px !important; height:1px !important; position:absolute; opacity:0; }
.inline-background-image-actions > button { border-color:#f1caca; background:#fff4f4; color:#bd2d2d; }
.inline-background-image-actions > button:disabled { opacity:.42; cursor:not-allowed; }
.inline-background-image-actions small { grid-column:1 / -1; color:#718697; font-size:10px; line-height:1.5; }
.inline-background-image-settings .inline-block-design__grid { margin-top:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.inline-background-scale-editor { margin-top:12px; padding:12px; display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:end; gap:10px; border:1px solid #c9ddec; border-radius:9px; background:#fff; }
.inline-background-scale-editor label > span:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.inline-background-scale-editor output { color:#1468b8; font-size:11px; font-weight:900; }
.inline-background-scale-editor input[type="range"] { padding:0; accent-color:#1468b8; }
.inline-background-scale-editor > small { grid-column:1 / -1; color:#718697; font-size:9px; line-height:1.5; }
.inline-background-scale-editor.is-disabled { opacity:.52; }
.inline-block-design [data-frame-control].is-disabled { position:relative; opacity:.46; cursor:not-allowed; }
.inline-block-design [data-frame-control].is-disabled :is(input,select) { pointer-events:none; }
.inline-block-design .frame-control-disabled-hitarea { display:none; }
.inline-block-design [data-frame-control].is-disabled .frame-control-disabled-hitarea { display:block; position:absolute; z-index:3; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:8px; background:transparent; cursor:not-allowed; }
.inline-block-design [data-frame-control].is-disabled > span::after { color:#8a9aa7; font-size:8px; font-weight:700; }
.inline-block-design [data-frame-control].is-disabled[data-disabled-reason="full-bleed"] > span::after { content:" · 화면 끝까지 확장 중"; }
.inline-block-design [data-frame-control].is-disabled[data-disabled-reason="frame-style-none"] > span::after { content:" · 영역 테두리 선택 필요"; }
.inline-background-position-guide { margin-top:10px; padding:10px 11px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; border:1px solid #c9ddec; border-radius:9px; background:#fff; }
.inline-background-position-guide > span { min-width:0; display:grid; gap:2px; }
.inline-background-position-guide strong { color:#244d6d; font-size:10px; }
.inline-background-position-guide small { color:#718697; font-size:9px; line-height:1.4; }
.inline-background-position-guide output { color:var(--primary); font-size:10px; font-weight:900; white-space:nowrap; }
.inline-background-position-guide button { min-height:34px; padding:0 10px; border:1px solid #b9d3e7; border-radius:7px; background:#eef6fd; color:#1468b8; font-size:9px; font-weight:900; }
.content-builder-item__actual > .content-layout-item.has-background-position-editor { position:relative; }
.block-background-position-zone { display:none; }
.content-builder-item.is-inspector-editing .block-background-position-zone { position:absolute; z-index:14; inset:0; display:block; overflow:visible; border:2px dashed rgba(20,104,184,.72); border-radius:inherit; background:rgba(20,104,184,.045); cursor:grab; touch-action:none; user-select:none; }
.content-builder-item.is-inspector-editing .content-layout-item.is-background-full-bleed > .block-background-position-zone { width:100vw; right:auto; left:50%; transform:translateX(-50%); }
.content-builder__canvas.is-device-preview .content-builder-item.is-inspector-editing .content-layout-item.is-background-full-bleed > .block-background-position-zone { width:100%; right:0; left:0; transform:none; }
.content-builder__canvas.is-device-preview.is-wide-full-bleed-preview .content-builder-item.is-inspector-editing .content-layout-item.is-background-full-bleed > .block-background-position-zone { width:var(--builder-full-bleed-width,100%); right:auto; left:50%; transform:translateX(-50%); }
.block-background-position-zone > [data-background-size-probe] { width:1px; height:1px; position:absolute; opacity:0; pointer-events:none; }
.block-background-position-zone__hint,.block-background-position-zone output { position:absolute; z-index:2; padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.94); color:#1468b8; box-shadow:0 2px 10px rgba(15,74,128,.15); font-size:9px; font-style:normal; font-weight:900; line-height:1; pointer-events:none; }
.block-background-position-zone__hint { top:9px; left:9px; }
.block-background-position-zone output { right:9px; bottom:9px; }
.block-background-image-frame { display:none; position:absolute; z-index:3; top:var(--background-frame-top,0); left:var(--background-frame-left,0); width:var(--background-frame-width,0); height:var(--background-frame-height,0); border:2px solid #1688e5; border-radius:4px; box-shadow:0 0 0 1px rgba(255,255,255,.72),0 0 0 4px rgba(22,136,229,.1); pointer-events:none; }
.block-background-image-frame.is-ready { display:block; }
.block-background-size-handle { width:14px; height:72px; padding:0; position:absolute; z-index:24; top:50%; right:-8px; display:grid; place-items:center; border:1px solid #8ebbe1; border-radius:999px; background:rgba(255,255,255,.98); color:#1468b8; box-shadow:0 2px 10px rgba(15,74,128,.2); cursor:ew-resize; transform:translateY(-50%); touch-action:none; pointer-events:auto; }
.block-background-size-handle::before { content:""; width:2px; height:38px; border-radius:999px; background:#1468b8; opacity:.76; }
.block-background-size-handle span { position:absolute; top:-23px; left:50%; padding:4px 7px; border-radius:6px; background:#1468b8; color:#fff; font-size:9px; font-weight:900; line-height:1; white-space:nowrap; transform:translateX(-50%); pointer-events:none; }
.is-background-position-dragging,.is-background-position-dragging * { cursor:grabbing !important; user-select:none !important; }
.is-background-size-resizing,.is-background-size-resizing * { cursor:ew-resize !important; user-select:none !important; }
.inline-design-number { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; overflow:hidden; border:1px solid var(--border); border-radius:8px; background:#fff; }
.inline-design-number input { height:40px; border:0; border-radius:0; }
.inline-design-number b { color:var(--text-sub); font-size:10px; text-align:center; }
.inline-block-design__padding { margin-top:10px; display:grid; grid-template-columns:90px repeat(4,minmax(0,1fr)); gap:8px; align-items:end; }
.inline-block-design__spacing { display:grid; gap:12px; }
.inline-block-design__spacing .inline-block-design__padding { margin-top:0; }
.inline-block-design__padding.is-external { grid-template-columns:90px repeat(2,minmax(0,1fr)); }
.inline-block-design__padding.is-internal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.inline-block-design__padding.is-internal > span { grid-column:1 / -1; }
.inline-block-design__padding > span { align-self:center; color:#314d64; font-size:11px; font-weight:900; }
.inline-block-design__padding label { text-align:center; }
.inline-block-design__padding input { text-align:center; }
.inline-block-design__reset { min-height:40px; justify-self:start; padding:0 14px; border:1px solid #c9dce9; border-radius:8px; background:#fff; color:#315b7c; font-size:11px; font-weight:900; }

@media (max-width:800px) {
  .block-appearance-layout { grid-template-columns:1fr; }
  .block-appearance-preview__stage { min-height:260px; }
  .inline-block-design__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inline-background-image-settings__body { grid-template-columns:1fr; }
  .list-item-global-design { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .list-item-global-design > div { grid-column:1 / -1; }
}

@media (max-width:620px) {
  .block-appearance-modal { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .block-appearance-modal .admin-modal__card { padding:19px; }
  .block-appearance-fields .admin-form-grid { grid-template-columns:1fr 1fr; }
  .block-appearance-padding { grid-template-columns:1fr 1fr; }
  .block-appearance-actions { grid-template-columns:1fr; }
  .inline-block-design__grid { grid-template-columns:1fr; }
  .inline-background-mode-settings__heading { align-items:stretch; flex-direction:column; }
  .inline-background-width-toggle { width:100%; }
  .inline-background-mode-options { grid-template-columns:1fr; }
  .inline-background-settings-child { margin-left:0; }
  .inline-background-position-guide { grid-template-columns:1fr auto; }
  .inline-background-scale-editor { grid-template-columns:1fr 96px; }
  .inline-background-position-guide output { grid-row:2; grid-column:1; }
  .inline-background-position-guide button { grid-row:1 / span 2; grid-column:2; }
  .inline-block-design__padding { grid-template-columns:1fr 1fr; }
  .inline-block-design__padding > span { grid-column:1 / -1; }
  .list-item-global-design { grid-template-columns:1fr; }
}

/* 콘텐츠 편집은 본문을 가리지 않는 우측 플로팅 인스펙터로 사용한다. */
.content-inspector-modal {
  width:min(520px,calc(100vw - 28px));
  max-width:none;
  max-height:calc(100dvh - 28px);
  margin:0;
  padding:0;
  position:fixed;
  inset:14px 14px auto auto;
  z-index:1200;
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid #d7e1e9;
  border-radius:15px;
  background:#fff;
  box-shadow:0 24px 72px rgba(15,35,52,.24);
  overscroll-behavior:contain;
  overflow-anchor:none;
  scrollbar-gutter:stable;
}
.content-inspector-modal::backdrop { display:none; background:transparent; backdrop-filter:none; }
.content-inspector-modal .admin-modal__card {
  width:100%;
  min-width:0;
  padding:0 16px 18px;
  overflow:visible;
}
.content-inspector-modal .admin-modal__header {
  min-height:68px;
  margin:0 -16px 16px;
  padding:14px 16px;
  position:sticky;
  top:0;
  z-index:12;
  border-bottom:1px solid #e4ebf0;
  background:rgba(255,255,255,.96);
  box-shadow:0 6px 18px rgba(20,47,69,.05);
  backdrop-filter:blur(12px);
}
.content-inspector-modal .admin-modal__header h3 { font-size:19px; }
.content-inspector-modal .admin-modal__header small { font-size:9px; }
.content-inspector-modal .admin-modal__header > button { width:36px; height:36px; display:grid; place-items:center; font-size:24px; }
.content-inspector-modal .admin-modal__actions {
  margin:18px -16px -18px;
  padding:12px 16px;
  position:sticky;
  bottom:0;
  z-index:12;
  grid-template-columns:104px minmax(0,1fr);
  border-top:1px solid #e4ebf0;
  background:rgba(255,255,255,.97);
  box-shadow:0 -8px 22px rgba(20,47,69,.06);
  backdrop-filter:blur(12px);
}
.content-inspector-modal :is(.block-design-live-preview,.list-design-live-preview,.cta-live-preview,.divider-editor-preview) { display:none !important; }
.content-inspector-modal :is(.admin-form-grid,.list-heading-field-row,.list-layout-controls,.schedule-design-controls) { grid-template-columns:1fr !important; }
.content-inspector-modal .schedule-group-editor { padding:12px; }
.content-inspector-modal .schedule-group-time-row { grid-template-columns:minmax(72px,.8fr) minmax(0,1.2fr) 30px; }
.content-inspector-modal .schedule-group-time-row button { width:30px; }
.content-inspector-modal .inline-block-design { margin-bottom:14px; }
.content-inspector-modal .inline-block-design > summary { min-height:54px; padding:11px 13px; }
.content-inspector-modal .inline-block-design__body { padding:11px; gap:11px; }
.content-inspector-modal .inline-block-design__body > section { padding:11px; }
.content-inspector-modal .inline-block-design__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-inspector-modal .inline-block-design__padding { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-inspector-modal .inline-block-design__padding > span { grid-column:1 / -1; }
.content-inspector-modal .unified-concept-editor-notice { margin:0 0 13px; padding:11px 12px; }
.content-inspector-modal .block-concept-mode { grid-template-columns:1fr; }
.content-inspector-modal .cta-detail-design { padding:11px; }
.content-inspector-modal .cta-design-group { padding:11px; }
.content-inspector-modal .cta-design-group__grid { grid-template-columns:1fr 1fr; }
.content-inspector-modal .cta-item-editor { padding:46px 12px 12px; display:block; }
.content-inspector-modal .cta-item-editor__fields { min-width:0; }
.content-inspector-modal .cta-item-editor__preview { height:160px; }
.content-inspector-modal .cta-item-editor-heading { align-items:flex-start; }
.content-inspector-modal .cta-item-editor-heading button { min-height:36px; padding:0 11px; }
.content-inspector-modal .list-item-global-design { padding:11px; }
.content-inspector-modal .list-global-design-intro { align-items:flex-start; }
.content-inspector-modal .list-design-group { padding:11px; }
.content-inspector-modal .list-design-group__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-inspector-modal .concept-style-strip { grid-template-columns:1fr; }
.content-inspector-modal .compact-color-controls { grid-template-columns:repeat(4,minmax(48px,1fr)); }
.content-inspector-modal .compact-card-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-inspector-modal .compact-type-controls { width:100%; grid-template-columns:58px minmax(100px,1fr) 82px; }
.content-inspector-modal .list-item-global-design .compact-type-controls { grid-template-columns:52px minmax(0,116px) 74px; justify-content:start; }
.content-inspector-modal .list-item-type-row { grid-template-columns:52px minmax(0,1fr); }
.content-inspector-modal .list-item-editor { padding:12px; grid-template-columns:40px minmax(0,1fr); gap:9px; }
.content-inspector-modal .list-item-editor__number::before { width:36px; height:36px; font-size:10px; }
.content-inspector-modal .list-item-marker-fields { grid-template-columns:1fr; }
.content-inspector-modal .list-item-editor > button { width:36px; top:55px; left:12px; }
.content-inspector-modal .list-item-edit-field { padding:8px; }
.content-inspector-modal .list-item-edit-field__heading { gap:7px; }
.content-inspector-modal .list-item-edit-field__heading .compact-type-controls--item { grid-template-columns:50px minmax(0,108px) 90px; justify-content:end; }
.content-inspector-modal .step-icon-style-controls { grid-template-columns:82px 54px 104px; }
.content-inspector-modal .compact-button-controls { grid-template-columns:1fr 64px; }
.content-inspector-modal .compact-button-controls > .compact-type-controls { grid-column:1 / -1; }
.content-inspector-modal .content-spacing-fields { grid-template-columns:1fr 1fr; }
.content-inspector-modal .media-image-editor-row { min-width:0; }
.content-inspector-modal .media-image-editor-row__heading { align-items:flex-start; flex-direction:column; }
.content-inspector-modal .media-image-editor-row__heading > div { width:100%; display:flex; flex-wrap:wrap; }
.content-inspector-modal .ql-toolbar { display:flex; flex-wrap:wrap; }
.content-inspector-modal .ql-editor { min-height:220px; }
.content-builder-item--actual.is-inspector-editing {
  z-index:4;
  outline:2px solid rgba(20,104,184,.5);
  outline-offset:-2px;
  box-shadow:0 0 0 5px rgba(20,104,184,.08);
}
.content-builder-item--actual.is-inspector-editing .content-builder-item__actions { display:none; }
.content-builder-item--actual.is-inspector-editing .content-builder-item__badge,
.content-builder-item--actual.is-inspector-editing .content-builder-item__layout-badge { opacity:.42; }

@media (max-width:720px) {
  .content-inspector-modal {
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    inset:8px 8px auto auto;
    border-radius:12px;
  }
  .content-inspector-modal .cta-design-group__grid,
  .content-inspector-modal .inline-block-design__grid,
  .content-inspector-modal .list-design-group__grid { grid-template-columns:1fr; }
  .content-inspector-modal .cta-item-editor { display:block; }
  .code-block-modal.content-inspector-modal { width:calc(100vw - 16px); }
  .code-editor-grid { grid-template-columns:1fr; }
  .code-editor-field--html { grid-column:auto; }
  .code-admin-note > span { align-items:flex-start; flex-direction:column; gap:3px; }
  .code-editor-options { align-items:stretch; }
  .code-editor-options > button { width:100%; }
}

.doctor-design-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.doctor-design-options label { min-width:0; cursor:pointer; }
.doctor-design-options input { position:absolute; opacity:0; pointer-events:none; }
.doctor-design-options label > span { min-height:58px; padding:9px 11px; display:grid; align-content:center; gap:2px; border:1px solid #d3e1eb; border-radius:10px; background:#fff; color:#5d7284; }
.doctor-design-options label > span b { font-size:12px; }
.doctor-design-options label > span small { overflow:hidden; color:#8092a0; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.doctor-design-options input:checked + span { border-color:var(--primary); background:var(--primary-soft); color:var(--primary); box-shadow:inset 0 0 0 1px var(--primary); }
.doctor-design-options input:checked + span small { color:color-mix(in srgb,var(--primary) 72%,#5d7284); }

/* 의료진 주간표형: 좁은 인스펙터에서는 설정만 두고, 의사별 입력은 별도 모달에서 처리합니다. */
.doctor-schedule-global-settings { padding:13px; display:grid; gap:11px; border:1px solid #cfe0ed; border-radius:12px; background:#fff; }
.doctor-schedule-global-settings[hidden] { display:none !important; }
.doctor-schedule-global-settings > div:first-child { display:grid; gap:2px; }
.doctor-schedule-global-settings > div:first-child strong { font-size:12px; }
.doctor-schedule-global-settings > div:first-child span { color:var(--text-sub); font-size:9px; }
.doctor-schedule-split-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.doctor-schedule-split-options label,.doctor-schedule-day-options label { min-width:0; cursor:pointer; }
.doctor-schedule-split-options input,.doctor-schedule-day-options input { position:absolute; opacity:0; pointer-events:none; }
.doctor-schedule-split-options label > span,.doctor-schedule-day-options label > span { min-height:38px; padding:0 9px; display:grid; place-items:center; border:1px solid #d4e1ea; border-radius:8px; background:#f8fbfd; color:#607487; font-size:10px; font-weight:800; }
.doctor-schedule-split-options input:checked + span,.doctor-schedule-day-options input:checked + span { border-color:var(--primary); background:var(--primary); color:#fff; box-shadow:0 6px 16px rgba(20,104,184,.16); }
.doctor-schedule-day-options { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.doctor-schedule-day-options label > span { min-height:34px; padding:0; }
.doctor-roster-card__actions .doctor-schedule-edit-button { min-width:66px; background:#e8f4ff; color:#075f9f; white-space:nowrap; }
.doctor-specialty-field { min-width:0; display:grid; gap:5px; }
.doctor-specialty-field > span { display:flex; align-items:center; justify-content:space-between; color:#3e5668; font-size:10px; font-weight:800; }
.doctor-specialty-field > span small { color:#8a9aa6; font-size:9px; font-weight:500; }
.doctor-specialty-field textarea { width:100%; min-width:0; min-height:82px; padding:10px 11px; resize:vertical; border:1px solid #d5e1ea; border-radius:8px; background:#fff; line-height:1.6; }

.doctor-weekly-schedule-modal { width:min(1040px,calc(100vw - 28px)); }
.doctor-weekly-schedule-modal .admin-modal__card { width:100%; padding:24px; }
.doctor-weekly-schedule-guide { margin-top:14px; padding:13px 15px; border-radius:10px; background:#edf6fd; }
.doctor-weekly-schedule-guide strong { color:#174d77; font-size:12px; }
.doctor-weekly-schedule-guide p { margin-top:3px; color:#60778a; font-size:10px; line-height:1.55; }
.doctor-weekly-schedule-controls { margin-top:14px; display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:12px; }
.doctor-weekly-schedule-controls > div { min-width:0; padding:12px; display:grid; gap:8px; border:1px solid #dbe6ee; border-radius:10px; background:#fff; }
.doctor-weekly-schedule-controls > div > strong { font-size:11px; }
.doctor-weekly-schedule-table-scroll { margin-top:14px; overflow:auto; border:1px solid #cfdae4; border-radius:12px; background:#fff; }
.doctor-weekly-schedule-table { width:100%; min-width:760px; border-collapse:collapse; table-layout:fixed; }
.doctor-weekly-schedule-table th,.doctor-weekly-schedule-table td { height:78px; padding:8px; border-right:1px solid #dce5ec; border-bottom:1px solid #dce5ec; text-align:center; }
.doctor-weekly-schedule-table tr:last-child > * { border-bottom:0; }
.doctor-weekly-schedule-table tr > *:last-child { border-right:0; }
.doctor-weekly-schedule-table thead th { height:48px; background:#f2f7fb; color:#405c72; font-size:11px; }
.doctor-weekly-schedule-table tbody th { width:82px; background:#f8fafc; color:#536a7e; font-size:11px; }
.doctor-weekly-schedule-table td select,.doctor-weekly-schedule-table td input { width:100%; min-width:0; height:34px; padding:0 7px; border:1px solid #cedbe5; border-radius:7px; background:#fff; font-size:10px; }
.doctor-weekly-schedule-table td input { margin-top:5px; }
.doctor-weekly-schedule-table td input[hidden] { display:none; }

@media (max-width:760px) {
  .doctor-design-options { grid-template-columns:1fr; }
  .doctor-schedule-day-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .doctor-weekly-schedule-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .doctor-weekly-schedule-modal .admin-modal__card { padding:17px; }
  .doctor-weekly-schedule-controls { grid-template-columns:1fr; }
  .doctor-roster-card { grid-template-columns:58px minmax(0,1fr); }
  .doctor-roster-card__actions { grid-column:1 / -1; grid-template-columns:1fr auto auto; }
}

/* Content clipboard controls share the sticky inspector heading. */
.content-inspector-modal .admin-modal__header { flex-wrap:wrap; }
.content-inspector-copy-tools { flex:0 0 100%; display:flex; align-items:center; gap:10px; min-width:0; }
.content-inspector-copy-tools button { flex-shrink:0; min-height:34px; padding:7px 12px; border:1px solid #bfd6ed; border-radius:7px; color:#145a99; background:#eef6ff; font-size:12px; font-weight:700; cursor:pointer; }
.content-inspector-copy-tools button:hover { background:#deedff; }
.content-inspector-copy-tools button:disabled { opacity:.55; cursor:wait; }
.content-inspector-copy-tools [role="status"] { color:#176e43; font-size:11px; overflow-wrap:anywhere; }
.block-picker-clipboard { display:flex; align-items:center; gap:14px; margin-top:18px; padding:14px; border:1px solid #cbddee; border-radius:10px; background:#f5f9ff; }
.block-picker-clipboard button { flex-shrink:0; min-height:38px; }
.block-picker-clipboard button:disabled { opacity:.45; cursor:not-allowed; }
.block-picker-clipboard span { color:var(--text-sub); font-size:12px; line-height:1.5; }

.content-inspector-modal[open] { z-index:1400; }


/* 표 편집기의 적용 버튼은 스크롤되는 셀과 겹치지 않는 별도 행에 둔다. */
.structured-block-modal.content-inspector-modal.is-table-editor {
  height:min(900px,calc(100dvh - 28px));
  min-height:min(440px,calc(100dvh - 28px));
  max-height:calc(100dvh - 28px);
  overflow:hidden;
  scrollbar-gutter:auto;
}
.structured-block-modal.content-inspector-modal.is-table-editor.is-table-maximized {
  inset:8px 8px auto auto;
  height:calc(100dvh - 16px);
  min-height:0;
  max-height:calc(100dvh - 16px);
}
.structured-block-modal.content-inspector-modal.is-table-editor > .admin-modal__card {
  height:100%;
  min-height:0;
  padding:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;
}
.structured-block-modal.content-inspector-modal.is-table-editor .admin-modal__header {
  grid-row:1;
  position:relative;
  margin:0;
}
.structured-block-modal.content-inspector-modal.is-table-editor .inline-block-design {
  grid-row:2;
  min-height:0;
  max-height:min(28dvh,240px);
  margin:12px 16px 0;
  overflow:auto;
}
.structured-block-modal.content-inspector-modal.is-table-editor #structuredBlockFields {
  grid-row:3;
  min-width:0;
  min-height:0;
  margin:0;
  padding:16px 16px 24px;
  scroll-padding:44px 12px 28px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.structured-block-modal.content-inspector-modal.is-table-editor .table-builder {
  min-height:0;
  display:grid;
  gap:12px;
}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools {
  position:relative;
  top:auto;
}
.structured-block-modal.content-inspector-modal.is-table-editor .table-sheet-scroll {
  min-width:max-content;
  max-width:none;
  max-height:none;
  overflow:visible;
  scrollbar-gutter:auto;
}
.structured-block-modal.content-inspector-modal.is-table-editor .table-sheet {
  padding-bottom:28px;
}
.structured-block-modal.content-inspector-modal.is-table-editor .admin-modal__actions {
  grid-row:4;
  position:relative;
  bottom:auto;
  margin:0;
  padding:12px 16px max(12px,env(safe-area-inset-bottom));
}

.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools__cell {
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
}

/* Keep all page drafts stable while one atomic save publishes them. */
#adminShell.is-content-saving { cursor:progress; }
#adminShell.is-content-saving :is(button,input,select,textarea,[contenteditable="true"]) { pointer-events:none !important; }
/* 유튜브 주소 입력 콘텐츠 */
.youtube-block-modal.content-inspector-modal { width:min(760px,calc(100vw - 28px)); }
.youtube-editor-fields { display:grid; gap:14px; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--bg-soft); }
.youtube-editor-fields label { display:grid; gap:7px; color:var(--text-main); font-size:12px; font-weight:800; }
.youtube-editor-fields input,.youtube-editor-fields textarea { width:100%; border:1px solid var(--border); border-radius:9px; background:#fff; color:var(--text-main); }
.youtube-editor-fields small { color:var(--text-sub); font-size:11px; font-weight:500; }
.youtube-editor-preview { margin-top:16px; padding:14px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.youtube-editor-preview > strong { display:block; margin-bottom:10px; color:var(--text-main); font-size:12px; }
.youtube-editor-preview .youtube-content__heading h2 { font-size:22px; }
.youtube-editor-preview .youtube-content__heading p { font-size:13px; }
@media (max-width:700px) { .youtube-editor-fields,.youtube-editor-preview { padding:12px; } }

/* 메인 유튜브 설정 */
.home-youtube-admin-layout { display:grid; grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr); gap:24px; align-items:start; }
.home-youtube-admin-card { padding:26px; border:1px solid var(--border); border-radius:16px; background:#fff; box-shadow:var(--shadow-soft); }
.home-youtube-admin-card h3 { font-size:20px; }
.home-youtube-admin-card > p { margin-top:6px; color:var(--text-sub); font-size:13px; }
.home-youtube-admin-form { margin-top:22px; display:grid; gap:16px; }
.home-youtube-admin-form > label:not(.home-youtube-admin-toggle) { display:grid; gap:7px; }
.home-youtube-admin-form > label > span { font-size:12px; font-weight:800; }
.home-youtube-admin-form input[type="text"],.home-youtube-admin-form textarea { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:9px; background:#fff; }
.home-youtube-admin-form input:focus,.home-youtube-admin-form textarea:focus { border-color:var(--primary); outline:3px solid var(--primary-soft); }
.home-youtube-admin-form small { color:var(--text-sub); font-size:11px; }
.home-youtube-admin-toggle { min-height:62px; padding:14px 16px; display:flex; align-items:center; gap:13px; border:1px solid var(--border); border-radius:12px; background:var(--primary-soft); cursor:pointer; }
.home-youtube-admin-toggle input { width:19px; height:19px; flex:0 0 auto; accent-color:var(--primary); }
.home-youtube-admin-toggle span { display:grid; gap:2px; }
.home-youtube-admin-toggle strong { font-size:14px; }
.home-youtube-admin-toggle small { font-weight:500; }
.home-youtube-admin-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.home-youtube-admin-message { min-height:20px; color:var(--text-sub); font-size:12px; }
.home-youtube-admin-message[data-type="error"] { color:#bd2c2c; }
.home-youtube-admin-message[data-type="success"] { color:#187342; font-weight:800; }
.home-youtube-admin-preview-card > strong { display:block; margin-bottom:14px; font-size:14px; }
.home-youtube-admin-preview { padding:18px; border-radius:14px; background:#f3f6f9; transition:opacity .2s; }
.home-youtube-admin-preview.is-disabled { opacity:.48; }
.home-youtube-admin-preview .youtube-content { display:grid; gap:14px; }
.home-youtube-admin-preview .youtube-content__heading { display:grid; gap:6px; }
.home-youtube-admin-preview .youtube-content__heading h2 { margin:0; font-size:22px; line-height:1.3; }
.home-youtube-admin-preview .youtube-content__heading p { margin:0; color:var(--text-sub); font-size:13px; line-height:1.65; }
@media (max-width:1000px) { .home-youtube-admin-layout { grid-template-columns:1fr; } }
@media (max-width:640px) { .home-youtube-admin-card { padding:18px; } .home-youtube-admin-actions { align-items:stretch; flex-direction:column; } .home-youtube-admin-actions button { width:100%; } }


/* Kakao map content editor */
.kakao-map-editor-modal { width:min(1120px,calc(100vw - 28px)); }
.kakao-map-editor-modal .admin-modal__card { max-height:min(92vh,980px); overflow:auto; }
.kakao-map-api-guide { margin:4px 0 18px; overflow:hidden; border:1px solid #c7dce9; border-radius:14px; background:#f7fbfd; }
.kakao-map-api-guide summary { padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#23465e; cursor:pointer; list-style:none; }
.kakao-map-api-guide summary::-webkit-details-marker { display:none; }
.kakao-map-api-guide summary span { font-size:13px; font-weight:900; }
.kakao-map-api-guide summary small { color:#6d8798; font-size:10px; }
.kakao-map-api-guide ol { padding:0 18px 18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; counter-reset:kakao-guide; }
.kakao-map-api-guide li { min-width:0; padding:13px 14px 13px 46px; position:relative; border:1px solid #d9e6ee; border-radius:10px; background:#fff; counter-increment:kakao-guide; }
.kakao-map-api-guide li::before { width:25px; height:25px; position:absolute; top:12px; left:12px; display:grid; place-items:center; border-radius:8px; background:#1468b8; color:#fff; content:counter(kakao-guide); font-size:10px; font-weight:900; }
.kakao-map-api-guide li b,.kakao-map-api-guide li span { display:block; }
.kakao-map-api-guide li b { color:#29465c; font-size:11px; }
.kakao-map-api-guide li span { margin-top:4px; color:#667d8d; font-size:10px; line-height:1.6; }
.kakao-map-api-guide li a { color:#0f5f9f; font-weight:900; text-decoration:underline; }
.kakao-map-api-guide code { padding:2px 5px; border-radius:4px; background:#eef6fb; color:#0f5f9f; font:10px Consolas,monospace; word-break:break-all; }
.kakao-map-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.kakao-map-editor-fields > label { min-width:0; display:grid; gap:6px; color:#293c4c; font-size:11px; font-weight:900; }
.kakao-map-editor-fields > label.is-wide,.kakao-map-interaction-options { grid-column:1 / -1; }
.kakao-map-editor-fields input,.kakao-map-editor-fields textarea,.kakao-map-editor-fields select { width:100%; padding:11px 12px; border:1px solid #ccd9e4; border-radius:9px; outline:0; background:#fff; color:#1f2c36; font:12px/1.5 Pretendard,"Noto Sans KR",sans-serif; }
.kakao-map-editor-fields input:focus,.kakao-map-editor-fields textarea:focus,.kakao-map-editor-fields select:focus { border-color:#1468b8; box-shadow:0 0 0 3px rgba(20,104,184,.1); }
.kakao-map-editor-fields label > small { color:#7a8995; font-size:9px; font-weight:600; line-height:1.5; }
.kakao-map-interaction-options { padding:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; border:1px solid #d6e0e8; border-radius:11px; }
.kakao-map-interaction-options legend { padding:0 5px; color:#293c4c; font-size:11px; font-weight:900; }
.kakao-map-interaction-options label { min-width:0; padding:10px; display:flex; align-items:flex-start; gap:8px; border-radius:8px; background:#f7f9fb; }
.kakao-map-interaction-options input { width:auto; margin-top:2px; accent-color:#1468b8; }
.kakao-map-interaction-options span,.kakao-map-interaction-options b,.kakao-map-interaction-options small { display:block; }
.kakao-map-interaction-options b { color:#33434f; font-size:10px; }
.kakao-map-interaction-options small { margin-top:3px; color:#7b8a95; font-size:9px; line-height:1.4; }
.kakao-map-editor-preview { margin-top:18px; padding:14px; border:1px solid #d7e2ea; border-radius:13px; background:#f7fafc; }
.kakao-map-editor-preview > div:first-child { margin-bottom:10px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.kakao-map-editor-preview > div:first-child strong { color:#29465c; font-size:12px; }
.kakao-map-editor-preview > div:first-child span { color:#7890a1; font-size:9px; }
.kakao-map-editor-preview [data-kakao-map-editor-preview] { overflow:hidden; border-radius:12px; background:#fff; }
.kakao-map-editor-preview .kakao-map-content__map-wrap { height:360px; min-height:360px; }
@media (max-width:760px) {
  .kakao-map-api-guide summary { align-items:flex-start; flex-direction:column; }
  .kakao-map-api-guide ol,.kakao-map-editor-fields { grid-template-columns:1fr; }
  .kakao-map-editor-fields > label.is-wide,.kakao-map-interaction-options { grid-column:1; }
  .kakao-map-interaction-options { grid-template-columns:1fr 1fr; }
  .kakao-map-editor-preview > div:first-child { align-items:flex-start; flex-direction:column; }
}


/* Compact submenu settings responsive layout */
@media (max-width:1100px) and (min-width:761px) {
  .submenu-settings-form { grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr); }
  .submenu-settings-form .submenu-visible { align-self:end; }
}
@media (max-width:760px) {
  .submenu-settings-card { width:100%; padding:16px; }
  .submenu-settings-form { grid-template-columns:1fr; }
}





/* Job posting content editor */
.job-posting-editor-modal { width:min(1180px,calc(100vw - 28px)); }
.job-posting-editor-modal .admin-modal__card { max-height:min(94vh,1080px); overflow:auto; }
.job-posting-design-settings { margin:0 0 18px; padding:16px; display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.45fr); gap:14px; border:1px solid color-mix(in srgb,var(--primary) 22%,#dce5ec); border-radius:14px; background:color-mix(in srgb,var(--primary) 5%,#fff); }
.job-posting-design-settings__heading { grid-column:1 / -1; display:grid; gap:3px; }
.job-posting-design-settings__heading strong { color:#243746; font-size:14px; }
.job-posting-design-settings__heading span { color:#6f8392; font-size:11px; line-height:1.5; }
.job-posting-design-settings__colors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.job-posting-design-settings__colors label,.job-posting-design-settings__button { display:grid; gap:7px; color:#38536b; font-size:11px; font-weight:850; }
.job-posting-design-settings__colors input[type="color"] { width:100%; height:44px; padding:5px; border:1px solid #cdddea; border-radius:9px; background:#fff; }
.job-posting-design-settings__button input { width:100%; min-height:44px; padding:10px 11px; border:1px solid #cdddea; border-radius:9px; background:#fff; color:#1d2b35; font:13px/1.5 Pretendard,"Noto Sans KR",sans-serif; }
.job-posting-editor-heading { margin:18px 0 11px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.job-posting-editor-heading div { display:grid; gap:3px; }
.job-posting-editor-heading strong { color:#243746; font-size:14px; }
.job-posting-editor-heading span { color:#6f8392; font-size:11px; }
.job-posting-editor-heading button { min-height:38px; padding:0 15px; border-radius:9px; background:var(--primary); color:#fff; font-size:12px; font-weight:850; }
.job-posting-editor-list { display:grid; gap:13px; }
.job-posting-editor-row { overflow:hidden; border:1px solid #d9e3ea; border-radius:14px; background:#f9fbfc; }
.job-posting-editor-row.is-featured { border-color:color-mix(in srgb,var(--primary) 52%,#d9e3ea); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 7%,transparent); }
.job-posting-editor-row__head { padding:11px 13px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #e2e9ee; background:#fff; }
.job-posting-editor-row.is-featured .job-posting-editor-row__head { background:color-mix(in srgb,var(--primary) 5%,#fff); }
.job-posting-editor-row__head > strong { color:#263b4b; font-size:13px; }
.job-posting-editor-row__head-actions { display:flex; align-items:center; gap:10px; }
.job-posting-feature-toggle { display:inline-flex; align-items:center; gap:7px; color:#607484; font-size:11px; font-weight:850; cursor:pointer; }
.job-posting-feature-toggle input { width:34px; height:20px; margin:0; padding:2px; position:relative; appearance:none; border:1px solid #c6d3dd; border-radius:999px; outline:0; background:#e7edf2; cursor:pointer; transition:background .16s ease,border-color .16s ease; }
.job-posting-feature-toggle input::after { width:14px; height:14px; position:absolute; top:2px; left:2px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(30,48,62,.25); content:""; transition:transform .16s ease; }
.job-posting-feature-toggle input:checked { border-color:var(--primary); background:var(--primary); }
.job-posting-feature-toggle input:checked::after { transform:translateX(14px); }
.job-posting-feature-toggle input:focus-visible { box-shadow:0 0 0 3px var(--primary-soft); }
.job-posting-feature-toggle input:checked + span { color:var(--primary); }
.job-posting-editor-row__tools { display:flex; gap:5px; }
.job-posting-editor-row__tools button { min-width:32px; height:31px; padding:0 9px; border-radius:7px; background:#eef3f7; color:#4f6677; font-size:12px; font-weight:850; }
.job-posting-editor-row__tools button:disabled { opacity:.35; cursor:not-allowed; }
.job-posting-editor-row__tools button[data-remove-job-posting] { background:#fff0f0; color:#b02e2e; }
.job-posting-editor-row__fields { padding:15px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.job-posting-editor-row__fields label { min-width:0; display:grid; gap:7px; color:#2d4050; font-size:12px; font-weight:850; }
.job-posting-editor-row__fields label.is-wide { grid-column:1 / -1; }
.job-posting-editor-row__fields input,.job-posting-editor-row__fields textarea { width:100%; padding:11px 12px; border:1px solid #cfdae3; border-radius:9px; outline:0; background:#fff; color:#1d2b35; font:13px/1.58 Pretendard,"Noto Sans KR",sans-serif; }
.job-posting-editor-row__fields input:focus,.job-posting-editor-row__fields textarea:focus,.job-posting-design-settings__button input:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
.job-posting-editor-empty { padding:28px; border:1px dashed #cbd9e3; border-radius:13px; background:#f8fafc; color:#748693; font-size:13px; text-align:center; }
.job-posting-editor-preview { margin-top:18px; padding:15px; border:1px solid #d7e2ea; border-radius:14px; background:#f5f8fa; }
.job-posting-editor-preview > div:first-child { margin-bottom:11px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.job-posting-editor-preview > div:first-child strong { color:#29465c; font-size:13px; }
.job-posting-editor-preview > div:first-child span { color:#7890a1; font-size:10px; }
.job-posting-editor-preview [data-job-posting-preview] { overflow:hidden; padding:18px; border-radius:12px; background:#fff; }
@media (max-width:760px) {
  .job-posting-design-settings { grid-template-columns:1fr; padding:14px; }
  .job-posting-design-settings__colors { grid-template-columns:1fr; }
  .job-posting-editor-row__fields { grid-template-columns:1fr; }
  .job-posting-editor-row__fields label.is-wide { grid-column:1; }
  .job-posting-editor-heading { align-items:flex-start; flex-direction:column; }
  .job-posting-editor-row__head { align-items:flex-start; }
  .job-posting-editor-row__head-actions { align-items:flex-end; flex-direction:column; }
  .job-posting-editor-preview { padding:10px; }
  .job-posting-editor-preview [data-job-posting-preview] { padding:10px; }
}

/* Independent list text alignment controls, including narrow inspector panels. */
.list-item-type-row{position:relative}
.list-item-type-row>.list-text-align-control{grid-column:2;justify-self:start}
.list-text-align-control{display:grid;gap:4px;min-width:72px;max-width:100%;font-size:10px;color:#526575}
.list-text-align-control select{width:100%;min-width:0;height:34px;border:1px solid #d7e2ec;border-radius:6px;background:white;padding:4px 8px;color:#243f53}
.list-item-edit-field__heading{flex-wrap:wrap}
.list-item-edit-field__heading>.list-text-align-control{margin-left:auto}
@media(min-width:1100px){.list-item-type-row{grid-template-columns:52px minmax(0,1fr) 78px!important}.list-item-type-row>.list-text-align-control{grid-column:auto;align-self:end;justify-self:stretch}}
@media(max-width:600px){.list-item-type-row>.list-text-align-control{grid-column:1/-1}.list-item-edit-field__heading>.list-text-align-control{margin-left:0}}

/* Keep alignment beside color/font/size inside the same control grid. */
.list-item-type-row .compact-type-controls,.list-item-edit-field__heading .compact-type-controls--item{grid-template-columns:42px minmax(62px,1fr) 62px 68px!important;gap:5px!important;min-width:0;max-width:100%}
.list-item-type-row .compact-type-controls>label,.list-item-edit-field__heading .compact-type-controls--item>label{min-width:0}
.list-item-type-row .list-text-align-control,.list-item-edit-field__heading .list-text-align-control{min-width:0}
.list-item-type-row{grid-template-columns:48px minmax(0,1fr)!important}
@media(max-width:600px){.list-item-type-row{grid-template-columns:1fr!important}}

/* Typography controls: reserve space for numeric values and px. */
.list-item-type-row,.list-item-edit-field__heading{container-type:inline-size}
.list-item-type-row .compact-type-controls,.list-item-edit-field__heading .compact-type-controls--item{width:min(100%,360px);grid-template-columns:40px minmax(70px,1fr) 90px 68px!important}
.list-item-type-row .compact-pixel-input,.list-item-edit-field__heading .compact-pixel-input{grid-template-columns:minmax(0,1fr) 20px}
.list-item-type-row .compact-pixel-input input,.list-item-edit-field__heading .compact-pixel-input input{width:100%;font-size:12px;padding-left:7px!important}
@container(max-width:340px){.list-item-type-row .compact-type-controls,.list-item-edit-field__heading .compact-type-controls--item{grid-template-columns:90px minmax(90px,1fr)!important;row-gap:8px!important;width:100%}}

/* Table inspector: viewport-height editor with persistent selection tools. */
.structured-block-modal.content-inspector-modal.is-table-editor{inset:8px 8px auto auto;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);min-height:min(440px,calc(100dvh - 16px));width:min(980px,calc(100vw - 28px));}
.structured-block-modal.content-inspector-modal.is-table-editor #structuredBlockFields{overflow-x:hidden;overflow-y:auto;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-builder{grid-template-columns:minmax(0,1fr);min-width:0;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools{position:sticky;top:0;z-index:30;min-width:0;align-self:start;background:#f2f8fd;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-sheet-scroll{min-width:0;width:100%;max-width:100%;max-height:none;overflow:auto;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools__title{flex-wrap:wrap;gap:8px;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-builder__title-controls{grid-template-columns:minmax(0,1fr) 76px minmax(100px,140px) 92px 100px;}
@media(max-width:760px){
.structured-block-modal.content-inspector-modal.is-table-editor .table-builder__title-controls{grid-template-columns:repeat(2,minmax(0,1fr));}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools{max-height:36dvh;overflow:auto;overscroll-behavior:contain;padding:10px;}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools__cell{grid-template-columns:repeat(2,minmax(0,1fr));}
.structured-block-modal.content-inspector-modal.is-table-editor .table-selection-tools__title span{display:none;}
}
/* Use vertical workspace for content editing; retain each editor's width. */
.content-inspector-modal{top:8px;max-height:calc(100dvh - 16px);}
.content-inspector-modal:is(.structured-block-modal,.list-editor-modal,.content-block-modal,.code-block-modal,.media-editor-modal,.media-text-modal,.cta-block-modal,.job-posting-editor-modal){height:calc(100dvh - 16px);}
.content-inspector-modal:not(.is-table-editor)>.admin-modal__card{min-height:100%;}
.code-block-modal.content-inspector-modal .code-editor-field textarea{min-height:max(520px,60dvh);}