.service-maintenance-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.service-maintenance-list li { padding:12px; border:1px solid #d8e3eb; border-radius:9px; background:#fbfdff; }
.service-maintenance-summary { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.service-maintenance-badge { padding:3px 7px; border-radius:5px; background:#e6f3ed; color:#286449; font-size:12px; font-weight:700; }
.service-maintenance-badge.needs-follow-up { background:#fff1d9; color:#805310; }
.service-maintenance-list p { margin:7px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.service-maintenance-list small { color:#62758a; display:block; }
.service-maintenance-list button { margin-top:8px; }
.service-maintenance-new { margin-top:12px; }
.service-maintenance-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; padding:12px; border:1px solid #cbdce6; border-radius:10px; background:#f4f9fb; }
.service-maintenance-form label { display:grid; gap:5px; min-width:0; font-size:13px; font-weight:600; }
.service-maintenance-form :is(input,select,textarea) { box-sizing:border-box; width:100%; min-width:0; }
.service-maintenance-form textarea { min-height:86px; resize:vertical; }
.service-maintenance-wide,.service-maintenance-error,.service-maintenance-actions { grid-column:1/-1; }
.service-maintenance-error { min-height:0; margin:0; color:#a83b32; font-size:12px; }
.service-maintenance-error:empty { display:none; }
.service-maintenance-save-notice { margin:0 0 12px; padding:10px 12px; border:1px solid #e8b09e; border-radius:9px; background:#fff4ee; color:#8b352b; font-size:13px; font-weight:600; }
.service-maintenance-actions { display:flex; gap:8px; justify-content:flex-end; }
@media (max-width:430px) {
  .service-maintenance-form { grid-template-columns:minmax(0,1fr); padding:10px; }
  .service-maintenance-form :is(input,select,textarea) { min-height:44px; font-size:16px; }
  .service-maintenance-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-maintenance-actions button { min-height:44px; }
  .service-maintenance-list li { padding:10px; }
}
.service-maintenance-list .is-linked { outline:3px solid #087d76; outline-offset:2px; }
.service-maintenance-detail { display:grid; gap:10px; margin-bottom:12px; padding:12px; border:2px solid #087d76; border-radius:10px; background:#f4fbf9; overflow-wrap:anywhere; }
.service-maintenance-detail h4 { margin:0; font-size:1rem; }
.service-maintenance-detail dl { display:grid; gap:8px; margin:0; }
.service-maintenance-detail dl > div { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr); gap:8px; }
.service-maintenance-detail dt { color:#52677a; }
.service-maintenance-detail dd { margin:0; min-width:0; }
.service-maintenance-detail-work { white-space:pre-wrap; }
.service-maintenance-file-note { margin:9px 0; color:var(--muted); font-size:12px; }
.service-maintenance-photos { display:grid; gap:9px; border-top:1px solid #d8e5e1; padding-top:10px; }
.service-maintenance-photos h5 { margin:0; font-size:14px; }
.service-maintenance-photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
.service-maintenance-photo-grid figure { margin:0; min-width:0; break-inside:avoid-page; }
.service-maintenance-photo-grid img { display:block; width:100%; max-height:175px; object-fit:contain; border:1px solid #d8e3eb; border-radius:7px; background:#fff; }
.service-maintenance-photo-grid figcaption { margin-top:4px; font-size:11px; color:#52677a; overflow-wrap:anywhere; }
.service-maintenance-photos form { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.service-maintenance-photos form label { display:grid; gap:4px; min-width:min(230px,100%); flex:1; font-size:13px; }
.service-maintenance-photos form :is(select,button) { min-height:44px; }
.service-maintenance-detail .quiet-btn { min-height:44px; justify-self:start; display:inline-flex; align-items:center; }
.service-maintenance-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
.service-maintenance-detail-actions button { min-height:44px; }
.service-maintenance-print-heading { display:none; }
@media (max-width:430px) { .service-maintenance-detail dl > div { grid-template-columns:minmax(0,1fr); gap:2px; } .service-maintenance-detail .quiet-btn { justify-self:stretch; justify-content:center; } .service-maintenance-detail-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .service-maintenance-detail-actions > * { min-width:0; } .service-maintenance-photos form { display:grid; } .service-maintenance-photos form label { min-width:0; } }
@page service-visit { size:A4; margin:16mm; }
@media print {
  body.print-service-visit .sidebar, body.print-service-visit .topbar,
  body.print-service-visit #service-lift-card-root > .service-card-heading,
  body.print-service-visit .service-card-view-nav,
  body.print-service-visit .service-card-section:not(.service-card-maintenance),
  body.print-service-visit .service-card-maintenance > h2,
  body.print-service-visit .service-card-planned-visits,
  body.print-service-visit .service-maintenance-journal-title,
  body.print-service-visit .service-maintenance-list,
  body.print-service-visit .service-maintenance-new,
  body.print-service-visit .service-maintenance-form,
  body.print-service-visit .service-maintenance-photos form,
  body.print-service-visit .service-maintenance-detail-actions,
  body.print-service-visit .service-maintenance-detail:not(.is-print-target),
  body.print-service-visit .page:not(#page-service-lift) { display:none !important; }
  body.print-service-visit .app-shell, body.print-service-visit .main,
  body.print-service-visit #page-service-lift, body.print-service-visit #service-lift-card-root,
  body.print-service-visit .service-card-grid, body.print-service-visit .service-card-maintenance,
  body.print-service-visit .service-maintenance-journal,
  body.print-service-visit .service-maintenance-detail.is-print-target { display:block !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:#fff !important; }
  body.print-service-visit .service-maintenance-detail.is-print-target { page:service-visit; color:#111; font:11pt/1.4 Arial,sans-serif; }
  body.print-service-visit .service-maintenance-print-heading { display:block; margin-bottom:9mm; border-bottom:1px solid #888; padding-bottom:5mm; }
  body.print-service-visit .service-maintenance-print-heading h3 { margin:0 0 3mm; font-size:18pt; }
  body.print-service-visit .service-maintenance-print-heading p { margin:1mm 0; }
  body.print-service-visit .service-maintenance-detail dl > div { break-inside:avoid-page; }
  body.print-service-visit .service-maintenance-detail-work { white-space:pre-wrap; }
  body.print-service-visit .service-maintenance-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.print-service-visit .service-maintenance-photo-grid img { max-height:75mm; }
}
