/* 담당 acms — 관리자 화면 CSS. 클래스 접두어 .acms- 만, 색·크기는 var(--토큰)·rem 만(base.css). kit/병렬작업계약.md */

/* 요약 지표 */
.acms-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 1rem; }
.acms-stats.acms-stats-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.acms-stats .stat .k .ic { color: var(--accent); }
@media (max-width: 1200px) { .acms-stats, .acms-stats.acms-stats-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .acms-stats, .acms-stats.acms-stats-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .acms-stats .stat .v { font-size: 1.5rem; } }
@media (max-width: 380px) { .acms-stats, .acms-stats.acms-stats-4 { grid-template-columns: minmax(0, 1fr); } }

/* 조회 조건 */
.acms-filter { padding: 1rem 1.1rem; margin-top: 1rem; display: grid; gap: .75rem; }
.acms-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem 1rem; }
.acms-filter-grid .field { margin: 0; }
.acms-span-2 { grid-column: span 2; }
.acms-span-all { grid-column: 1 / -1; }
@media (max-width: 1100px) { .acms-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .acms-filter-grid { grid-template-columns: minmax(0, 1fr); } .acms-span-2 { grid-column: auto; } }
.acms-filter-foot { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.acms-chiprow { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.acms-chiprow > .acms-chiprow-label { font-size: var(--fs-sm); color: var(--ink-3); font-weight: 650; margin-right: .25rem; }
.acms-chip { position: relative; display: inline-flex; }
.acms-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.acms-chip span { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.5rem; padding: 0 .95rem; border-radius: var(--r-pill); border: .125rem solid var(--line-strong); background: var(--surface); color: var(--ink-2); font-weight: 650; font-size: var(--fs-sm); white-space: nowrap; }
.acms-chip:hover span { border-color: var(--ink-2); color: var(--ink); }
.acms-chip input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--on-night); }
.acms-chip input:focus-visible + span { box-shadow: var(--focus); }
.acms-chip .acms-chip-n { font-variant-numeric: tabular-nums; opacity: .85; }

/* 표 */
.acms-table td, .acms-table th { vertical-align: top; }
.acms-sub { display: block; font-weight: 500; font-size: var(--fs-xs); color: var(--ink-3); margin-top: .125rem; }
.acms-danger-text { color: var(--danger); }
.acms-danger-text:hover { color: var(--danger); background: var(--danger-soft); }
.acms-clip { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 28rem; }
.acms-pin { color: var(--accent-ink); }
.acms-sortbar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* 기록 항목(식·배·산·컨) */
.acms-parts { display: inline-flex; gap: .25rem; }
.acms-part { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; font-size: var(--fs-xs); font-weight: 750; background: var(--surface-2); color: var(--ink-3); border: .0625rem dashed var(--line-strong); }
.acms-part.is-on { background: var(--accent-soft); color: var(--accent-ink); border: .0625rem solid var(--accent-line); }

