/* 담당 ahost — 관리자 호스트·숙소·과금·수익·문의. 클래스는 .ahost- 접두어만. 색은 var(--토큰)만, 크기는 rem. */

/* 조회 조건 */
.ahost-filter { padding: .9rem 1.1rem; display: flex; flex-direction: column; gap: .75rem; }
.ahost-filter-row { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.ahost-filter-k { min-width: 4.5rem; font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); }
.ahost-chips .chip { min-height: 2.5rem; padding: 0 .9rem; font-size: var(--fs-sm); }
.ahost-search { display: flex; align-items: flex-end; gap: .6rem; flex-wrap: wrap; }
.ahost-search .input, .ahost-search .select { min-height: 2.75rem; }
.ahost-search .btn { min-height: 2.75rem; }
.ahost-grow { flex: 1 1 14rem; min-width: 0; }
.ahost-sel { width: auto; min-width: 10rem; flex: 0 1 auto; }
.ahost-date { flex: 0 1 10.5rem; gap: .25rem; }
.ahost-filter > .field-err { margin-top: -.25rem; }

/* 표 */
.ahost-table td, .ahost-table th { vertical-align: middle; }
.ahost-table .num { text-align: right; white-space: nowrap; }
.ahost-who { display: inline-flex; flex-direction: column; gap: 1px; line-height: 1.35; }
.ahost-who b { font-weight: 750; color: var(--ink); }
.ahost-who small { font-size: var(--fs-xs); color: var(--ink-3); font-weight: 500; }
a.ahost-who, .table a.ahost-who { text-decoration: none; }
.ahost-who small { white-space: nowrap; }
a.ahost-who:hover b { color: var(--accent-ink); text-decoration: underline; }
.ahost-actions { display: flex; align-items: center; gap: .35rem; justify-content: flex-end; }
.ahost-actions form { display: inline; }
.ahost-danger { color: var(--danger); }
.ahost-danger:hover { background: var(--danger-soft); color: var(--danger); }
.ahost-tags { display: inline-flex; flex-wrap: wrap; gap: .35rem .6rem; }
.ahost-mono { font-variant-numeric: tabular-nums; font-size: var(--fs-sm); color: var(--ink-2); word-break: break-all; }
.ahost-money { font-variant-numeric: tabular-nums; color: var(--warm-ink); font-weight: 750; }
.ahost-reason { max-width: 18rem; font-size: var(--fs-sm); color: var(--ink-2); }
.ahost-change { white-space: nowrap; }
.ahost-change span { color: var(--ink-3); }
.ahost-change .ic { margin: 0 .3rem; color: var(--ink-3); vertical-align: -2px; }
.ahost-title-cell { max-width: 22rem; }
.ahost-title-cell small { display: block; margin-top: 2px; font-weight: 500; font-size: var(--fs-xs); }
.ahost-badges { display: inline-flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.ahost-inline { display: inline-flex; align-items: center; gap: .4rem; }
.ahost-inline .select { min-height: 2.35rem; padding-top: 0; padding-bottom: 0; }
@media (max-width: 760px) { .ahost-hide-m { display: none; } }
.ahost-table-keep { min-width: 0; }

/* 요약 칸 */
.ahost-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.ahost-sum > div { background: var(--surface); padding: .9rem 1.1rem; display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.ahost-sum .k { font-size: var(--fs-sm); color: var(--ink-3); font-weight: 650; }
.ahost-sum .v { font-size: 1.25rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.ahost-sum .v small { font-size: var(--fs-sm); font-weight: 600; color: var(--ink-3); margin-left: 2px; }
.ahost-sum .ahost-v-sm { font-size: 1rem; font-weight: 700; }
.ahost-sum > div > small { font-size: var(--fs-xs); }
.ahost-warn-text { color: var(--warn); font-weight: 650; }
.ahost-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .ahost-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .ahost-stats { grid-template-columns: 1fr; } }

/* 두 칸 · 본문+옆 칸 */
.ahost-cards2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.ahost-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); gap: 1rem; align-items: start; }
.ahost-col { min-width: 0; }
@media (max-width: 1100px) { .ahost-cards2, .ahost-layout { grid-template-columns: minmax(0, 1fr); } }
.ahost-kv2 { grid-template-columns: max-content 1fr max-content 1fr; }
@media (max-width: 1000px) { .ahost-kv2 { grid-template-columns: max-content 1fr; } }
@media (max-width: 520px) { .ahost-kv2 { grid-template-columns: 1fr; } }
.ahost-kv-side { grid-template-columns: max-content 1fr; gap: .55rem 1rem; }
.ahost-kv-side dd { overflow-wrap: anywhere; }

