#version{line-height:25px;font-size:10pt;position:absolute;top:0;right:.5rem}.login-page .container{width:100%}.login-page .row{margin:0}.login-page .col-6{min-height:100vh;box-sizing:border-box!important;padding:2rem 4rem;display:flex;flex-direction:column;justify-content:center}#logo{height:70%}input[type=text],input[type=password],select{width:100%;padding:10px 20px;margin:8px 0;display:inline-block;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}form i{margin-left:-30px;cursor:pointer}#version{line-height:25px;font-size:10pt;margin:0}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--header-height: 6.8rem;overflow:hidden;--footer-height: 0rem}a{text-decoration:none}#displayFilelistFromDB{--footer-height: 5rem}#displayComparisons,#requestNewMonitoringPath{--footer-height: 2rem}#specimenLibrary,#testplanLibrary{--footer-height: 4rem}#measurementData{--header-height: 0rem}.tabcontent{padding:6px 12px;background-color:#cff1fc;border:1px solid #ccc;border-top:none;height:calc(100dvh - var(--header-height) - var(--footer-height));display:flex;flex-direction:column;overflow:auto}h1,h2,h3,h4,h5,h6,p{margin:.5rem 0}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.card-title{font-size:1.25rem;font-weight:600;color:#2c3e50;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #e9ecef}.card-section{margin-bottom:1.5rem}.card-section:last-child{margin-bottom:0}.form-label{display:block;font-weight:600;color:#495057;margin-bottom:.25rem;font-size:.875rem}.form-input,.form-select{width:100%;padding:.375rem .5rem;font-size:.875rem;line-height:1.4;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input:focus,.form-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-input:disabled,.form-select:disabled{background-color:#e9ecef;opacity:1;cursor:not-allowed}.form-input::placeholder{color:#6c757d;opacity:.7}.form-select-flex{flex:1;max-width:300px}.btn-primary,.btn-success,.btn-danger,.btn-secondary,.btn-light{display:inline-block;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:.8rem;line-height:1.3;border-radius:4px;transition:all .2s ease-in-out;cursor:pointer;text-decoration:none}.btn-primary[hidden],.btn-success[hidden],.btn-danger[hidden],.btn-secondary[hidden],.btn-light[hidden]{display:none!important}.btn-primary:hover,.btn-success:hover,.btn-danger:hover,.btn-secondary:hover,.btn-light:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-primary:active,.btn-success:active,.btn-danger:active,.btn-secondary:active,.btn-light:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-primary:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-secondary:disabled,.btn-light:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(40%)}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3;border-color:#004085}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover:not(:disabled){background-color:#218838;border-color:#1e7e34}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover:not(:disabled){background-color:#c82333;border-color:#bd2130}.btn-secondary{color:#fff;background-color:#495057;border-color:#495057}.btn-secondary:hover:not(:disabled){background-color:#3d4349;border-color:#343a40}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#dee2e6}.btn-light:hover:not(:disabled){background-color:#e2e6ea;border-color:#dae0e5}.btn-primary i,.btn-success i,.btn-danger i,.btn-secondary i,.btn-light i{margin-right:.5rem}.btn-primary,.btn-success,.btn-danger,.btn-secondary,.btn-light{font-variant-emoji:text;-webkit-text-fill-color:currentColor}.btn-sm.btn-primary,.btn-sm.btn-success,.btn-sm.btn-danger,.btn-sm.btn-secondary,.btn-sm.btn-light{padding:.25rem .5rem;font-size:.875rem}.btn-icon-only{padding:.375rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center}.btn-icon-only[hidden]{display:none!important}.btn-icon-only i{margin-right:0}.btn-sm.btn-icon-only{padding:.25rem;width:1.75rem;height:1.75rem}.btn-xs.btn-icon-only{padding:0rem;width:1.5rem;height:1.5rem}.btn-general-color{background-color:#dbf6fe}.btn-specimen-color{background-color:#d5d9da}.btn-kpi-color{background-color:#ffcccb}.btn-dropdown-padding{padding:.5rem 2rem .5rem 1rem}.tabs{display:flex;border-bottom:3px solid #e9ecef;gap:.25rem;background-color:#fff;padding:0}.tab-button{padding:1rem .5rem;font-size:.8rem;font-weight:600;color:#495057;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .2s ease-in-out;position:relative;bottom:-2px}.tab-button:hover{color:#000;background-color:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background-color:transparent}.tab-panel{display:none}.tab-panel.active{display:block}dialog.modal{padding:0;border:none;border-radius:8px;box-shadow:0 5px 15px #0000004d;animation:slideDown .3s ease-in-out;overflow:visible;max-width:90vw;max-height:90vh}dialog.modal[open]{z-index:1000}dialog.modal:not([open]){display:none}dialog.modal::backdrop{background-color:#00000080;backdrop-filter:blur(4px);animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}dialog.modal>.modal-content{background-color:#fff;width:100%;height:100%;display:flex;flex-direction:column;overflow:auto;border-radius:8px}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e9ecef;border-left:4px solid #007bff;border-top-left-radius:8px;display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#2c3e50}.modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:#6c757d;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease-in-out}.modal-close:hover{color:#212529;background-color:#f8f9fa}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between}.modal-footer-text{color:#6c757d;font-size:.9rem}dialog.modal.modal-xs{width:400px;max-width:95vw;height:fit-content}dialog.modal.modal-xs>.modal-content{height:auto}dialog.modal.modal-sm{width:30%;min-width:300px;max-width:600px;height:fit-content}dialog.modal.modal-sm>.modal-content{height:auto}dialog.modal.modal-md{width:60%;max-width:800px;height:auto;min-height:300px;max-height:80vh}dialog.modal.modal-lg{width:70%;max-width:1200px;height:70%;min-height:400px}dialog.modal.modal-xl{width:90%;max-width:1400px;height:90%;max-height:95vh}dialog.modal.modal-full-height{height:80vh;max-height:90vh}dialog.modal.modal-fixed-sm{width:33rem;height:11rem}dialog.modal.modal-fixed-md{width:40rem;height:15rem}dialog.modal.columns-modal{width:90vw;max-width:1400px;max-height:90vh}dialog.modal.columns-modal>.modal-content{max-height:90vh;display:flex;flex-direction:column}dialog.modal.columns-modal .modal-body{flex:1;overflow-y:auto;min-height:0}.search-container{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:.5rem 2.5rem .5rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.search-input:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.search-input::placeholder{color:#6c757d;opacity:.7}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#6c757d;cursor:pointer;padding:.25rem .5rem;font-size:1.25rem;line-height:1;border-radius:4px;transition:all .2s ease-in-out;display:none}.search-clear.visible{display:block}.search-clear:hover{color:#212529;background-color:#f8f9fa}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem;margin-bottom:1rem}.checkbox-row{display:flex;align-items:center;padding:.5rem .75rem;border-radius:4px;transition:background-color .15s ease-in-out}.checkbox-row:hover{background-color:#f8f9fa}.checkbox-row input[type=checkbox]{margin-right:.5rem;cursor:pointer;width:1.125rem;height:1.125rem;flex-shrink:0}.checkbox-row label{margin:0;cursor:pointer;user-select:none;font-size:.95rem;color:#495057;flex:1}.checkbox-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-row input[type=checkbox]:disabled+label{cursor:not-allowed;opacity:.5}.checkbox-select-all{margin-bottom:1rem;padding:.75rem;background-color:#f8f9fa;border-radius:4px}.checkbox-select-all input[type=checkbox]{margin-right:.5rem;cursor:pointer;width:1.125rem;height:1.125rem}.checkbox-select-all label{font-weight:600;color:#495057;margin:0;cursor:pointer;user-select:none}.checkbox-label{margin-left:.5rem}.safety-test-grid{display:flex;flex-direction:column}.safety-test-header{display:flex;font-weight:700;margin-bottom:10px;padding:0 6px}.safety-test-header-col{flex:1}.safety-test-row{display:flex;margin-bottom:8px;gap:10px}.safety-test-cell{flex:1}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.text-primary{color:#007bff!important}.text-success{color:#28a745!important}.text-danger{color:#dc3545!important}.text-warning{color:#ffc107!important}.text-info{color:#17a2b8!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-muted{color:#6c757d!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.rounded{border-radius:4px!important}.rounded-sm{border-radius:2px!important}.rounded-lg{border-radius:8px!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:0 1px 2px #00000013!important}.shadow{box-shadow:0 2px 4px #0000001a!important}.shadow-lg{box-shadow:0 5px 15px #00000026!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.center{position:fixed;inset:0;margin:auto}.dropdown{position:relative;display:inline-block}.dropdown>button{position:relative}.dropdown>button:after{content:"\25bc";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;transition:transform .2s ease;pointer-events:none}.dropdown.open>button:after{transform:translateY(-50%) rotate(180deg)}.dropdown-content{display:none;position:absolute;min-width:200px;z-index:100;background-color:#fff;left:0;margin-top:2px;padding:8px;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #00000026}.dropdown-content-wide{min-width:320px}.dropdown.open .dropdown-content{display:block}.dropdown-content a{color:#333;padding:8px 12px;text-decoration:none;display:block;border-radius:3px;transition:background-color .15s ease}.dropdown-content a:hover{background-color:#0275d8;color:#fff;cursor:pointer}.dropdown-no-arrow>button:after{content:none}.table{width:100%;border-collapse:collapse;background-color:#fff;font-size:.875rem;table-layout:auto;box-sizing:border-box}.table thead{background-color:#f0f1f2;position:sticky;top:0;z-index:10}.table thead th{padding:.75rem .5rem;font-weight:600;color:#495057;text-align:left;border-bottom:2px solid #dee2e6;border-right:1px solid #e9ecef;white-space:nowrap;font-size:.75rem;line-height:1.3}.table thead th:last-child{border-right:none}.table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .05s ease-in-out}.table tbody tr:hover{background-color:#f8f9fa!important}.table tbody td{padding:.5rem;color:#495057;vertical-align:middle;border-right:1px solid #f1f3f5}.table tbody td:last-child{border-right:none}.table .sticky-col{background-color:#f0f1f2;position:sticky;z-index:11}.table .data-row-sticky-col{position:sticky;background-color:#fff;transition:background-color .05s ease-in-out;z-index:5}.table tbody tr:hover .data-row-sticky-col{background-color:#f8f9fa!important}.table td.searchable,.table td.break,.table a.break{word-break:break-word;overflow-wrap:break-word}.table .sortButton{cursor:pointer;margin-left:.25rem;color:#6c757d;transition:color .05s ease-in-out}.table .sortButton:hover{color:#007bff}.table-scroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 250px);border:1px solid #dee2e6;border-radius:4px}.table-sm thead th{padding:.5rem .4rem}.table-sm tbody td{padding:.4rem;font-size:.8125rem}.table a{color:#007bff}.table a:hover{text-decoration:underline;color:#0056b3}.table .unit-label{display:block;font-size:.65rem;font-weight:400;color:#67717a;margin-top:.1rem;line-height:1.1;font-style:italic}.table .col-specimen{background-color:#d5d9da}.table .col-general{background-color:#f0f4f8}.table .col-results{background-color:#fff5f5}.table tbody tr:hover .col-specimen{background-color:#d0d4d5}.table tbody tr:hover .col-general{background-color:#e3eaf1}.table tbody tr:hover .col-results{background-color:#ffe8e8}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;max-width:1140px}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.form-group{margin-bottom:.75rem}.form-control{display:block;width:50%;padding:.375rem .5rem;font-size:.875rem;line-height:1.4;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-control:disabled{background-color:#e9ecef;opacity:1;cursor:not-allowed}.form-control::placeholder{color:#6c757d;opacity:.7}.alert{position:fixed;top:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;border:1px solid transparent;border-radius:4px;word-break:break-word;white-space:normal;overflow-wrap:break-word;max-width:600px;min-width:300px;z-index:1060;box-shadow:0 4px 12px #00000026}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert code,.alert pre{font-family:monospace;font-size:.85em;display:block;margin:.5em 0}.file-label{display:inline-block;margin-right:0;width:auto;padding-right:5px;vertical-align:middle;white-space:nowrap}.file-label+.selectFiles{display:inline-block;vertical-align:middle;flex:1;min-width:150px}.testplan-label{display:inline-block;margin-right:0;width:auto;padding-right:5px;vertical-align:middle;white-space:nowrap}.testplan-label+.selectFiles{display:inline-block;vertical-align:middle;flex:1;min-width:150px}.preview-section-title{font-weight:bolder;display:block;margin-bottom:.5rem}.preview-data-type-label{display:inline-block;text-decoration:underline;font-weight:700;margin-top:.5rem}.preview-filename{display:inline-block;white-space:nowrap;margin-bottom:.5rem}.preview-table{width:100%;margin-bottom:1rem;border-collapse:collapse}.preview-table tbody tr.preview-row-grey{background-color:#e9ecef}.preview-table tbody tr.preview-row-light{background-color:#f8f9fa}.preview-keyword-badge{display:inline-block;padding:.25rem .5rem;margin:.125rem;background-color:#007bff;color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.preview-row-grey .preview-keyword-badge{background-color:#495057}.preview-or-separator{display:block;margin:.25rem 0;padding:.25rem 0;border-top:1px dashed #dee2e6;font-size:.75rem;color:#6c757d;font-style:italic}.preview-no-data{text-align:center;color:#6c757d;padding:2rem;font-style:italic}@media(max-width:839px){.tab-text{display:none}.tab-button{padding:1rem .75rem}}