/* 상세 2단 */
.acms-detail { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1rem; align-items: start; margin-top: 1rem; }
.acms-detail > aside { display: flex; flex-direction: column; gap: 1rem; }
@media (max-width: 1100px) { .acms-detail { grid-template-columns: minmax(0, 1fr); } }
.acms-info { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem 1.25rem; }
.acms-info > div { min-width: 0; }
.acms-info dt { font-size: var(--fs-xs); color: var(--ink-3); font-weight: 650; }
.acms-info dd { font-weight: 650; margin-top: .125rem; }
@media (max-width: 760px) { .acms-info { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .acms-info { grid-template-columns: minmax(0, 1fr); } }
.acms-day { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 760px) { .acms-day { grid-template-columns: minmax(0, 1fr); } }
.acms-day > div { padding: .85rem 1rem; border-radius: var(--r-sm); background: var(--surface-3); border: .0625rem solid var(--line); }
.acms-day h3 { font-size: var(--fs-sm); display: flex; align-items: center; gap: .375rem; color: var(--ink-2); }
.acms-day h3 .ic { color: var(--accent); }
.acms-day p { margin-top: .25rem; }
.acms-day .acms-none { color: var(--ink-3); }
.acms-comment { padding: 1rem 1.1rem; border-radius: var(--r-sm); background: var(--accent-soft); color: var(--ink); white-space: pre-line; }
.acms-files { display: grid; gap: .375rem; margin-top: .75rem; font-size: var(--fs-sm); }
.acms-files li { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.acms-files .ic { color: var(--ink-3); }

/* 처리 이력 */
.acms-timeline { display: grid; gap: 0; }
.acms-timeline li { position: relative; padding: 0 0 .9rem 1.5rem; }
.acms-timeline li::before { content: ""; position: absolute; left: .3125rem; top: .5rem; width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent); }
.acms-timeline li::after { content: ""; position: absolute; left: .5625rem; top: 1.125rem; bottom: 0; width: .0625rem; background: var(--line-strong); }
.acms-timeline li:last-child::after { display: none; }
.acms-timeline li:last-child { padding-bottom: 0; }
.acms-timeline strong { display: block; font-size: var(--fs-sm); }
.acms-timeline span { display: block; font-size: var(--fs-xs); color: var(--ink-3); }

/* 알림장 수정: 지금 붙은 사진 */
.acms-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: .5rem; }
.acms-photo { position: relative; border-radius: var(--r-sm); overflow: hidden; background: var(--surface-2); border: .1875rem solid transparent; }
.acms-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.acms-photo .acms-photo-pdf { display: grid; place-items: center; aspect-ratio: 4 / 3; font-size: var(--fs-xs); font-weight: 700; color: var(--ink-2); }
.acms-photo label { display: flex; align-items: center; gap: .375rem; padding: .375rem .5rem; font-size: var(--fs-xs); font-weight: 650; background: var(--surface); cursor: pointer; min-height: 2.75rem; }
.acms-photo input { width: 1.125rem; height: 1.125rem; accent-color: var(--danger); }
.acms-photo:has(input:checked) { border-color: var(--danger); }
.acms-photo:has(input:checked) img { opacity: .4; }
.acms-photo:has(input:focus-visible) { box-shadow: var(--focus); }

/* 문의 */
.acms-qbody { white-space: pre-line; padding: 1rem 1.1rem; border-radius: var(--r-sm); background: var(--surface-3); border: .0625rem solid var(--line); }
.acms-answer { white-space: pre-line; padding: 1rem 1.1rem; border-radius: var(--r-sm); background: var(--ok-soft); border: .0625rem solid var(--line); }
.acms-answer-meta { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: var(--fs-sm); color: var(--ink-3); margin-bottom: .5rem; }

/* 공지·FAQ 폼 */
.acms-form { display: grid; gap: 1rem; padding: 1.1rem; }
.acms-form-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 760px) { .acms-form-2 { grid-template-columns: minmax(0, 1fr); } }
.acms-form .textarea { min-height: 12rem; }
.acms-attach { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .75rem 1rem; border-radius: var(--r-sm); background: var(--surface-3); border: .0625rem solid var(--line); font-size: var(--fs-sm); }
.acms-prose { white-space: pre-line; line-height: 1.8; }

/* 콘텐츠 관리 메뉴 */
.acms-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
@media (max-width: 900px) { .acms-menu { grid-template-columns: minmax(0, 1fr); } }
.acms-menu a { display: flex; flex-direction: column; gap: .375rem; padding: 1.1rem; border-radius: var(--r); background: var(--surface); border: .0625rem solid var(--line); }
.acms-menu a:hover { border-color: var(--accent-line); box-shadow: var(--shadow); }
.acms-menu .ico-box { margin-bottom: .25rem; }
.acms-menu strong { font-size: var(--fs-lg); }
.acms-menu span { color: var(--ink-3); font-size: var(--fs-sm); }
.acms-banner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; align-items: center; padding: 1rem 1.1rem; border-bottom: .0625rem solid var(--line); }
.acms-banner:last-child { border-bottom: 0; }
.acms-banner h3 { font-size: var(--fs-md); }
.acms-banner p { font-size: var(--fs-sm); color: var(--ink-3); }
@media (max-width: 560px) { .acms-banner { grid-template-columns: minmax(0, 1fr); } }

