/* acms 담당 CSS — 클래스 접두어 .acms- 만 쓰세요(kit/병렬작업계약.md). 색은 var(--토큰), 크기는 rem. */

/* 필터 묶음(목록 위) */
.acms-filter { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.1rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .85rem; }
.acms-filter-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-end; }
.acms-filter-row .field { margin: 0; gap: .3rem; }
.acms-filter-row .field > label { font-size: var(--fs-sm); color: var(--ink-2); }
.acms-filter-row .input, .acms-filter-row .select { min-height: 2.75rem; width: auto; min-width: 9rem; }
.acms-filter-row .acms-q { flex: 1 1 14rem; }
.acms-filter-row .acms-q .input { width: 100%; }
.acms-filter .chips .chip { min-height: 2.75rem; }
.acms-filter .field-err { margin-top: .25rem; }
.acms-list-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin: 1.25rem 0 .6rem; }
.acms-list-head p { font-size: var(--fs-sm); color: var(--ink-3); }
.acms-list-head .select { min-height: 2.6rem; width: auto; }
.acms-sort { display: flex; align-items: center; gap: .5rem; font-size: var(--fs-sm); color: var(--ink-2); }

/* 요약 카드 줄 */
.acms-stats { margin-bottom: 1rem; }
.acms-stats .stat .v { font-size: 1.6rem; }
a.stat.acms-stat-on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }

/* 표 */
.acms-table td .small { display: block; }
.acms-table .acms-actions { white-space: nowrap; text-align: right; }
.acms-table .acms-actions form { display: inline; }
.acms-table .acms-actions .btn { min-height: 2.4rem; padding: 0 .7rem; font-size: var(--fs-sm); }
.acms-thumb { width: 4.5rem; height: 3rem; object-fit: cover; border-radius: .5rem; border: 1px solid var(--line); background: var(--surface-2); display: block; }
.acms-thumb-sq { width: 3rem; height: 3rem; }
.acms-name-cell { display: flex; align-items: center; gap: .75rem; min-width: 13rem; }
.acms-clip { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 28rem; }
.acms-order-btns { display: inline-flex; gap: 2px; }
.acms-order-btns .icon-btn { width: 2.4rem; height: 2.4rem; }
.acms-order-btns .icon-btn[disabled] { opacity: .35; cursor: not-allowed; }
@media (max-width: 760px) { .acms-hide-m { display: none; } }

/* 본문 + 오른쪽 요약 */
.acms-split { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1.25rem; align-items: start; }
.acms-aside { position: sticky; top: 4.75rem; display: flex; flex-direction: column; gap: 1rem; }
@media (max-width: 1100px) { .acms-split { grid-template-columns: minmax(0, 1fr); } .acms-aside { position: static; } }
.acms-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.1rem 1rem; }
.acms-span-2 { grid-column: 1 / -1; }
@media (max-width: 640px) { .acms-form-grid { grid-template-columns: minmax(0, 1fr); } }
.acms-taste { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; border: 0; padding: 0; }
.acms-taste-row { display: inline-flex; align-items: center; gap: .5rem; font-weight: 650; }
.acms-taste-row .select { width: 5rem; min-height: 2.75rem; }
.acms-form-foot { display: flex; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; margin-top: 1.25rem; }
.acms-sum { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .55rem 1rem; font-size: var(--fs-sm); }
.acms-sum dt { color: var(--ink-3); }
.acms-sum dd { font-weight: 700; overflow-wrap: anywhere; }
.acms-kv { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: .7rem 1rem; }
.acms-kv dt { color: var(--ink-3); font-size: var(--fs-sm); padding-top: 2px; }
.acms-kv dd { font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 480px) { .acms-kv { grid-template-columns: minmax(0, 1fr); gap: .15rem; } .acms-kv dd { margin-bottom: .55rem; } }

/* 이미지 고르기·미리보기 */
.acms-img-pick { display: flex; align-items: center; gap: .85rem; flex-wrap: wrap; }
.acms-img-pick .input { flex: 1 1 14rem; min-height: 3rem; padding: .55rem; }
.acms-img-prev { width: 7.5rem; height: 5rem; object-fit: cover; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface-2); }
.acms-hero-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface-2); }

/* 배너 미리보기 */
.acms-banner-prev { position: relative; border-radius: var(--r); overflow: hidden; background: var(--night); min-height: 10rem; }
.acms-banner-prev img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.acms-banner-prev::after { content: ""; position: absolute; inset: 0; background: var(--photo-shade); }
.acms-banner-prev div { position: relative; z-index: 1; padding: 4.5rem 1rem 1rem; color: var(--on-night); }
.acms-banner-prev b { display: block; font-size: 1.125rem; }
.acms-banner-prev small { display: block; font-size: var(--fs-sm); color: var(--on-night-2); }

