/* Device-specific calibration workspace; base UI and shared charts remain in app.css. */
.calibration-page .cal-shell{max-width:1780px}.calibration-page [hidden]{display:none!important}.cal-steps{display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;margin:0 0 16px;color:#abc5dc;font-size:12px}.cal-steps span{display:inline-flex;align-items:center;gap:8px}.cal-steps b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #38617f;background:#13314a;border-radius:50%;font-size:11px;color:#8bdcff}.cal-query{gap:12px}.cal-query .cal-device-field{flex:1 1 275px;min-width:230px}.cal-query>.field:not(.cal-device-field){flex:0 1 210px}.cal-query .field input,.cal-query .field select{width:100%}.cal-query-buttons{display:flex;gap:8px}.cal-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,1fr);gap:18px;align-items:start}.cal-working-panel{min-width:0}.cal-sidebar{display:grid;gap:16px;min-width:0}.cal-state-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid #38516b;background:#10273b;color:#a9c4db;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:600}.cal-state-badge.is-active{border-color:#337d65;background:#123a30;color:#adf2d2}.cal-state-badge.is-dirty{border-color:#8a743b;background:#3c331c;color:#ffdf8d}.cal-state-badge.is-error{border-color:#854255;background:#351d2b;color:#ffc0ce}.cal-state-badge.is-busy{color:#a5dbff;border-color:#347b9f}.cal-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:11px 14px;border:1px dashed #847440;background:#292a21;border-radius:10px;color:#e9d49a;font-size:12px}.cal-message,.cal-draft-banner,.cal-inline-error{overflow-wrap:anywhere}.cal-assignment-bar{padding:15px 16px;background:#112a3e;border-bottom:1px solid var(--line)}.cal-selection-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}.cal-selection-line strong{margin-right:auto;font-size:13px;color:#ccefff}.cal-assignment-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.cal-assignment-actions .cal-bulk-field{flex:1 1 150px;max-width:230px;min-width:120px}.cal-unit-input{display:flex;align-items:center;gap:8px}.cal-unit-input input{width:100%;font-size:16px;min-height:42px}.cal-unit-input>span{font-size:12px;color:#bed5e8}.cal-zero-button{background:#16483f;border-color:#357f6b;color:#bcf4dc}.cal-zero-button:hover{background:#20584b}.cal-assignment-bar>.help{margin:12px 0 0}.cal-table-tools{display:flex;align-items:end;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.cal-table-tools>.field{min-width:160px}.cal-table-tools .cal-page-size-field{min-width:85px}.cal-table-tools .help{margin-left:auto;max-width:250px}.cal-table-wrap{max-height:680px;overflow:auto;overscroll-behavior:contain}.cal-sample-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}.cal-sample-table th{position:sticky;top:0;z-index:2;padding:12px 8px;background:#163047;border-bottom:1px solid #41647f;text-align:left;white-space:nowrap;color:#cee3f3}.cal-sample-table td{padding:8px;border-bottom:1px solid #213a50;vertical-align:middle}.cal-sample-table tbody tr{background:#102236}.cal-sample-table tbody tr:nth-child(even){background:#0e2031}.cal-sample-table tbody tr:hover{background:#17364e}.cal-sample-table tbody tr.is-checked{background:#173d58}.cal-sample-table tbody tr.is-assigned td:first-child{box-shadow:inset 3px 0 #e8b251}.cal-sample-table tbody tr.is-zero td:first-child{box-shadow:inset 3px 0 #50cbae}.cal-sample-table .cal-number{text-align:right;white-space:nowrap}.cal-check-cell{width:43px;min-width:43px;text-align:center!important}.cal-row-check,#cal-check-all{cursor:pointer}.cal-row-check{margin:3px 4px}.cal-time{display:block;white-space:nowrap;font-size:12px;color:#dceaf5}.cal-day{display:block;font-size:10px;color:#839fb7}.cal-raw{font:600 12px/1.5 Consolas,monospace;white-space:nowrap;color:#b8def7;text-align:right}.cal-cc-cell{min-width:110px}.cal-row-cc{width:108px;padding:7px 8px;min-height:36px;font-size:13px;background:#091b2d}.cal-row-cc.has-value{border-color:#a57b37;background:#322b1c;color:#ffe4a6}.cal-row-cc.is-zero{border-color:#3b846e;background:#12362d;color:#b5f1d6}.cal-row-cc.is-invalid{border-color:#fb7185;box-shadow:0 0 0 1px #fb7185}.cal-row-cc::placeholder{color:#657e96;font-size:11px}.cal-event{display:inline-block;white-space:nowrap;font-size:10px;color:#b3c9da}.cal-event.is-button{color:#ecdc9e}.cal-outside{display:inline-block;margin-top:3px;font-size:10px;color:#e1c789}.cal-predicted{color:#b4d3e8}.cal-residual{color:#b9cad9}.cal-residual.is-positive{color:#7dd3fc}.cal-residual.is-negative{color:#facc15}.cal-empty{text-align:center!important;color:var(--muted);padding:36px 14px!important;white-space:normal;line-height:1.8}.cal-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-wrap:wrap;font-size:12px;color:#a2bbd2;border-top:1px solid var(--line)}.cal-pagination>div{display:flex;align-items:center;gap:9px}.cal-table-help{padding:0 16px 13px;margin:0}.cal-limit-notice{padding:12px 16px;border-bottom:1px solid #78643b;background:#352d1c;color:#f7d894;font-size:12px;line-height:1.65}.cal-current-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.cal-current-values span{display:block;color:#9bb8d0;font-size:11px}.cal-current-values strong{display:block;font-size:17px;color:#d4f0ff;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cal-current-values small{display:block;color:#819cb4;font-size:10px}.cal-current-meta{font-size:11px;color:#a1b8cc;line-height:1.8;overflow-wrap:anywhere}.cal-current-footer{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 15px}.cal-sidebar .section-head h2{font-size:16px}.cal-preview-panel{border-color:#396b8a}.cal-preview-panel .section-head{background:#123049}.cal-method-help{margin:10px 0 14px}.cal-preview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;margin:0 0 13px}.cal-preview-metrics>div{background:#0b2032;border:1px solid #315876;border-radius:10px;padding:12px 10px;min-width:0}.cal-preview-metrics span{display:block;font-size:11px;color:#9fbbd2}.cal-preview-metrics strong{display:block;font-size:21px;line-height:1.8;color:#91deff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cal-preview-metrics small{font-size:10px;color:#839fb7}.cal-fit-description{font-size:12px;line-height:1.8;color:#bad3e6;overflow-wrap:anywhere}.cal-save-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 0}.cal-save-actions button{flex:1;min-width:125px;white-space:normal}.cal-scope-note{margin:14px 0 0;border-top:1px solid var(--line);padding-top:12px}.cal-inline-error{margin-top:12px;padding:9px 11px;border:1px solid #7e4055;border-radius:8px;background:#341e2a;color:#ffd0dc;font-size:12px;line-height:1.6}.cal-warnings{margin:12px 0 0;padding:10px 13px 10px 28px;border:1px solid #735f33;background:#302b1c;border-radius:8px;color:#ecd69d;font-size:12px;line-height:1.65}.cal-warnings li+li{margin-top:5px}.cal-group-card{padding:11px;border:1px solid #344f67;background:#0c2032;border-radius:10px;min-width:0}.cal-group-card+.cal-group-card{margin-top:9px}.cal-group-card.is-zero{border-color:#3d7563}.cal-group-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cal-group-top strong{font-size:14px;color:#ffe0a4}.cal-group-card.is-zero .cal-group-top strong{color:#b2efd4}.cal-group-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.cal-group-stats span{display:block;font-size:10px;color:#8fa9be}.cal-group-stats b{display:block;font-size:12px;overflow-wrap:anywhere;font-weight:600;font-variant-numeric:tabular-nums}.cal-group-card .help{margin:9px 0 0;font-size:11px}.cal-group-remove{min-height:27px!important;font-size:10px!important;padding:4px 6px!important;background:transparent}.cal-group-list-empty{margin:0}.cal-history-list{list-style:none;margin:0;padding:0;max-height:305px;overflow:auto}.cal-history-list li{padding:0 0 11px 13px;margin:0 0 11px 3px;border-left:2px solid #355776;border-bottom:1px solid #203b51;line-height:1.7}.cal-history-list li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.cal-history-list strong{font-size:12px;color:#d7ebfa}.cal-history-list span{display:block;font-size:11px;color:#98b5cc}.cal-history-list .is-disabled{color:#e9c98c}.cal-history-empty{margin:0}.cal-calculation-pending{opacity:.6}.calibration-page button:disabled{cursor:default}.calibration-page input:disabled,.calibration-page select:disabled{opacity:.55;cursor:default}.calibration-page a:focus-visible,.calibration-page button:focus-visible,.calibration-page input:focus-visible,.calibration-page select:focus-visible{outline:2px solid #81d3ff;outline-offset:3px}
@media(min-width:1450px){.cal-table-wrap{max-height:760px}.cal-sidebar{grid-template-columns:1fr}.cal-assignment-bar{position:sticky;top:0;z-index:3}}
@media(max-width:1190px){.cal-layout{grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr)}.cal-assignment-actions .cal-bulk-field{max-width:none}.cal-assignment-actions>#cal-unassign{flex-basis:100%}.cal-event-heading,.cal-sample-table .cal-event-cell{display:none}.cal-preview-metrics strong{font-size:18px}}
@media(max-width:950px){.cal-layout{grid-template-columns:1fr}.cal-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.cal-current-panel{order:1}.cal-preview-panel{order:0;grid-column:1/-1}.cal-groups-panel{order:2}.cal-history-panel{order:3;grid-column:1/-1}.cal-preview-metrics strong{font-size:23px}.cal-query .cal-device-field{flex-basis:100%}.cal-query>.field:not(.cal-device-field){flex:1 1 220px}.cal-event-heading,.cal-sample-table .cal-event-cell{display:table-cell}.cal-assignment-actions>#cal-unassign{flex-basis:auto}.cal-table-wrap{max-height:65vh}.cal-preview-panel .section-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.cal-preview-panel .section-body>.field{grid-column:1}.cal-method-help{grid-column:1}.cal-preview-metrics{grid-column:2;grid-row:1/3;align-self:center}.cal-fit-description,.cal-inline-error,.cal-warnings,.cal-save-actions,.cal-scope-note{grid-column:1/-1}}
@media(max-width:620px){.cal-shell{width:calc(100% - 22px);margin-top:14px}.calibration-page .site-head{gap:10px;flex-wrap:wrap}.calibration-page h1{font-size:23px}.calibration-page .site-head nav{width:100%;margin-left:0;gap:6px}.calibration-page .site-head nav .btn{flex:1;font-size:11px;padding:7px 8px}.cal-steps{gap:7px 12px;font-size:11px;margin-bottom:13px}.cal-steps b{width:20px;height:20px;font-size:10px}.cal-query{padding:12px;gap:10px}.cal-query .cal-device-field{min-width:0}.cal-query>.field:not(.cal-device-field){flex:1 1 100%;width:100%}.cal-query-buttons{width:100%}.cal-query-buttons button{flex:1}.cal-query input,.cal-query select{font-size:16px!important}.cal-layout{gap:13px}.cal-sidebar{grid-template-columns:1fr;gap:13px}.cal-preview-panel,.cal-history-panel{grid-column:auto}.cal-preview-panel .section-body{display:block}.cal-preview-panel .section-head h2{font-size:17px}.cal-current-panel{order:1}.cal-preview-panel{order:0}.cal-groups-panel{order:2}.cal-history-panel{order:3}.cal-working-panel>.section-head{padding:13px;align-items:flex-start}.cal-working-panel h2{font-size:17px}.cal-working-panel .section-head .help{font-size:11px}.cal-assignment-bar{padding:12px}.cal-selection-line{gap:6px}.cal-selection-line strong{width:100%;margin-bottom:2px}.cal-assignment-actions{gap:7px}.cal-assignment-actions .cal-bulk-field{flex:1 1 100%;max-width:none}.cal-assignment-actions>#cal-assign,.cal-assignment-actions>#cal-zero{flex:1;min-height:42px}.cal-assignment-actions>#cal-unassign{width:100%;min-height:35px}.cal-table-tools{padding:11px 12px;gap:8px}.cal-table-tools>.field{flex:1;min-width:120px}.cal-table-tools .cal-page-size-field{flex:0 0 75px;min-width:75px}.cal-table-tools select{max-width:100%;font-size:12px}.cal-table-tools .help{width:100%;max-width:none;margin:0;font-size:11px}.cal-table-wrap{max-height:60vh}.cal-sample-table{min-width:635px}.cal-sample-table th{font-size:11px;padding:10px 6px}.cal-sample-table td{padding:8px 6px}.cal-row-cc{font-size:16px;min-height:40px;width:107px}.cal-check-cell{position:sticky;left:0;z-index:1;background:#10283c}.cal-sample-table th.cal-check-cell{z-index:4;background:#163047}.cal-sample-table tr.is-checked .cal-check-cell{background:#173d58}.cal-sample-table .cal-event-heading,.cal-sample-table .cal-event-cell{display:none}.cal-raw{font-size:12px}.cal-pagination{padding:11px 12px;gap:9px;font-size:11px}.cal-table-help{padding:0 12px 12px;font-size:11px}.cal-save-actions{position:sticky;bottom:8px;background:#122b40;padding:8px;border:1px solid #365e7b;border-radius:10px;z-index:3}.cal-save-actions button{min-height:43px;min-width:100px;font-size:12px}.cal-current-values strong{font-size:18px}.cal-group-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.calibration-page{background:#fff;color:#111}.calibration-page .cal-shell{width:100%;max-width:none;margin:0}.cal-steps,.cal-query,.cal-working-panel,.cal-message,.cal-draft-banner,.cal-current-footer,.cal-save-actions,.cal-state-badge,.cal-sidebar select,.cal-sidebar .field,.cal-group-remove,#cal-error{display:none!important}.cal-layout,.cal-sidebar{display:block}.cal-sidebar>.panel{margin-bottom:12px;padding:0;break-inside:avoid;box-shadow:none;border-color:#bbb;background:#fff;color:#111}.cal-preview-panel .section-body{display:block}.cal-preview-metrics>div,.cal-group-card{background:#fff;border-color:#bbb}.calibration-page strong,.calibration-page b,.calibration-page .cal-fit-description,.calibration-page span,.calibration-page .help,.calibration-page small{color:#111!important}.cal-preview-panel .section-head{background:#f1f5f9}.cal-history-list{max-height:none;overflow:visible}.cal-warnings{background:#fff;color:#111;border-color:#aaa}.cal-group-stats{display:grid}.cal-preview-metrics strong{font-size:18px}@page{size:A4;margin:13mm}}

/* Keep the conversion factors readable as complete numbers on narrow cards. */
@media screen{.cal-preview-metrics strong,.cal-current-values strong{white-space:nowrap;overflow-wrap:normal}}
@media screen and (max-width:620px){.cal-preview-metrics,.cal-current-values{grid-template-columns:1fr}.cal-preview-metrics strong{font-size:23px}}

/* Separate date/time controls and distinguish draft dates from the last query. */
.cal-query{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2.15fr);align-items:end;gap:14px}
.cal-query .cal-device-field{min-width:0;width:100%}
.cal-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.cal-period-group{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;min-width:0;margin:0;padding:10px 12px 13px;border:1px solid #365975;border-radius:10px;background:#102a3e}
.cal-period-group legend{padding:0 6px;font-size:12px;font-weight:700;color:#9bdbff}
.cal-period-group .field{min-width:0;margin:0}
.cal-period-group input{display:block;min-width:0;max-width:100%;min-height:42px;width:100%;box-sizing:border-box;font-size:14px}
.cal-query-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cal-query-footer>.help{margin:0;line-height:1.7}
.cal-query-footer .cal-query-buttons{flex-shrink:0;margin-left:auto}
.cal-range-summary{margin:0 0 14px;padding:14px;border:1px solid #33536d;border-radius:12px;background:#0d2539}
.cal-range-summary-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}
.cal-range-summary-head h2{margin:0;font-size:15px;color:#c8e7fa}
.cal-range-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(145px,.55fr);gap:11px}
.cal-range-summary-grid>div{min-width:0;padding:11px 12px;border:1px solid #2a465d;border-radius:8px;background:#102b40}
.cal-range-label{display:block;margin-bottom:6px;color:#95b4cd;font-size:11px}
.cal-range-summary-grid strong{display:flex;flex-wrap:wrap;gap:0 7px;font-size:14px;line-height:1.8;color:#d8f0ff;font-variant-numeric:tabular-nums}
.cal-range-summary-grid strong>span{white-space:nowrap}
.cal-range-summary-grid .cal-range-to{color:#8cabc3}
.cal-range-summary-grid .help{margin:7px 0 0;font-size:11px;line-height:1.65}
.cal-range-summary-grid #cal-range-count{font-size:23px;line-height:1.5;color:#99ddff}
@media(max-width:1190px){.cal-query{grid-template-columns:1fr}.cal-query .cal-device-field{max-width:none}.cal-period-fields{width:100%}}
@media(max-width:950px){.cal-range-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-range-count-card{grid-column:1/-1}.cal-range-summary-grid #cal-range-count{font-size:21px}}
@media(max-width:620px){.cal-query{gap:12px}.cal-period-fields{grid-template-columns:1fr;gap:10px}.cal-period-group{padding:9px 10px 11px;gap:9px}.cal-period-group input{font-size:16px!important;min-height:44px}.cal-query-footer{display:block}.cal-query-footer>.help{margin-bottom:10px;font-size:11px}.cal-query-footer .cal-query-buttons{width:100%;margin:0}.cal-range-summary{padding:12px;margin-bottom:12px}.cal-range-summary-head h2{font-size:14px}.cal-range-summary-grid{grid-template-columns:1fr;gap:8px}.cal-range-count-card{grid-column:auto}.cal-range-summary-grid strong{font-size:14px}.cal-range-summary-grid>div{padding:10px 11px}}
@media print{.cal-range-summary{display:none!important}}

/* Give native date/time widgets full width on narrow phones, including AM/PM locales. */
@media screen and (max-width:480px){.cal-period-group{grid-template-columns:minmax(0,1fr);gap:10px}.cal-period-group input{width:100%;min-width:0}}
