/* 담당 aops — 관리자 청소 제출물·공지·FAQ·통계·시스템. 클래스는 .aops- 접두어만. 색은 var(--토큰)만, 크기는 rem. */

/* 필터 패널 */
.aops-filter .panel-body { display: flex; flex-direction: column; gap: var(--sp-3); }
.aops-filter-chips { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.aops-filter-k { font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); min-width: 4.5rem; }
.aops-chips .chip { min-height: 2.5rem; padding: 0 .85rem; font-size: var(--fs-sm); }
.aops-chip-n { font-size: var(--fs-xs); font-weight: 700; opacity: .8; }
.aops-filter-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sp-3); }
.aops-filter-row .field { margin: 0; min-width: 9rem; flex: 0 1 12rem; }
.aops-filter-row .aops-grow { flex: 1 1 14rem; }
.aops-filter-btns { display: flex; gap: var(--sp-2); margin-left: auto; }
@media (max-width: 640px) {
  .aops-filter-row .field, .aops-filter-row .aops-grow { flex: 1 1 100%; }
  .aops-filter-btns { margin-left: 0; width: 100%; }
  .aops-filter-btns .btn { flex: 1; }
  .aops-filter-k { min-width: 0; width: 100%; }
}

/* 표 */
.aops-table th[scope="row"] { font-weight: 650; min-width: 10rem; }
.aops-table td, .aops-table th { vertical-align: middle; }
.aops-dim { color: var(--ink-3); font-weight: 400; }
.aops-actions { display: flex; align-items: center; gap: var(--sp-1); flex-wrap: nowrap; }
.aops-actions form { display: inline-flex; }
.aops-rate { display: inline-flex; align-items: center; gap: var(--sp-2); white-space: nowrap; }
.aops-rate .bar { margin-right: 0; width: 4.5rem; }
.aops-rate b { font-size: var(--fs-sm); min-width: 2.6rem; }
.aops-period { min-width: 9rem; line-height: 1.5; }
.aops-order { display: inline-flex; align-items: center; gap: var(--sp-1); }
.aops-order form { display: inline-flex; gap: 2px; }
.aops-ord-btn { width: 2.75rem; height: 2.75rem; }
.aops-ord-btn:disabled { opacity: .35; cursor: not-allowed; }
.aops-vis-btn { display: inline-flex; align-items: center; gap: var(--sp-1); min-height: 2.75rem; padding: 0 var(--sp-1); border-radius: var(--r-sm); color: var(--ink-3); background: transparent; border: 0; cursor: pointer; }
.aops-vis-btn:hover { background: var(--surface-3); color: var(--ink); }

/* 요약 카드 */
.aops-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: var(--sp-3); }
.aops-kpis6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .aops-kpis6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .aops-kpis6, .aops-kpis { grid-template-columns: 1fr; } }

/* 2단 */
.aops-2col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
@media (max-width: 1100px) { .aops-2col { grid-template-columns: minmax(0, 1fr); } }

/* 메모·이슈 · 발송 기록 */
.aops-memo { display: flex; flex-direction: column; }
.aops-memo li { padding: .85rem 1.1rem; border-bottom: 1px solid var(--line); display: grid; gap: 2px; }
.aops-memo li:last-child { border-bottom: 0; }
.aops-memo p { color: var(--ink-2); }
.aops-memo time { font-size: var(--fs-xs); color: var(--ink-3); }
.aops-flat-list { border: 0; border-radius: 0; }

/* 사진 */
.aops-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: var(--sp-3); }
.aops-photos li { display: flex; flex-direction: column; gap: var(--sp-1); }
.aops-photos a { display: block; border-radius: var(--r-sm); overflow: hidden; border: 1px solid var(--line); background: var(--surface-2); aspect-ratio: 4 / 3; }
.aops-photos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aops-photo-cap { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-1); font-size: var(--fs-xs); color: var(--ink-3); flex-wrap: wrap; }

/* 시트(재발급·내보내기) */
.aops-sheet-kv { padding: var(--sp-3); background: var(--surface-3); border: 1px solid var(--line); border-radius: var(--r-sm); }
.aops-sheet-foot { justify-content: flex-end; padding-top: var(--sp-3); border-top: 1px solid var(--line); margin-top: var(--sp-2); }
.aops-check-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--sp-3); }
@media (max-width: 520px) { .aops-check-chips { grid-template-columns: 1fr; } }

/* 공지 폼 · 미리보기 */
.aops-form-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
@media (max-width: 1100px) { .aops-form-grid { grid-template-columns: minmax(0, 1fr); } }
.aops-pv { border: 1px solid var(--line); border-radius: var(--r-sm); padding: var(--sp-4); background: var(--surface-3); }
.aops-pv h3 { font-size: var(--fs-lg); margin: var(--sp-1) 0; }
.aops-pv-meta { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); color: var(--accent-ink); font-weight: 700; }
.aops-pv-body { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--line); }
.aops-narrow { max-width: 48rem; }

/* 통계 차트 */
.aops-legend { display: flex; gap: var(--sp-3); font-size: var(--fs-xs); color: var(--ink-2); flex-wrap: wrap; }
.aops-legend li { display: inline-flex; align-items: center; gap: 6px; }
.aops-sw { display: inline-block; width: .75rem; height: .75rem; border-radius: 3px; }
.aops-sw-rev { background: var(--accent); }
.aops-sw-cost { background: var(--line-strong); }
.aops-sw-profit { background: var(--warm); }
.aops-chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-2); height: 12rem; align-items: end; border-bottom: 1px solid var(--line-strong); padding-bottom: 0; }
.aops-col { display: flex; flex-direction: column; align-items: stretch; height: 100%; }
.aops-bars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 3px; }
.aops-b { width: 28%; max-width: 1rem; min-height: 2px; border-radius: 3px 3px 0 0; }
.aops-col-k { text-align: center; font-size: var(--fs-xs); color: var(--ink-3); padding-top: var(--sp-1); }
.aops-mini-table { font-size: var(--fs-sm); }
.aops-hbars { display: grid; gap: var(--sp-2); }
.aops-hbars li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 3rem; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); }
.aops-hb-k { color: var(--ink-3); }
.aops-hb { height: .75rem; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.aops-hb > span { display: block; height: 100%; background: var(--danger); border-radius: 4px; }
.aops-hbars b { text-align: right; }

/* 시스템 */
.aops-tabs { margin-top: var(--sp-2); }
.aops-set-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
@media (max-width: 1100px) { .aops-set-grid { grid-template-columns: minmax(0, 1fr); } }
.aops-hist li { display: grid; gap: 2px; padding: .75rem 1.1rem; border-bottom: 1px solid var(--line); }
.aops-hist li:last-child { border-bottom: 0; }
.aops-hist .ic-sm { vertical-align: middle; color: var(--ink-3); }
.aops-sel-sm { min-height: 2.75rem; width: auto; }
.aops-mini-table th, .aops-mini-table td { padding: .5rem .6rem; }
