/* 클래버 — 담당 arev 의 화면 CSS(관리자). 클래스 접두어는 .arev- 만. 토큰은 base.css :root 의 var(--…) 만(hex·rgb 직접 금지), 크기는 rem. */

/* 조회 필터 */
.arev-filter { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: .9rem; margin-bottom: 1rem; }
.arev-chip-rows { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; align-items: center; }
.arev-chip-group { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; min-width: 0; }
.arev-chip-group > .arev-chip-label { font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); }
.arev-chips .chip { min-height: 2.5rem; padding: 0 .9rem; font-size: var(--fs-sm); }
.arev-filter-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .75rem; align-items: end; }
.arev-filter-row .field > label { font-size: var(--fs-sm); }
.arev-filter-row .input, .arev-filter-row .select { min-height: 2.75rem; }
.arev-filter-row .arev-q { grid-column: span 2; }
.arev-filter-btns { display: flex; gap: .5rem; align-items: flex-end; flex-wrap: wrap; }
.arev-filter-btns .btn { min-height: 2.75rem; }
@media (max-width: 560px) { .arev-filter-row .arev-q { grid-column: auto; } .arev-filter-row { grid-template-columns: 1fr; } }

/* 목록 머리(건수·정렬) */
.arev-list-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin: .25rem 0 .75rem; }
.arev-list-head > p { font-size: var(--fs-sm); color: var(--ink-2); font-weight: 650; }
.arev-sort .seg-btn { display: inline-flex; align-items: center; }

/* 표 */
.arev-table td, .arev-table th { vertical-align: top; }
.arev-sub { display: block; font-size: var(--fs-xs); color: var(--ink-3); font-weight: 500; margin-top: .125rem; }
.arev-actions { display: flex; gap: .35rem; align-items: center; justify-content: flex-end; flex-wrap: nowrap; }
.arev-actions form { display: inline-flex; }
.arev-clip { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-width: 26rem; line-height: 1.55; }
.arev-row-off { background: var(--surface-3); }
.arev-row-off .arev-clip { color: var(--ink-3); }
@media (max-width: 760px) { .arev-hide-m { display: none !important; } }

/* 2단(본문 + 옆 요약) */
.arev-split { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1rem; align-items: start; }
.arev-aside { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 4.5rem; }
@media (max-width: 1100px) { .arev-split { grid-template-columns: minmax(0, 1fr); } .arev-aside { position: static; } }
.arev-sum { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .55rem 1rem; font-size: var(--fs-sm); }
.arev-sum dt { color: var(--ink-3); }
.arev-sum dd { font-weight: 650; overflow-wrap: anywhere; }
.arev-sum dd.arev-strong { font-size: var(--fs-md); font-weight: 800; }
.arev-kv { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); border-top: 1px solid var(--line); }
.arev-kv > dt, .arev-kv > dd { padding: .7rem .2rem; border-bottom: 1px solid var(--line); }
.arev-kv > dt { color: var(--ink-3); font-size: var(--fs-sm); font-weight: 650; }
.arev-kv > dd { overflow-wrap: anywhere; }
@media (max-width: 560px) { .arev-kv { grid-template-columns: 1fr; } .arev-kv > dt { border-bottom: 0; padding-bottom: 0; } }

/* 커리큘럼 */
.arev-curri { display: flex; flex-direction: column; gap: .75rem; }
.arev-curri-sec { border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.arev-curri-head { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .65rem .9rem; background: var(--surface-3); font-weight: 700; }
.arev-curri-head span { font-weight: 600; color: var(--ink-3); font-size: var(--fs-sm); }
.arev-curri ol li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding: .55rem .9rem; border-top: 1px solid var(--line); font-size: var(--fs-sm); }
.arev-curri .arev-no { color: var(--ink-3); font-variant-numeric: tabular-nums; }

