.service-visits { margin-top:14px; padding:10px 12px; border:1px solid #dce6ef; border-radius:9px; background:#f8fbfe; }
.service-visits h3 { margin:0 0 8px; font-size:13px; }
.service-visits h4 { margin:10px 0 6px; font-size:12px; }
.service-visits p { margin:0; color:var(--muted); font-size:12px; }
.service-visits-agenda { margin:10px 0 12px; }
.service-visits-agenda > p { margin:0 0 7px; }
.service-visits-agenda-days { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr)); gap:6px; }
.service-visits-agenda-other { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:6px; }
.service-visits-agenda-bucket { min-width:0; border:1px solid #dce6ef; border-radius:8px; background:#fff; }
.service-visits-agenda-bucket summary { display:flex; align-items:center; justify-content:space-between; gap:5px; min-height:44px; padding:7px 9px; cursor:pointer; font-size:12px; }
.service-visits-agenda-bucket summary:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visits-agenda-bucket summary strong { font-variant-numeric:tabular-nums; }
.service-visits-agenda-bucket ul { padding:0 9px 7px; }
.service-visits-agenda-bucket li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px; padding:6px 0; border-top:1px solid #dce6ef; font-size:11px; }
.service-visits-agenda-bucket li span { min-width:0; overflow-wrap:anywhere; }
.service-visits-agenda-bucket li a { display:inline-flex; align-items:center; min-height:44px; flex:none; }
.service-visits-print-day { min-height:44px; margin:0 9px 8px; white-space:normal; }
.service-visits-print-day:focus-visible { outline:2px solid #3972a3; outline-offset:2px; }
.service-visits-print-day:disabled { opacity:.55; cursor:not-allowed; }
.service-visits-day-print { display:none; }
.service-visits ul { list-style:none; margin:0; padding:0; }
.service-visits-row { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:9px 0; border-top:1px solid #dce6ef; }
.service-visits-row:first-child { border-top:0; }
.service-visits-row > div:first-child { min-width:0; }
.service-visits-row strong,.service-visits-row span,.service-visits-row small { display:block; overflow-wrap:anywhere; }
.service-visits-row strong { font-size:13px; }
.service-visits-row span,.service-visits-row small { margin-top:3px; font-size:12px; }
.service-visits-row small { color:var(--muted); white-space:pre-wrap; }
.service-visits-row em { display:inline-block; margin-top:4px; color:#9a352a; font-size:11px; font-style:normal; }
.service-visits-actions { display:flex; gap:5px; flex-wrap:wrap; }
.service-visits-actions a { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
.service-card-plan-form textarea[name="visitNote"] { width:100%; min-height:68px; resize:vertical; }
.service-card-plan-form .service-card-plan-note { grid-column:1/-1; }
.service-maintenance-journal-title { margin:18px 0 8px; font-size:14px; }
@media (max-width:540px) {
  .service-visits-agenda-days,.service-visits-agenda-other { grid-template-columns:minmax(0,1fr); }
  .service-visits-agenda-bucket li a { width:100%; justify-content:center; }
  .service-visits-print-day { box-sizing:border-box; width:calc(100% - 18px); }
  .service-visits-row { align-items:stretch; flex-direction:column; }
  .service-visits-actions { width:100%; }
  .service-visits-actions a { flex:1; justify-content:center; }
  .service-card-plan-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-card-plan-form .service-card-plan-responsible { grid-column:1/-1; }
  .service-card-plan-form textarea[name="visitNote"] { font-size:16px; }
}
@page service-visits-day { size:A4; margin:13mm; }
@media print {
  body.print-service-visits-day > :not(.service-visits-day-print) { display:none !important; }
  body.print-service-visits-day > .service-visits-day-print { display:block !important; page:service-visits-day; color:#111; background:#fff; font:8pt/1.35 Arial,sans-serif; }
  .service-visits-day-print h1 { margin:0 0 3mm; font-size:14pt; }
  .service-visits-day-print header { margin-bottom:5mm; }
  .service-visits-day-print header p { margin:1mm 0; overflow-wrap:anywhere; }
  .service-visits-day-print table { width:100%; border-collapse:collapse; table-layout:fixed; }
  .service-visits-day-print th,.service-visits-day-print td { padding:2mm; border:1px solid #888; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
  .service-visits-day-print thead { display:table-header-group; }
  .service-visits-day-print tr { break-inside:avoid-page; }
  .service-visits-day-print a { color:#111; text-decoration:underline; }
}
