.service-card-visit-history { min-width:0; margin-bottom:18px; }
.service-visit-history-heading { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.service-visit-history-heading h3 { margin:0; font-size:14px; }
.service-visit-history-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.service-visit-history-filters button { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:44px; min-width:0; padding:7px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; color:inherit; font:inherit; font-size:12px; cursor:pointer; }
.service-visit-history-filters button[aria-pressed="true"] { background:#e8f2fa; border-color:#3972a3; font-weight:700; }
.service-visit-history-filters button span { padding:1px 5px; border-radius:999px; background:rgba(36,76,117,.12); font-variant-numeric:tabular-nums; }
.service-visit-history-period { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 8px; }
.service-visit-history-period label { display:grid; gap:4px; min-width:0; color:var(--muted); font-size:11px; }
.service-visit-history-period select,.service-visit-history-period input { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; }
.service-visit-history-quick-month { display:flex; align-items:end; gap:6px; grid-column:1/-1; min-width:0; }
.service-visit-history-quick-month button { flex:1 1 0; min-width:0; min-height:44px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:12px; cursor:pointer; }
.service-visit-history-quick-month button[aria-pressed="true"] { border-color:#3972a3; background:#e8f2fa; font-weight:700; }
.service-visit-history-quick-month button:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visit-history-refinements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 8px; }
.service-visit-history-refinements label { display:grid; gap:4px; min-width:0; color:var(--muted); font-size:11px; }
.service-visit-history-refinements select { min-width:0; width:100%; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; }
.service-visit-history-refinements input { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; }
.service-visit-history-search,.service-visit-history-sort { grid-column:auto; }
.service-visit-history-count { margin:0 0 8px; color:var(--muted); font-size:11px; }
.service-visit-history-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.service-visit-history-summary .service-visit-history-count { margin:0; }
.service-visit-history-summary button { min-height:44px; padding:7px 11px; }
.service-visit-history-export:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visit-history-export:disabled { opacity:.55; cursor:not-allowed; }
.service-visit-history-print-button:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visit-history-print-button:disabled { opacity:.55; cursor:not-allowed; }
.service-visit-history-print { display:none; }
.service-visit-history-compare-print { display:none; }
.service-visit-history-status-summary { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 9px; }
.service-visit-history-status-summary span { flex:1 1 125px; min-width:0; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:#f5f8fb; font-size:12px; }
.service-visit-history-status-summary strong { font-variant-numeric:tabular-nums; }
.service-visit-history-months { margin:0 0 9px; }
.service-visit-history-months h4 { margin:0 0 5px; font-size:12px; }
.service-visit-history-months dl { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:6px; margin:0; }
.service-visit-history-months dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; min-width:0; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:#f5f8fb; font-size:11px; }
.service-visit-history-months dt { flex:none; font-weight:700; font-variant-numeric:tabular-nums; }
.service-visit-history-months dd { display:grid; justify-items:end; gap:2px; min-width:0; margin:0; text-align:right; overflow-wrap:anywhere; }
.service-visit-history-months dd strong { font-size:13px; font-variant-numeric:tabular-nums; }
.service-visit-history-months dd span { color:var(--muted); }
@media (max-width:480px) { .service-visit-history-months dl { grid-template-columns:minmax(0,1fr); } }
.service-visit-history-latest { display:flex; align-items:center; justify-content:space-between; gap:9px; margin:0 0 9px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#f5f8fb; }
.service-visit-history-latest > div { display:grid; gap:2px; min-width:0; overflow-wrap:anywhere; }
.service-visit-history-latest h4 { margin:0; font-size:12px; }
.service-visit-history-latest span { color:var(--muted); font-size:11px; }
.service-visit-history-latest .quiet-btn { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:44px; padding:7px 10px; text-align:center; text-decoration:none; }
@media (max-width:480px) { .service-visit-history-latest { align-items:stretch; flex-direction:column; } .service-visit-history-latest .quiet-btn { width:100%; } }
.service-visit-history-compare { display:grid; gap:9px; margin:0 0 10px; padding:11px; border:1px solid var(--border); border-radius:9px; background:#f5fafd; }
.service-visit-history-compare-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.service-visit-history-compare-heading h4,.service-visit-history-compare > p { margin:0; }
.service-visit-history-compare-heading button { min-height:44px; }
.service-visit-history-compare-heading button:disabled { opacity:.55; cursor:not-allowed; }
.service-visit-history-compare-heading button:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visit-history-compare-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.service-visit-history-compare-cards article { display:grid; align-content:start; gap:4px; min-width:0; padding:9px; border:1px solid var(--border); border-radius:8px; background:#fff; overflow-wrap:anywhere; }
.service-visit-history-compare-cards article p { margin:0; }
.service-visit-history-compare-cards article small { color:var(--muted); }
.service-visit-history-compare-cards article div { display:flex; flex-wrap:wrap; gap:6px; }
.service-visit-history-compare-cards article a { display:inline-flex; align-items:center; min-height:44px; }
.service-visit-history-list { margin:0; padding:0; list-style:none; border:1px solid var(--border); border-radius:9px; }
.service-visit-history-more { box-sizing:border-box; width:100%; min-height:44px; margin-top:8px; white-space:normal; }
.service-visit-history-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; min-width:0; padding:9px 11px; }
.service-visit-history-row + .service-visit-history-row { border-top:1px solid var(--border); }
.service-visit-history-main { display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.service-visit-history-main time,.service-visit-history-main small { color:var(--muted); font-size:11px; }
.service-visit-history-main strong { font-size:13px; }
.service-visit-history-main span { font-size:12px; }
.service-visit-history-main .service-visit-history-status { width:max-content; max-width:100%; padding:2px 7px; border-radius:999px; background:#e8f4ed; color:#236849; font-size:11px; font-weight:700; }
.service-visit-history-photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:7px; margin-top:4px; }
.service-visit-history-photo-grid figure { min-width:0; margin:0; }
.service-visit-history-photo { display:block; width:100%; min-height:56px; padding:0; overflow:hidden; border:1px solid var(--border); border-radius:7px; background:var(--surface); cursor:pointer; }
.service-visit-history-photo:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.service-visit-history-photo img { display:block; width:100%; height:68px; object-fit:cover; }
.service-visit-history-photo-grid figcaption { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.25; overflow-wrap:anywhere; }
.service-visit-history-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.service-visit-history-row .quiet-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:135px; padding:7px 9px; text-align:center; text-decoration:none; white-space:normal; }
.service-visit-history-row button.quiet-btn:disabled { opacity:.55; cursor:not-allowed; }
.service-visit-history-warning { margin:0 0 9px; color:#86521a; font-size:11px; }
@media (max-width:430px) { .service-visit-history-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .service-visit-history-filters button { padding:6px 4px; } .service-visit-history-row { grid-template-columns:minmax(0,1fr); } .service-visit-history-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; } .service-visit-history-row .quiet-btn { width:100%; max-width:none; } .service-visit-history-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .service-visit-history-photo { min-height:68px; } }
@media (max-width:430px) { .service-visit-history-period { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-visit-history-period label:first-child { grid-column:1/-1; } }
@media (max-width:430px) { .service-visit-history-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; } .service-visit-history-summary button { max-width:100%; white-space:normal; } }
@media (max-width:430px) { .service-visit-history-search,.service-visit-history-sort { grid-column:1/-1; } }
@media (max-width:350px) { .service-visit-history-refinements { grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px) { .service-visit-history-compare-cards { grid-template-columns:minmax(0,1fr); } .service-visit-history-compare-heading button { width:100%; } .service-visit-history-compare-cards article a { flex:1 1 100%; justify-content:center; } }
@media (max-width:480px) { .service-visit-history-summary .service-visit-history-export { width:100%; grid-column:1/-1; } }
@media (max-width:480px) { .service-visit-history-summary .service-visit-history-print-button { width:100%; grid-column:1/-1; } }
@page service-visit-history-page { size:A4; margin:13mm; }
@page service-visit-comparison-page { size:A4; margin:13mm; }
@media print {
  body.print-service-visit-history > :not(.service-visit-history-print) { display:none !important; }
  body.print-service-visit-history > .service-visit-history-print { display:block !important; page:service-visit-history-page; color:#111; background:#fff; font:8pt/1.35 Arial,sans-serif; }
  .service-visit-history-print h1 { margin:0 0 3mm; font-size:14pt; }
  .service-visit-history-print header { margin-bottom:5mm; }
  .service-visit-history-print header p { margin:1mm 0; overflow-wrap:anywhere; }
  .service-visit-history-print table { width:100%; border-collapse:collapse; table-layout:fixed; }
  .service-visit-history-print th,.service-visit-history-print td { padding:2mm; border:1px solid #888; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
  .service-visit-history-print thead { display:table-header-group; }
  .service-visit-history-print tr { break-inside:avoid-page; }
  .service-visit-history-print a { color:#111; text-decoration:underline; }
  body.print-service-visit-comparison > :not(.service-visit-history-compare-print) { display:none !important; }
  body.print-service-visit-comparison > .service-visit-history-compare-print { display:block !important; page:service-visit-comparison-page; color:#111; background:#fff; font:9pt/1.4 Arial,sans-serif; }
  .service-visit-history-compare-print h1 { margin:0 0 3mm; font-size:15pt; }
  .service-visit-history-compare-print header { margin-bottom:6mm; }
  .service-visit-history-compare-print header p { margin:1mm 0; overflow-wrap:anywhere; }
  .service-visit-history-compare-print-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5mm; }
  .service-visit-history-compare-print-cards article { min-width:0; padding:4mm; border:1px solid #888; overflow-wrap:anywhere; }
  .service-visit-history-compare-print-cards h2 { margin:0 0 3mm; font-size:11pt; }
  .service-visit-history-compare-print-cards dl,.service-visit-history-compare-print-cards p { margin:0; }
  .service-visit-history-compare-print-cards dl > div { margin:0 0 3mm; }
  .service-visit-history-compare-print-cards dt { font-weight:700; }
  .service-visit-history-compare-print-cards dd { margin:1mm 0 0; }
  .service-visit-history-compare-print-cards small { display:block; }
  .service-visit-history-compare-print-cards a { color:#111; text-decoration:underline; }
}
