/* Calibration presentation layer. Bootstrap 3 remains the component framework. */
body.calibration-app, body.calibration-login { background: #f1f5f9; color: #24364b; font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; overflow-x: visible; }
.calibration-app a { color: #126f7b; }
.calibration-app a:focus-visible, .calibration-app button:focus-visible, .calibration-login button:focus-visible { outline: 3px solid #e3a52b; outline-offset: 3px; }
.calibration-app .navbar { position: sticky; top: 0; z-index: 1030; border-radius: 0; margin: 0; border: 0; border-bottom: 3px solid #27b4ae; background: #162c43; box-shadow: 0 3px 14px #10263d18; }
.calibration-app .navbar > .container { width: 100%; max-width: 1540px; padding: 0 28px; }
.calibration-app .navbar-brand { color: #fff; font-size: 20px; font-weight: 700; height: 64px; padding-top: 21px; letter-spacing: -.5px; }
.calibration-app .navbar-nav > li > a { color: #e6edf5; padding: 22px 15px; font-weight: 500; }
.calibration-app .navbar-nav > li > a:hover, .calibration-app .navbar-nav > li > a:focus, .calibration-app .navbar-nav > .open > a, .calibration-app .navbar .dropdown-toggle:active { background: #25445e !important; color: #fff; }
.calibration-app .navbar .dropdown:hover { background: transparent !important; }
.calibration-app .dropdown-menu { background: #fff; padding: 7px; border: 1px solid #d9e2eb; border-radius: 8px; box-shadow: 0 10px 28px #152c4326; }
.calibration-app .dropdown-menu > li > a { color: #24364b; padding: 10px 14px; border-radius: 4px; }
.calibration-app .dropdown-menu > li > a:hover, .calibration-app .dropdown-menu > li > a:focus { background: #e9f5f4; color: #105e69; }
.calibration-app #menu_customer_div { padding: 13px 10px; }
.calibration-app #menu_customer_dropdown { min-width: 190px; max-width: 245px; height: 38px; background: #fff; color: #24364b; }
.calibration-app .navbar-toggle { margin-top: 15px; border-color: #628098; }
.calibration-app .app-main { display: flow-root; min-height: calc(100vh - 150px); padding: 28px 18px 36px; max-width: 1540px; margin: 0 auto; }
.calibration-app .app-main > .container { width: 100%; }
.calibration-app .app-page-heading, .calibration-app .calibration-page-heading { margin: 0 15px 26px; padding: 0 0 20px; border-bottom: 1px solid #d6e1eb; }
.calibration-app .calibration-page-heading { margin-left: 0; margin-right: 0; }
.calibration-app .app-eyebrow, .calibration-app .calibration-eyebrow { color: #157b82; font-size: 11px; font-weight: 700; letter-spacing: 2px; margin: 0 0 6px; }
.calibration-app .app-page-heading h1, .calibration-app .calibration-page-heading h1 { font-size: 30px; letter-spacing: -.7px; font-weight: 650; color: #162c43; margin: 0 0 7px; }
.calibration-app .app-page-heading p:last-child, .calibration-app .calibration-page-heading p:last-child { color: #5f7185; margin: 0; }
.calibration-app .panel { border: 1px solid #dbe4ec; border-radius: 10px; box-shadow: 0 3px 10px #18354b08; margin-bottom: 22px; }
.calibration-app .panel > .panel-heading { background: #fff; color: #203c54; border-bottom: 1px solid #e3eaf1; border-top: 3px solid #208e98; border-radius: 10px 10px 0 0; padding: 15px 18px; font-size: 15px; font-weight: 600; }
.calibration-app .panel-body { padding: 18px; }
.calibration-app label { font-size: 13px; font-weight: 600; color: #40566d; }
.calibration-app .form-control, .calibration-login .form-control { font-size: 14px !important; height: 38px; border: 1px solid #bbcbd9; border-radius: 6px; box-shadow: none; color: #24364b; }
.calibration-app textarea.form-control { height: auto; min-height: 70px; resize: vertical; }
.calibration-app .form-control:focus, .calibration-login .form-control:focus { border-color: #13888d; box-shadow: 0 0 0 3px #13888d20; }
.calibration-app .form-control[disabled], .calibration-app .form-control[readonly] { background: #edf2f6; }
.calibration-app .btn, .calibration-login .btn { border-radius: 6px; font-weight: 600; padding: 8px 14px; box-shadow: none; transition: background-color .15s, border-color .15s; }
.calibration-app .btn-xs { padding: 4px 8px; font-size: 12px; }
.calibration-app .btn-sm { padding: 6px 10px; }
.calibration-app .btn-primary, .calibration-app .btn-info, .calibration-app .btn-fd, .calibration-login .btn-fd { color: #fff; background: #147d86; border-color: #147d86; }
.calibration-app .btn-primary:hover, .calibration-app .btn-info:hover, .calibration-app .btn-fd:hover, .calibration-login .btn-fd:hover { color: #fff; background: #0e626c; border-color: #0e626c; }
.calibration-app .btn-default { color: #344d64; background: #fff; border-color: #bdccd8; }
.calibration-app .btn-default:hover { background: #edf4f8; border-color: #829aad; }
.calibration-app .btn-danger { background: #b53d47; border-color: #b53d47; color: #fff; }
.calibration-app .btn-success { background: #23774f; border-color: #23774f; color: #fff; }
.calibration-app .table { color: #30475b; font-size: 13px; font-variant-numeric: tabular-nums; background: #fff; }
.calibration-app div[id^="read"]:has(> table) { overflow-x: auto; }
.calibration-app #readCalibrationJobsTable { background: #fff; border: 1px solid #dbe4ec; border-radius: 10px; box-shadow: 0 3px 10px #18354b08; }
.calibration-app #readCalibrationJobsTable > table { margin-bottom: 0; }
.calibration-app .table > thead > tr > th { background: #eaf0f6; color: #344d64; border-bottom: 2px solid #ccd9e4; font-weight: 650; }
.calibration-app .table > tbody > tr > td, .calibration-app .table > thead > tr > th { padding: 6px 10px; vertical-align: middle; border-color: #e1e8ef; }
.calibration-app .table-striped > tbody > tr:nth-of-type(odd) { background: #f7f9fc; }
.calibration-app .table-hover > tbody > tr:hover { background: #edf7f7; }
.calibration-app .table > tbody > tr.info > td { background: #e2f1f2; color: #175a65; font-weight: 600; }
.calibration-app .table > tbody > tr.warning > td { background: #f2f5f9; color: #445b70; }
.calibration-app .table > tbody > tr.success > td { background: #e6f3ec; color: #245d40; }
.calibration-app .table > tbody > tr.danger > td { background: #fae9eb; color: #8b303b; }
.calibration-app .modal-content { border: 1px solid #d7e2eb; border-radius: 12px; box-shadow: 0 20px 60px #10263d40; }
.calibration-app .modal-header { background: #162c43; color: #fff; border-radius: 11px 11px 0 0; padding: 18px 22px; border: 0; }
.calibration-app .modal-title { font-weight: 600; }
.calibration-app .modal-header .close { color: #fff; opacity: .85; text-shadow: none; }
.calibration-app .modal-body { padding: 22px; }
.calibration-app .modal-footer { background: #f7f9fc; border-radius: 0 0 11px 11px; padding: 16px 22px; }
.calibration-app .input-group-addon { background: #eef3f7; color: #49627a; border-color: #bbcbd9; }
.calibration-app .input-group .form-control { border-radius: 0; }
.calibration-app .input-group .form-control:first-child { border-radius: 6px 0 0 6px; }
.calibration-app .input-group-btn:last-child > .btn { border-radius: 0 6px 6px 0; }
.calibration-app .nav-tabs { background: transparent; border-bottom: 1px solid #cbd9e5; }
.calibration-app .nav-tabs > li > a { border-radius: 7px 7px 0 0; color: #49627a; padding: 12px 18px; }
.calibration-app .nav-tabs > li.active > a, .calibration-app .nav-tabs > li.active > a:hover, .calibration-app .nav-tabs > li.active > a:focus { background: #fff !important; color: #126f7b; border: 1px solid #cbd9e5; border-bottom-color: #fff; border-top: 3px solid #16868c; }
.calibration-app .nav-tabs > li > a:hover { background: #e3eef4 !important; color: #24364b; border-color: transparent; }
.calibration-app .list-group-item, .calibration-app .list-group-item.active { line-height: 1.5; }
.calibration-app .list-group-item.active { background: #147d86; border-color: #147d86; }
.calibration-app .dropzone { background: #f7fbfc; border: 2px dashed #8aaeba; border-radius: 10px; color: #375c72; }
.calibration-app .footer { background: transparent; box-shadow: none; height: auto; padding: 18px; color: #657a8c; border-top: 1px solid #dbe4ec; }
.calibration-app .footer p { margin: 0; }
.calibration-app .calibration-workspace { width: 100%; padding-bottom: 0; }
.calibration-app .calibration-workspace .form-check:has(input:checked) { background: #e3f3f1; border-color: #16868c; }
.calibration-app .skip-link { position: fixed; left: 16px; top: -80px; z-index: 1100; padding: 12px 18px; background: #fff; border: 2px solid #147d86; }
.calibration-app .skip-link:focus { top: 8px; }
body.calibration-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 28px 18px; background: linear-gradient(135deg, #14283f 0%, #244960 60%, #16747c 100%); }
.calibration-login .login-card { width: 100%; max-width: 440px; background: #fff; border-radius: 16px; padding: 38px; box-shadow: 0 24px 70px #081b3445; border-top: 5px solid #28b6b0; }
.calibration-login .login-brand { color: #147d86; font-size: 12px; font-weight: 700; letter-spacing: 2px; }
.calibration-login h1 { color: #162c43; font-size: 30px; font-weight: 650; margin: 12px 0 8px; }
.calibration-login .login-intro { color: #65788a; margin-bottom: 28px; }
.calibration-login label { display: block; color: #40566d; margin-bottom: 7px; }
.calibration-login .form-control { height: 44px; }
.calibration-login .btn { margin-top: 6px; padding: 12px; }
.calibration-login .login-footer { margin: 24px 0 0; color: #788b9b; font-size: 12px; }
@media (max-width: 1199px) and (min-width: 768px) {
 .calibration-app .navbar-header { float: none; } .calibration-app .navbar-toggle { display: block; }
 .calibration-app .navbar-collapse.collapse { display: none !important; } .calibration-app .navbar-collapse.collapse.in { display: block !important; }
 .calibration-app .navbar-nav { float: none !important; } .calibration-app .navbar-nav > li { float: none; }
 .calibration-app .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; }
}
@media (max-width: 1199px) { .calibration-app .navbar-collapse { max-height: 75vh; overflow-y: auto !important; } .calibration-app .navbar-nav > li > a { padding: 12px 15px; } .calibration-app #menu_customer_dropdown { max-width: none; width: 100%; } }
@media (max-width: 767px) { .calibration-app .app-main { padding: 20px 0; } .calibration-app .navbar > .container { padding: 0 18px; } .calibration-app .navbar-nav .open .dropdown-menu > li > a { color: #24364b; } .calibration-app .panel-body { padding: 12px; } .calibration-app .app-page-heading h1, .calibration-app .calibration-page-heading h1 { font-size: 25px; } .calibration-app .modal-dialog { margin: 12px; } .calibration-login .login-card { padding: 28px; } }
@media (prefers-reduced-motion: reduce) { .calibration-app *, .calibration-login * { transition: none !important; animation: none !important; } }
@media print { body.calibration-app { background: #fff; } .calibration-app .navbar, .calibration-app .skip-link { display: none; } .calibration-app .app-main { padding: 0; } .calibration-app .panel { box-shadow: none; break-inside: avoid; } }

@media (max-width: 767px) { .calibration-app .navbar-nav .open .dropdown-menu { background: #fff; margin: 4px 12px; } }

.calibration-app .jobs-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid #dbe4ec; }
.calibration-app .jobs-toolbar strong { color: #203c54; font-size: 15px; }
.calibration-app .jobs-table { margin: 0; }
.calibration-app .jobs-table th, .calibration-app .jobs-table td { border-left: 0; border-right: 0; }
.calibration-app .jobs-table .job-actions { white-space: nowrap; width: 1%; }
.calibration-app .job-actions .btn { margin-right: 3px; }
.calibration-app .jobs-table .jobs-group > th { padding: 6px 10px; background: #eef3f7; color: #52697b; font-size: 12px; }
.calibration-app .jobs-summary { padding: 9px 15px; border-top: 1px solid #dbe4ec; background: #f7f9fc; color: #64798b; font-size: 12px; }
.calibration-app #readCalibrationJobsTable .table-responsive { border: 0; margin: 0; }
.calibration-app .jobs-table .jobs-empty { padding: 24px 15px; text-align: center; color: #64798b; }
.calibration-app .jobs-table .label { display: inline-block; padding: 5px 9px; font-size: 11px; font-weight: 600; }
.calibration-app .jobs-table .label-warning { color: #78540d; background: #fff0c9; }
.calibration-app .jobs-table .label-success { color: #246644; background: #dff1e6; }
.calibration-app .jobs-table .label-danger { color: #932d3c; background: #fae2e6; }

.calibration-app .modal-dialog > [class*="col-md-"] { float: none; width: 100%; padding: 0; }
