#laboratory{min-width:0;color:#113c48}#laboratory[hidden]{display:none}#laboratory button{min-height:40px;font-size:.82rem}#laboratory button:disabled{cursor:default}#laboratory :is(button,input,select,summary):focus-visible{outline:3px solid #d7973a;outline-offset:2px}.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px}.lab-heading h1{font-size:1.7rem;margin:0 0 7px;letter-spacing:-.025em}.lab-heading p:not(.eyebrow){margin:0;color:#526f79;font-size:.88rem;line-height:1.5}.lab-heading>button{flex-shrink:0}.lab-filters{padding:14px 16px;background:#fff;border:1px solid #d4e3e7;border-radius:9px}.lab-filter-main{display:grid;grid-template-columns:minmax(200px,2.2fr) 90px minmax(145px,.7fr) minmax(170px,.9fr) auto;gap:12px;align-items:end}.lab-filter-main label{display:block;font-size:.79rem;font-weight:650;margin:0 0 6px}.lab-filter-main input,.lab-filter-main select,.lab-range input{width:100%;padding:9px 10px;min-height:40px;color:inherit;font:inherit;font-size:.87rem;border:1px solid #cddfe4;background:#fff;border-radius:6px;box-sizing:border-box;min-width:0}.lab-period{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:13px 0 0;color:#526f79;font-size:.76rem}.lab-period-buttons{display:flex;gap:4px}.lab-period-buttons button{background:transparent;border-color:transparent;padding:5px 11px;min-height:34px!important;font-size:.76rem!important}.lab-period-buttons button[aria-pressed=true]{background:#eaf5f2;color:#08747d;border-color:#c9e2de;font-weight:700}.lab-range{display:flex;align-items:center;gap:7px}.lab-range input{max-width:150px;font-size:.8rem}.lab-date-help{margin-left:auto}.lab-message{font-size:.87rem;color:#8c4639;line-height:1.5;margin:13px 0}.lab-stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;border:1px solid #d4e3e7;border-radius:9px;margin-top:14px;background:#fff;overflow:hidden}.lab-stats button{border:0;border-radius:0;display:flex;gap:6px;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px 13px;text-align:left;min-height:80px!important;background:transparent}.lab-stats button+button{border-left:1px solid #e1eaec}.lab-stats button[aria-pressed=true]{background:#eaf5f2;box-shadow:inset 0 -3px #07808b}.lab-stats strong{font-size:1.45rem;line-height:1.2}.lab-stats span{font-size:.73rem;line-height:1.3}.lab-list-meta{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.75rem;color:#526f79;line-height:1.6;margin:11px 0}.lab-table-wrap{overflow-x:auto;border:1px solid #d4e3e7;border-radius:8px;background:#fff}.lab-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:.83rem}.lab-table th{text-align:left;font-size:.75rem;color:#526f79;font-weight:600;padding:11px 13px;line-height:1.4;background:#f5f9f9;border-bottom:1px solid #d4e3e7;white-space:nowrap}.lab-table td{padding:11px 13px;border-bottom:1px solid #e5edef;vertical-align:middle;line-height:1.5;overflow-wrap:anywhere}.lab-table tr:last-child td{border-bottom:0}.lab-table tbody tr:hover{background:#f6faf9}.lab-table small{display:block;color:#526f79;font-size:.74rem;line-height:1.4;margin-top:3px}.lab-table td:first-child{min-width:105px}.lab-notes-cell{max-width:230px;min-width:130px}.lab-order-link{padding:0!important;border:0;background:none!important;text-align:left;color:#087a84;min-height:38px!important;font-size:.87rem!important;font-weight:750}.lab-order-link span{display:block;font-weight:500;color:#526f79;font-size:.69rem;margin-top:3px}.lab-badge{display:inline-block;padding:4px 8px;line-height:1.4;font-size:.73rem;border-radius:5px;background:#edf2f3;color:#526f79;max-width:170px}.lab-pending,.lab-preparation{background:#fff4df;color:#795b26}.lab-partial_ready{background:#edf4df;color:#586923}.lab-ready{background:#def2e8;color:#236951}.lab-field{background:#e7f2fb;color:#2c658b}.lab-returned{background:#ecedf8;color:#555b89}.lab-other{background:#faebe6;color:#924c3d}.lab-alert{color:#934c3c!important;font-size:.8rem}.lab-review{background:#fffaf3}.lab-more{text-align:center;margin:16px 0}.lab-help{font-size:.78rem;color:#526f79;margin:10px 0}.lab-help summary{padding:8px 0;cursor:pointer}.lab-help p{max-width:1000px;line-height:1.7;margin:5px 0}.lab-empty{padding:18px!important;color:#526f79;line-height:1.6;font-size:.84rem;margin:0}.lab-detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px;gap:12px}.lab-detail-toolbar button:first-child{padding-left:0;border:0;background:none;color:#08747d}.lab-order-heading{margin-bottom:17px}.lab-order-heading h1{font-size:1.8rem}.lab-order-heading>.lab-badge{font-size:.82rem;padding:7px 11px}.lab-order-meta{display:flex;gap:20px 44px;flex-wrap:wrap;margin:0 0 18px}.lab-order-meta dt,.lab-kit-meta dt{font-size:.75rem;color:#526f79;line-height:1.5;margin:0 0 4px}.lab-order-meta dd,.lab-kit-meta dd{font-size:.86rem;margin:0;line-height:1.5}.lab-order-notes{padding:12px 15px;background:#eef7f5;border-left:3px solid #93c8bd;border-radius:0 6px 6px 0;margin-bottom:18px;font-size:.83rem}.lab-order-notes strong{font-size:.75rem}.lab-order-notes p{white-space:pre-wrap;margin:5px 0 0;line-height:1.6;overflow-wrap:anywhere}.lab-section{background:#fff;border:1px solid #d4e3e7;border-radius:8px;margin:13px 0;min-width:0;overflow:hidden}.lab-section>summary{cursor:pointer;padding:13px 16px;font-size:.89rem;font-weight:700;line-height:1.5;min-height:45px;box-sizing:border-box}.lab-section>summary>span,.lab-section-heading h2>span{font-size:.75rem;font-weight:400;color:#526f79;margin-left:6px}.lab-section>.lab-table-wrap{border:0;border-top:1px solid #d4e3e7;border-radius:0}.lab-section-note{font-size:.73rem;color:#526f79;margin:8px 15px 11px}.lab-section-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;gap:12px}.lab-section-heading h2{font-size:1rem;margin:0;line-height:1.4}.lab-section-heading>span{font-size:.73rem;color:#526f79}.lab-kit{border:1px solid #a9d1ce;background:#f0f8f6;border-radius:9px;padding:4px 15px 12px;margin:20px 0}.lab-kit>.lab-section-heading{padding-left:0;padding-right:0}.lab-kit .eyebrow{font-size:.65rem}.lab-kit h2{font-size:1.14rem}.lab-inline-actions{display:flex;gap:8px}.lab-kit-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:14px 0}.lab-plan-note{font-size:.83rem;line-height:1.6;color:#416c69;margin:10px 0}.lab-kit-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.83rem;line-height:1.6}.lab-component{border-top:1px solid #e1eaed}.lab-component>summary{display:grid;grid-template-columns:minmax(150px,2fr) minmax(100px,1fr) 100px;gap:14px;align-items:center;padding:12px 15px;font-size:.82rem;cursor:pointer;list-style:inside}.lab-component summary strong,.lab-component summary small{display:block}.lab-component summary small{font-size:.74rem;color:#526f79;line-height:1.5;margin-top:3px}.lab-component-body{padding:0 14px 14px}.lab-component-body>p{font-size:.82rem;line-height:1.5}.lab-component[open]>summary{background:#f5faf9}.lab-history{list-style:none;padding:0 16px;margin:0}.lab-history li{padding:12px 0;border-top:1px solid #e1eaed;font-size:.82rem;line-height:1.6}.lab-history li>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.lab-history time{font-size:.74rem;color:#526f79}.lab-history li>span{display:block;color:#526f79}.lab-history p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.lab-release{font-size:.84rem;line-height:1.6;margin:13px 16px}.lab-workflow-note{font-size:.77rem;line-height:1.6;color:#526f79;margin:16px 0}.lab-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab-progress{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0;font-size:.73rem;color:#526f79}.lab-progress span{padding:3px 6px;border-radius:4px;background:#f0f6f5}.lab-progress .lab-progress-ready{color:#236951;background:#def2e8}.lab-progress .lab-progress-missing{color:#795b26;background:#fff4df}.lab-source-title th{background:#edf6f3;color:#285a58;white-space:normal;font-size:.85rem;padding:12px 13px}.lab-service-fiches{font-size:.75rem;color:#526f79;margin-top:5px;display:flex;gap:5px;flex-wrap:wrap}.lab-service-fiches button{padding:3px 7px;min-height:30px!important;font-size:.73rem!important}.lab-order-progress{margin:5px 0 16px}.lab-order-progress .lab-progress{font-size:.8rem;gap:8px}.lab-order-progress .lab-progress span{padding:7px 10px}
@media(max-width:1250px){.lab-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-stats button:nth-child(5){border-left:0}.lab-stats button:nth-child(n+5){border-top:1px solid #e1eaec}.lab-stats button{min-height:67px!important;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.lab-filter-main{grid-template-columns:minmax(200px,2fr) 90px minmax(140px,1fr)}.lab-filter-main>.lab-search{grid-column:1}.lab-filter-main>div:nth-child(4){grid-column:1/3}.lab-filter-main>button{grid-column:3}.lab-kit-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-date-help{margin-left:0;width:100%}.lab-table{font-size:.79rem}.lab-table th,.lab-table td{padding:10px}.lab-notes-cell{max-width:180px}}
@media(max-width:760px){.lab-heading{align-items:flex-start;gap:10px;margin-bottom:16px}.lab-heading h1{font-size:1.5rem}.lab-heading p:not(.eyebrow){font-size:.81rem}.lab-heading>button{font-size:.74rem!important;max-width:105px;padding:8px}.lab-filters{padding:12px}.lab-filter-main{grid-template-columns:1fr 1.5fr;gap:10px}.lab-filter-main>.lab-search{grid-column:1/-1}.lab-filter-main>div:nth-child(4){grid-column:1/-1}.lab-filter-main>button{grid-column:1/-1}.lab-filter-main input,.lab-filter-main select,.lab-range input{font-size:16px}.lab-period{gap:8px}.lab-period>span:first-child{width:100%}.lab-period-buttons{width:100%;justify-content:space-between;gap:2px}.lab-period-buttons button{padding:5px 8px}.lab-range{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);width:100%}.lab-range input{max-width:none;font-size:14px}.lab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-stats button:nth-child(2n+1){border-left:0}.lab-stats button:nth-child(n+3){border-top:1px solid #e1eaec}.lab-stats span{font-size:.75rem}.lab-stats strong{font-size:1.4rem}.lab-list-meta{font-size:.73rem;gap:5px}.lab-table-wrap{overflow:visible}.lab-table,.lab-table tbody,.lab-table tr,.lab-table td{display:block;box-sizing:border-box}.lab-table thead{display:none}.lab-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:13px 12px;border-bottom:1px solid #d4e3e7}.lab-table tbody tr:last-child{border-bottom:0}.lab-table td{border:0;padding:0;min-width:0!important;max-width:none;font-size:.84rem}.lab-table td:before{content:attr(data-label);display:block;font-size:.71rem;color:#526f79;margin-bottom:3px}.lab-table td:first-child{grid-column:1/-1}.lab-table td[colspan]{grid-column:1/-1}.lab-order-link{font-size:.94rem!important}.lab-order-link span{display:inline-block;margin:0 0 0 12px}.lab-notes-cell{grid-column:1/-1}.lab-table small{font-size:.74rem}.lab-badge{max-width:none}.lab-order-meta{gap:15px 25px}.lab-order-meta>div{flex:1 1 135px}.lab-kit{padding:3px 10px 10px}.lab-kit>.lab-section-heading{flex-wrap:wrap}.lab-kit-meta{grid-template-columns:1fr;gap:12px}.lab-section-heading{padding:12px;flex-wrap:wrap}.lab-section>summary{padding:12px}.lab-component>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px}.lab-component>summary>span:first-child{grid-column:1/-1}.lab-component-body{padding:0 10px 10px}.lab-history{padding:0 12px}.lab-detail-toolbar{margin-bottom:16px}.lab-source-title{display:block!important;padding:0!important}.lab-source-title th{display:block;padding:12px}.lab-services tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-inline-actions{width:100%}.lab-inline-actions button{flex:1}.lab-service-fiches button{min-height:38px!important}.lab-order-progress .lab-progress{font-size:.75rem;gap:6px}.lab-order-progress .lab-progress span{padding:5px 7px}}
/* V20.1: leitura contínua e preparo separado por fonte. */
#laboratory .lab-sync-note{display:flex;align-items:center;gap:8px 11px;flex-wrap:wrap;background:#eef7f4;border:1px solid #d4e7e0;border-radius:7px;padding:9px 12px;margin:0 0 14px;color:#52746f;font-size:.73rem;line-height:1.5}
#laboratory .lab-sync-dot{width:7px;height:7px;border-radius:50%;background:#408b77;flex-shrink:0}
#laboratory .lab-sync-note time{margin-left:auto;font-size:.7rem;white-space:nowrap;color:#617f79}
#laboratory .lab-partial-explanation{padding:12px 14px;border:1px solid #e9dcb8;border-left:3px solid #cca94f;border-radius:6px;background:#fff9ed;color:#876723;font-size:.82rem;line-height:1.6;margin:0 0 17px}
#laboratory .lab-source-groups{padding:0 14px 4px}
#laboratory .lab-source-group{border:1px solid #d6e5e5;background:#fff;border-radius:7px;margin:0 0 10px;overflow:hidden}
#laboratory .lab-source-group>summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) 14px;gap:16px;align-items:center;padding:14px;background:#f0f7f5;list-style:none;cursor:pointer}
#laboratory .lab-source-group>summary::-webkit-details-marker{display:none}
#laboratory .lab-source-name{display:flex;flex-direction:column;gap:4px;min-width:0}
#laboratory .lab-source-name strong{font-size:.94rem;line-height:1.4;overflow-wrap:anywhere}
#laboratory .lab-source-name>span:last-child{font-size:.71rem;font-weight:400;color:#617e82}
#laboratory .lab-source-caption{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#62817d}
#laboratory .lab-source-progress .lab-progress{justify-content:flex-end;font-weight:400;gap:6px;margin:0}
#laboratory .lab-source-progress .lab-progress>span{background:#fff;border:1px solid #dbe8e5;padding:5px 8px;line-height:1.4;font-size:.72rem}
#laboratory .lab-source-progress .lab-progress>.lab-progress-ready{background:#e0f2e7;border-color:#c5e3d2}
#laboratory .lab-source-progress .lab-progress>.lab-progress-missing{background:#fff2d5;border-color:#efdba9}
#laboratory .lab-source-pending>summary{background:#faf8f0}
#laboratory .lab-source-expand{font-size:1rem;color:#70928a;transition:transform .15s}
#laboratory .lab-source-group[open]>summary>.lab-source-expand{transform:rotate(180deg)}
#laboratory .lab-source-group>.lab-table-wrap{border:0;border-top:1px solid #d6e5e5;border-radius:0}
#laboratory .lab-service-missing{background:#fffbf1}
#laboratory .lab-missing-plan{color:#916a23;font-size:.74rem}
#laboratory .lab-service-fiches button{white-space:normal;text-align:left;line-height:1.5;max-width:100%}
#laboratory .lab-badge.lab-partial_ready{background:#fff0cc;color:#866118}
#laboratory .lab-service-fiches button:focus-visible,#laboratory .lab-source-group>summary:focus-visible{outline-offset:-3px}
@media(max-width:1050px){#laboratory .lab-source-group>summary{grid-template-columns:minmax(130px,1fr) minmax(140px,1fr) 12px;gap:12px}#laboratory .lab-source-progress .lab-progress>span{font-size:.69rem;padding:4px 6px}}
@media(max-width:760px){#laboratory .lab-sync-note{font-size:.68rem;padding:9px 10px;gap:6px 8px}#laboratory .lab-sync-note>span:nth-child(2){flex:1}#laboratory .lab-sync-note time{flex-basis:100%;margin-left:15px;font-size:.65rem}#laboratory .lab-source-groups{padding:0 10px 2px}#laboratory .lab-source-group>summary{grid-template-columns:minmax(0,1fr) 12px;padding:12px;gap:9px}#laboratory .lab-source-progress{grid-column:1;grid-row:2}#laboratory .lab-source-progress .lab-progress{justify-content:flex-start}#laboratory .lab-source-expand{grid-column:2;grid-row:1/3}#laboratory .lab-source-name strong{font-size:.91rem}#laboratory .lab-partial-explanation{font-size:.77rem;padding:10px 12px}#laboratory .lab-service-fiches button{font-size:.73rem!important;padding:7px 8px;min-height:42px!important}#laboratory .lab-source-group .lab-services td{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){#laboratory .lab-source-expand{transition:none}}

/* V23: stable areas keep forms and exact pending requests mounted. */
#laboratory .lab-workspaces { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0 0 14px; border-bottom:1px solid #c8dcda; }
#laboratory .lab-workspaces button { min-height:42px; padding:10px 16px; font-weight:650; }
#laboratory .lab-workspaces button[aria-pressed="true"] { background:#087d88; color:#fff; border-color:#087d88; }
#laboratory [hidden] { display:none !important; }
