/* =========================================================
   Free Deposit Return — what only the deposit slip needs.
   The shared look is in ../base.css and the slip's table, header and
   payment box in ../bill/bill.css; the page loads both FIRST.
   ========================================================= */

/* ---------- the statement: held, less unpaid, less deductions ---------- */
.tbm-statement .tbm-group th {
    padding-top: 16px; font-size: 13px; color: var(--tbm-brand-700); text-transform: none;
}
.tbm-statement tbody:first-of-type .tbm-group th { padding-top: 10px; }
.tbm-statement .tbm-subtotal td { color: var(--tbm-slate-500); font-size: 13px; font-weight: 600; }
.tbm-grand.tbm-owed td { color: var(--tbm-red-700); }

/* ---------- room inspection in the form: name, OK / damaged / missing, remove ---------- */
.tbm-check-hint { margin: 0 0 12px; }
.tbm-check-area { margin: 20px 0 8px; font-size: 13px; font-weight: 700; color: var(--tbm-brand-700); }
.tbm-check { padding: 10px 0; border-top: 1px solid var(--tbm-slate-200); }
.tbm-check-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.tbm-check-name { flex: 1 1 160px; min-width: 0; font-size: 14px; color: var(--tbm-slate-900); }
input.tbm-check-name { flex-basis: 200px; }
.tbm-check .tbm-toggle { gap: 6px; }
.tbm-check .tbm-radio span { padding: 6px 12px; font-size: 13px; }
.tbm-check .tbm-remove { height: 34px; width: 34px; font-size: 18px; border-radius: 9999px; }
.tbm-status-damaged input:checked + span, .tbm-status-missing input:checked + span {
    border-color: #fecaca; background: #fef2f2; color: var(--tbm-red-700);
}
.tbm-check-cost { display: grid; gap: 8px 12px; grid-template-columns: 140px minmax(0, 1fr); margin-top: 10px; }
@media (max-width: 480px) { .tbm-check-cost { grid-template-columns: minmax(0, 1fr); } }
.tbm-check .tbm-error { margin-top: 6px; }

/* ---------- room inspection on the slip ---------- */
.tbm-inspection { margin-top: 20px; font-size: 13px; }
.tbm-inspection-title { margin: 0 0 6px; font-weight: 700; color: var(--tbm-slate-900); }
.tbm-inspection ul { list-style: none; margin: 0; padding: 0; columns: 2 220px; column-gap: 24px; }
.tbm-inspection li {
    display: flex; justify-content: space-between; gap: 8px; padding: 4px 0;
    border-bottom: 1px dotted var(--tbm-slate-200); break-inside: avoid;
}
.tbm-inspection li .tbm-detail { display: block; }
.tbm-inspection li b { font-weight: 600; white-space: nowrap; color: #047857; }
.tbm-inspection li b.tbm-status-damaged, .tbm-inspection li b.tbm-status-missing { color: var(--tbm-red-700); }

/* ---------- both sides agree ---------- */
.tbm-agree { margin: 20px 0 0; font-size: 13px; color: var(--tbm-slate-700); }

/* ---------- printing: never cut the payment box or an inspected item across a page,
   and keep "both sides agree" with the signatures under it ---------- */
@media print {
    .tbm-print-root .tbm-pay,
    .tbm-print-root .tbm-inspection li { break-inside: avoid; page-break-inside: avoid; }
    .tbm-print-root .tbm-inspection-title,
    .tbm-print-root .tbm-agree { break-after: avoid; page-break-after: avoid; }
}
