.service-visit-register-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.service-visit-register-search{display:grid;gap:5px;max-width:520px;margin:0 0 10px}
.service-visit-register-search label{color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-search>div{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px}
.service-visit-register-search input,.service-visit-register-search button{min-width:0;min-height:44px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.service-visit-register-search input{padding:8px 10px;font-size:16px}.service-visit-register-search button{padding:5px;font-size:20px;cursor:pointer}
.service-visit-register-controls label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-controls select{width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:15px}
.service-visit-register-controls input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:15px}
.service-visit-register-range-error{margin:0 0 9px;color:#a34131;font-size:12px}
.service-visit-register-quick-month{display:flex;align-items:end;gap:6px;grid-column:span 2;min-width:0}
.service-visit-register-quick-month button{flex:1 1 0;min-width:0;min-height:44px;padding:7px 9px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.service-visit-register-quick-month button[aria-pressed="true"]{border-color:#3972a3;background:#e8f2fa;color:#244c75;font-weight:700}
.service-visit-register-quick-month button:focus-visible{outline:2px solid #3972a3;outline-offset:2px}
.service-visit-register-record{margin:0 0 12px}.service-visit-register-record .quiet-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 12px;text-align:center;text-decoration:none}
.service-visit-register-record-hint{margin:0 0 12px;color:var(--muted);font-size:12px}
.service-visit-register-count,.service-visit-register-state{margin:0 0 12px;color:var(--muted);font-size:13px}
.service-visit-register-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.service-visit-register-summary .service-visit-register-count{margin:0}
.service-visit-register-summary button{min-height:44px}
.service-visit-register-summary-actions{display:flex;flex-wrap:wrap;gap:8px}
.service-visit-register-breakdown{margin:0 0 12px}
.service-visit-register-breakdown h2{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-breakdown dl{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.service-visit-register-breakdown dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:145px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px}
.service-visit-register-breakdown dt{min-width:0;overflow-wrap:anywhere;color:var(--muted)}
.service-visit-register-breakdown dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.service-visit-register-oldest{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#fff}
.service-visit-register-oldest>div{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.service-visit-register-oldest h2{margin:0;font-size:13px}.service-visit-register-oldest strong{font-size:13px}.service-visit-register-oldest span{color:var(--muted);font-size:12px}
.service-visit-register-oldest .quiet-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:8px 12px;text-align:center;text-decoration:none}
@media(max-width:600px){.service-visit-register-oldest{align-items:stretch;flex-direction:column}.service-visit-register-oldest .quiet-btn{width:100%}}
.service-visit-register-workers{margin:0 0 12px}.service-visit-register-workers h2{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-workers dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:6px;margin:0}
.service-visit-register-workers dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px}
.service-visit-register-workers dt{min-width:0;flex:1;overflow-wrap:anywhere;color:var(--muted)}.service-visit-register-workers dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.service-visit-register-workers button{display:block;width:100%;min-height:44px;padding:6px 0;border:0;background:transparent;color:#244c75;text-align:left;text-decoration:underline;text-underline-offset:2px;font:inherit;font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.service-visit-register-workers button:focus-visible{outline:2px solid #3972a3;outline-offset:2px;border-radius:4px}
.service-visit-register-workers p{margin:0;color:var(--muted);font-size:12px}
.service-visit-register-followup-queue{margin:0 0 12px}
.service-visit-register-followup-queue h2{display:flex;justify-content:space-between;gap:8px;margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-followup-queue h2 span{font-variant-numeric:tabular-nums}
.service-visit-register-followup-queue>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:7px}
.service-visit-register-followup-queue details{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff}
.service-visit-register-followup-queue summary{display:grid;align-content:center;gap:3px;min-height:44px;padding:7px 10px;cursor:pointer;font-size:12px}
.service-visit-register-followup-queue summary:focus-visible{outline:2px solid #3972a3;outline-offset:2px}
.service-visit-register-followup-queue summary strong,.service-visit-register-followup-queue summary span{overflow-wrap:anywhere}
.service-visit-register-followup-queue summary span{color:var(--muted)}
.service-visit-register-handoff-button{display:block;min-height:44px;margin:0 10px 6px;padding:8px 12px}
.service-visit-register-handoff-button:focus-visible{outline:2px solid #3972a3;outline-offset:2px}
.service-visit-register-handoff-print{display:none}
.service-visit-register-followup-queue ol{margin:0;padding:0 10px 8px;list-style:none}
.service-visit-register-followup-queue li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--border);font-size:12px}
.service-visit-register-followup-queue li div{min-width:0;overflow-wrap:anywhere}
.service-visit-register-followup-queue li strong,.service-visit-register-followup-queue li span{display:block}
.service-visit-register-followup-queue li span{color:var(--muted)}
.service-visit-register-followup-queue li p{margin:3px 0 0}
.service-visit-register-followup-queue li a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex:none;text-decoration:none}
.service-visit-register-queue-actions{display:flex;flex-wrap:wrap;gap:6px}
.service-visit-register-queue-actions .quiet-btn{text-align:center}
.service-visit-register-grouping{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.service-visit-register-grouping span{margin-right:3px;color:var(--muted);font-size:12px;font-weight:700}
.service-visit-register-grouping button{min-height:44px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.service-visit-register-grouping button[aria-pressed="true"]{border-color:#3972a3;background:#e8f2fa;color:#244c75;font-weight:700}
.service-visit-register-print{display:none}
.service-visit-register-retry{min-height:44px}
.service-visit-register-site{margin:0 0 18px}
.service-visit-register-site h2{margin:0 0 8px;font-size:16px;overflow-wrap:anywhere}
.service-visit-register-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:9px}
.service-visit-register-card{display:grid;gap:7px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff;overflow-wrap:anywhere}
.service-visit-register-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.service-visit-register-head time{font-weight:700;font-variant-numeric:tabular-nums}
.service-visit-register-head span{padding:3px 7px;border-radius:999px;background:#e9f3f5;color:#17536a;font-size:11px;font-weight:700}
.service-visit-register-card strong{font-size:15px}.service-visit-register-card p{margin:0;color:var(--ink);font-size:13px;line-height:1.4}.service-visit-register-card small{color:var(--muted)}
.service-visit-register-card .service-visit-register-age{padding:5px 7px;border-radius:7px;background:#fff4e5;color:#714315;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.service-visit-register-card .quiet-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:max-content;max-width:100%;padding:8px 12px;text-align:center;text-decoration:none}
.service-visit-register-actions{display:flex;flex-wrap:wrap;gap:7px}.service-visit-register-copy-status{font-size:12px}.service-visit-register-copy-manual{box-sizing:border-box;width:100%;min-height:44px;padding:8px;border:1px solid var(--border-strong);border-radius:8px;font-size:16px}
@media(max-width:600px){.service-visit-register-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.service-visit-register-list{grid-template-columns:minmax(0,1fr)}.service-visit-register-card .quiet-btn{width:100%}}
@media(max-width:600px){.service-visit-register-quick-month{grid-column:1/-1}}
@media(max-width:600px){.service-visit-register-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.service-visit-register-actions .quiet-btn{min-width:0}}
@media(max-width:600px){.service-visit-register-actions .service-visit-register-due-link{grid-column:1/-1}}
@media(max-width:600px){.service-visit-register-card .service-visit-register-age{width:fit-content;max-width:100%;box-sizing:border-box}}
@media(max-width:600px){.service-visit-register-followup-queue>div{grid-template-columns:minmax(0,1fr)}.service-visit-register-followup-queue li{align-items:stretch;flex-direction:column}.service-visit-register-followup-queue li a{width:100%}}
@media(max-width:600px){.service-visit-register-queue-actions{display:grid;grid-template-columns:minmax(0,1fr)}.service-visit-register-queue-actions .quiet-btn{width:100%}}
@media(max-width:600px){.service-visit-register-handoff-button{box-sizing:border-box;width:calc(100% - 20px)}}
@media(max-width:600px){.service-visit-register-summary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.service-visit-register-summary button{width:100%}}
@media(max-width:430px){.service-visit-register-breakdown dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.service-visit-register-breakdown dl>div{min-width:0}}
@media(max-width:430px){.service-visit-register-workers dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.service-visit-register-record .quiet-btn{width:100%}}
@media(max-width:430px){.service-visit-register-grouping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.service-visit-register-grouping span{grid-column:1/-1}.service-visit-register-grouping button{min-width:0}.service-visit-register-grouping button:last-child{grid-column:1/-1}}
@page service-visit-handoff-page{size:A4;margin:13mm}
@media print{
  body.print-service-visit-handoff>:not(.service-visit-register-handoff-print){display:none!important}
  body.print-service-visit-handoff>.service-visit-register-handoff-print{display:block!important;page:service-visit-handoff-page;color:#111;background:#fff;font:9pt/1.4 Arial,sans-serif}
  .service-visit-register-handoff-print h1{margin:0 0 3mm;font-size:15pt}
  .service-visit-register-handoff-print header{margin-bottom:5mm}
  .service-visit-register-handoff-print header p{margin:1mm 0;overflow-wrap:anywhere}
  .service-visit-register-handoff-print table{width:100%;border-collapse:collapse;table-layout:fixed}
  .service-visit-register-handoff-print th,.service-visit-register-handoff-print td{padding:2mm;border:1px solid #999;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  .service-visit-register-handoff-print tr{break-inside:avoid-page}
  .service-visit-register-handoff-print a{color:#111;text-decoration:underline}
  body.print-service-visits .sidebar,body.print-service-visits .topbar,body.print-service-visits .server-status-panel{display:none!important}
  body.print-service-visits .app-shell{display:block}
  body.print-service-visits .page{display:none!important}
  body.print-service-visits #page-service-visit-register{display:block!important;padding:0}
  body.print-service-visits #page-service-visit-register>.page-heading,body.print-service-visits .service-visit-register-search,body.print-service-visits .service-visit-register-controls,body.print-service-visits .service-visit-register-record,body.print-service-visits .service-visit-register-record-hint,body.print-service-visits .service-visit-register-summary,body.print-service-visits .service-visit-register-breakdown,body.print-service-visits .service-visit-register-oldest,body.print-service-visits .service-visit-register-workers,body.print-service-visits .service-visit-register-followup-queue,body.print-service-visits .service-visit-register-grouping,body.print-service-visits .service-visit-register-site{display:none!important}
  body.print-service-visits .service-visit-register-print{display:block;color:#111;font-size:10pt}
  body.print-service-visits .service-visit-register-print h2{margin:0 0 4mm;font-size:16pt}
  body.print-service-visits .service-visit-register-print p{margin:0 0 5mm}
  body.print-service-visits .service-visit-register-print table{width:100%;border-collapse:collapse;table-layout:fixed}
  body.print-service-visits .service-visit-register-print th,body.print-service-visits .service-visit-register-print td{padding:2mm;border:1px solid #999;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  body.print-service-visits .service-visit-register-print tr{break-inside:avoid}
  body.print-service-visits .service-visit-register-print a{color:#111;text-decoration:underline}
}