/* 통계 */
.acms-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); margin-top: 1rem; }
@media (max-width: 1200px) { .acms-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .acms-kpis { grid-template-columns: minmax(0, 1fr); } }
.acms-kpis .stat .k .ic { color: var(--accent); }
.acms-presets { display: flex; gap: .375rem; flex-wrap: wrap; }
.acms-vbars { display: flex; align-items: flex-end; gap: .375rem; height: 12rem; padding: .5rem 0 0; overflow-x: auto; border-bottom: .0625rem solid var(--line-strong); }
.acms-vbar { flex: 1 0 1.75rem; display: flex; flex-direction: column; align-items: center; gap: .25rem; height: 100%; justify-content: flex-end; min-width: 1.75rem; }
.acms-vbar-stack { width: 100%; max-width: 2.25rem; display: flex; flex-direction: column-reverse; height: var(--h, 0%); min-height: .125rem; border-radius: .375rem .375rem 0 0; overflow: hidden; background: var(--surface-2); }
.acms-vbar-stack > span { display: block; height: var(--p, 0%); }
.acms-seg-1 { background: var(--accent); }
.acms-seg-2 { background: var(--accent-line); }
.acms-seg-3 { background: var(--line-strong); }
.acms-vbar-lbl { font-size: .6875rem; color: var(--ink-3); white-space: nowrap; }
.acms-legend { display: flex; gap: 1rem; flex-wrap: wrap; font-size: var(--fs-sm); color: var(--ink-2); margin-top: .75rem; }
.acms-legend span { display: inline-flex; align-items: center; gap: .375rem; }
.acms-legend i { display: inline-block; width: .75rem; height: .75rem; border-radius: .1875rem; }
.acms-rate { display: inline-flex; align-items: center; gap: .5rem; }

/* 설정 */
.acms-set { display: grid; gap: 1rem; margin-top: 1rem; }
.acms-set .panel-body { display: grid; gap: 1rem; }
.acms-set-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.acms-set-grid .field { margin: 0; }
@media (max-width: 760px) { .acms-set-grid { grid-template-columns: minmax(0, 1fr); } }
.acms-hours { display: grid; grid-template-columns: 6rem minmax(0, 1fr) auto minmax(0, 1fr); gap: .5rem .75rem; align-items: center; }
@media (max-width: 560px) { .acms-hours { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); } .acms-hours > .acms-hours-lbl { grid-column: 1 / -1; } }
.acms-hours-lbl { font-weight: 700; }
.acms-used { display: flex; align-items: flex-start; gap: .375rem; font-size: var(--fs-xs); color: var(--ink-3); margin-top: .25rem; }
.acms-used .ic { width: .875rem; height: .875rem; margin-top: .1875rem; flex: 0 0 auto; }
.acms-closed { display: grid; gap: .375rem; }
.acms-closed li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .375rem .75rem; border-radius: var(--r-sm); background: var(--surface-3); border: .0625rem solid var(--line); font-size: var(--fs-sm); }
.acms-sticky-foot { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; padding: .75rem 1.1rem; margin-top: 1rem; background: var(--glass); border: .0625rem solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-up); }

/* 비밀번호 재설정 */
.acms-auth-done { text-align: center; padding: 1rem 0; }
.acms-auth-done .ico-box { margin: 0 auto 1rem; }
.acms-auth-done p { color: var(--ink-3); margin-top: .5rem; }
.acms-demo-link { margin-top: 1rem; padding: .85rem 1rem; border-radius: var(--r); background: var(--surface-2); font-size: var(--fs-sm); text-align: left; overflow-wrap: anywhere; }
.acms-auth-meta { display: grid; gap: .25rem; margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: var(--r); background: var(--surface-2); font-size: var(--fs-sm); }