/* 이력(시간순) */
.arev-timeline { display: flex; flex-direction: column; }
.arev-timeline li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .25rem .75rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.arev-timeline li:last-child { border-bottom: 0; }
.arev-timeline .arev-when { font-size: var(--fs-xs); color: var(--ink-3); }
.arev-timeline p { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.55; overflow-wrap: anywhere; }

/* 문의 대화 */
.arev-thread { display: flex; flex-direction: column; gap: .9rem; }
.arev-msg { border: 1px solid var(--line); border-radius: var(--r-sm); padding: .85rem 1rem; background: var(--surface); }
.arev-msg-admin { background: var(--accent-soft); border-color: var(--accent-soft); }
.arev-msg-head { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; font-size: var(--fs-sm); color: var(--ink-3); margin-bottom: .4rem; }
.arev-msg-head b { color: var(--ink); }
.arev-msg > p:not(.arev-msg-head) { line-height: 1.7; overflow-wrap: anywhere; }
.arev-file { display: inline-flex; align-items: center; gap: .375rem; margin-top: .6rem; padding: .35rem .7rem; border: 1px solid var(--line-strong); border-radius: var(--r-pill); font-size: var(--fs-sm); font-weight: 650; }
.arev-file:hover { border-color: var(--ink-2); }

/* 시트(역할 변경·계정 정지) */
.arev-target { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .4rem 1rem; padding: .85rem 1rem; border-radius: var(--r-sm); background: var(--surface-3); border: 1px solid var(--line); font-size: var(--fs-sm); margin-bottom: 1rem; }
.arev-target dt { color: var(--ink-3); }
.arev-target dd { font-weight: 650; overflow-wrap: anywhere; }
.arev-sheet-form { display: flex; flex-direction: column; gap: 1.1rem; }
.arev-sheet-form .modal-foot { padding: 0; }

/* 처리 단계·요약 */
.arev-steps { display: flex; flex-direction: column; gap: .5rem; font-size: var(--fs-sm); }
.arev-steps li { display: flex; align-items: center; gap: .5rem; color: var(--ink-3); }
.arev-steps li.is-done { color: var(--ink); font-weight: 650; }
.arev-steps li.is-done .ic { color: var(--ok); }
.arev-reasons { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0 1rem; }

/* 공지 본문 */
.arev-body { line-height: 1.85; color: var(--ink-2); overflow-wrap: anywhere; }
.arev-body p + p { margin-top: .6rem; }

/* 콘텐츠·운영 메뉴 */
.arev-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.arev-hub-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
a.arev-hub-card:hover { border-color: var(--ink-3); box-shadow: var(--shadow); }
.arev-hub-card h2 { font-size: var(--fs-lg); display: flex; align-items: center; gap: .5rem; }
.arev-hub-card h2 .ic { color: var(--accent); }
.arev-hub-card p { color: var(--ink-3); font-size: var(--fs-sm); line-height: 1.6; }
.arev-hub-card .arev-hub-num { font-size: var(--fs-sm); color: var(--ink-2); font-weight: 650; margin-top: auto; }
.arev-faq-q { font-weight: 650; }
.arev-row-btns { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.arev-mt { margin-top: 1rem; }

/* 리뷰 처리 펼침 */
.arev-manage summary { list-style: none; cursor: pointer; }
.arev-manage summary::-webkit-details-marker { display: none; }
.arev-manage[open] summary { background: var(--surface-2); }
.arev-manage-box { display: flex; flex-direction: column; gap: .5rem; margin-top: .5rem; min-width: 15rem; }
.arev-manage-box .input { min-height: 2.6rem; font-size: var(--fs-sm); }
.stat .v.arev-sum-v { font-size: 1.15rem; }
/* 좁은 화면: 표는 가로로 넘기고 제목 칸이 한 글자씩 꺾이지 않게 */
.arev-table tbody th[scope="row"] { min-width: 11rem; }
.arev-table .arev-clip { min-width: 14rem; }
