/* 담당 acare — 관리자 보호자·반려견·예방접종·이용권·주문 화면 CSS. 클래스 접두어 .acare- 만, 색·크기는 var(--토큰)·rem 만(base.css). kit/병렬작업계약.md */

.acare-mt { margin-top: 1rem; }
.acare-sub { display: block; font-size: var(--fs-xs); color: var(--ink-3); font-weight: 500; margin-top: .125rem; }
.acare-note { max-width: 16rem; color: var(--ink-2); font-size: var(--fs-sm); white-space: normal; }
.acare-h3 { font-size: var(--fs-sm); color: var(--ink-2); margin: 1rem 0 .5rem; }

/* 지표 */
.acare-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.acare-stats .stat .k .ic { color: var(--accent); }
.acare-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acare-stats-3 .stat .k .ic { color: var(--accent); }
@media (max-width: 1400px) { .acare-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .acare-stats, .acare-stats-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acare-stats .stat .v, .acare-stats-3 .stat .v { font-size: 1.5rem; }
}
.acare-v-badge { margin-top: .5rem; font-size: var(--fs-md); }
.acare-v-sm { font-size: 1.125rem !important; margin-top: .6rem !important; }
.acare-hl { background: var(--accent-soft); border-color: var(--accent-line); }
.acare-hl .v { color: var(--accent-ink); }

/* 조회 조건 */
.acare-filter { display: flex; flex-direction: column; gap: .9rem; padding: 1.1rem; }
.acare-filter-row { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.acare-flabel { flex: 0 0 5.5rem; font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); }
.acare-filter .chips { gap: .4rem; }
.acare-filter .chip { min-height: 2.75rem; padding: 0 .9rem; font-size: var(--fs-sm); }
.acare-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .75rem 1rem; align-items: start; }
.acare-fields .field > label { font-size: var(--fs-sm); }
.acare-fields .input, .acare-fields .select { min-height: 2.75rem; font-size: var(--fs-sm); }
.acare-grow { grid-column: span 2; }
@media (max-width: 640px) { .acare-grow { grid-column: auto; } .acare-flabel { flex-basis: 100%; } .acare-fields { grid-template-columns: minmax(0, 1fr); } }
.acare-head-tools { gap: .75rem; flex-wrap: wrap; justify-content: flex-end; }
.acare-head-tools .seg-btn { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* 표 */
.acare-zero td, .acare-zero th { background: var(--danger-soft); }
.acare-dog { display: inline-flex; align-items: center; gap: .6rem; }

/* 상세 두 칸 */
.acare-cols { display: grid; grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .acare-cols { grid-template-columns: minmax(0, 1fr); } }
.acare-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .acare-form-grid { grid-template-columns: minmax(0, 1fr); } }
.acare-dl dd { overflow-wrap: anywhere; }
.acare-dl .acare-sub { text-align: right; }

/* 폼 */
.acare-form { display: flex; flex-direction: column; gap: 1.1rem; border: 0; margin: 0; min-width: 0; }
.acare-form-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1rem; }
.acare-span { grid-column: 1 / -1; }
@media (max-width: 640px) { .acare-form-2 { grid-template-columns: minmax(0, 1fr); } }
.acare-form .field > .input + .input { margin-top: .4rem; }
.acare-form fieldset.field { border: 0; padding: 0; margin: 0; min-width: 0; }
.acare-form .check { margin-top: .25rem; }