/* 쿠폰 미리보기 */
.acms-coupon { border: 2px dashed var(--accent); border-radius: var(--r); background: var(--accent-soft); padding: 1rem 1.1rem; color: var(--ink); }
.acms-coupon .acms-coupon-v { font-size: 1.5rem; font-weight: 850; color: var(--accent-ink); }
.acms-coupon code { font-weight: 800; letter-spacing: .05em; }

/* 문의 대화 */
.acms-thread { display: flex; flex-direction: column; gap: .85rem; }
.acms-msg { max-width: 46rem; border: 1px solid var(--line); border-radius: var(--r); padding: .85rem 1rem; background: var(--surface); }
.acms-msg-admin { align-self: flex-end; background: var(--accent-soft); border-color: var(--accent-soft); }
.acms-msg-head { display: flex; align-items: center; gap: .5rem; font-size: var(--fs-sm); color: var(--ink-3); margin-bottom: .35rem; flex-wrap: wrap; }
.acms-msg-head b { color: var(--ink); }
.acms-msg p { white-space: normal; overflow-wrap: anywhere; }
.acms-photo { max-width: 16rem; border-radius: var(--r-sm); border: 1px solid var(--line); margin-top: .6rem; }

/* 차트(막대 · 두 계열) */
.acms-chart { margin: 0; }
.acms-legend { display: flex; gap: 1rem; flex-wrap: wrap; font-size: var(--fs-sm); color: var(--ink-2); margin-bottom: .75rem; }
.acms-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.acms-key { width: .85rem; height: .85rem; border-radius: .2rem; display: inline-block; }
.acms-chart-scroll { overflow-x: auto; padding-bottom: .25rem; }
.acms-chart-scroll:focus-visible { box-shadow: var(--focus); border-radius: var(--r-sm); }
.acms-bars { display: grid; grid-template-columns: repeat(var(--n), minmax(1.6rem, 1fr)); gap: .3rem; align-items: end; height: 14rem; min-width: calc(var(--n) * 1.9rem); }
.acms-col { display: flex; flex-direction: column; align-items: stretch; height: 100%; }
.acms-col-bars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 2px; border-bottom: 1px solid var(--line-strong); }
.acms-bar { display: block; width: 45%; max-width: 1.4rem; height: var(--h, 0%); min-height: 1px; border-radius: .25rem .25rem 0 0; }
.acms-tone-a { background: var(--accent); }
.acms-tone-b { background: var(--ink-3); }
.acms-col-l { height: 1.5rem; padding-top: .3rem; font-size: .75rem; color: var(--ink-3); text-align: center; white-space: nowrap; }

/* 콘텐츠·운영 메뉴 */
.acms-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.acms-hub-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
.acms-hub-card:hover { border-color: var(--ink-3); box-shadow: var(--shadow-sm); }
.acms-hub-card h2 { font-size: 1.0625rem; display: flex; align-items: center; gap: .5rem; }
.acms-hub-card p { color: var(--ink-3); font-size: var(--fs-sm); }
.acms-hub-nums { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: auto; }

/* 설정 묶음 카드 */
.acms-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1rem; }
.acms-group { padding: 1.1rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); display: flex; flex-direction: column; gap: .6rem; }
.acms-group h3 { font-size: 1rem; display: flex; align-items: center; gap: .5rem; }
.acms-group h3 .ic { color: var(--accent); }
.acms-group ul { font-size: var(--fs-sm); display: flex; flex-direction: column; gap: .3rem; }
.acms-group li { display: flex; justify-content: space-between; gap: .75rem; }
.acms-group li span:first-child { color: var(--ink-3); }
.acms-group li span:last-child { font-weight: 650; text-align: right; overflow-wrap: anywhere; }

/* 비밀번호 규칙 */
.acms-rules { display: flex; flex-direction: column; gap: .25rem; font-size: var(--fs-sm); color: var(--ink-3); }
.acms-rules li { display: flex; gap: .4rem; align-items: flex-start; }
.acms-rules .ic { margin-top: 3px; }
.acms-demo-link { overflow-wrap: anywhere; }

/* 통계 표: 반쪽 패널 안에서도 넘치지 않게 */
.table.acms-fit { min-width: 0; }
.acms-fit th, .acms-fit td { padding: .65rem .6rem; }
.acms-rbar { display: block; width: 100%; max-width: 12rem; margin-top: .35rem; }
.acms-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .acms-stats-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .acms-stats-3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .acms-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acms-stats .stat { padding: .8rem .85rem; }
  .acms-stats .stat .v { font-size: 1.35rem; }
  .acms-hide-s { display: none; }
  .acms-table .right.num { white-space: nowrap; }
  .acms-name-cell { min-width: 10rem; }
  .acms-name-cell .acms-thumb { display: none; }
}
@media (max-width: 380px) { .acms-stats { grid-template-columns: minmax(0, 1fr); } }