/* 운영 메모 */
.ahost-memos li { padding: .85rem 1.1rem; border-bottom: 1px solid var(--line); }
.ahost-memos li:last-child { border-bottom: 0; }
.ahost-memo-top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: var(--fs-sm); }
.ahost-memo-top time { margin-left: auto; color: var(--ink-3); font-size: var(--fs-xs); white-space: nowrap; }
.ahost-memos p { margin-top: .35rem; color: var(--ink-2); line-height: 1.6; overflow-wrap: anywhere; }

/* 시트(메모·과금 제외) 대상 */
.ahost-target { display: flex; align-items: center; gap: .75rem; padding: .8rem .9rem; border-radius: var(--r-sm); background: var(--surface-3); border: 1px solid var(--line); }
.ahost-target .ico-box { width: 2.4rem; height: 2.4rem; flex: none; }
.ahost-target > div { flex: 1; min-width: 0; }
.ahost-target-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.ahost-target-kv > div { background: var(--surface-3); padding: .7rem .85rem; }
.ahost-target-kv dt { font-size: var(--fs-xs); color: var(--ink-3); font-weight: 650; }
.ahost-target-kv dd { font-weight: 750; margin-top: 2px; }
.ahost-fs { border: 0; padding: 0; margin: 0; min-width: 0; }
.ahost-fs:disabled { opacity: .7; }

/* 폼 */
.ahost-recount { display: flex; gap: .5rem; flex-wrap: wrap; }
.ahost-recount .input { flex: 0 1 10rem; }
.ahost-preview { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; padding: .85rem 1rem; border-radius: var(--r-sm); background: var(--warm-soft); }
.ahost-preview .k { font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); }
.ahost-preview b { font-size: 1.35rem; }
.ahost-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
@media (max-width: 640px) { .ahost-form-grid { grid-template-columns: 1fr; } }
.ahost-right { justify-content: flex-end; }

/* iCal 입력 */
.ahost-ical-box { border-bottom: 1px solid var(--line); background: var(--surface-3); }
.ahost-ical-form { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; }
.ahost-ical-form .field:first-of-type { flex: 0 1 11rem; }

/* 월별 막대 */
.ahost-bars { display: flex; flex-direction: column; gap: 1rem; }
.ahost-bars li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .75rem; align-items: center; }
.ahost-bars-m { font-weight: 800; color: var(--ink-2); }
.ahost-bars-rows { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.ahost-bar-row { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) 7.5rem; gap: .5rem; align-items: center; font-size: var(--fs-sm); }
.ahost-bar-k { color: var(--ink-3); font-weight: 650; }
.ahost-bar { height: .75rem; border-radius: .25rem; background: var(--surface-2); overflow: hidden; }
.ahost-bar > span { display: block; height: 100%; border-radius: .25rem; }
.ahost-bar-rev { background: var(--accent); }
.ahost-bar-cost { background: var(--warm); }
.ahost-bar-row b { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 480px) { .ahost-bar-row { grid-template-columns: 2.25rem minmax(0, 1fr); } .ahost-bar-row b { grid-column: 2; text-align: left; } }

/* 문의 */
.ahost-body { line-height: 1.75; color: var(--ink); overflow-wrap: anywhere; }
.ahost-file { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.6rem; padding: 0 .8rem; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: var(--surface); font-size: var(--fs-sm); max-width: 100%; }
.ahost-file span { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ahost-file small { color: var(--ink-3); flex: none; }
.ahost-file:hover { border-color: var(--accent); color: var(--accent-ink); }
.ahost-thread li { padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.ahost-thread li:last-child { border-bottom: 0; }
.ahost-thread li.is-admin { background: var(--accent-soft); }
.ahost-thread-top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .4rem; font-size: var(--fs-sm); }
.ahost-thread-top time { margin-left: auto; color: var(--ink-3); font-size: var(--fs-xs); }
.ahost-canned { position: relative; }
.ahost-canned summary { list-style: none; cursor: pointer; }
.ahost-canned summary::-webkit-details-marker { display: none; }
.ahost-canned-list { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 5; display: flex; flex-direction: column; align-items: stretch; gap: 2px; min-width: 12rem; padding: .35rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); box-shadow: var(--shadow-lg); }
.ahost-canned-list .btn { justify-content: flex-start; }
.ahost-stay-list li { display: flex; flex-direction: column; gap: 2px; padding: .65rem 1.1rem; border-bottom: 1px solid var(--line); }
.ahost-stay-list li:last-child { border-bottom: 0; }