/* 보호자 요약 띠 */
.acare-who-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.acare-who-row .facts { margin-top: .35rem; }
.acare-mini { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.acare-mini dt { font-size: var(--fs-xs); color: var(--ink-3); }
.acare-mini dd { font-size: var(--fs-lg); font-weight: 800; }

/* 기록 목록 */
.acare-log { display: flex; flex-direction: column; }
.acare-log li { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto; gap: .5rem; padding: .5rem 0; border-bottom: .0625rem solid var(--line); font-size: var(--fs-sm); align-items: baseline; }
.acare-log li:last-child { border-bottom: 0; }
@media (max-width: 520px) { .acare-log li { grid-template-columns: minmax(0, 1fr) auto; } .acare-log li > :first-child { grid-column: 1 / -1; } }
.acare-acts { display: flex; flex-direction: column; }
.acare-acts li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .75rem 1.1rem; border-bottom: .0625rem solid var(--line); }
.acare-acts li:last-child { border-bottom: 0; }
.acare-acts li > .ic { color: var(--accent); }
@media (max-width: 520px) { .acare-acts li { grid-template-columns: auto minmax(0, 1fr); } .acare-acts li > :last-child { grid-column: 2; } }
.acare-links { display: flex; flex-direction: column; }
.acare-links a { display: flex; align-items: center; gap: .75rem; min-height: 3rem; padding: .5rem 1.1rem; border-bottom: .0625rem solid var(--line); font-weight: 650; color: var(--ink); }
.acare-links a:last-child { border-bottom: 0; }
.acare-links a:hover { background: var(--surface-3); }
.acare-links a span { flex: 1; }
.acare-links a .ic:first-child { color: var(--accent); }

/* 예방접종 증명 확인 */
.acare-preview { display: block; max-width: 32rem; border: .0625rem solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: var(--surface-2); }
.acare-preview img { width: 100%; height: auto; display: block; }
.acare-file { display: inline-flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem; border: .0938rem dashed var(--line-strong); border-radius: var(--r-sm); background: var(--surface-3); font-weight: 700; color: var(--ink); }
.acare-file:hover { border-color: var(--accent); color: var(--accent-ink); }
.acare-file .ic { color: var(--accent); }
.acare-elig { display: flex; gap: .5rem; flex-wrap: wrap; }
.acare-items { display: flex; flex-direction: column; }
.acare-items li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .6rem; align-items: center; padding: .5rem 0; border-bottom: .0625rem solid var(--line); font-size: var(--fs-sm); }
.acare-items li:last-child { border-bottom: 0; }
@media (max-width: 640px) {
  .acare-sticky-act { position: sticky; bottom: 0; z-index: 5; padding: .75rem 0; background: var(--surface); border-top: .0625rem solid var(--line); }
  .acare-sticky-act .btn { flex: 1 1 8rem; }
}

/* 출결 연동 차감 */
.acare-att { display: flex; flex-direction: column; gap: .5rem; }
.acare-att-opt { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .75rem .9rem; border: .0938rem solid var(--line-strong); border-radius: var(--r-sm); background: var(--surface); cursor: pointer; }
.acare-att-opt:hover { border-color: var(--ink-2); }
.acare-att-opt:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.acare-att-opt:has(input:focus-visible) { box-shadow: var(--focus); }
.acare-att-opt.is-off { background: var(--surface-3); cursor: default; }
.acare-att-opt input { width: 1.25rem; height: 1.25rem; accent-color: var(--accent); }
.acare-att-body { display: flex; flex-direction: column; gap: .125rem; min-width: 0; }
.acare-att-tags { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) { .acare-att-opt { grid-template-columns: auto minmax(0, 1fr); } .acare-att-tags { grid-column: 2; justify-content: flex-start; } }
.acare-after { font-size: var(--fs-lg); font-weight: 800; }
@media (max-width: 1100px) {
  .acare-result { position: sticky; bottom: 0; z-index: 5; box-shadow: var(--shadow-up); }
}

/* 주문 상세 */
.acare-amount { font-size: var(--fs-lg); font-weight: 800; }
.acare-amount.is-cancel { color: var(--danger); text-decoration: line-through; text-decoration-thickness: .0625rem; }
.acare-strong-num { font-size: var(--fs-lg); font-weight: 800; color: var(--accent-ink); }

@media print {
  .side, .topbar, .console-foot, .page-head .btn-row, .crumbs, .toasts, .notice { display: none !important; }
  .console { display: block; background: none !important; }
  .console-body { padding: 0; }
  .acare-receipt { grid-template-columns: 1fr 1fr; }
  .panel { break-inside: avoid; }
}
