/* Shared screen typography. Printed labels keep their independent dimensions. */
@media screen {
 :root[data-theme="light"]{--text:#142f3d;--text-secondary:#3f5968;--text-muted:#506775;--border:#cddae1}
 body{font-size:1rem;font-weight:400;line-height:1.6;color:var(--text);letter-spacing:0}
 .field label,.mobile-stage .field label{font-size:1rem;font-weight:600;color:#294656;line-height:1.45}
 .field input,.field select,.field textarea,.mobile-stage .field input,.mobile-stage .field select,.mobile-stage .field textarea{font-size:1rem;font-weight:450;color:#193b4e;line-height:1.5;min-height:50px}
 .field input::placeholder,.field textarea::placeholder{font-size:1rem;color:#596e7a;opacity:1}
 .card-title,.mobile-stage .card-title{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;line-height:1.4}
 #setup-program .card-title{font-size:1rem;font-weight:600}
 .page-heading p{font-size:1rem;color:#405968;line-height:1.5}
 .page-heading h1{color:#142f3d}
 .brand-text{font-size:.875rem;font-weight:600}.brand-text small{font-size:.75rem;color:#49616e}
 .header-date,.institute-avatar{font-size:.875rem;color:#405a6a}
 .eyebrow,.nav-caption,.section-caption,.page-code{font-size:.75rem;color:#496371;letter-spacing:.06em;line-height:1.5}
 .nav-footer strong,.nav-footer>span:not(.footer-cross),.nav-footer small{font-size:.75rem;color:#48626e}
 .tab{font-size:1rem;font-weight:500}.tab.active{font-weight:650}
 .preview-notice{font-size:.875rem;color:#455e6b;line-height:1.55}
 .cycle-steps button{font-size:.875rem;color:#405e70}.cycle-steps button span{font-size:.75rem;color:#4a6778}
 .autoclave-btn .ac-name,.mobile-stage .autoclave-btn .ac-name{font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
 .autoclave-btn .ac-info,.mobile-stage .autoclave-btn .ac-info{font-size:.875rem;line-height:1.5;color:#436477}
 .machine-code,.mobile-stage .machine-code{font-size:.75rem;color:#476575;line-height:1.4;letter-spacing:0}
 .machine-selection{font-size:.75rem;font-weight:500}
 .machine-capacity{font-weight:400}.machine-capacity>span{font-size:1rem;color:#426477}
 .prog-btn .prog-name,.mobile-stage .prog-btn .prog-name{font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
 .prog-btn .prog-params,.mobile-stage .prog-btn .prog-params{font-size:.875rem;color:#486471;line-height:1.55}
 .prog-btn .prog-code{font-size:.75rem;font-weight:500;min-width:67px}
 #params-display{font-size:.875rem!important;color:#405f70!important;line-height:1.6!important}
 .cycle-readout>div>span{font-size:.875rem;color:#425e6d}.cycle-readout small{display:block;font-size:.875rem;color:#426173;margin:4px 0 0}
 .radio-option,.mobile-stage .radio-option{font-size:1rem;line-height:1.4;color:#29495a;min-height:48px}
 .photo-label{font-size:1rem;line-height:1.4;color:#38596a;min-height:100px;padding:14px}
 .btn,.btn-sm,.draft-next,.mobile-flow-actions button,.mobile-flow-actions #btn-salvar{font-size:1rem;font-weight:600;line-height:1.4}
 .alert-banner,#bd-block{font-size:.875rem;line-height:1.65}.alert-warn,#bd-block{color:#71521b}.alert-danger{color:#9c303c}
 .surgery-toggle label{font-size:1rem;font-weight:500;line-height:1.5}
 #f-materials>div,#et-materials>div{font-size:.875rem!important;line-height:1.5!important;min-height:44px}
 #f-materials input,#et-materials input{font-size:1rem!important;min-height:38px;min-width:46px}
 .filter-bar input,.filter-bar select{font-size:1rem;min-height:48px}
 .record-date{font-size:.875rem;font-weight:600}.record-details{font-size:.875rem;color:#405c6d;line-height:1.6}
 .record-badge,.lote-display{font-size:.75rem;line-height:1.5}
 .detail-item .dl{font-size:.875rem;color:#4d6573}.detail-item .dv{font-size:1rem;font-weight:500;overflow-wrap:anywhere}
 .detail-sheet h2{font-size:1.25rem;overflow-wrap:anywhere}.equip-title{font-size:1rem;font-weight:600}
 .empty-state p{font-size:1rem;color:#48616e}.stat-label{font-size:1rem;color:#435e6c}
 .receipt-top,.receipt-code>span,.draft-label{font-size:.75rem;color:#476271;letter-spacing:0}
 .cycle-receipt>p,.cycle-receipt dl>div,.draft-progress,.draft-progress strong{font-size:.875rem;line-height:1.5}
 .cycle-receipt dt,.cycle-receipt>p{color:#476272}.cycle-receipt dl>div{flex-wrap:wrap}.cycle-receipt dd{margin-left:auto}
 .receipt-code strong{font-size:1rem;overflow-wrap:anywhere}.cycle-receipt>.receipt-note{font-size:.75rem;color:#4b6572}
 .cycle-aside #day-status .day-title{font-size:.875rem!important}.cycle-aside #day-status .day-items>span{font-size:.875rem!important;color:#425e6c!important}
 #day-status .day-title:before{font-size:.75rem!important}.day-disclosure>summary{font-size:.875rem;font-weight:500}
 .toast,#save-log{font-size:.875rem!important;line-height:1.5}
 .panel [style*="font-size:10px"],.panel [style*="font-size:11px"],.panel [style*="font-size:12px"],.panel [style*="font-size:13px"],.detail-sheet [style*="font-size:12px"],.detail-sheet [style*="font-size:13px"]{font-size:.875rem!important;line-height:1.6}
 .mobile-step-cards strong{font-size:.9375rem;font-weight:650}.mobile-step-cards small{font-size:.8125rem;color:#405e6e}
 .mobile-step-cards button.active small{color:#e2edf2}.mobile-stage-label{font-size:1rem;color:#294b5d;font-weight:600}
 .mobile-pending-hint,.mobile-field-error{font-size:.875rem;line-height:1.5}
}
@media screen and (max-width:1050px) and (min-width:761px){.tab{font-size:.875rem}.cycle-steps{gap:16px}.cycle-steps button{font-size:.8125rem}}
@media screen and (max-width:760px){
 .brand-text{font-size:.8125rem}.brand-text small{font-size:.75rem}.brand{gap:10px}.brand-text{padding-left:10px}
 .tabs .tab,.mobile-more-button,.mobile-more-button>span:last-child{font-size:.75rem;font-weight:600;line-height:1.25}
 .tabs .tab{gap:5px}.mobile-more-panel .tab{font-size:1rem}
 .mobile-stage .autoclave-btn{min-height:190px;padding:14px 10px;justify-content:flex-start}
 .mobile-stage .machine-code{padding-right:16px;max-width:100%;font-size:.6875rem}
 .mobile-stage .autoclave-btn .ac-name{font-size:.875rem}.mobile-stage .autoclave-btn .ac-info{font-size:.8125rem}
 .mobile-step-cards button{min-height:90px}.mobile-step-cards strong{overflow-wrap:anywhere}
 .mobile-flow-actions{column-gap:8px}.mobile-flow-actions .mobile-back{padding-left:12px;padding-right:12px}
 .container{padding-bottom:calc(265px + env(safe-area-inset-bottom))}
 .cycle-readout>div{min-width:0}.cycle-readout>div>span{font-size:.8125rem}.cycle-readout small{font-size:.8125rem}
 .stat-card{padding:18px 14px}.stat-label{font-size:.875rem}
 .record-top{gap:10px}.record-date{overflow-wrap:anywhere}
}
@media screen and (max-width:360px){
 .brand-text{font-size:.75rem}.brand-text small{font-size:.6875rem}
 .mobile-step-cards button{padding:12px 8px;gap:6px}.mobile-step-cards strong{font-size:.875rem}.mobile-step-cards small{font-size:.75rem}
 .prog-btn{gap:8px}.prog-btn .prog-code{min-width:59px;font-size:.6875rem;padding:5px}
 .mobile-stage .prog-btn .prog-name{font-size:.9375rem}.cycle-readout>div{padding:0 8px}
 .machine-selection{display:none}
}
@media screen and (max-width:760px){
 .mobile-step-cards{display:none}
 .mobile-flow-actions .mobile-stage-label{flex:0 0 100%;font-size:.875rem;line-height:1.4;font-weight:600;color:#294b5d;margin:0;padding:3px 5px}
 .mobile-flow-actions .mobile-pending-hint{padding-top:0}
 .container{padding-bottom:calc(285px + env(safe-area-inset-bottom))}
 .mobile-stage input,.mobile-stage select,.mobile-stage textarea{scroll-margin-bottom:265px}
}
@media screen{
 .prog-btn.program-locked{background:#f4f6f7;cursor:not-allowed;border-color:#d7e0e5}
 .prog-btn.program-locked .prog-name{color:#4d626e}
 .prog-btn.program-locked .prog-name:after{content:' · Indisponível antes do teste';font-size:.75rem;font-weight:500;color:#635024}
}
