
:root{--navy:#0c2d54;--navy-2:#123f73;--blue:#0b63ce;--blue-2:#eaf4ff;--ink:#172b46;--muted:#64748b;--line:#dbe6f2;--surface:#f5f9fd;--white:#fff;--danger:#b42318;--success:#087443;--shadow:0 14px 34px rgba(20,55,90,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffbf47}button{cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:1000;background:#fff;padding:10px 14px;border-radius:8px}.container{width:min(1240px,calc(100% - 40px));margin-inline:auto}.eyebrow{margin:0 0 10px;color:var(--blue);font-weight:800;font-size:.84rem;letter-spacing:.08em}.muted{color:var(--muted)}.notice{padding:14px 16px;border:1px solid #f4d27d;background:#fff9e8;border-radius:12px;color:#654b00}.empty{padding:44px 24px;text-align:center;border:1px dashed #b9cbe0;border-radius:16px;background:#f9fbfe;color:var(--muted)}
.admin-shell{display:grid}
@view-transition{navigation:auto}
@font-face{
  font-family:"SUIT Variable";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/variable/woff2/SUIT-Variable.woff2") format("woff2-variations");
}

.admin-body{
  --admin-sidebar-width:232px;
  --admin-page-max:1400px;
  --admin-gutter:40px;
  --admin-canvas:#f7f8fa;
  --admin-surface:#fff;
  --admin-ink:#19212b;
  --admin-muted:#657180;
  --admin-faint:#87919d;
  --admin-line:#dfe4e9;
  --admin-line-soft:#edf0f3;
  --admin-accent:#1769d2;
  --admin-accent-strong:#0d59ba;
  --admin-accent-soft:#edf5ff;
  --admin-success:#087443;
  --admin-success-soft:#eaf7ef;
  --admin-warning:#8a5a00;
  --admin-warning-soft:#fff7df;
  --admin-danger:#b42318;
  --admin-danger-soft:#fff0ee;
  --admin-radius:10px;
  --admin-control-height:42px;
  min-width:0;
  overflow-x:hidden;
  background:var(--admin-canvas);
  color:var(--admin-ink);
  font-family:"SUIT Variable",SUIT,Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.015em;
}
.admin-body *,.admin-body button,.admin-body input,.admin-body select,.admin-body textarea{font-family:inherit}
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body h4,.admin-body p{margin-top:0}
.admin-body a{color:inherit;text-decoration:none}
.admin-body .eyebrow{display:none}
.admin-body .muted{color:var(--admin-muted)}
.admin-body .skip{position:absolute;left:-9999px}
.admin-body .skip:focus{left:16px;top:16px;z-index:2000;padding:10px 14px;border-radius:8px;background:#fff;color:var(--admin-ink);box-shadow:0 4px 16px rgba(25,33,43,.18)}
.admin-body :focus-visible{outline:3px solid rgba(23,105,210,.3);outline-offset:2px}

/* 페이지 프레임: 사이드바 다음의 같은 기준선에서 시작하고, 넓은 화면에서
   불필요하게 가운데로 떠다니지 않는다. */
.admin-body .admin-shell{display:grid;grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr);min-height:100vh}
.admin-body .admin-side{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;box-sizing:border-box;width:var(--admin-sidebar-width);height:100vh;min-height:100vh;padding:0 12px;background:#fff;border-right:1px solid var(--admin-line);color:var(--admin-ink)}
.admin-body .admin-side-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 72px;min-height:72px;padding:0 8px;border-bottom:1px solid var(--admin-line)}
.admin-body .admin-brand{display:flex;align-items:center;min-width:0;color:var(--admin-ink);font-size:16px;font-weight:750;line-height:22px;letter-spacing:-.025em}
.admin-body .admin-brand strong{color:inherit}
.admin-body .admin-brand small{color:var(--admin-faint)}
.admin-body .admin-login{display:grid;place-items:center;box-sizing:border-box;min-height:100vh;padding:32px;background:var(--admin-canvas)}
.admin-body .admin-login .form-card{box-sizing:border-box;width:min(420px,100%);max-width:none;padding:32px;border:1px solid var(--admin-line);border-radius:10px;background:#fff;box-shadow:none}
.admin-body .admin-login-form h1{margin:0 0 28px;color:var(--admin-ink);font-size:28px;font-weight:760;line-height:36px;letter-spacing:-.04em}
.admin-body .admin-login-form .field{margin-bottom:18px}
.admin-body .admin-login-form .button{width:100%;margin-top:8px}
.admin-body .admin-login-form .admin-login-home{margin:20px 0 0;text-align:center;font-size:14px;line-height:21px}
.admin-body .admin-login-form .admin-login-home a{color:var(--admin-accent);font-weight:700}
.admin-body .admin-login-form .notice{margin:0 0 20px;padding:12px 13px;font-size:13px;line-height:20px}
.admin-body .admin-side-head-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.admin-body .admin-site-link,.admin-body .admin-side-close,.admin-body .admin-menu-button{display:grid;place-items:center}
.admin-body .admin-side-head .admin-site-link{width:32px;height:32px;padding:0;border:0;border-radius:8px;color:var(--admin-faint);background:transparent}
.admin-body .admin-side-head .admin-site-link:hover{background:#f1f3f5;color:var(--admin-ink)}
.admin-body .admin-external-icon,.admin-body .admin-side-close svg,.admin-body .admin-menu-button svg{width:17px;height:17px}
.admin-body .admin-side-close{display:none;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--admin-muted)}
.admin-body .admin-side-close:hover{background:#f1f3f5;color:var(--admin-ink)}
.admin-body .admin-nav{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;gap:2px;padding:16px 0;overflow-y:auto;scrollbar-width:none}
.admin-body .admin-nav::-webkit-scrollbar{display:none}
.admin-body .admin-nav-group{display:grid;gap:2px;min-width:0;margin:0}
.admin-body .admin-nav-group.divider-before{margin-top:12px;padding-top:12px;border-top:1px solid var(--admin-line)}
.admin-body .admin-nav-parent,.admin-body .admin-nav-parent.admin-nav-toggle{position:relative;display:flex;align-items:center;gap:9px;box-sizing:border-box;width:100%;height:38px;min-height:38px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#53606e;font-size:14px;font-weight:650;line-height:20px;letter-spacing:-.015em;text-align:left}
.admin-body .admin-nav-parent:hover,.admin-body .admin-nav-parent:focus-visible{background:#f1f3f5;color:var(--admin-ink);outline:none}
.admin-body .admin-nav-parent.is-active{background:var(--admin-accent-soft);color:var(--admin-accent);font-weight:750}
.admin-body .admin-nav-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:#8a95a1}
.admin-body .admin-nav-parent.is-active .admin-nav-icon{color:var(--admin-accent)}
.admin-body .admin-nav-chevron-wrap{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;margin-left:auto;color:#8a95a1}
.admin-body .admin-nav-chevron{width:15px;height:15px;transition:transform .16s ease}
.admin-body .admin-nav-group.is-open>.admin-nav-parent .admin-nav-chevron{transform:rotate(180deg)}
.admin-body .admin-subnav{display:grid;gap:2px;margin:2px 0 8px 29px;padding-left:9px;border-left:1px solid var(--admin-line)}
.admin-body .admin-nav-group:not(.is-open) .admin-subnav{display:none}
.admin-body .admin-subnav-link{display:flex;align-items:center;min-height:34px;padding:0 10px;border-radius:7px;color:#6f7b88;font-size:13px;font-weight:600;line-height:20px;white-space:nowrap}
.admin-body .admin-subnav-link:hover,.admin-body .admin-subnav-link:focus-visible{background:#f1f3f5;color:var(--admin-ink);outline:none}
.admin-body .admin-subnav-link.is-active{background:var(--admin-accent-soft);color:var(--admin-accent);font-weight:750}
.admin-body .admin-side-footer{display:grid;gap:4px;flex:0 0 auto;margin:0 -12px;padding:12px 20px 16px;border-top:1px solid var(--admin-line);background:#fff}
.admin-body .admin-side-logout{display:flex;align-items:center;justify-content:center;width:100%;height:36px;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--admin-muted);font-size:14px;font-weight:600;line-height:20px;text-align:center}
.admin-body .admin-side-logout:hover,.admin-body .admin-side-logout:focus-visible{background:#f1f3f5;color:var(--admin-ink);outline:none}

.admin-body .admin-main{min-width:0;width:100%;padding:36px var(--admin-gutter) 72px}
.admin-body .admin-content-frame{box-sizing:border-box;width:100%;max-width:var(--admin-page-max);min-width:0;margin:0}
.admin-body .admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:var(--admin-page-max);min-height:72px;margin:0 0 36px;padding:0;border-bottom:1px solid var(--admin-line);background:var(--admin-canvas)}
.admin-body .admin-top-title{display:flex;align-items:center;gap:10px;min-width:0}
.admin-body .admin-top-context{min-width:0;overflow:hidden;color:#52606d;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.admin-body .admin-top-actions,.admin-body .admin-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-body .admin-menu-button{display:none;width:36px;height:36px;padding:0;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:var(--admin-ink)}
.admin-body .admin-nav-backdrop{display:none}

/* 타이포그래피와 페이지 헤더 */
.admin-body .admin-page-heading,.admin-body .admin-editor-heading,.admin-body .admin-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-width:0;margin:0 0 28px}
.admin-body .admin-page-heading>div:first-child,.admin-body .admin-editor-heading>div:first-child,.admin-body .admin-detail-heading>div:first-child{min-width:0}
.admin-body .admin-page-heading h2,.admin-body .admin-editor-heading h2,.admin-body .admin-detail-heading h2{margin:0;color:var(--admin-ink);font-size:32px;font-weight:760;line-height:40px;letter-spacing:-.045em;overflow-wrap:anywhere}
.admin-body .admin-page-heading p,.admin-body .admin-editor-heading p,.admin-body .admin-detail-heading p{margin:8px 0 0;color:var(--admin-muted);font-size:14px;line-height:22px;overflow-wrap:anywhere}
.admin-body .admin-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--admin-faint);font-size:13px;line-height:20px}
.admin-body .admin-breadcrumb a{color:var(--admin-accent);font-weight:700}
.admin-body .admin-heading-meta{display:flex;align-items:baseline;gap:8px;color:var(--admin-muted);white-space:nowrap}
.admin-body .admin-heading-meta strong{color:var(--admin-ink);font-size:24px;line-height:30px;font-weight:750}
.admin-body .admin-kicker{margin:0 0 8px;color:var(--admin-muted);font-size:13px;font-weight:700}

/* 표면과 공통 컨트롤 */
.admin-body .panel{min-width:0;margin:0 0 16px;padding:24px;border:1px solid var(--admin-line);border-radius:var(--admin-radius);background:var(--admin-surface);box-shadow:none}
.admin-body .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;margin:0 0 18px}
.admin-body .panel-heading h2,.admin-body .panel-heading h3{margin:0;color:var(--admin-ink);font-size:18px;font-weight:750;line-height:26px;overflow-wrap:anywhere}
.admin-body .panel-heading p{margin:4px 0 0;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .panel-count{color:var(--admin-muted);font-size:13px;line-height:20px;white-space:nowrap}
.admin-body .admin-list-panel{margin:0;padding:0!important;border:0;background:transparent}
.admin-body .admin-list-panel>.admin-table-wrap{margin:0}
.admin-body .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-width:0;height:42px;min-height:42px;padding:0 15px;border:1px solid var(--admin-accent);border-radius:8px;background:var(--admin-accent);color:#fff;font-size:14px;font-weight:700;line-height:20px;text-align:center;white-space:nowrap;vertical-align:middle;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.admin-body .button:hover{border-color:var(--admin-accent-strong);background:var(--admin-accent-strong);color:#fff}
.admin-body .button.ghost,.admin-body .button.secondary{border-color:var(--admin-line);background:#fff;color:#4e5968}
.admin-body .button.ghost:hover,.admin-body .button.secondary:hover{border-color:#bfc8d1;background:#f4f6f8;color:var(--admin-ink)}
.admin-body .button.danger{border-color:var(--admin-danger);background:var(--admin-danger);color:#fff}
.admin-body .button.danger:hover{border-color:#951b12;background:#951b12}
.admin-body .button.small{height:34px;min-height:34px;padding:0 11px;border-radius:7px;font-size:13px}
.admin-body .button:disabled{cursor:not-allowed;border-color:#d6dbe0;background:#f0f2f4;color:#8b949e;opacity:1}
.admin-body .full-button{width:100%}
.admin-body .row-actions,.admin-body .form-actions,.admin-body .admin-welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.admin-body .form-actions{margin-top:24px;padding-top:16px;border-top:1px solid var(--admin-line-soft)}
.admin-body .form-actions .form-message{margin:0}
.admin-body .form-message{min-height:20px;margin:10px 0 0;font-size:13px;line-height:20px;font-weight:650}
.admin-body .form-message.error{color:var(--admin-danger)}
.admin-body .form-message.success{color:var(--admin-success)}
.admin-body .admin-dirty-state{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid #ecd79a;border-radius:8px;background:#fffaf0;color:#7a5500;font-size:12px;line-height:18px;font-weight:700;white-space:nowrap}
.admin-body .admin-dirty-state::before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#d89b00}
.admin-body .admin-dirty-state[hidden]{display:none!important}

/* 폼: 라벨과 컨트롤의 관계를 모든 화면에서 동일하게 유지한다. */
.admin-body .field{display:grid;align-content:start;gap:8px;min-width:0;margin:0 0 16px}
.admin-body .field label{order:1;min-width:0;color:var(--admin-ink);font-size:14px;font-weight:700;line-height:20px;overflow-wrap:anywhere}
.admin-body .field small{order:4;min-width:0;color:var(--admin-muted);font-size:13px;line-height:20px;overflow-wrap:anywhere}
.admin-body .field>input,.admin-body .field>select,.admin-body .field>textarea,.admin-body .field>.rich-editor,.admin-body .field>.image-upload-control{order:3}
.admin-body .field input,.admin-body .field select,.admin-body .field textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cfd7df;border-radius:8px;background:#fff;color:var(--admin-ink);font-size:15px;line-height:22px}
.admin-body .field input,.admin-body .field select{height:var(--admin-control-height);min-height:var(--admin-control-height);padding:0 12px}
.admin-body input[type=file]{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;height:auto;min-height:var(--admin-control-height);padding:8px 10px}
.admin-body .field textarea{min-height:144px;padding:10px 12px;resize:vertical}
.admin-body .field input[type=checkbox],.admin-body .field input[type=radio]{width:auto;height:auto;min-height:0;accent-color:var(--admin-accent)}
.admin-body .field input:focus,.admin-body .field select:focus,.admin-body .field textarea:focus{border-color:#7daef0;box-shadow:0 0 0 3px rgba(23,105,210,.12);outline:0}
.admin-body .field input[aria-invalid=true],.admin-body .field select[aria-invalid=true],.admin-body .field textarea[aria-invalid=true]{border-color:var(--admin-danger);box-shadow:0 0 0 3px rgba(180,35,24,.1)}
.admin-body .field.full{grid-column:1/-1}
.admin-body .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0;align-items:start}
.admin-body .field-grid>*{min-width:0}
.admin-body .field-checkbox-stack{align-content:start}
.admin-body .checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-body .checkbox{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--admin-ink);font-size:14px;line-height:20px}
.admin-body .checkbox input{flex:0 0 auto;margin-top:3px}
.admin-body .editor-panel{width:100%;max-width:none}
.admin-body .editor-panel>form{width:100%;min-width:0}
.admin-body .editor-panel .field-grid{max-width:none}
.admin-body .editor-panel .field textarea{min-height:170px}
.admin-body .field-hint{display:block;margin:8px 0 16px;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .notice{border:1px solid #f0d58b;border-radius:8px;background:var(--admin-warning-soft);color:var(--admin-warning)}

/* 목록 공통: 건수 → 검색/필터 → 추가, 같은 높이와 기준선 */
.admin-body .admin-list-toolbar,.admin-body .media-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 16px;padding:0;border:0;background:transparent}
.admin-body .media-toolbar-count{display:flex;align-items:baseline;gap:6px;color:var(--admin-muted);font-size:14px;line-height:20px;white-space:nowrap}
.admin-body .media-toolbar-count strong{color:var(--admin-ink);font-size:20px;line-height:28px;font-weight:750;font-variant-numeric:tabular-nums}
.admin-body .media-filter-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.admin-body .media-search,.admin-body .admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;max-width:680px;height:42px;min-height:42px;overflow:visible;border:0;border-radius:0;background:transparent}
.admin-body .media-search{flex:1 1 360px}
.admin-body .admin-search{flex:1 1 420px}
.admin-body .media-search input,.admin-body .admin-search input{box-sizing:border-box;min-width:0;width:100%;height:42px;min-height:42px;padding:0 12px;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:var(--admin-ink);font-size:14px;line-height:20px;outline:0}
.admin-body .media-search .button,.admin-body .admin-search .button{flex:0 0 auto;height:42px;min-height:42px;margin:0;padding:0 14px;border-radius:8px;font-size:14px}
.admin-body .media-filter-control{display:flex;align-items:center;min-width:0}
.admin-body .media-filter-control select,.admin-body .admin-toolbar>select{box-sizing:border-box;height:42px;min-height:42px;min-width:120px;padding:0 32px 0 12px;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:#4e5968;font-size:14px;line-height:20px}
.admin-body .media-filter-form>.button{height:42px;min-height:42px}
.admin-body .admin-list-toolbar-actions>.button,.admin-body .media-add-button,.admin-body .admin-toolbar>a.button,.admin-body .admin-toolbar>button.button{height:42px;min-height:42px}
.admin-body .admin-search>.button,.admin-body .media-search>.button{height:42px;min-height:42px}
.admin-body .admin-list-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.admin-body .admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.admin-body .admin-toolbar .admin-search{flex:1 1 420px}
.admin-body .filter-chips{display:flex;align-items:center;gap:8px;min-width:0;margin:0 0 16px;padding:0 0 2px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.admin-body .filter-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;min-height:38px;padding:0 13px;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:var(--admin-muted);font-size:14px;font-weight:650;line-height:20px;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.admin-body .filter-chip:hover{border-color:#bfc8d1;background:#f4f6f8;color:var(--admin-ink)}
.admin-body .filter-chip:focus-visible{border-color:var(--admin-accent);outline:3px solid rgba(23,105,210,.2);outline-offset:2px}
.admin-body .filter-chip.active{border-color:var(--admin-accent);background:var(--admin-accent-soft);color:var(--admin-accent);font-weight:750}

/* 표는 식별 정보 → 판단 정보 → 다음 행동 순서. */
.admin-body .admin-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--admin-line);border-radius:10px;background:#fff;overscroll-behavior-inline:contain}
.admin-body .admin-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:auto}
.admin-body .admin-table th,.admin-body .admin-table td{min-width:0;padding:14px 16px;border-bottom:1px solid var(--admin-line-soft);text-align:left;vertical-align:middle;overflow-wrap:anywhere}
.admin-body .admin-table th{background:#fbfcfd;color:#697584;font-size:13px;font-weight:700;line-height:20px;white-space:nowrap}
.admin-body .admin-table td{color:#4f5d6c;font-size:14px;line-height:21px}
.admin-body .admin-table tbody tr:last-child td{border-bottom:0}
.admin-body .admin-table tbody tr:hover{background:#fbfdff}
.admin-body .admin-table .table-title{display:grid;gap:4px;min-width:0;max-width:520px}
.admin-body .admin-table .table-title strong{min-width:0;color:var(--admin-ink);font-size:15px;font-weight:700;line-height:21px;overflow-wrap:anywhere}
.admin-body .admin-table .table-title small,.admin-body .admin-table .code-small{min-width:0;color:var(--admin-muted);font-size:13px;line-height:19px;overflow-wrap:anywhere}
.admin-body .admin-table .table-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;color:#52606d;font-size:14px;font-weight:650;line-height:20px;white-space:nowrap}
.admin-body .admin-table .table-action:hover{text-decoration:underline;text-underline-offset:3px}
.admin-body .admin-table .table-row-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-width:max-content;flex-wrap:nowrap;white-space:nowrap}
.admin-body .admin-table .table-row-actions>*{flex:0 0 auto}
.admin-body .admin-members-table th:last-child,.admin-body .admin-members-table td:last-child{width:160px;min-width:160px}
.admin-body .admin-table .admin-row-check{width:16px;height:16px;accent-color:var(--admin-accent)}
.admin-body .publish-state,.admin-body .status-badge,.admin-body .consent{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:13px;font-weight:700;line-height:18px;white-space:nowrap}
.admin-body .publish-state.on,.admin-body .status-badge.is-on,.admin-body .status-badge.on,.admin-body .consent.yes{background:var(--admin-success-soft);color:var(--admin-success)}
.admin-body .publish-state.off,.admin-body .status-badge.is-off,.admin-body .status-badge.off,.admin-body .consent.no{background:#f0f2f4;color:#66717d}
.admin-body .publish-state.pending,.admin-body .status-badge.pending{background:var(--admin-warning-soft);color:var(--admin-warning)}
.admin-body .status-badge{border-radius:6px}
.admin-body .pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin:20px 0 0}
.admin-body .pagination a,.admin-body .pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 9px;border-radius:7px;color:var(--admin-muted);font-size:13px;font-weight:700;line-height:20px}
.admin-body .pagination a:hover,.admin-body .pagination a.active{background:var(--admin-accent-soft);color:var(--admin-accent)}
.admin-body .pagination>span.disabled{color:#b8c0c8}
.admin-body .empty{min-height:0;margin:0;padding:16px 0;border:0;border-radius:0;background:transparent;color:var(--admin-muted);font-size:14px;line-height:21px;text-align:left}
.admin-body .empty strong{display:block;color:var(--admin-ink);font-size:15px;line-height:22px}
.admin-body .empty p{max-width:60ch;margin:6px 0 0;color:var(--admin-muted);font-size:14px;line-height:21px}
.admin-body .admin-empty{min-height:0!important;margin:0;padding:28px 16px;border:0!important;border-top:1px solid var(--admin-line-soft)!important;border-radius:0!important;background:transparent!important;text-align:left}
.admin-body .admin-empty strong{display:block;color:var(--admin-ink);font-size:15px;line-height:22px}
.admin-body .admin-empty p{max-width:60ch;margin:6px 0 16px;color:var(--admin-muted);font-size:14px;line-height:21px}
.admin-body .compact-empty,.admin-body .compact-empty-note{min-height:0;padding:12px 0;color:var(--admin-muted);font-size:13px;line-height:20px}

/* 대시보드 */
.admin-body .admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:24px 0;border-bottom:1px solid var(--admin-line)}
.admin-body .admin-welcome h2{margin:0;color:var(--admin-ink);font-size:24px;line-height:32px;font-weight:750;letter-spacing:-.035em}
.admin-body .admin-welcome p:not(.eyebrow){margin:7px 0 0;color:var(--admin-muted);font-size:14px;line-height:22px}
.admin-body .admin-welcome-actions{justify-content:flex-end}
.admin-body .button-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:4px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.2);font-size:13px}
.admin-body .dashboard-priority{margin:0 0 24px}
.admin-body .dashboard-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 12px}
.admin-body .dashboard-section-heading h2{margin:0;color:var(--admin-ink);font-size:20px;line-height:28px;font-weight:750}
.admin-body .dashboard-section-heading .text-link{color:var(--admin-accent);font-size:14px;font-weight:700}
.admin-body .dashboard-status-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.admin-body .dashboard-status-stats .stat{display:grid;align-content:start;gap:4px;min-width:0;padding:18px;border:1px solid var(--admin-line);border-radius:10px;background:#fff}
.admin-body .dashboard-status-stats .stat-label{color:#52606d;font-size:14px;line-height:20px;overflow-wrap:anywhere}
.admin-body .dashboard-status-stats .stat strong{margin:5px 0 0;color:var(--admin-ink);font-size:30px;line-height:36px;font-weight:750;font-variant-numeric:tabular-nums}
.admin-body .dashboard-status-stats .stat small{min-height:20px;color:var(--admin-muted);font-size:13px;line-height:20px;overflow-wrap:anywhere}
.admin-body .dashboard-status-stats .stat-action{margin-top:3px;color:var(--admin-accent);font-size:13px;line-height:20px;font-weight:700}
.admin-body .admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:start;gap:16px}
.admin-body .dashboard-recent-panel,.admin-body .dashboard-content-panel{min-width:0}
.admin-body .dashboard-recent-panel .admin-table-wrap{overflow-x:hidden}
.admin-body .dashboard-recent-panel .admin-table{min-width:0;table-layout:fixed}
.admin-body .dashboard-recent-panel .admin-table th:nth-child(2),.admin-body .dashboard-recent-panel .admin-table td:nth-child(2){width:96px;white-space:nowrap}
.admin-body .dashboard-recent-panel .admin-table th:nth-child(3),.admin-body .dashboard-recent-panel .admin-table td:nth-child(3){width:100px;white-space:nowrap}
.admin-body .dashboard-recent-panel .admin-table th:nth-child(4),.admin-body .dashboard-recent-panel .admin-table td:nth-child(4){width:140px;white-space:nowrap}
.admin-body .dashboard-recent-panel .admin-table th:nth-child(5),.admin-body .dashboard-recent-panel .admin-table td:nth-child(5){width:58px;white-space:nowrap}
.admin-body .dashboard-content-panel .content-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-body .dashboard-content-panel .content-metric{display:grid;align-content:start;gap:4px;min-width:0;min-height:104px;padding:14px;border:1px solid var(--admin-line);border-radius:9px;background:#fff}
.admin-body .dashboard-content-panel .content-metric:hover{border-color:#b9d3f2;background:#fbfdff}
.admin-body .dashboard-content-panel .content-metric-name{min-width:0;overflow:hidden;color:#465464;font-size:14px;font-weight:700;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
.admin-body .dashboard-content-panel .content-metric-total,.admin-body .dashboard-content-panel .content-metric-published{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--admin-muted);font-size:13px;line-height:20px;white-space:nowrap}
.admin-body .dashboard-content-panel .content-metric-total strong{color:var(--admin-accent);font-size:24px;line-height:30px;font-weight:750;font-variant-numeric:tabular-nums}
.admin-body .dashboard-content-panel .content-metric-published b{color:#52606d;font-size:14px;line-height:20px}

/* 설정·기능 구성 */
.admin-body .admin-settings-tabs,.admin-body .board-settings-tabs{display:flex;align-items:center;gap:4px;min-width:0;margin:0 0 24px;padding:0 0 8px;border-bottom:1px solid var(--admin-line);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.admin-body .board-settings-panel.is-hidden{display:none!important}
.admin-body .admin-settings-tab,.admin-body .board-settings-tab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:0 13px;border-radius:7px;color:var(--admin-muted);font-size:14px;font-weight:650;line-height:20px}
.admin-body .admin-settings-tab:hover,.admin-body .board-settings-tab:hover{background:#f1f5f9;color:var(--admin-accent)}
.admin-body .admin-settings-tab.is-active,.admin-body .board-settings-tab.is-active{background:var(--admin-accent-soft);color:var(--admin-accent);font-weight:750}
.admin-body .settings-content,.admin-body .admin-settings-panel,.admin-body .settings-panel{min-width:0}
.admin-body .settings-panel,.admin-body .inquiry-settings-panel{width:100%;max-width:760px;padding:24px;border:1px solid var(--admin-line);border-radius:10px;background:#fff}
.admin-body .settings-section{margin:0;padding:0 0 24px;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .settings-section+.settings-section{padding-top:24px}
.admin-body .settings-section:last-of-type{padding-bottom:0;border-bottom:0}
.admin-body .settings-section-heading{margin:0 0 18px;padding:0}
.admin-body .settings-section-heading h3{margin:0;color:var(--admin-ink);font-size:18px;line-height:26px;font-weight:750}
.admin-body .settings-section-heading p{margin:5px 0 0;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .settings-state-note{margin:0 0 16px;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .settings-state-note.is-enabled{color:var(--admin-success)}
.admin-body .admin-conditional-settings{padding:0;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .admin-conditional-settings summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;color:var(--admin-ink);cursor:pointer;list-style:none}
.admin-body .admin-conditional-settings summary::-webkit-details-marker{display:none}
.admin-body .admin-conditional-settings summary>span:first-child{display:grid;gap:3px;min-width:0}
.admin-body .admin-conditional-settings summary strong{font-size:15px;line-height:21px}
.admin-body .admin-conditional-settings summary small{color:var(--admin-muted);font-size:13px;line-height:19px}
.admin-body .settings-summary-action{color:var(--admin-accent);font-size:13px;font-weight:700;white-space:nowrap}
.admin-body .admin-conditional-settings[open] .settings-section-content{padding:8px 0 16px}
.admin-body .admin-toggle-list{display:grid;gap:8px}
.admin-body .admin-toggle{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.admin-body .admin-toggle:focus-within{outline:3px solid rgba(23,105,210,.2);outline-offset:3px;border-radius:8px}
.admin-body .admin-toggle-list .admin-toggle{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 14px;border:1px solid var(--admin-line);border-radius:8px;background:#fff}
.admin-body .admin-toggle-list .admin-toggle-label{color:var(--admin-ink);font-size:14px;font-weight:700}
.admin-body .admin-toggle-track{display:inline-flex;align-items:center;width:42px;height:24px;padding:3px;border-radius:999px;background:#cbd2d9;cursor:pointer}
.admin-body .admin-toggle-thumb{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(25,33,43,.2);transition:transform .15s ease}
.admin-body .admin-toggle input:checked~.admin-toggle-track{background:var(--admin-accent)}
.admin-body .admin-toggle input:checked~.admin-toggle-track .admin-toggle-thumb{transform:translateX(18px)}
.admin-body .admin-toggle input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.admin-body .module-config-panel{width:100%;max-width:none!important;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.admin-body .module-config-panel .module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.admin-body .module-config-panel .module-card{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:20px;padding:20px;border:1px solid var(--admin-line);border-radius:10px;background:#fff}
.admin-body .module-config-panel .module-toggle-label{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;align-items:stretch;gap:16px;cursor:pointer}
.admin-body .module-config-panel .module-toggle-copy{display:grid;min-width:0;gap:6px}
.admin-body .module-config-panel .module-toggle-copy>strong{min-width:0;color:var(--admin-ink);font-size:17px;line-height:24px;overflow-wrap:anywhere}
.admin-body .module-config-panel .module-toggle-copy>small{min-width:0;color:var(--admin-muted);font-size:14px;line-height:21px;overflow-wrap:anywhere}
.admin-body .module-config-panel .module-toggle-control{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;white-space:nowrap}
.admin-body .module-config-panel .module-state{display:inline-flex;align-items:center;min-height:28px;padding:0 8px;border-radius:7px;background:var(--admin-success-soft);color:var(--admin-success);font-size:13px;font-weight:700}
.admin-body .module-config-panel .module-card.disabled .module-state,.admin-body .module-config-panel .module-toggle-control>input:not(:checked)~.module-state{background:#f0f2f4;color:#66717d}
.admin-body .module-config-panel .module-state-label{display:none}
.admin-body .module-config-panel .module-toggle-control>input:checked~.module-state .module-state-on{display:inline}
.admin-body .module-config-panel .module-toggle-control>input:not(:checked)~.module-state .module-state-off{display:inline}
.admin-body .module-config-panel .module-switch-track{display:inline-flex;align-items:center;width:42px;height:24px;padding:3px;border-radius:999px;background:#cbd2d9;cursor:pointer}
.admin-body .module-config-panel .module-switch-thumb{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(25,33,43,.2);transition:transform .15s ease}
.admin-body .module-config-panel .module-toggle-control>input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.admin-body .module-config-panel .module-toggle-control>input:checked~.module-switch-track{background:var(--admin-accent)}
.admin-body .module-config-panel .module-toggle-control>input:checked~.module-switch-track .module-switch-thumb{transform:translateX(18px)}
.admin-body .module-config-panel .module-row-action{display:flex;align-items:center;justify-content:flex-start;min-width:0;padding-top:12px;border-top:1px solid var(--admin-line-soft)}
.admin-body .module-config-panel .module-row-action .button{height:auto;min-height:32px;padding:0;border:0;background:transparent;color:var(--admin-accent);font-size:13px}
.admin-body .module-config-panel .module-ready{color:var(--admin-faint);font-size:13px;white-space:nowrap}

/* 게시글 작성·편집 */
.admin-body .admin-editor-form{width:100%;min-width:0}
.admin-body .admin-editor-form .admin-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;width:100%;max-width:var(--admin-page-max)}
.admin-body .admin-editor-form .admin-editor-main,.admin-body .admin-editor-form .admin-inspector{min-width:0}
.admin-body .admin-editor-form .admin-inspector{display:grid;align-content:start;gap:16px}
.admin-body .admin-editor-form .admin-inspector .panel{margin:0;padding:20px}
.admin-body .admin-editor-form .admin-inspector .panel-heading{margin-bottom:16px}
.admin-body .admin-editor-form .admin-inspector .panel-heading h3{font-size:16px;line-height:22px}
.admin-body .admin-editor-form .image-panel{display:grid;gap:0}
.admin-body .admin-editor-form .image-panel .panel-heading{margin-bottom:14px}
.admin-body .admin-editor-form .image-key-field{display:none}
.admin-body .image-preview-box{display:grid;place-items:center;box-sizing:border-box;width:100%;aspect-ratio:16/9;min-height:132px;overflow:hidden;margin:0 0 18px;border:1px solid var(--admin-line);border-radius:8px;background:#f4f6f8}
.admin-body .image-preview-box.is-empty{background:#f8f9fa}
.admin-body .image-preview-box .image-preview{display:block;width:100%;height:100%;object-fit:contain}
.admin-body .image-preview-empty{color:var(--admin-faint);font-size:13px;line-height:20px}
.admin-body .image-preview-box:not(.is-empty) .image-preview-empty{display:none}
.admin-body .image-panel-actions{display:flex;justify-content:flex-end;min-height:34px;margin:-8px 0 14px}
.admin-body .image-panel-actions:has([hidden]){display:none}
.admin-body .image-upload-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.admin-body .image-upload-control .file-picker{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:34px;padding:0 11px;border:1px solid var(--admin-line);border-radius:7px;background:#fff;color:#4e5968;font-size:13px;font-weight:700;line-height:18px;cursor:pointer}
.admin-body .image-upload-control .file-picker:hover{border-color:#bfc8d1;background:#f4f6f8;color:var(--admin-ink)}
.admin-body .image-upload-control .file-picker-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.admin-body .image-file-name{min-width:0;flex:1 1 120px;color:var(--admin-muted);font-size:13px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-body .post-attachment-field .attachment-upload-control{width:100%;flex-wrap:nowrap}
.admin-body .post-attachment-field .attachment-upload-control .image-file-name{flex:1 1 0}
.admin-body .post-attachment-field .attachment-upload-control .button{margin-left:auto}
.admin-body .post-attachment-field>small{display:block;margin-top:8px;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .admin-editor-form .editor-primary-fields>.field{margin-bottom:20px}
.admin-body .editor-note{display:grid;gap:3px;margin:0 0 20px;padding:14px 16px;border:1px solid #c8def5;border-radius:8px;background:#f1f7ff;color:#536b84}
.admin-body .editor-note strong{color:var(--admin-accent);font-size:14px;line-height:20px}
.admin-body .editor-note span{font-size:14px;line-height:21px}
.admin-body .editor-note-warning{border-color:#f0d58b;background:var(--admin-warning-soft)}
.admin-body .editor-note-warning strong{color:var(--admin-warning)}
.admin-body .editor-secondary-settings{margin:8px 0 20px;border:1px solid var(--admin-line);border-radius:8px;background:#fff}
.admin-body .editor-secondary-settings summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--admin-ink);font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.admin-body .editor-secondary-settings summary::-webkit-details-marker{display:none}
.admin-body .editor-secondary-settings summary span{color:var(--admin-muted);font-size:13px;font-weight:600}
.admin-body .editor-secondary-settings[open]{padding-bottom:4px}
.admin-body .editor-secondary-settings[open]>.field,.admin-body .editor-secondary-settings[open]>.field-grid{margin-inline:16px}
.admin-body .editor-excerpt{min-height:112px!important}
.admin-body .editor-status-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto}
.admin-body .editor-status-actions .form-message:empty{display:none}
.admin-body .editor-status-actions .form-message{flex:1 0 100%;margin:0;text-align:right}
.admin-body .admin-editor-form .admin-inspector .panel:has(.editor-status-actions)>.panel-heading{gap:8px}
.admin-body .admin-editor-form .admin-inspector .panel:has(.editor-status-actions)>.panel-heading h3{flex:0 0 auto;white-space:nowrap}
.admin-body .editor-danger-actions{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--admin-line-soft)}
.admin-body .editor-form-actions{justify-content:flex-start;min-height:40px}
.admin-body .editor-form-actions .form-message{margin:0}
.admin-body .post-schedule-field[hidden]{display:none!important}
.admin-body .rich-editor{min-width:0;overflow:visible;border:1px solid var(--admin-line);border-radius:8px;background:#fff}
.admin-body .rich-editor-toolbar{display:flex;align-items:center;min-width:0;width:100%;gap:4px;flex-wrap:wrap;overflow:visible;padding:7px 8px;border-bottom:1px solid var(--admin-line-soft);background:#fbfcfd}
.admin-body .rich-editor-toolbar .ql-formats{display:flex;align-items:center;min-width:0;gap:4px;margin:0}
.admin-body .rich-editor-toolbar .rich-editor-advanced{display:flex}
.admin-body .rich-editor-toolbar select{box-sizing:border-box;width:auto!important;height:30px;min-height:30px;padding:0 24px 0 8px;border:1px solid var(--admin-line);border-radius:6px;background:#fff;color:#465464;font-size:13px;line-height:18px}
.admin-body .rich-editor-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;border:1px solid var(--admin-line);border-radius:6px;background:#fff;color:#465464;cursor:pointer}
.admin-body .rich-editor-button:hover,.admin-body .rich-editor-button.is-active,.admin-body .rich-editor-button.ql-active{border-color:#a9c9ef;background:var(--admin-accent-soft);color:var(--admin-accent)}
.admin-body .rich-editor-icon{display:block;width:16px;height:16px;pointer-events:none}
.admin-body .rich-editor-divider{width:1px;height:18px;margin:0 3px;background:var(--admin-line)}
.admin-body .rich-editor-surface{min-height:360px;padding:0;color:var(--admin-ink);background:#fff;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.admin-body .rich-editor-surface .ql-editor{min-height:360px;padding:18px 20px;outline:none;color:var(--admin-ink);font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.admin-body .rich-editor-surface .ql-editor:focus{box-shadow:inset 0 0 0 2px rgba(23,105,210,.14)}
.admin-body .rich-editor-surface p{margin:0 0 12px}
.admin-body .rich-editor-surface h2,.admin-body .rich-editor-surface h3,.admin-body .rich-editor-surface h4{margin:18px 0 10px;line-height:1.35}
.admin-body .rich-editor-surface img{display:block;max-width:100%;height:auto;margin:14px 0;border-radius:6px}
.admin-body .rich-editor-source{display:block;box-sizing:border-box;width:100%;min-height:360px;padding:18px 20px;border:0;outline:0;resize:vertical;color:var(--admin-ink);background:#fff;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.admin-body .rich-editor-source[hidden],.admin-body .rich-editor-value{display:none!important}
.admin-body .rich-editor-footer{display:flex;justify-content:space-between;gap:12px;padding:7px 12px;border-top:1px solid var(--admin-line-soft);color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .editor-secondary-settings+.custom-fields-section,.admin-body .custom-fields-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--admin-line)}

/* 문의 상세와 상태 흐름 */
.admin-body .status-flow{display:grid;grid-template-columns:minmax(210px,240px) minmax(0,1fr);align-items:center;gap:20px;min-width:0;margin:0 0 24px;padding:16px 18px;border:1px solid var(--admin-line);border-radius:10px;background:#fff}
.admin-body .status-flow-summary{min-width:0;padding-right:20px;border-right:1px solid var(--admin-line)}
.admin-body .status-flow-summary>span{display:block;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .status-flow-summary strong{display:block;margin-top:2px;color:var(--admin-ink);font-size:20px;line-height:28px;font-weight:750}
.admin-body .status-flow-summary p{margin:4px 0 0;color:var(--admin-muted);font-size:13px;line-height:20px;overflow-wrap:anywhere}
.admin-body .status-flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.admin-body .status-flow-steps .status-step{position:relative;display:flex;align-items:center;gap:8px;min-width:0;color:#9aa4ae;font-size:13px;font-weight:700;line-height:20px}
.admin-body .status-flow-steps .status-step:not(:last-child)::after{content:"";height:1px;flex:1;margin:0 4px;background:var(--admin-line)}
.admin-body .status-flow-steps .status-step i{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#eef1f4;color:#89939e;font-style:normal;font-size:13px}
.admin-body .status-flow-steps .status-step.done{color:var(--admin-accent)}
.admin-body .status-flow-steps .status-step.done i{background:var(--admin-accent-soft);color:var(--admin-accent)}
.admin-body .status-flow-steps .status-step.current{color:var(--admin-ink)}
.admin-body .status-flow-steps .status-step.current i{background:var(--admin-accent);color:#fff}
.admin-body .inquiry-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;min-width:0}
.admin-body .inquiry-detail>div,.admin-body .inquiry-detail>aside{min-width:0}
.admin-body .inquiry-content-panel,.admin-body .inquiry-reply-panel,.admin-body .inquiry-process-panel,.admin-body .inquiry-client-panel{min-width:0}
.admin-body .message-box{min-width:0;padding:16px;border-radius:8px;background:#f5f7f9;color:#314151;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-body .reply-editor{margin:0 0 12px;padding:16px;border:1px solid var(--admin-line);border-radius:8px;background:#fbfdff}
.admin-body .reply-meta{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .reply-new{margin-top:18px;padding-top:18px;border-top:1px solid var(--admin-line-soft)}
.admin-body .inquiry-reply-empty{margin:0 0 8px;color:var(--admin-muted);font-size:14px;line-height:21px}
.admin-body .inquiry-reply-panel .field,.admin-body .inquiry-process-panel .field{width:100%;min-width:0}
.admin-body .inquiry-reply-panel textarea,.admin-body .inquiry-process-panel textarea{width:100%;min-width:0;min-height:220px;resize:vertical}
.admin-body .inquiry-process-panel form+form{margin-top:20px;padding-top:20px;border-top:1px solid var(--admin-line-soft)}
.admin-body .inquiry-process-panel form+form textarea{min-height:170px}
.admin-body .contact-list{margin:0}
.admin-body .contact-list>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;min-width:0;padding:11px 0;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .contact-list>div:last-child{border-bottom:0}
.admin-body .contact-list dt{color:var(--admin-muted);font-size:13px;line-height:20px;font-weight:700}
.admin-body .contact-list dd{min-width:0;margin:0;color:#314151;font-size:14px;line-height:21px;font-weight:650;overflow-wrap:anywhere}
.admin-body .status-history{display:grid;gap:0;margin:0;padding:0;list-style:none}
.admin-body .status-history li{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .status-history li:last-child{border-bottom:0}
.admin-body .status-history strong{font-size:14px;line-height:20px}
.admin-body .status-history span{color:var(--admin-muted);font-size:13px;line-height:19px}

/* 게시판 설정·회원 상세 드로어 */
.admin-body.admin-drawer-open{overflow:hidden}
.admin-body .admin-drawer[hidden],.admin-body .media-library-dialog[hidden]{display:none!important}
.admin-body .admin-drawer{position:fixed;inset:0;z-index:1160;pointer-events:none}
.admin-body .admin-drawer-backdrop{position:absolute;inset:0;background:rgba(18,25,33,.58);opacity:0;pointer-events:none;transition:opacity .28s ease}
.admin-body .admin-drawer-panel{position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:column;width:min(640px,calc(100vw - 32px));min-width:40vw;height:100%;max-width:100vw;border-left:1px solid var(--admin-line);background:#fff;box-shadow:-16px 0 32px rgba(18,25,33,.16);transform:translateX(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);will-change:transform;pointer-events:auto}
.admin-body .admin-drawer.is-open .admin-drawer-backdrop{opacity:1;pointer-events:auto}
.admin-body .admin-drawer.is-open .admin-drawer-panel{transform:translateX(0)}
.admin-body .admin-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:0 0 auto;padding:20px 24px 18px;border-bottom:1px solid var(--admin-line)}
.admin-body .admin-drawer-head h3{margin:0;color:var(--admin-ink);font-size:20px;line-height:28px;font-weight:750}
.admin-body .admin-drawer-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:var(--admin-muted)}
.admin-body .admin-drawer-close:hover{background:#f4f6f8;color:var(--admin-ink)}
.admin-body .admin-drawer-close svg{width:17px;height:17px}
.admin-body .admin-drawer-body{min-width:0;overflow:auto;padding:24px}
.admin-body .admin-drawer-body>form,.admin-body .admin-drawer-body .board-settings-drawer-panels{min-width:0}
.admin-body .admin-drawer-body form{display:grid;gap:0}
.admin-body .admin-drawer-body .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.admin-body .admin-drawer-body .field{min-width:0}
.admin-body .admin-drawer-body .field small{overflow-wrap:anywhere}
.admin-body .admin-drawer-body>form>.form-actions{position:sticky;bottom:-1px;z-index:2;margin:24px -24px -24px;padding:18px 24px 24px;border-top:1px solid var(--admin-line);background:#fff}
.admin-body .admin-drawer-body .board-settings-tabs{margin:0 0 20px}
.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="permissions"]),.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="features"]),.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="display"]),.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="fields"]){width:min(760px,calc(100vw - 32px))}
.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="basic"]),.admin-body .admin-drawer-panel:has(.board-settings-panel:not(.is-hidden)[data-tab="seo"]){width:min(560px,calc(100vw - 32px))}
.admin-body .drawer-form-note{margin:0 0 16px;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .drawer-meta-fields{display:grid;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--admin-line-soft)}
.admin-body .drawer-profile{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;padding:16px;border:1px solid var(--admin-line);border-radius:8px;background:#fbfcfd}
.admin-body .drawer-profile>div{display:grid;gap:3px;min-width:0}
.admin-body .drawer-profile strong{color:var(--admin-ink);font-size:17px;line-height:24px;overflow-wrap:anywhere}
.admin-body .drawer-profile span:not(.publish-state){color:var(--admin-muted);font-size:13px;line-height:19px;overflow-wrap:anywhere}
.admin-body .drawer-section{margin:0 0 12px;padding:16px;border:1px solid var(--admin-line);border-radius:8px;background:#fff}
.admin-body .drawer-section:last-child{margin-bottom:0}
.admin-body .drawer-section .panel-heading{margin-bottom:12px}
.admin-body .drawer-section .panel-heading h4{margin:0;font-size:16px;line-height:22px}
.admin-body .drawer-section .contact-list>div{padding:10px 0}
.admin-body .admin-drawer-body .drawer-section .form-actions{position:static;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--admin-line-soft);background:transparent}
.admin-body .admin-account-info .contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.admin-body .admin-extra-info:has(.compact-empty-note){padding-top:12px;padding-bottom:12px}
.admin-body .board-settings-section-head{margin:0 0 18px}
.admin-body .board-settings-section-head h3{margin:0;color:var(--admin-ink);font-size:18px;line-height:26px}
.admin-body .board-settings-section-head p{margin:5px 0 0;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .board-field-locked{margin:0 0 20px;padding:14px;border:1px solid var(--admin-line);border-radius:8px;background:#f8fafb}
.admin-body .board-field-locked h4,.admin-body .board-field-new h4{margin:0 0 10px;color:var(--admin-ink);font-size:15px;line-height:21px}
.admin-body .board-field-locked-list{display:flex;flex-wrap:wrap;gap:6px;color:var(--admin-muted);font-size:13px}
.admin-body .board-field-locked-list span{padding:4px 8px;border-radius:5px;background:#eef1f4}
.admin-body .board-field-list{display:grid;gap:8px}
.admin-body .board-field-row{min-width:0;padding:16px;border:1px solid var(--admin-line);border-radius:8px;background:#fff}
.admin-body .board-field-row.is-disabled{background:#fafafa;opacity:.78}
.admin-body .board-field-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.admin-body .board-field-row-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.admin-body .board-field-row-title strong{color:var(--admin-ink);font-size:15px;line-height:21px}
.admin-body .board-field-row-title code{max-width:260px;overflow:hidden;color:var(--admin-muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.admin-body .board-field-row-actions{display:flex;flex:0 0 auto;gap:6px}
.admin-body .board-field-row-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--admin-muted);font-size:13px;line-height:19px}
.admin-body .board-field-details{margin-top:14px;border-top:1px solid var(--admin-line-soft)}
.admin-body .board-field-details>summary{padding:12px 0 0;color:var(--admin-accent);font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.admin-body .board-field-details>summary::-webkit-details-marker{display:none}
.admin-body .board-field-editor{margin-top:14px;padding-top:2px}
.admin-body .board-field-new{margin-top:20px;padding-top:20px;border-top:1px solid var(--admin-line)}
.admin-body .board-field-empty{margin:0;padding:16px 0;color:var(--admin-muted);font-size:13px;line-height:20px}

/* 미디어: 목록에서는 식별 정보·사용 여부만 먼저 보여준다. */
.admin-body .media-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;min-width:0}
.admin-body .media-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--admin-line);border-radius:9px;background:#fff}
.admin-body .media-card-open{display:block;width:100%;min-width:0;padding:0;border:0;border-radius:8px 8px 0 0;background:#fff;color:inherit;text-align:left;cursor:pointer}
.admin-body .media-card-open:focus-visible{outline:3px solid rgba(23,105,210,.3);outline-offset:-3px}
.admin-body .media-card-preview{display:grid;place-items:center;box-sizing:border-box;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f1f3f5}
.admin-body .media-card-preview img{width:100%;height:100%;min-width:0;min-height:0;padding:8px;object-fit:contain}
.admin-body .media-card-body{display:grid;gap:4px;min-width:0;padding:12px 13px 0}
.admin-body .media-card-body>strong{min-width:0;color:var(--admin-ink);font-size:14px;line-height:20px;overflow-wrap:anywhere;word-break:break-word}
.admin-body .media-card-body>span{min-width:0;color:var(--admin-muted);font-size:13px;line-height:19px;overflow-wrap:anywhere}
.admin-body .media-card-body>.media-card-status{display:inline-flex;align-items:center;justify-self:start;min-height:24px;padding:0 8px;border-radius:7px;background:#f0f2f4;color:#66717d;font-size:13px;font-weight:700;line-height:18px}
.admin-body .media-card-body>.media-card-status.is-used{background:var(--admin-warning-soft);color:var(--admin-warning)}
.admin-body .media-card>.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;padding:10px 13px 13px}
.admin-body .media-card>.row-actions .button{height:34px;min-height:34px;padding:0 10px;font-size:13px}
.admin-body .media-card>.row-actions [data-copy]{color:#4e5968}
.admin-body .media-card>.row-actions [data-media-delete]:disabled{border-color:#d6dbe0;background:#f0f2f4;color:#7d8996;cursor:not-allowed}
.admin-body .media-upload-panel{width:100%;max-width:520px}
.admin-body .media-detail-image-placeholder{padding:24px;color:var(--admin-muted);font-size:14px;line-height:21px}
.admin-body .media-detail-drawer[hidden]{display:none!important}
.admin-body.media-detail-open{overflow:hidden}
.admin-body .media-detail-drawer{position:fixed;inset:0;z-index:1100;display:block;pointer-events:none}
.admin-body .media-detail-drawer.is-expanded{pointer-events:auto}
.admin-body .media-detail-backdrop{position:absolute;inset:0;background:rgba(18,25,33,.34);opacity:0;pointer-events:none;transition:opacity .28s ease}
.admin-body .media-detail-panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;box-sizing:border-box;width:min(520px,100vw);min-width:40vw;height:100%;overflow:hidden;border-left:1px solid var(--admin-line);background:#fff;box-shadow:-12px 0 32px rgba(18,25,33,.16);transform:translateX(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);will-change:transform}
.admin-body.media-detail-open .media-detail-drawer{pointer-events:auto}
.admin-body .media-detail-drawer.is-open .media-detail-backdrop{opacity:1;pointer-events:auto}
.admin-body .media-detail-drawer.is-open .media-detail-panel{transform:translateX(0)}
.admin-body .media-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:0 0 auto;padding:20px 24px;border-bottom:1px solid var(--admin-line)}
.admin-body .media-detail-head h3{margin:0;color:var(--admin-ink);font-size:20px;line-height:28px;overflow-wrap:anywhere}
.admin-body .media-detail-head .eyebrow{display:block;margin:0 0 4px;color:var(--admin-muted);font-size:13px;font-weight:700;line-height:20px}
.admin-body .media-detail-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.admin-body .media-detail-content{display:grid;align-content:start;gap:20px;min-height:0;padding:24px;overflow:auto}
.admin-body .media-detail-preview{display:grid;place-items:center;box-sizing:border-box;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--admin-line);border-radius:8px;background:#f4f6f8}
.admin-body .media-detail-preview img{display:block;width:100%;height:100%;object-fit:contain}
.admin-body .media-detail-meta{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0;margin:0;border-top:1px solid var(--admin-line-soft)}
.admin-body .media-detail-meta>div{display:contents}
.admin-body .media-detail-meta dt,.admin-body .media-detail-meta dd{margin:0;padding:10px 0;border-bottom:1px solid var(--admin-line-soft);font-size:13px;line-height:20px;overflow-wrap:anywhere}
.admin-body .media-detail-meta dt{color:var(--admin-muted);font-weight:700}
.admin-body .media-detail-meta dd{color:var(--admin-ink);text-align:right}
.admin-body .media-detail-usages{min-width:0}
.admin-body .media-detail-usages .panel-heading{align-items:center;margin-bottom:10px}
.admin-body .media-detail-usages .panel-heading h4{margin:0;color:var(--admin-ink);font-size:16px;line-height:22px}
.admin-body .media-detail-usages .panel-heading>span{color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .media-detail-usage{padding:12px 0;border-top:1px solid var(--admin-line-soft)}
.admin-body .media-detail-usage-link{display:grid;gap:3px;min-width:0}
.admin-body .media-detail-usage-link strong{color:var(--admin-ink);font-size:14px;line-height:21px;overflow-wrap:anywhere}
.admin-body .media-detail-usage-link span,.admin-body .media-detail-empty{margin:0;color:var(--admin-muted);font-size:13px;line-height:20px;overflow-wrap:anywhere}
.admin-body .media-detail-usage-link[href]:hover strong{color:var(--admin-accent);text-decoration:underline;text-underline-offset:3px}
.admin-body .media-detail-drawer.is-expanded .media-detail-panel{top:24px;right:24px;width:min(1120px,calc(100vw - 48px));height:calc(100% - 48px);border:1px solid var(--admin-line);border-radius:10px}
.admin-body .media-library-dialog{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}
.admin-body .media-library-dialog-backdrop{position:absolute;inset:0;background:rgba(18,25,33,.58)}
.admin-body .media-library-dialog-panel{position:relative;display:flex;flex-direction:column;width:min(820px,100%);max-height:min(700px,calc(100vh - 48px));padding:20px;border:1px solid var(--admin-line);border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(18,25,33,.2)}
.admin-body .media-library-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .media-library-dialog-head h3{margin:0;font-size:18px;line-height:26px}
.admin-body .media-library-dialog-head p{margin:4px 0 0;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .media-library-dialog-toolbar{display:flex;gap:8px;margin:16px 0 8px}
.admin-body .media-library-dialog-toolbar input{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--admin-line);border-radius:8px;font-size:14px}
.admin-body .media-library-dialog-status{min-height:20px;margin:0 0 10px;color:var(--admin-muted);font-size:13px;line-height:20px}

/* 일반 모듈 화면도 같은 폼·표 규칙을 사용한다. */
.admin-body .module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.admin-body .module-card{display:flex;min-height:150px;flex-direction:column;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--admin-line);border-radius:9px;background:#fff}
.admin-body .module-card h3{margin:0 0 6px;color:var(--admin-ink);font-size:16px;line-height:22px}
.admin-body .module-card p{margin:0;color:var(--admin-muted);font-size:14px;line-height:21px}
.admin-body .module-card.disabled{background:#fafbfc}
.admin-body .history-list{display:grid;gap:0}
.admin-body .history-list>div{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--admin-line-soft)}
.admin-body .history-list>div:last-child{border-bottom:0}
.admin-body .history-list strong{font-size:14px;line-height:20px}
.admin-body .history-list span,.admin-body .history-list small{color:var(--admin-muted);font-size:13px;line-height:19px;overflow-wrap:anywhere}
.admin-body .inline-admin-form{display:flex;align-items:center;gap:8px}
.admin-body .inline-admin-form select{height:36px;padding:0 30px 0 10px;border:1px solid var(--admin-line);border-radius:7px;background:#fff}

/* 메뉴와 폼을 좁은 화면에서 세로 작업 순서로 바꾼다. */
@media (max-width:1080px){
  .admin-body .admin-shell{display:block}
  .admin-body .admin-side{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);height:100vh;min-height:100vh;transform:translateX(-105%);transition:transform .18s ease;box-shadow:12px 0 28px rgba(18,25,33,.16)}
  .admin-body .admin-side.is-open{transform:translateX(0)}
  .admin-body .admin-side-close{display:grid}
  .admin-body .admin-nav-backdrop{position:fixed;inset:0;z-index:20;display:block;background:rgba(18,25,33,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}
  .admin-body .admin-nav-backdrop.is-open{opacity:1;pointer-events:auto}
  .admin-body.admin-nav-open{overflow:hidden}
  .admin-body .admin-main{padding:32px 32px 72px}
  .admin-body .admin-top{min-height:72px;margin:0 0 32px}
  .admin-body .admin-menu-button{display:grid}
  .admin-body .admin-top-actions .button:first-child{display:none}
  .admin-body .admin-dashboard-grid{grid-template-columns:1fr}
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .admin-body .admin-editor-form .admin-editor-layout{grid-template-columns:1fr;gap:0}
  .admin-body .admin-editor-form .admin-inspector{margin-top:16px}
  .admin-body .inquiry-detail{grid-template-columns:1fr}
  .admin-body .inquiry-detail>aside{margin-top:0}
  .admin-body .admin-dashboard-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .admin-body{font-size:15px}
  .admin-body .admin-main{padding:24px 16px 64px}
  .admin-body .admin-top{min-height:64px;margin-bottom:24px}
  .admin-body .admin-top-context{font-size:13px}
  .admin-body .admin-page-heading,.admin-body .admin-editor-heading,.admin-body .admin-detail-heading{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:22px}
  .admin-body .admin-page-heading h2,.admin-body .admin-editor-heading h2,.admin-body .admin-detail-heading h2{font-size:26px;line-height:34px}
  .admin-body .admin-page-heading p,.admin-body .admin-editor-heading p,.admin-body .admin-detail-heading p{font-size:14px;line-height:21px}
  .admin-body .admin-heading-actions{width:100%;justify-content:flex-start}
  .admin-body .admin-heading-actions .button{flex:0 0 auto}
  .admin-body .admin-welcome{display:block;padding:20px 0;margin-bottom:20px}
  .admin-body .admin-welcome h2{font-size:21px;line-height:29px}
  .admin-body .admin-welcome-actions{justify-content:stretch;margin-top:14px}
  .admin-body .admin-welcome-actions .button{flex:1}
  .admin-body .dashboard-status-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-body .dashboard-status-stats .stat{padding:14px}
  .admin-body .dashboard-status-stats .stat strong{font-size:26px;line-height:32px}
  .admin-body .dashboard-content-panel .content-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .admin-body .dashboard-content-panel .content-metric{min-height:96px;padding:12px}
  .admin-body .dashboard-section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .admin-body .panel{padding:18px}
  .admin-body .panel-heading h2,.admin-body .panel-heading h3{font-size:17px;line-height:24px}
  .admin-body .field-grid,.admin-body .admin-drawer-body .field-grid,.admin-body .checkbox-grid{grid-template-columns:minmax(0,1fr)}
  .admin-body .field textarea{min-height:132px}
  .admin-body .admin-list-toolbar,.admin-body .media-toolbar{grid-template-columns:1fr;align-items:stretch;gap:10px;margin-bottom:14px}
  .admin-body .media-filter-form{align-items:stretch}
  .admin-body .media-search,.admin-body .admin-search{flex-basis:100%;max-width:none;width:100%}
  .admin-body .media-filter-control{flex:1 1 0}
  .admin-body .media-filter-control select,.admin-body .admin-toolbar>select{width:100%;min-width:0}
  .admin-body .admin-list-toolbar-actions{justify-content:stretch}
  .admin-body .admin-list-toolbar-actions .button{flex:1}
  .admin-body .admin-toolbar{align-items:stretch}
  .admin-body .admin-toolbar .admin-search{flex-basis:100%;max-width:none}
  .admin-body .admin-toolbar>select{flex:1 1 0}
  .admin-body .admin-table-wrap{border:0;overflow:visible;background:transparent}
  .admin-body .admin-table{min-width:0;table-layout:auto}
  .admin-body .admin-table thead{display:none}
  .admin-body .admin-table,.admin-body .admin-table tbody,.admin-body .admin-table tr,.admin-body .admin-table td{display:block;width:100%}
  .admin-body .admin-table tr{margin:0 0 8px;padding:12px;border:1px solid var(--admin-line);border-radius:9px;background:#fff}
  .admin-body .admin-table td{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:6px 0;border:0;text-align:right}
  .admin-body .admin-table td:before{content:attr(data-label);display:block;flex:0 0 auto;color:var(--admin-muted);font-size:13px;line-height:19px;font-weight:700;text-align:left;white-space:nowrap}
  .admin-body .admin-table td:first-child{display:block;text-align:left}
  .admin-body .admin-table td:first-child:before{display:none}
  .admin-body .admin-table td[data-label="문의"],.admin-body .admin-table td[data-label="콘텐츠"],.admin-body .admin-table td[data-label="사례"],.admin-body .admin-table td[data-label="회원"],.admin-body .admin-table td[data-label="강좌"],.admin-body .admin-table td[data-label="게시물"]{display:block;text-align:left}
  .admin-body .admin-table td[data-label="문의"]:before,.admin-body .admin-table td[data-label="콘텐츠"]:before,.admin-body .admin-table td[data-label="사례"]:before,.admin-body .admin-table td[data-label="회원"]:before,.admin-body .admin-table td[data-label="강좌"]:before,.admin-body .admin-table td[data-label="게시물"]:before{display:none}
  .admin-body .admin-table .table-title{max-width:none}
  .admin-body .admin-table .table-title strong{font-size:15px;line-height:21px;white-space:normal}
  .admin-body .admin-table .table-title small{font-size:13px;line-height:19px;white-space:normal}
  .admin-body .admin-table td[data-label="동작"] .table-row-actions{justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap}
  .admin-body .admin-members-table th:last-child,.admin-body .admin-members-table td:last-child{width:100%;min-width:0}
  .admin-body .admin-board-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px}
  .admin-body .admin-board-table td[data-label="게시판"]{grid-column:1/-1;padding:0 0 10px}
  .admin-body .admin-board-table td[data-label="게시판"]:before{display:none}
  .admin-body .admin-board-table td[data-label="게시물"]{grid-column:1;grid-row:2}
  .admin-body .admin-board-table td[data-label="관리"]{grid-column:2;grid-row:2}
  .admin-body .admin-board-table .board-post-count{justify-content:flex-start}
  .admin-body .admin-board-table td:before{font-size:13px}
  .admin-body .admin-inquiry-table tr{display:flex!important;flex-wrap:wrap;align-items:center;gap:0 12px}
  .admin-body .admin-inquiry-table td{display:flex;align-items:center;width:auto;padding:5px 0;text-align:left}
  .admin-body .admin-inquiry-table td:before{display:none}
  .admin-body .admin-inquiry-table td[data-label="문의"]{display:block;flex:1 0 100%;padding:0 0 8px}
  .admin-body .admin-inquiry-table td[data-label="동작"]{margin-left:auto}
  .admin-body .status-flow{grid-template-columns:1fr;gap:12px;padding:14px}
  .admin-body .status-flow-summary{padding:0 0 10px;border-right:0;border-bottom:1px solid var(--admin-line)}
  .admin-body .status-flow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .admin-body .status-flow-steps .status-step{display:grid;grid-template-columns:1fr;justify-items:center;gap:5px;text-align:center;font-size:12px;line-height:17px}
  .admin-body .status-flow-steps .status-step:not(:last-child)::after{display:none}
  .admin-body .inquiry-reply-panel textarea{min-height:200px}
  .admin-body .inquiry-process-panel textarea{min-height:150px}
  .admin-body .reply-meta{display:grid;gap:3px}
  .admin-body .admin-drawer-panel{width:100%;max-width:none}
  .admin-body .admin-drawer-head{padding:16px}
  .admin-body .admin-drawer-body{padding:16px}
  .admin-body .admin-drawer-body>form>.form-actions{margin:20px -16px -16px;padding:16px 16px 18px}
  .admin-body .admin-drawer-body .drawer-section .form-actions{margin:20px 0 0;padding:16px 0 0}
  .admin-body .admin-account-info .contact-list{grid-template-columns:1fr}
  .admin-body .board-field-row-head{align-items:flex-start;flex-direction:column;gap:10px}
  .admin-body .board-field-row-actions{width:100%}
  .admin-body .board-field-row-actions .button{flex:1}
  .admin-body .media-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .admin-body .media-card-preview{aspect-ratio:4/3}
  .admin-body .media-card-body{padding:10px 10px 0}
  .admin-body .media-card>.row-actions{padding:8px 10px 10px}
  .admin-body .media-card>.row-actions .button{flex:1 1 0;min-width:0;padding-inline:8px}
  .admin-body .media-upload-panel{max-width:none}
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-body .module-config-panel .module-card{gap:16px;padding:18px}
  .admin-body .rich-editor-toolbar{gap:3px;padding:6px}
  .admin-body .rich-editor-toolbar select{font-size:12px}
  .admin-body .rich-editor-surface,.admin-body .rich-editor-surface .ql-editor,.admin-body .rich-editor-source{min-height:180px}
  .admin-body .rich-editor-surface .ql-editor,.admin-body .rich-editor-source{padding:14px}
}
@media (max-width:420px){
  .admin-body .admin-main{padding-top:24px;padding-inline:12px}
  .admin-body .dashboard-content-panel .content-metrics{grid-template-columns:1fr}
  .admin-body .media-library{grid-template-columns:1fr}
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:1fr}
  .admin-body .admin-welcome-actions{display:grid;grid-template-columns:1fr}
  .admin-body .status-flow-steps .status-step{font-size:12px}
  .admin-body .rich-editor-toolbar{gap:2px;flex-wrap:nowrap;padding:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
  .admin-body .rich-editor-toolbar .rich-editor-divider{display:none}
  .admin-body .rich-editor-toolbar .ql-formats{flex:0 0 auto;gap:2px}
  .admin-body .rich-editor-button{width:28px;min-width:28px;height:30px}
}
@media (min-width:1081px) and (max-width:1551px){
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:992px) and (min-width:640px){
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:639px){
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:1fr}
  .admin-body .media-library{grid-template-columns:1fr}
}

/* 2026 관리자 리디자인 — 정밀 운영 데스크 */
.admin-body{
  --admin-sidebar-width:248px;
  --admin-page-max:1400px;
  --admin-gutter:48px;
  --admin-canvas:#f3f5f7;
  --admin-surface:#fff;
  --admin-ink:#111827;
  --admin-muted:#667085;
  --admin-faint:#8b95a5;
  --admin-line:#d9dee5;
  --admin-line-soft:#e9edf2;
  --admin-accent:#176bff;
  --admin-accent-strong:#0b54d6;
  --admin-accent-soft:#edf4ff;
  --admin-success:#067647;
  --admin-success-soft:#ecfdf3;
  --admin-warning:#9a6700;
  --admin-warning-soft:#fffaeb;
  --admin-danger:#b42318;
  --admin-danger-soft:#fef3f2;
  --admin-radius:14px;
  --admin-control-height:46px;
  --admin-type-page:28px;
  --admin-type-section:18px;
  --admin-type-subsection:16px;
  --admin-type-body:14px;
  --admin-type-caption:13px;
  background:var(--admin-canvas);
  color:var(--admin-ink);
  font-size:var(--admin-type-body);
  line-height:1.55;
  letter-spacing:-.015em;
  caret-color:var(--admin-accent);
  scrollbar-color:#aeb7c3 transparent;
  scrollbar-width:thin;
}
.admin-body ::selection{background:#cfe0ff;color:#0b2f70}
.admin-body :focus-visible{outline:3px solid rgba(23,107,255,.24);outline-offset:3px}

/* 어두운 내비게이션은 작업 영역과 도구 영역을 명확하게 나눈다. */
.admin-body .admin-side{padding:0 14px;border-right:0;background:#111820;color:#fff;box-shadow:10px 0 30px rgba(17,24,32,.06)}
.admin-body .admin-side-head{flex:0 0 84px;min-height:84px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-body .admin-brand{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;color:#fff}
.admin-body .admin-brand-symbol{display:block;width:36px;height:37px;border-radius:0;background:transparent;object-fit:contain;box-shadow:none}
.admin-body .admin-brand-copy{display:grid;gap:1px;min-width:0}
.admin-body .admin-brand-copy strong{overflow:hidden;color:#fff;font-size:16px;font-weight:800;line-height:20px;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}
.admin-body .admin-brand-copy small{color:#8f9bab;font-size:11px;font-weight:700;line-height:16px;letter-spacing:.04em}
.admin-body .admin-side-head .admin-site-link,.admin-body .admin-side-close{color:#8f9bab}
.admin-body .admin-side-head .admin-site-link:hover,.admin-body .admin-side-close:hover{background:rgba(255,255,255,.08);color:#fff}
.admin-body .admin-nav{gap:4px;padding:18px 0 20px}
.admin-body .admin-nav-group{gap:3px}
.admin-body .admin-nav-group.divider-before{margin-top:14px;padding-top:14px;border-top-color:rgba(255,255,255,.1)}
.admin-body .admin-nav-parent,.admin-body .admin-nav-parent.admin-nav-toggle{height:44px;min-height:44px;padding:0 12px;border-radius:10px;color:#aeb8c5;font-size:14px;font-weight:650}
.admin-body .admin-nav-parent:hover,.admin-body .admin-nav-parent:focus-visible{background:rgba(255,255,255,.07);color:#fff}
.admin-body .admin-nav-parent.is-active{background:#176bff;color:#fff;box-shadow:0 8px 24px rgba(23,107,255,.22)}
.admin-body .admin-nav-icon,.admin-body .admin-nav-chevron-wrap{color:#778495}
.admin-body .admin-nav-parent.is-active .admin-nav-icon,.admin-body .admin-nav-parent.is-active .admin-nav-chevron-wrap{color:#fff}
.admin-body .admin-subnav{gap:2px;margin:4px 0 10px 20px;padding-left:20px;border-left-color:rgba(255,255,255,.13)}
.admin-body .admin-subnav-link{min-height:38px;padding:0 11px;border-radius:9px;color:#8996a6;font-size:13px}
.admin-body .admin-subnav-link:hover,.admin-body .admin-subnav-link:focus-visible{background:rgba(255,255,255,.06);color:#fff}
.admin-body .admin-subnav-link.is-active{background:rgba(23,107,255,.16);color:#8ab7ff}
.admin-body .admin-side-footer{margin:0 -14px;padding:14px 22px 18px;border-top-color:rgba(255,255,255,.1);background:#111820}
.admin-body .admin-side-logout{height:40px;min-height:40px;color:#8f9bab}
.admin-body .admin-side-logout:hover,.admin-body .admin-side-logout:focus-visible{background:rgba(255,255,255,.07);color:#fff}

/* 본문은 넓게 쓰되 모든 페이지가 같은 시작선과 리듬을 가진다. */
.admin-body .admin-main{padding:46px var(--admin-gutter) 88px}
.admin-body .admin-content-frame{max-width:var(--admin-page-max)}
.admin-body .admin-page-heading,.admin-body .admin-editor-heading,.admin-body .admin-detail-heading{align-items:flex-end;gap:24px;margin:0 0 28px}
.admin-body .admin-page-heading h2,.admin-body .admin-editor-heading h2,.admin-body .admin-detail-heading h2{font-size:var(--admin-type-page);font-weight:780;line-height:36px;letter-spacing:-.03em}
.admin-body .admin-page-heading p,.admin-body .admin-editor-heading p,.admin-body .admin-detail-heading p{max-width:68ch;margin-top:8px;color:var(--admin-muted);font-size:14px;font-weight:500;line-height:22px}
.admin-body .admin-breadcrumb{margin-bottom:18px;color:#8b95a5;font-size:13px}
.admin-body .admin-breadcrumb a{color:#475467;font-weight:700}
.admin-body .admin-breadcrumb a:hover{color:var(--admin-accent)}
.admin-body .admin-heading-meta{padding:8px 0}
.admin-body .admin-heading-meta strong{font-size:24px;font-weight:800;line-height:32px}
.admin-body .eyebrow,.admin-body .admin-kicker{display:none!important}

/* 컨트롤과 표면 */
.admin-body .panel{margin-bottom:20px;padding:28px;border-color:var(--admin-line);border-radius:var(--admin-radius);background:#fff}
.admin-body .panel-heading{align-items:center;margin-bottom:22px}
.admin-body .panel-heading h2,.admin-body .panel-heading h3{font-size:var(--admin-type-section);font-weight:780;line-height:26px;letter-spacing:-.02em}
.admin-body .panel-heading p{font-size:14px;line-height:21px}
.admin-body .button{height:44px;min-height:44px;padding:0 17px;border-radius:10px;font-size:14px;font-weight:760;line-height:20px;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}
.admin-body .button:hover{transform:translateY(-1px)}
.admin-body .button:active{transform:translateY(0)}
.admin-body .button.small{height:36px;min-height:36px;padding:0 13px;border-radius:9px}
.admin-body .button.ghost,.admin-body .button.secondary{border-color:#d0d5dd;background:#fff;color:#344054}
.admin-body .button.ghost:hover,.admin-body .button.secondary:hover{border-color:#98a2b3;background:#f8fafc;color:#111827}
.admin-body .form-actions{margin-top:30px;padding-top:22px}
.admin-body .field{gap:9px;margin-bottom:20px}
.admin-body .field label{font-size:14px;font-weight:750}
.admin-body .field input,.admin-body .field select,.admin-body .field textarea{border-color:#cfd6df;border-radius:10px;font-size:var(--admin-type-body)}
.admin-body .field input,.admin-body .field select{height:46px;min-height:46px;padding-inline:14px}
.admin-body .field textarea{min-height:148px;padding:12px 14px}
.admin-body .field input:hover,.admin-body .field select:hover,.admin-body .field textarea:hover{border-color:#aeb7c3}
.admin-body .field input:focus,.admin-body .field select:focus,.admin-body .field textarea:focus{border-color:#176bff;box-shadow:0 0 0 3px rgba(23,107,255,.13)}
.admin-body .field-grid{column-gap:24px}
.admin-body .notice{padding:14px 16px;border-radius:10px}

/* 목록 도구막대와 기록표 */
.admin-body .admin-list-toolbar,.admin-body .media-toolbar{gap:16px;margin-bottom:16px}
.admin-body .media-toolbar-count{gap:8px}
.admin-body .media-toolbar-count strong{font-size:20px;font-weight:750;line-height:28px}
.admin-body .media-search,.admin-body .admin-search{height:42px;min-height:42px;max-width:640px;border:0;border-radius:0;background:transparent;box-shadow:none}
.admin-body .media-search:focus-within input,.admin-body .admin-search:focus-within input{border-color:#176bff;box-shadow:0 0 0 3px rgba(23,107,255,.12)}
.admin-body .media-search input,.admin-body .admin-search input{height:42px;min-height:42px;padding-inline:12px;border-color:#cfd6df;border-radius:8px;background:#fff}
.admin-body .media-search .button,.admin-body .admin-search .button{height:42px;min-height:42px;margin:0;padding-inline:14px;border-radius:8px;font-size:14px}
.admin-body .media-filter-control select,.admin-body .admin-toolbar>select{height:42px;min-height:42px;border-color:#cfd6df;border-radius:8px;color:#344054}
.admin-body .admin-toolbar{gap:8px;margin-bottom:16px}
.admin-body .filter-chips{gap:4px;margin-bottom:20px;padding-bottom:0;border-bottom:1px solid var(--admin-line)}
.admin-body .filter-chip{min-height:42px;padding:0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#667085}
.admin-body .filter-chip:hover{border-color:transparent;background:transparent;color:#111827}
.admin-body .filter-chip.active{border-color:#176bff;background:transparent;color:#111827;font-weight:800}
.admin-body .admin-table-wrap{border-color:var(--admin-line);border-radius:10px}
.admin-body .admin-table th,.admin-body .admin-table td{padding:13px 16px}
.admin-body .admin-table th{height:44px;background:#fbfcfd;color:#667085;font-size:13px;font-weight:700}
.admin-body .admin-table td{color:#475467;font-size:14px;line-height:21px}
.admin-body .admin-table:has(.admin-row-check) th:first-child,.admin-body .admin-table:has(.admin-row-check) td:first-child{box-sizing:border-box;width:40px;min-width:40px;max-width:40px;padding-left:14px;padding-right:4px}
.admin-body .admin-table:has(.admin-row-check) th:nth-child(2),.admin-body .admin-table:has(.admin-row-check) td:nth-child(2){padding-left:8px}
.admin-body .admin-table tbody tr{transition:background-color .14s ease}
.admin-body .admin-table tbody tr:hover{background:#f8fbff}
.admin-body .admin-table .table-title{gap:3px}
.admin-body .admin-table .table-title strong{color:#101828;font-size:var(--admin-type-body);font-weight:750}
.admin-body .admin-table .table-action{color:#52606d;font-weight:650}
.admin-body .admin-table .table-action:hover{color:var(--admin-accent);text-decoration:none}
.admin-body .admin-board-table{table-layout:fixed}
.admin-body .admin-board-table th:nth-child(1),.admin-body .admin-board-table td:nth-child(1){width:auto}
.admin-body .admin-board-table th:nth-child(2),.admin-body .admin-board-table td:nth-child(2){width:140px;text-align:right}
.admin-body .admin-board-table th:nth-child(3),.admin-body .admin-board-table td:nth-child(3){width:96px;text-align:right}
.admin-body .admin-board-table .table-title{max-width:none;gap:6px}
.admin-body .board-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.admin-body .admin-board-table .board-slug{padding:2px 7px;border-radius:6px;background:#f1f3f6;color:#778190;font-family:inherit;font-size:12px;font-weight:650;line-height:18px}
.admin-body .admin-board-table .board-description{display:block;overflow:hidden;color:var(--admin-muted);font-size:13px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
.admin-body .board-disabled-state{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:6px;background:#f0f2f4;color:#66717d;font-size:12px;font-weight:700;line-height:18px}
.admin-body .board-post-count{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:2px;color:var(--admin-accent);font-variant-numeric:tabular-nums}
.admin-body .board-post-count strong{font-size:18px;font-weight:800;line-height:24px}
.admin-body .board-post-count span{font-size:13px;font-weight:700}
.admin-body .board-post-count:hover strong{text-decoration:underline;text-underline-offset:3px}
.admin-body .board-settings-link{min-width:58px}
.admin-body .admin-table .publish-state,.admin-body .admin-table .status-badge,.admin-body .admin-table .consent,.admin-body .admin-table .status{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:24px;padding:0;border-radius:0;background:transparent!important;font-size:13px;font-weight:700;line-height:18px;white-space:nowrap}
.admin-body .admin-table .publish-state::before,.admin-body .admin-table .status-badge::before,.admin-body .admin-table .consent::before,.admin-body .admin-table .status::before{content:"";display:block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.admin-body .admin-table .publish-state.on,.admin-body .admin-table .status-badge.is-on,.admin-body .admin-table .status-badge.on,.admin-body .admin-table .consent.yes,.admin-body .admin-table .status.approved,.admin-body .admin-table .status.replied{color:var(--admin-success)}
.admin-body .admin-table .publish-state.off,.admin-body .admin-table .status-badge.is-off,.admin-body .admin-table .status-badge.off,.admin-body .admin-table .consent.no,.admin-body .admin-table .status.closed,.admin-body .admin-table .status.rejected,.admin-body .admin-table .status.spam{color:#66717d}
.admin-body .admin-table .publish-state.pending,.admin-body .admin-table .status-badge.pending,.admin-body .admin-table .status.pending,.admin-body .admin-table .status.received{color:var(--admin-warning)}
.admin-body .admin-table .status.reviewing{color:var(--admin-accent)}
.admin-body .pagination{margin-top:20px}

/* 대시보드: 네 개의 카드 대신 한 장의 운영 보드로 읽힌다. */
.admin-body .admin-welcome{align-items:flex-end;margin-bottom:34px;padding:0 0 30px;border-bottom-color:var(--admin-line)}
.admin-body .admin-welcome h2{font-size:var(--admin-type-page);font-weight:800;line-height:36px;letter-spacing:-.03em}
.admin-body .admin-welcome p:not(.eyebrow){max-width:66ch;margin-top:8px;font-size:var(--admin-type-body);line-height:22px}
.admin-body .dashboard-priority{margin-bottom:24px}
.admin-body .dashboard-section-heading{margin-bottom:14px}
.admin-body .dashboard-section-heading h2{font-size:var(--admin-type-section);font-weight:780;line-height:26px}
.admin-body .dashboard-status-stats{gap:0;overflow:hidden;border:1px solid var(--admin-line);border-radius:14px;background:#fff}
.admin-body .dashboard-status-stats .stat{position:relative;gap:5px;padding:24px;border:0;border-radius:0;background:transparent}
.admin-body .dashboard-status-stats .stat:not(:last-child)::after{content:"";position:absolute;top:20px;right:0;bottom:20px;width:1px;background:var(--admin-line-soft)}
.admin-body .dashboard-status-stats .stat:hover{background:#f5f8ff}
.admin-body .dashboard-status-stats .stat-label{color:#475467;font-weight:720}
.admin-body .dashboard-status-stats .stat strong{font-size:32px;font-weight:820;line-height:38px;letter-spacing:-.03em}
.admin-body .dashboard-status-stats .stat small{color:#8b95a5}
.admin-body .admin-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.45fr);gap:20px}
.admin-body .dashboard-content-panel .content-metrics{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--admin-line-soft)}
.admin-body .dashboard-content-panel .content-metric{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:0;padding:15px 0;border:0;border-bottom:1px solid var(--admin-line-soft);border-radius:0;background:transparent}
.admin-body .dashboard-content-panel .content-metric:last-child{border-bottom:0}
.admin-body .dashboard-content-panel .content-metric:hover{border-color:var(--admin-line-soft);background:transparent}
.admin-body .dashboard-content-panel .content-metric-name{color:#101828;font-weight:760}
.admin-body .dashboard-content-panel .content-metric-total,.admin-body .dashboard-content-panel .content-metric-published{display:grid;justify-items:end;gap:0}
.admin-body .dashboard-content-panel .content-metric-total strong{font-size:20px;font-weight:800}

/* 설정·편집·상세 화면 */
.admin-body .admin-settings-tabs,.admin-body .board-settings-tabs{gap:6px;margin-bottom:28px;padding:0;border-bottom-color:var(--admin-line)}
.admin-body .admin-settings-tab,.admin-body .board-settings-tab{min-height:46px;padding:0 15px;border-bottom:2px solid transparent;border-radius:0;color:#667085}
.admin-body .admin-settings-tab:hover,.admin-body .board-settings-tab:hover{background:transparent;color:#111827}
.admin-body .admin-settings-tab.is-active,.admin-body .board-settings-tab.is-active{border-bottom-color:#176bff;background:transparent;color:#111827;font-weight:800}
.admin-body .settings-panel,.admin-body .inquiry-settings-panel{max-width:920px;padding:32px;border-radius:14px}
.admin-body .settings-section-heading{margin-bottom:22px}
.admin-body .settings-section-heading h3{font-size:var(--admin-type-section);font-weight:780;line-height:26px}
.admin-body .admin-login-form h1{font-size:26px;line-height:34px;letter-spacing:-.03em}
.admin-body .admin-drawer-head h3,.admin-body .media-detail-head h3{font-size:var(--admin-type-section);font-weight:780;line-height:26px;letter-spacing:-.02em}
.admin-body .board-settings-section-head h3{font-size:var(--admin-type-section);line-height:26px}
.admin-body .module-config-panel .module-toggle-copy>strong,.admin-body .drawer-profile strong{font-size:var(--admin-type-subsection);line-height:24px}
.admin-body .status-flow-summary strong{font-size:var(--admin-type-section);line-height:26px}
.admin-body .module-card h3,.admin-body .drawer-section .panel-heading h4,.admin-body .media-detail-usages .panel-heading h4{font-size:var(--admin-type-subsection);line-height:24px}
.admin-body .module-config-panel .module-grid,.admin-body .module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.admin-body .module-config-panel .module-card,.admin-body .module-card{border-radius:14px}
.admin-body .module-config-panel .module-card{padding:24px}
.admin-body .admin-editor-form .admin-editor-layout{grid-template-columns:minmax(0,1fr) 336px;gap:28px}
.admin-body .admin-editor-form .admin-inspector{position:sticky;top:24px;gap:18px}
.admin-body .admin-editor-form .admin-inspector .panel{padding:22px;border-radius:14px}
.admin-body .rich-editor{border-radius:12px}
.admin-body .rich-editor-toolbar{padding:9px 10px;background:#f8fafc}
.admin-body .rich-editor-toolbar select,.admin-body .rich-editor-button{border-radius:8px}
.admin-body .rich-editor-surface,.admin-body .rich-editor-surface .ql-editor{min-height:430px}
.admin-body .editor-note{padding:15px 17px;border-radius:11px}
.admin-body .status-flow{border-radius:14px}
.admin-body .inquiry-detail{gap:24px}
.admin-body .admin-drawer-backdrop,.admin-body .media-library-dialog-backdrop{background:rgba(10,16,24,.64)}
.admin-body .admin-drawer-panel{border:0;border-radius:18px 0 0 18px;box-shadow:-24px 0 60px rgba(10,16,24,.2)}
.admin-body .admin-drawer-head{padding:24px 28px 20px}
.admin-body .admin-drawer-body{padding:28px}
.admin-body .admin-drawer-body>form>.form-actions{margin:28px -28px -28px;padding:20px 28px 24px}
.admin-body .admin-drawer-body .board-settings-panel:not([data-tab="fields"])>.editor-panel{padding:0;border:0;background:transparent}
.admin-body .admin-drawer-body .board-settings-panel:not([data-tab="fields"])> .editor-panel>form>.field-grid{padding:28px;border:1px solid var(--admin-line);border-radius:14px;background:#fff}
.admin-body .admin-drawer-body .board-settings-panel:not([data-tab="fields"]) .form-actions{margin:28px -28px -28px;padding:20px 28px 24px;border-top:1px solid var(--admin-line);background:rgba(255,255,255,.98);box-shadow:0 -10px 24px rgba(17,24,39,.045)}
.admin-body .admin-drawer-body .board-settings-panel .form-actions>.button{order:0}
.admin-body .admin-drawer-body .board-settings-panel .admin-dirty-state{order:1}
.admin-body .admin-drawer-body .board-settings-panel .form-message{order:2;flex:1 1 100%}
.admin-body .admin-drawer-body .board-settings-panel .form-message:empty{display:none}
.admin-body .account-danger-zone{border-color:#f1c6c2;background:var(--admin-danger-soft)}
.admin-body .account-danger-zone .panel-heading{margin-bottom:16px}
.admin-body .account-danger-zone .panel-heading h4{color:var(--admin-danger)}
.admin-body .admin-account-history{margin-top:24px;padding-top:20px;border-top:1px dashed var(--admin-line)}
.admin-body .media-detail-panel{border:0;border-radius:18px 0 0 18px;box-shadow:-24px 0 60px rgba(10,16,24,.2)}
.admin-body .media-library{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.admin-body .media-card{border-radius:14px;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s ease}
.admin-body .media-card:hover{border-color:#b7c9e8;transform:translateY(-2px)}
.admin-body .media-card-preview{background:#eef1f5}

/* 게시판 추가: 공통 드로어 폭과 패딩을 유지하고, 본문과 액션 영역의 리듬만 조정한다. */
.admin-body .admin-drawer[data-admin-drawer="board-create"] .admin-drawer-panel{width:min(640px,calc(100vw - 32px));min-width:40vw}
.admin-body .admin-drawer[data-admin-drawer="board-create"] .admin-drawer-body{padding:24px 28px}
.admin-body .admin-board-create-form{align-content:start}
.admin-body .admin-board-create-form .drawer-form-note{margin:0 0 24px;padding:14px 16px;border:1px solid #dce7f8;border-radius:11px;background:#f5f8ff;color:#536b84;font-size:14px;line-height:21px}
.admin-body .admin-board-create-form .field-grid{column-gap:16px;row-gap:20px}
.admin-body .admin-board-create-form .field{margin:0}
.admin-body .admin-board-create-form textarea{min-height:148px}
.admin-body .admin-board-create-form .form-actions{position:static;margin:24px -28px -24px;padding:16px 28px 20px;gap:8px}

/* 관리자 첫 설정: 각 기능을 읽기 쉬운 독립 행으로 나누고 토글 위치를 고정한다. */
.admin-body .admin-onboarding-panel{width:min(100%,1040px);max-width:1040px;padding:0;overflow:hidden}
.admin-body .admin-onboarding-form{display:grid}
.admin-body .admin-onboarding-profile{margin:0;padding:28px 32px 26px}
.admin-body .admin-onboarding-profile input{width:min(100%,560px)}
.admin-body .admin-onboarding-features{padding:26px 32px 30px;border-top:1px solid var(--admin-line)}
.admin-body .admin-onboarding-section-heading{display:grid;gap:5px;margin-bottom:18px}
.admin-body .admin-onboarding-section-heading h3{margin:0;color:var(--admin-ink);font-size:var(--admin-type-section);font-weight:780;line-height:26px;letter-spacing:-.02em}
.admin-body .admin-onboarding-section-heading p{margin:0;color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .admin-onboarding-panel .module-check-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;overflow:hidden;border:1px solid var(--admin-line);border-radius:12px;background:#fff}
.admin-body .admin-onboarding-panel .admin-module-toggle{grid-template-columns:minmax(0,1fr) auto;gap:24px;min-height:72px;padding:16px 18px;border:0;border-radius:0;background:transparent}
.admin-body .admin-onboarding-panel .admin-module-toggle+.admin-module-toggle{border-top:1px dashed var(--admin-line)}
.admin-body .admin-onboarding-panel .admin-module-toggle:hover{background:#f8faff}
.admin-body .admin-onboarding-panel .admin-module-toggle:has(input:checked){background:transparent}
.admin-body .admin-onboarding-panel .admin-module-toggle:has(input:checked):hover{background:#f8faff}
.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-label{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0;padding-right:12px}
.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-label strong,.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-label small{display:block;min-width:0}
.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-label strong{color:var(--admin-ink);font-size:14px;font-weight:750;line-height:20px}
.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-label small{color:var(--admin-muted);font-size:13px;line-height:19px}
.admin-body .admin-onboarding-panel .admin-module-toggle .admin-toggle-track{justify-self:end;margin-left:auto}
.admin-body .admin-onboarding-note{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:var(--admin-canvas);color:var(--admin-muted);font-size:13px;line-height:20px}
.admin-body .admin-onboarding-panel .form-actions{margin:0;padding:20px 32px 24px;border-top:1px solid var(--admin-line);background:#fbfcfd}

@media (max-width:1120px){
  .admin-body .admin-main{padding:36px 32px 76px}
  .admin-body .admin-dashboard-grid{grid-template-columns:minmax(0,1fr)}
  .admin-body .admin-editor-form .admin-editor-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .admin-body .admin-editor-form .admin-inspector{position:static}
  .admin-body .inquiry-detail{grid-template-columns:minmax(0,1fr)}
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .admin-body .admin-main{padding:24px 16px 64px}
  .admin-body .admin-page-heading,.admin-body .admin-editor-heading,.admin-body .admin-detail-heading{gap:14px;margin-bottom:26px}
  .admin-body .admin-page-heading h2,.admin-body .admin-editor-heading h2,.admin-body .admin-detail-heading h2,.admin-body .admin-welcome h2{font-size:24px;line-height:32px}
  .admin-body .panel{padding:20px;border-radius:12px}
  .admin-body .admin-board-table{min-width:0;table-layout:auto}
  .admin-body .admin-board-table th:nth-child(n),.admin-body .admin-board-table td:nth-child(n){width:auto}
  .admin-body .admin-board-table .board-post-count{justify-content:flex-start}
  .admin-body .dashboard-status-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-body .dashboard-status-stats .stat{padding:18px}
  .admin-body .dashboard-status-stats .stat:nth-child(2)::after{display:none}
  .admin-body .dashboard-status-stats .stat:nth-child(-n+2){border-bottom:1px solid var(--admin-line-soft)}
  .admin-body .dashboard-status-stats .stat strong{font-size:26px;line-height:32px}
  .admin-body .admin-table tr{padding:16px;border-radius:12px}
  .admin-body .admin-table:has(.admin-row-check) tr{display:grid!important;grid-template-columns:24px minmax(0,1fr);column-gap:10px}
  .admin-body .admin-table:has(.admin-row-check) td:first-child{grid-column:1;grid-row:1;width:24px;min-width:24px;max-width:24px;padding:2px 0}
  .admin-body .admin-table:has(.admin-row-check) td:nth-child(2){grid-column:2;grid-row:1;width:auto;padding:0}
  .admin-body .admin-table:has(.admin-row-check) td:nth-child(n+3){grid-column:1/-1}
  .admin-body .settings-panel,.admin-body .inquiry-settings-panel{padding:22px}
  .admin-body .admin-drawer-panel,.admin-body .media-detail-panel{border-radius:0}
  .admin-body .admin-drawer-body{padding:20px}
  .admin-body .admin-drawer[data-admin-drawer="board-create"] .admin-drawer-body{padding:20px}
  .admin-body .admin-drawer-body .board-settings-panel:not([data-tab="fields"])>.editor-panel>form>.field-grid{padding:20px}
  .admin-body .admin-drawer-body>form>.form-actions{margin:24px -20px -20px;padding:17px 20px 20px}
  .admin-body .admin-drawer-body .board-settings-panel:not([data-tab="fields"]) .form-actions{margin:24px -20px -20px;padding:17px 20px 20px}
  .admin-body .admin-drawer[data-admin-drawer="board-create"] .admin-drawer-body{padding:24px 20px}
  .admin-body .admin-board-create-form .drawer-form-note{margin-bottom:20px}
  .admin-body .admin-board-create-form .field-grid{row-gap:20px}
  .admin-body .admin-board-create-form .form-actions{margin:20px -20px -24px;padding:16px 20px 20px}
  .admin-body .admin-onboarding-profile{padding:22px 20px}
  .admin-body .admin-onboarding-features{padding:22px 20px 24px}
  .admin-body .admin-onboarding-panel .admin-module-toggle{gap:16px;min-height:68px;padding:14px 15px}
  .admin-body .admin-onboarding-panel .form-actions{padding:17px 20px 20px}
}
@media (max-width:420px){
  .admin-body .admin-main{padding-inline:12px}
  .admin-body .module-grid,.admin-body .module-config-panel .module-grid{grid-template-columns:minmax(0,1fr)}
  .admin-body .dashboard-status-stats{grid-template-columns:1fr}
  .admin-body .dashboard-status-stats .stat{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px}
  .admin-body .dashboard-status-stats .stat::after{display:none!important}
  .admin-body .dashboard-status-stats .stat:not(:last-child){border-bottom:1px solid var(--admin-line-soft)}
  .admin-body .dashboard-status-stats .stat strong{grid-column:2;grid-row:1 / span 2}
  .admin-body .dashboard-status-stats .stat small{grid-column:1}
}
