.lab-visits-page,.lab-visit-detail{min-width:0;max-width:100%}
.lab-visit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.lab-visit-metric{min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:11px;background:#fff}
.lab-visit-metric dt{margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}
.lab-visit-metric dd{margin:0;font-size:25px;font-weight:750;line-height:1.15;color:var(--primary-dark)}
.lab-visit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px;margin-bottom:20px}
.lab-visit-filters>.field-group{min-width:0}
.lab-visit-filters>.lab-visit-search{grid-column:span 2}
.lab-visit-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lab-visit-filter-actions .btn{min-width:120px}
.lab-visit-list{display:grid;gap:14px;min-width:0}
.lab-visit-list>.panel+.panel{margin-top:0}
.lab-visit-card{min-width:0;padding:20px 22px}
.lab-visit-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.lab-visit-card-head>div{min-width:0}
.lab-visit-card h2{font-size:17px;line-height:1.45;margin:0}
.lab-visit-card h2 a,.lab-visit-card p,.lab-visit-card dd{overflow-wrap:anywhere}
.lab-visit-card-number{margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:650}
.lab-visit-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;margin:18px 0 0}
.lab-visit-card-grid>div{min-width:0}
.lab-visit-card-grid dt,.lab-visit-facts dt{font-size:11px;color:var(--muted);font-weight:600;margin:0 0 4px}
.lab-visit-card-grid dd,.lab-visit-facts dd{font-size:13px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.lab-visit-card-note{margin:15px 0 0;padding:11px 13px;border-left:3px solid #b9d4c8;border-radius:0 8px 8px 0;background:#f5faf7;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.lab-visit-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.lab-visit-pagination p{margin:0;color:var(--muted);font-size:13px}
.lab-visit-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.lab-visit-detail-head>div{min-width:0}
.lab-visit-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.lab-visit-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 0 20px;padding:5px;border:1px solid var(--line);border-radius:11px;background:#f4f7f8;list-style:none}
.lab-visit-progress li{min-width:0;padding:10px 7px;border-radius:7px;color:var(--muted);font-size:11px;text-align:center;overflow-wrap:anywhere}
.lab-visit-progress li[aria-current="step"]{background:#fff;color:var(--primary-dark);box-shadow:0 1px 4px rgba(24,54,42,.12);font-weight:700}
.lab-visit-progress li[data-complete="true"]{color:#276a4e;font-weight:650}
.lab-visit-detail-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}
.lab-visit-detail-grid>.panel{min-width:0;margin:0}
.lab-visit-detail-grid>.lab-visit-wide{grid-column:1/-1}
.lab-visit-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.lab-visit-facts>div{min-width:0}
.lab-visit-participants{display:grid;gap:8px;list-style:none;padding:0;margin:0}
.lab-visit-participants li{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fafcfc;font-size:13px;overflow-wrap:anywhere}
.lab-visit-participant-kind{flex:0 0 auto;color:var(--muted);font-size:11px}
.lab-visit-revisions,.lab-visit-history{display:grid;gap:12px;min-width:0}
.lab-visit-revision,.lab-visit-event{min-width:0;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff}
.lab-visit-revision[open]{border-color:#accbbb}
.lab-visit-revision summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.lab-visit-revision-body{padding-top:13px;border-top:1px solid var(--line)}
.lab-visit-note-block{margin:11px 0 0}
.lab-visit-note-block h4{margin:0 0 5px;color:var(--muted);font-size:11px;font-weight:650}
.lab-visit-note-block p{margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.lab-visit-documents{display:grid;gap:8px;list-style:none;margin:11px 0 0;padding:0}
.lab-visit-documents li{min-width:0;padding:9px 10px;border-radius:8px;background:#f5f8f7;font-size:13px;overflow-wrap:anywhere}
.lab-visit-event{border-left:3px solid #c4d9cf}
.lab-visit-event h3{font-size:14px;margin:0 0 5px}
.lab-visit-event p{margin:5px 0 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.lab-visit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.lab-visit-form-grid>.field-group{min-width:0}
.lab-visit-form-grid>.lab-visit-field-wide{grid-column:1/-1}
.lab-visit-picker{min-width:0;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}
.lab-visit-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.lab-visit-picker-head h3{font-size:14px;margin:0}
.lab-visit-picker-head p{font-size:12px;color:var(--muted);margin:4px 0 0}
.lab-visit-picker-search{display:flex;gap:8px;margin-bottom:10px}
.lab-visit-picker-search .form-control{min-width:0}
.lab-visit-choice-list{display:grid;gap:8px;max-height:245px;overflow:auto;overscroll-behavior:contain}
.lab-visit-choice{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;min-width:0}
.lab-visit-choice input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto}
.lab-visit-choice span{min-width:0;font-size:13px;overflow-wrap:anywhere}
.lab-visit-choice small{display:block;margin-top:3px;color:var(--muted)}
.lab-visit-picker-more{margin-top:10px;width:100%}
.lab-visit-empty-options{margin:0;padding:10px;color:var(--muted);font-size:13px;text-align:center}
.lab-visit-conflict{margin-top:14px;padding:14px;border:1px solid #e3b661;border-radius:9px;background:#fff8e7}
.lab-visit-conflict h3{font-size:14px;margin:0 0 7px}
.lab-visit-conflict p{font-size:13px;margin:0 0 10px;white-space:pre-wrap}
.lab-visit-conflict-actions{display:flex;flex-wrap:wrap;gap:8px}
.lab-visit-conflict-ack{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin-top:10px;cursor:pointer;font-size:13px}
.lab-visit-conflict-ack input{width:20px;height:20px;margin-top:1px}
.lab-visit-current-compare{margin:10px 0 0;padding-left:18px;font-size:13px}
.lab-visit-current-compare li{margin:5px 0;overflow-wrap:anywhere}
.lab-visit-form-errors{margin-top:12px}
.lab-visit-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px}
.lab-visit-upload-row p{flex:1;min-width:0;margin:0;color:var(--muted);font-size:12px}
.lab-visit-radio-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.lab-visit-radio-tabs label{min-height:44px}
.lab-visit-status-note{font-size:13px;margin:10px 0 0;padding:11px 13px;border-radius:8px;background:#f6f8f9;white-space:pre-wrap;overflow-wrap:anywhere}
.lab-visit-modal .modal-title{overflow-wrap:anywhere}
.lab-visit-modal .modal-footer{gap:8px}
.lab-visit-modal .modal-footer .btn{min-width:120px}
.lab-visit-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1199px){.lab-visit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-visit-filters>.lab-visit-search{grid-column:span 2}}
@media(max-width:991px){.lab-visit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-visit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-visit-detail-grid{grid-template-columns:minmax(0,1fr)}.lab-visit-detail-grid>.lab-visit-wide{grid-column:auto}.lab-visit-card{padding:19px}.lab-visits-page .btn-sm,.lab-visit-detail .btn-sm,.lab-visit-modal .btn-sm{min-height:44px}.lab-visit-detail-head{flex-direction:column}.lab-visit-detail-actions{justify-content:flex-start;width:100%}.lab-visit-detail-actions .btn{min-height:44px}.lab-visit-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.lab-visit-summary{gap:8px}.lab-visit-metric{padding:14px}.lab-visit-metric dd{font-size:21px}.lab-visit-filters{grid-template-columns:minmax(0,1fr);gap:0}.lab-visit-filters>.lab-visit-search{grid-column:auto}.lab-visit-filter-actions .btn{flex:1;min-height:44px}.lab-visit-card-head{flex-direction:column;gap:9px}.lab-visit-card-grid{grid-template-columns:minmax(0,1fr);gap:11px}.lab-visit-card .btn{min-height:44px;width:100%}.lab-visit-progress{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.lab-visit-facts{grid-template-columns:minmax(0,1fr);gap:12px}.lab-visit-form-grid{grid-template-columns:minmax(0,1fr);gap:0}.lab-visit-form-grid>.lab-visit-field-wide{grid-column:auto}.lab-visit-picker{padding:12px}.lab-visit-picker-search{flex-wrap:wrap}.lab-visit-picker-search .btn{width:100%;min-height:44px}.lab-visit-detail-actions .btn{flex:1}.lab-visit-pagination .btn{min-height:44px;flex:1}.lab-visit-modal .modal-footer{flex-wrap:wrap}.lab-visit-modal .modal-footer .btn{flex:1;min-height:44px}.lab-visit-radio-tabs{grid-template-columns:minmax(0,1fr)}.lab-visit-upload-row .btn{width:100%;min-height:44px}}
@media(max-width:430px){.lab-visit-summary{grid-template-columns:minmax(0,1fr)}.lab-visit-card{padding:17px}.lab-visit-progress{grid-template-columns:minmax(0,1fr)}.lab-visit-detail-actions .btn{flex-basis:100%}.lab-visit-filter-actions .btn{flex-basis:100%}.lab-visit-revision summary{align-items:flex-start;flex-direction:column}.lab-visit-metric{display:flex;justify-content:space-between;align-items:center;gap:12px}.lab-visit-metric dt{margin:0}.lab-visit-metric dd{font-size:20px}}

.lab-visit-report-summary,.lab-visit-report-state{margin:16px 0;min-width:0}
.lab-visit-report-summary .btn,.lab-visit-report-state .btn{min-height:44px;white-space:normal}
.lab-visit-report-workspace{margin:20px 0;min-width:0;scroll-margin-top:80px}
.lab-visit-report-content{display:grid;gap:14px;margin:16px 0}
.lab-visit-report-card{padding:16px;border:1px solid var(--line,#dce5ef);border-radius:12px;min-width:0}
.lab-visit-report-card h3{font-size:1.05rem;margin:0 0 8px}
.lab-visit-report-card p,.lab-visit-report-card h3,.lab-visit-report-target{overflow-wrap:anywhere}
.lab-visit-report-create{display:grid;gap:14px;padding:16px;margin:18px 0;background:#f6f9fc;border:1px solid var(--line,#dce5ef);border-radius:12px;min-width:0}
.lab-visit-report-create[hidden]{display:none}
.lab-visit-modal [name=report_preparer_user_id]{min-height:44px}
.lab-visit-report-workspace .btn,.lab-visit-report-workspace .form-control{min-height:44px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:768px){.lab-visit-report-workspace .card-action-row>.btn,.lab-visit-report-summary .card-action-row>.btn{flex:1 1 220px}.lab-visit-report-create,.lab-visit-report-card{padding:12px}}

/* Direct uploads save files independently of submitting the field package. */
.lab-package-upload{border:1px solid var(--line,#dce5ef);border-radius:12px;padding:16px;margin:18px 0;min-width:0}
.lab-package-upload h3{font-size:1.05rem;margin:0 0 14px}
.lab-package-upload-list{display:grid;gap:12px;min-width:0}
.lab-package-upload-item{border:1px solid var(--line,#dce5ef);border-radius:10px;padding:14px;min-width:0;background:#f8faf9}
.lab-package-upload-item p,.lab-package-upload-filename{overflow-wrap:anywhere;white-space:pre-wrap}
.lab-package-upload .btn,.lab-package-upload .form-control{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.lab-package-upload-item .btn{margin:4px 8px 0 0}
@media(max-width:768px){.lab-package-upload,.lab-package-upload-item{padding:12px}.lab-package-upload-item .btn{width:100%;margin-right:0}}

.lab-repeat-fields{min-width:0;border:0;padding:0;margin:0}
.lab-repeat-source,.lab-repeat-relations article{border:1px solid var(--line,#dce5ef);border-radius:12px;padding:16px;margin:12px 0;min-width:0;background:#f8faf9}
.lab-repeat-source h3,.lab-repeat-relations h3{font-size:1.05rem;margin:0 0 12px}
.lab-repeat-source p,.lab-repeat-relations p{overflow-wrap:anywhere}
.lab-repeat-reason{white-space:pre-wrap}
.lab-repeat-participants>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;margin-bottom:12px}
.lab-repeat-relations .btn,[data-repeat-visit] .btn,[data-repeat-visit] .form-control{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.lab-visit-revision[id^="lab-visit-package-"]{scroll-margin-top:90px}
@media(max-width:768px){.lab-repeat-source,.lab-repeat-relations article{padding:12px}.lab-repeat-relations .btn{width:100%}}

/* Laboratory visit planning: agenda, not a time sheet. */
.lab-schedule-page,.lab-schedule-page *{min-width:0}
.lab-schedule-page{overflow-anchor:none}
.lab-schedule-results{min-height:max(220px,calc(100dvh - 400px))}
.lab-schedule-results.is-empty{display:flex;flex-direction:column;gap:12px}
.lab-schedule-results.is-empty>.empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}
.lab-schedule-results.is-empty>.empty-state p{max-width:440px}
.lab-schedule-page .btn,.lab-schedule-page .form-control,.lab-schedule-page .form-select,.lab-schedule-page summary{min-height:44px}
.lab-schedule-page .btn{white-space:normal;overflow-wrap:anywhere}
.lab-schedule-page p,.lab-schedule-page h2,.lab-schedule-page h3,.lab-schedule-page li,.lab-schedule-page a{overflow-wrap:anywhere}
.lab-schedule-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.lab-schedule-toolbar .field-group{margin:0;min-width:170px;flex:1 1 170px}
.lab-schedule-toolbar>.btn{margin-top:20px}
.lab-schedule-filter-details{border-top:1px solid var(--line);padding:0 4px;margin:0;background:#fff;grid-column:1/-1}
.lab-schedule-page summary{display:flex;align-items:center;cursor:pointer;font-weight:650}
.lab-schedule-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-top:14px}
.lab-schedule-filters>.card-action-row{grid-column:1/-1}
.lab-schedule-picker>p{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lab-schedule-picker-finder{background:#f5f8fa;border-radius:8px;padding:8px 12px}
.lab-schedule-picker-search{display:flex;gap:8px;margin:8px 0}
.lab-schedule-picker-search input{flex:1}
.lab-schedule-picker-search .btn{flex:0 0 auto;min-width:92px;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.lab-schedule-picker-results{display:grid;gap:8px;margin-bottom:10px}
.lab-schedule-picker-results .btn{text-align:left}
.lab-schedule-summary{margin:8px 0 16px}.lab-schedule-summary>.form-text{font-size:12px;margin:0 0 7px;color:#61717d}
.lab-schedule-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.lab-schedule-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:2px solid #d9e5e9;padding:8px 10px;background:#fff}
.lab-schedule-metrics span{display:block;font-size:12px;color:var(--muted)}
.lab-schedule-metrics strong{font-size:20px;line-height:1.2}
.lab-schedule-days{display:grid;gap:20px}
.lab-schedule-days.is-week{grid-template-columns:minmax(0,1fr)}
.lab-schedule-day{min-width:0;padding:0;background:transparent}
.lab-schedule-day>h2{font-size:15px;margin:0 0 8px;text-transform:capitalize;color:#405563}
.lab-schedule-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0;scroll-margin-top:90px}
.lab-schedule-card-head{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between}
.lab-schedule-card h3{font-size:15px;margin:0;flex:1 1 150px}
.lab-schedule-card p{font-size:13px;margin:10px 0}
.lab-schedule-time{font-weight:650}
.lab-schedule-note{white-space:pre-wrap}
.lab-schedule-people{border-top:1px solid var(--line);margin:8px 0}
.lab-schedule-people ul{padding-left:18px;font-size:13px}
.lab-schedule-overlaps{border:1px solid #e3bd76;border-radius:8px;padding:8px 10px;background:#fff9ed;margin:12px 0}
.lab-schedule-overlap{border-top:1px solid #ead7b3;padding:10px 0}
.lab-schedule-overlap strong{font-size:13px;overflow-wrap:anywhere}
.lab-schedule-continuation{display:block;padding:12px;background:#e8f1fa;border-radius:8px;min-height:44px;margin:10px 0;font-size:13px}
.lab-schedule-card .card-action-row>.btn{flex:1 1 160px}
.lab-schedule-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}
.lab-schedule-attention{border-top:2px solid var(--line);margin-top:28px;padding-top:22px}
.lab-schedule-attention>h2{font-size:20px}
.lab-schedule-attention-list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.lab-schedule-attention-note{background:#fff5df;padding:10px;border-radius:8px}
/* Keep the existing visit picker search button intact at tablet widths too. */
.lab-visit-picker-search>.btn{flex-shrink:0;min-width:92px;word-break:normal;overflow-wrap:normal}
.lab-package-draft-summary,.lab-package-close-warning{border:1px solid var(--line,#dce5ef);border-radius:10px;padding:14px;margin:0 0 18px;background:#f4f9f8;min-width:0}
.lab-package-draft-status{margin:0 0 8px;font-weight:600;overflow-wrap:anywhere}
.lab-package-draft-status.is-unsaved{color:#845100}
.lab-package-close-warning{background:#fff8e9;border-color:#e3bd76}
.lab-package-draft-comparison{border-top:1px solid var(--line,#dce5ef);padding-top:12px;margin-top:12px}
.lab-package-draft-comparison p{white-space:pre-wrap;overflow-wrap:anywhere}
.lab-package-draft-modal .btn,.lab-package-draft-modal .form-control,.lab-package-draft-modal .form-select{min-height:44px}
.lab-package-draft-modal .btn{white-space:normal;overflow-wrap:anywhere}
.lab-package-draft-modal .modal-footer{gap:8px}
.lab-package-draft-modal .modal-footer>.btn{margin:0}
.lab-measurement-import{border:1px solid var(--line,#dce5ef);border-radius:12px;padding:16px;margin:18px 0;min-width:0;background:#f8fafc}
.lab-measurement-import h3,.lab-measurement-review h3{font-size:1.05rem;margin:0 0 12px}
.lab-measurement-import>.btn{margin-bottom:10px}
.lab-measurement-review{margin:16px 0;min-width:0}
.lab-measurement-rows{display:grid;gap:12px}
.lab-measurement-row{border:1px solid var(--line,#dce5ef);border-radius:10px;background:#fff;padding:12px;min-width:0}
.lab-measurement-row h4{font-size:1rem;margin:0 0 10px}
.lab-measurement-row p,.lab-measurement-import p,.lab-measurement-import li{overflow-wrap:anywhere}
.lab-measurement-section{font-weight:600;color:var(--muted,#53647a)}
.lab-measurement-note{white-space:pre-wrap}
.lab-measurement-source-result{white-space:pre-wrap}
.lab-questionnaire-summary{font-weight:600;overflow-wrap:anywhere}
.lab-measurement-section-heading{background:#eaf1f6;border-radius:8px;padding:10px 12px;margin-top:4px;min-width:0}
.lab-measurement-section-heading h4{font-size:1rem;margin:0 0 6px;overflow-wrap:anywhere}
.lab-measurement-section-heading p{margin:0}
.lab-questionnaire-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.lab-questionnaire-facts>div{min-width:0;overflow-wrap:anywhere}
.lab-questionnaire-facts dt{font-size:12px;color:var(--muted,#53647a);font-weight:500}
.lab-questionnaire-facts dd{font-size:14px;font-weight:600;margin:3px 0 0}
.lab-questionnaire-deviation{padding:8px 10px;border-radius:8px;background:#fff6df;color:#75520b;margin:10px 0}
.lab-questionnaire-additional{margin:14px 0;border-top:1px solid var(--line,#dce5ef);padding-top:10px}
.lab-questionnaire-additional>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-weight:600;overflow-wrap:anywhere}
.lab-questionnaire-additional>summary::before{content:'＋';margin-right:8px}
.lab-questionnaire-additional[open]>summary::before{content:'−'}
.lab-questionnaire-additional>summary+.lab-measurement-rows{margin-top:10px}
@media(max-width:430px){.lab-questionnaire-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lab-measurement-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 0}
.lab-measurement-values>div{padding:7px;background:#f2f6f8;border-radius:6px;min-width:0;overflow-wrap:anywhere}
.lab-measurement-values dt{font-size:12px;font-weight:500}
.lab-measurement-values dd{font-size:14px;font-weight:600;margin:3px 0 0}
.lab-measurement-errors,.lab-measurement-warnings{padding:12px;border:1px solid #e2aa99;border-radius:8px;background:#fff2ed;margin:12px 0}
.lab-measurement-warnings{border-color:#e3bd76;background:#fff8e9}
.lab-measurement-review .btn{min-height:44px;white-space:normal}
@media(max-width:768px){.lab-measurement-values{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-measurement-import{padding:12px}}
@media(max-width:430px){.lab-measurement-values{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-measurement-import>.btn,.lab-measurement-import [data-measurement-import-apply],.lab-measurement-import [data-measurement-import-remove]{width:100%}}
@media(max-width:430px){.lab-package-draft-modal .modal-footer>.btn,.lab-package-close-warning .btn{width:100%}.lab-package-draft-summary,.lab-package-close-warning{padding:12px}.lab-package-draft-modal .modal-footer{padding:12px}}
@media(max-width:1199px){.lab-schedule-days.is-week{grid-template-columns:minmax(0,1fr)}.lab-schedule-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.lab-schedule-days.is-week,.lab-schedule-filters,.lab-schedule-attention-list{grid-template-columns:minmax(0,1fr)}.lab-schedule-toolbar>.btn{margin-top:0;flex:1 1 130px}.lab-schedule-toolbar .field-group{flex-basis:100%}.lab-schedule-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-schedule-page>.card-action-row>.btn,.lab-schedule-page .page-heading .btn{flex:1 1 200px}.lab-schedule-pagination .btn{flex:1}.lab-schedule-card{padding:12px}.lab-schedule-filter-details{padding:10px 12px}}

/* Dispatch workspace: compact facts remain visible; detailed actions load in place. */
.lab-dispatch-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:12px 20px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}
.lab-dispatch-controls>nav{grid-column:1/-1;margin:0}
.lab-schedule-quick-search{display:flex;gap:8px;align-items:end;min-width:0}
.lab-schedule-quick-search>.field-group{flex:1;margin:0;min-width:0}
.lab-schedule-quick-search>.btn{flex-shrink:0}
.lab-schedule-period-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.lab-schedule-period-row>h2{font-size:18px;margin:0}
.lab-schedule-shortcuts{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}
.lab-dispatch-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lab-dispatch-result-head p{margin:0;color:#61717d;font-size:13px}
.lab-dispatch-result-head .lab-schedule-pagination{margin:0}
.lab-dispatch-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.lab-dispatch-week>.btn{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 6px;min-width:0;background:#fff;text-transform:none}
.lab-dispatch-week>.btn>span{font-size:12px;color:#566b79}
.lab-dispatch-week>.btn>strong{font-size:20px;line-height:1.2}
.lab-dispatch-week>.btn.is-today{border-color:#247c78;background:#edf8f5}
.lab-schedule-day-navigation{position:sticky;top:8px;z-index:4;margin:16px 0;background:#f6f8fa;border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 2px 6px #203b4a08;scroll-margin-top:12px}
.lab-schedule-navigation-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lab-schedule-navigation-controls>.btn{min-width:44px;padding:6px 12px}
.lab-schedule-navigation-range{font-size:14px;font-weight:650;flex:1;text-align:center}
.lab-schedule-navigation-controls>[data-schedule-entire-week]{margin-left:8px}
.lab-schedule-day-navigation .lab-dispatch-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:10px 0 8px}
.lab-schedule-day-navigation .lab-dispatch-week>.btn{min-height:72px;border:1px solid #d9e3e7;padding:5px 3px;gap:2px}
.lab-schedule-day-navigation .lab-dispatch-week>.btn.is-today{background:#fff;border-color:#72a89f}
.lab-schedule-day-navigation .lab-dispatch-week>.btn.is-selected{border:2px solid #28796d;background:#e6f3ef;padding:4px 2px;box-shadow:inset 0 -2px #28796d}
.lab-schedule-day-navigation .lab-dispatch-week>.btn:focus-visible{outline:3px solid #9278db;outline-offset:2px}
.lab-schedule-day-navigation .lab-schedule-today-marker{height:13px;font-size:10px;font-weight:650;line-height:13px;color:#28796d}
.lab-schedule-navigation-result{margin:0;font-size:13px;line-height:1.45;min-height:38px;color:#3d5962;display:flex;align-items:center}
.lab-schedule-page .crm-analytics-compact{margin:12px 0 18px;padding:14px 18px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-top{margin-bottom:6px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-kpis{padding-bottom:8px;gap:8px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-kpi{display:flex;align-items:center;gap:12px;min-width:0}
.lab-schedule-page .crm-analytics-compact .crm-analytics-kpi-label{margin:0}
.lab-schedule-page .crm-analytics-compact .crm-analytics-kpi strong{font-size:21px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-donut{height:140px;max-width:200px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-body{padding:8px 0 0}
.lab-schedule-page .crm-analytics-compact .crm-analytics-legend{margin-top:4px;max-height:110px}
.lab-schedule-page .crm-analytics-compact .crm-analytics-preview-slot{min-height:0}
.lab-schedule-page .crm-analytics-compact .crm-analytics-line svg{min-height:130px;max-height:180px}
@media(max-width:768px){
 .lab-schedule-day-navigation{padding:8px;margin:12px 0}
 .lab-schedule-navigation-controls{gap:4px}
 .lab-schedule-navigation-range{font-size:13px;order:0}
 .lab-schedule-navigation-controls>[data-schedule-entire-week]{margin-left:0;font-size:12px;padding:6px 8px}
 .lab-schedule-day-navigation .lab-dispatch-week{gap:4px}
 .lab-schedule-day-navigation .lab-dispatch-week>.btn{min-height:68px}
 .lab-schedule-day-navigation .lab-dispatch-week>.btn>strong{font-size:18px}
 .lab-schedule-day-navigation .lab-dispatch-week>.btn>span{font-size:10px}
 .lab-schedule-day-navigation .lab-dispatch-week>.btn>.lab-schedule-today-marker{font-size:9px;letter-spacing:-.25px}
 .lab-schedule-navigation-result{font-size:12px}
 .lab-schedule-page .crm-analytics-compact{padding:12px}
 .lab-schedule-page .crm-analytics-compact .crm-analytics-toolbar{gap:5px;padding-top:8px}
 .lab-schedule-page .crm-analytics-compact .crm-analytics-donut{height:140px}
}
.lab-dispatch-row{margin:0 0 8px;padding:14px 16px;box-shadow:0 2px 6px #203b4a04}
.lab-dispatch-row-main{display:grid;grid-template-columns:72px minmax(150px,1fr) minmax(140px,.4fr) minmax(130px,.35fr) auto;gap:16px;align-items:center}
.lab-dispatch-row-main>div{min-width:0}
.lab-dispatch-time{display:grid;gap:4px;align-self:start;padding-top:2px}
.lab-dispatch-time>strong{font-size:18px;color:#223f50}
.lab-dispatch-time>span{font-size:12px;color:#61717d}
.lab-dispatch-object h3{font-size:15px;line-height:1.4;font-weight:650}
.lab-dispatch-object h3 a{color:#163f50;text-decoration:none}
.lab-dispatch-object p.lab-dispatch-address{font-size:13px;color:#536a79;margin:4px 0}
.lab-dispatch-project{font-size:12px;color:#236c79}
.lab-dispatch-assignment{display:grid;gap:4px;font-size:13px}
.lab-dispatch-label{font-size:12px;color:#61717d}
.lab-dispatch-state{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.lab-dispatch-overlap{font-size:12px;font-weight:600;color:#8a5917}
.lab-dispatch-row-main>.btn{min-height:44px;white-space:nowrap}
.lab-schedule-inspection{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.lab-schedule-inspection[hidden]{display:none}
.lab-schedule-inspection-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.lab-schedule-inspection h4{font-size:13px;font-weight:700;color:#526b79;margin:0 0 8px}
.lab-schedule-inspection .empty-state{padding:8px 0;min-height:0;text-align:left;border:0;background:none}
.lab-schedule-inspection .empty-icon{display:none}
.lab-schedule-inspection .empty-state h3{font-size:13px}
.lab-schedule-inspection .empty-state p{font-size:12px}
.lab-schedule-inspection .lab-visit-participants{margin:0}
.lab-schedule-inspection .card-action-row>.btn{flex:0 1 auto;min-height:44px}
.lab-schedule-results,#visit-map{scroll-margin-top:90px}
.lab-schedule-page .lab-schedule-results,.lab-schedule-page #visit-map{scroll-margin-top:calc(var(--lab-calendar-height,188px) + 20px)}
.lab-visit-modal .btn-close{min-width:44px;min-height:44px}
@media(max-width:1199px){.lab-dispatch-controls{grid-template-columns:minmax(0,1fr)}.lab-dispatch-row-main{grid-template-columns:64px minmax(0,1fr) minmax(130px,.5fr) auto}.lab-dispatch-state{grid-column:2/4;flex-direction:row;align-items:center}.lab-dispatch-row-main>.btn{grid-column:4;grid-row:1/3}.lab-dispatch-row-main{gap:8px 14px}.lab-schedule-period-row{flex-wrap:wrap}}
@media(max-width:768px){.lab-dispatch-controls{padding:12px;gap:12px}.lab-dispatch-controls .btn,.lab-schedule-page input,.lab-schedule-page select{min-height:44px}.lab-schedule-toolbar .field-group{flex-basis:100%}.lab-schedule-toolbar>.btn{margin-top:0;flex:1 1 auto}.lab-schedule-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-schedule-metrics>div:last-child{grid-column:1/-1}.lab-dispatch-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.lab-dispatch-week>.btn{min-height:76px}.lab-dispatch-row{padding:12px}.lab-dispatch-row-main{grid-template-columns:56px minmax(0,1fr);gap:10px}.lab-dispatch-assignment{grid-column:2;display:flex;gap:5px;flex-wrap:wrap}.lab-dispatch-assignment .lab-dispatch-label:last-child{flex-basis:100%}.lab-dispatch-state{grid-column:2;grid-row:auto;flex-wrap:wrap}.lab-dispatch-row-main>.btn{grid-column:1/-1;grid-row:auto;justify-self:stretch}.lab-schedule-inspection-grid{grid-template-columns:minmax(0,1fr);gap:16px}.lab-schedule-shortcuts{width:100%}.lab-schedule-shortcuts>.btn{flex:1}.lab-schedule-inspection .card-action-row>.btn{flex:1 1 160px}.lab-schedule-attention-list{grid-template-columns:minmax(0,1fr)}}

.lab-package-resumable progress{width:100%;height:8px;accent-color:#247c78}.lab-package-link-result{border:1px solid #e4c18c;background:#fffaf1;border-radius:10px;padding:12px;display:flex;gap:8px;flex-wrap:wrap}.lab-package-link-result>strong,.lab-package-link-result>p{flex-basis:100%;margin:0;overflow-wrap:anywhere}.lab-package-existing{border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.lab-package-existing>summary{font-weight:650;min-height:44px;cursor:pointer}.lab-package-linked-file{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.lab-package-linked-file>div{min-width:0;flex:1 1 230px}.lab-package-linked-file strong,.lab-package-linked-file p{overflow-wrap:anywhere}.lab-package-resumable .btn{min-height:44px}.lab-package-resumable .form-text{color:#61717d}

/* Equipment is part of the visit, with visible custody and action controls. */
.lvi-search{display:flex;gap:12px;align-items:center;margin:16px 0}.lvi-search input{flex:1;min-width:0}.lvi-options,.lvi-list{display:grid;gap:10px}.lvi-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border-color,#dbe4eb);border-radius:12px;cursor:pointer}.lvi-option input{width:20px;height:20px;accent-color:#16756a;flex:none}.lvi-option:has(input:checked){background:#edf8f4;border-color:#20897b}.lvi-option:has(input:disabled){opacity:.65}.lvi-option span{display:grid;gap:4px}.lvi-option small,.lvi-card small{color:var(--text-muted,#64748b)}.lvi-selected{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lvi-chip{padding:3px 10px;background:#edf8f4;border-radius:18px;font-size:13px}.lvi-chip .btn{padding:0 4px;min-height:28px}.lvi-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-color,#dbe4eb);border-radius:12px}.lvi-card p{margin:6px 0}.lvi-disposition-row{border:1px solid var(--border-color,#dbe4eb);border-radius:14px;padding:18px;margin:14px 0}.lvi-disposition-row h3{font-size:16px;margin-bottom:16px}.lvi-panel .panel-heading{gap:12px;flex-wrap:wrap}@media(max-width:700px){.lvi-card{align-items:flex-start;flex-direction:column}.lvi-search{flex-wrap:wrap}.lvi-search input{flex-basis:100%}.lvi-disposition-row{padding:12px}.lvi-panel .card-action-row{width:100%}}
