/* Recessed physical meters. Depth is on the enclosure, never blurred digits. */
.readings,#recordpanel .readings,#detail .readings{
 background:linear-gradient(135deg,#e8e9e5,#cdd1ce);padding:18px;gap:14px 16px;
 border-top:1px solid #fff;border-bottom:1px solid #adb5b3;
 box-shadow:inset 0 1px 3px #122b4020;
}
.reading{min-width:0;padding:9px 9px 11px;background:linear-gradient(#eef0ed,#d8ddda);
 border:1px solid #aab4b1;border-top-color:#fff;border-left-color:#f7f8f5;
 border-radius:5px;box-shadow:1px 2px 2px #192c3225;}
.reading label,#recordpanel .reading label{font-family:Arial,sans-serif;font-size:11px;line-height:15px;min-height:16px;margin:0 0 7px;color:#202c30;font-weight:700;letter-spacing:.25px;justify-content:center;}
.screen,#recordpanel .screen,#detail .screen{
 height:66px;min-width:0;padding:8px 9px;gap:3px;justify-content:center;
 background:linear-gradient(165deg,#181112 0%,#080809 45%,#100b0c 100%);
 border:3px solid #303637;border-top-color:#171c1d;border-left-color:#1e2526;
 border-bottom-color:#737d7c;border-right-color:#596362;border-radius:4px;
 box-shadow:inset 0 3px 5px #000,0 1px 0 #fff9;
}
.screen svg,#recordpanel .screen svg,#detail .screen svg{height:46px;width:auto;max-width:none;min-width:0;flex-shrink:1;filter:none;}
#records .tablewrap{overflow-x:auto;}
#records table{table-layout:fixed;min-width:1280px;white-space:normal;}
#records thead th{background:#e9eff2;color:#17354b;font-size:11px;line-height:1.3;padding:9px 3px;border-right:1px solid #d2dce1;overflow-wrap:normal;vertical-align:middle;}
#records .headergroups th{background:#233e51;color:#f1f5f7;font-size:10px;letter-spacing:.4px;padding:8px 3px;border-right:1px solid #506575;}
.colname,.colunit{display:block;white-space:nowrap;}.colunit{font-size:10px;color:#607586;font-weight:400;margin-top:4px;}
#records td{padding:10px 3px;font-size:11px;overflow-wrap:normal;}
#records td.empty{padding:28px;text-align:center;}
@media(min-width:1600px){.screen,#recordpanel .screen{height:74px}.screen svg,#recordpanel .screen svg{height:54px}}
@media(max-width:1099px){.readings,#recordpanel .readings,#detail .readings{padding:12px;gap:10px}.reading{padding:7px}.reading label,#recordpanel .reading label{font-size:10px;letter-spacing:0;min-height:26px;align-items:center}.screen,#recordpanel .screen{height:64px}.screen svg,#recordpanel .screen svg{height:44px}}
@media(max-width:380px){.screen,#recordpanel .screen{height:57px;padding:6px 3px;gap:1px}.screen svg,#recordpanel .screen svg{height:37px}.reading{padding:5px}}
@media print{.reading,.screen{box-shadow:none!important}.readings,.screen{print-color-adjust:exact;-webkit-print-color-adjust:exact}#records table{min-width:0}#records .colname{white-space:normal}#records thead th{font-size:8px}}

/* Controller's physical row order; supplemental values remain separate. */
.readings,#recordpanel .readings,#detail .readings{display:block;padding:0;background:#d5d8d4;overflow:hidden}
.controller-title{background:linear-gradient(#303638,#161b1d);color:#f4f5f1;font:700 17px Arial,sans-serif;letter-spacing:1.5px;padding:16px 22px;border-bottom:4px solid #8f9996}
.controller-face{display:grid;grid-template-columns:1.5fr .8fr .8fr .9fr 1.2fr 1.2fr;gap:18px 10px;padding:22px;background:linear-gradient(115deg,#e7e8e2,#c9ceca);border-bottom:5px solid #3b4546}
.controller-face .reading{padding:6px;border-radius:3px;background:#353b3b;border:1px solid #78817e;box-shadow:1px 2px 3px #0005}
.controller-face .reading label{color:#f1f2ea;font-size:11px;letter-spacing:0;justify-content:flex-start;text-align:left;min-height:16px;margin-bottom:4px}
.controller-face .reading[data-meter="18"]{grid-column:3 / span 2}
.controller-face .reading[data-meter="22"]{grid-column:5 / span 2}
.controller-face .reading[data-meter="9"]{grid-column:1;max-width:150px;justify-self:end;width:100%}
.extra-title{padding:13px 22px 6px;font-weight:700;font-size:12px;color:#354b54}.extra-title small{font-weight:400;margin-left:12px;color:#52646b}
.extra-readings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:8px 22px 18px}
.extra-readings .screen{height:54px!important}.extra-readings .screen svg{height:34px!important}
@media(max-width:1099px){.controller-face{gap:12px 8px;padding:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.controller-face .reading[data-meter="18"],.controller-face .reading[data-meter="22"],.controller-face .reading[data-meter="9"]{grid-column:auto;max-width:none}.extra-readings{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.extra-title small{display:block;margin:5px 0 0}}
@media(max-width:700px){.controller-face{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.controller-title{font-size:13px;padding:14px 12px;letter-spacing:.5px}.extra-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.controller-face .reading label{font-size:10px;min-height:25px}}

/* Physical enclosure, satin fascia and smoked meter windows. No LED blur. */
.readings,#recordpanel .readings,#detail .readings{background:#eef1ef;padding:18px}
.controller-enclosure{position:relative;border:7px solid #202526;border-top-color:#41484a;border-left-color:#363d3f;border-right-color:#14191a;border-bottom-width:10px;border-radius:12px;background:#22292b;box-shadow:0 9px 14px -9px #102028aa,inset 0 0 0 1px #718080;overflow:hidden;padding:4px}
.controller-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 28px 17px;background:linear-gradient(180deg,#31393b,#1c2325);border:0;border-bottom:2px solid #101719;text-shadow:0 1px #000;letter-spacing:1.6px;font-size:18px}
.controller-title>span{font-size:9px;letter-spacing:2px;color:#a5b0b0;font-weight:400}
.controller-face{position:relative;padding:28px 32px 24px;gap:20px 12px;border:1px solid #a2aaa4;border-top-color:#e9ede5;border-bottom:0;background:linear-gradient(110deg,#c6cbc4 0%,#e4e6df 32%,#d8ddd5 64%,#b9c1b9 100%);box-shadow:inset 0 2px 4px #0004}
.controller-face .reading{padding:5px 6px 6px;border-radius:5px;border:1px solid #090e0e;border-top-color:#677171;border-left-color:#535c5b;background:linear-gradient(#303736,#141a19);box-shadow:0 2px 0 #f3f6ebaa,1px 3px 3px #0005,inset 0 1px 0 #7c8582}
.controller-face .reading label{color:#e6e9dc;text-shadow:0 1px #000;padding:2px 2px 0;font-size:11px;min-height:18px;margin-bottom:3px}
.controller-face .screen{position:relative;overflow:hidden;background:linear-gradient(170deg,#261414 0%,#0c0809 43%,#12090a 100%);border:2px solid #080b0b;border-bottom-color:#404a46;border-right-color:#35403b;box-shadow:inset 0 3px 5px #000,0 1px 0 #6d777244;border-radius:3px}
.controller-face .screen::after{content:'';pointer-events:none;position:absolute;inset:0;border-top:1px solid #c4a9a918;background:linear-gradient(165deg,#fff4 0%,#fff0 18%);opacity:.22}
.controller-legend{grid-column:2 / -1;align-self:center;padding:8px 18px;color:#3e4c48;font:600 10px Arial,sans-serif;letter-spacing:1.5px}
.controller-legend small{display:block;margin-top:10px;font-weight:400;font-size:11px;letter-spacing:0;color:#55635c}
.controller-bottom{display:flex;justify-content:space-between;gap:12px;padding:12px 28px 10px;font:600 9px Arial,sans-serif;letter-spacing:1.5px;color:#a3aeaa;background:linear-gradient(#303839,#202729);border-top:1px solid #111a19}
.mount-screw{position:absolute;width:9px;height:9px;border-radius:50%;background:linear-gradient(130deg,#909895,#303938 65%,#687370);border:1px solid #111b19;box-shadow:0 1px 1px #000;z-index:2;pointer-events:none}
.mount-screw::after{content:'';position:absolute;left:1px;right:1px;top:3px;height:1px;background:#111b19;transform:rotate(-30deg)}
.top-left{left:9px;top:10px}.top-right{right:9px;top:10px}.bottom-left{left:9px;bottom:9px}.bottom-right{right:9px;bottom:9px}
@media(max-width:1099px){.controller-face{padding:20px 15px;gap:15px 9px}.controller-legend{grid-column:1 / -1}.controller-title{padding:17px;font-size:15px}.controller-title>span{display:none}.controller-bottom{padding:12px 16px;font-size:8px}}
@media(max-width:700px){.readings,#recordpanel .readings,#detail .readings{padding:9px}.controller-enclosure{border-width:5px;padding:2px;border-radius:9px}.controller-title{font-size:12px;letter-spacing:.7px;padding:17px 13px}.controller-face{padding:16px 9px;gap:13px 8px}.controller-face .reading label{font-size:9px;min-height:25px}.controller-bottom span:last-child{display:none}.controller-legend{padding:5px;font-size:9px;line-height:1.5}.extra-title{padding:16px 4px 4px}.extra-readings{padding:8px 0}.controller-legend small{font-size:10px}}
@media print{.controller-enclosure,.controller-face,.controller-face .reading{box-shadow:none}.controller-face .screen::after{display:none}}
/* Explicit column sizing prevents colspan headers from compressing data columns. */
#records table{min-width:1728px;width:100%;table-layout:fixed}
#records thead th,#records th:nth-child(1),#records th:nth-child(2){width:auto;position:static}
#records thead{position:sticky;top:0;z-index:2}
#records th:first-child,#records td:first-child{position:static}
#records .headergroups th{height:34px;white-space:nowrap}
#records .colname,#records .colunit{white-space:normal;overflow-wrap:normal}
#records td{white-space:nowrap}
#records .tablewrap{max-width:100%;overflow:auto}
#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{color:#edf0e5;text-align:left;justify-content:flex-start;line-height:1.4;white-space:normal;overflow-wrap:normal}
.panelhead{gap:12px;flex-wrap:wrap}.panelhead>*{min-width:0}.panelhead strong,.panelhead small{overflow-wrap:anywhere}
main,.panel,.heading>div{min-width:0}
@media(max-width:700px){.controller-title{overflow-wrap:anywhere}.heading{flex-wrap:wrap;gap:10px}.topright{min-width:0}.topright .demo{max-width:130px;white-space:normal;font-size:10px}.controller-bottom{letter-spacing:.8px}}
@media print{#records table{min-width:0}#records thead{position:static}#records td{white-space:normal}}


/* All measurements share the same physical fascia and meter treatment. */
.controller-face .reading[data-meter="9"]{max-width:none;justify-self:stretch}
.controller-face .reading[data-meter="15"],.controller-face .reading[data-meter="24"]{grid-column:span 2}
.controller-face .controller-legend{grid-column:1 / -1;padding:4px 0;text-align:center}
.controller-legend small{display:inline;margin:0 0 0 16px}
@media(max-width:1099px){.controller-face .reading[data-meter="15"],.controller-face .reading[data-meter="24"]{grid-column:auto}}
@media(max-width:700px){.controller-legend small{display:block;margin:6px 0 0}}

/* High contrast instrument captions, sized for normal viewing distance. */
#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{
 font-family:Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.35;
 color:#fff;background:#252e2e;text-shadow:none;letter-spacing:.15px;
 min-height:48px;margin:0 0 5px;padding:5px 4px;display:flex;align-items:center;
 white-space:normal;overflow-wrap:normal;
}
@media(max-width:1099px){
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{font-size:13px;min-height:48px;letter-spacing:0}
}
@media(max-width:380px){
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{font-size:12px;min-height:48px;padding:4px 2px}
}

/* Reference instrument: blue fascia rails, pale face and thin black lenses. */
.controller-enclosure{border:6px solid #242a2e;border-right-color:#101519;border-bottom-width:9px;border-radius:5px;padding:5px;background:#535c60;box-shadow:2px 5px 9px #122b4038}
.controller-title{background:linear-gradient(#268bc4,#126ba4);padding:12px 20px;border-bottom:3px solid #063c62;font-size:18px;letter-spacing:.5px}
.controller-title>span{color:#fff;font-weight:700;letter-spacing:1px}
.controller-face{background:linear-gradient(110deg,#c8cccb,#e5e7e4 48%,#c9cdcb);padding:24px;gap:15px 10px;box-shadow:inset 0 1px 2px #0004}
.controller-face .reading{background:#1b1d1d;border:1px solid #555c5a;border-radius:2px;padding:3px;box-shadow:0 1px 1px #0006}
#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{background:#202424;color:#fff;font-size:14px;line-height:1.25;min-height:42px;padding:4px 5px;margin:0;letter-spacing:0}
#recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{background:linear-gradient(#270c0c,#170505);border:1px solid #080303;border-radius:1px;box-shadow:inset 0 1px 2px #000;height:64px;padding:6px}
#recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:49px}
.controller-face .screen::after{opacity:.1}
.controller-bottom{background:linear-gradient(#268bc4,#126ba4);color:white;padding:10px 20px;border-top:2px solid #15557c;font-size:10px}
.controller-legend{color:#294b63;letter-spacing:.8px}
@media(max-width:1099px){.controller-face{padding:16px;gap:12px 8px}.controller-title{font-size:15px}#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{font-size:13px;min-height:46px}}
@media(max-width:700px){.controller-face{padding:12px 8px}.controller-title{font-size:12px;padding:14px 10px}.controller-enclosure{padding:3px;border-width:4px}#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{font-size:12px;min-height:46px}#recordpanel .controller-face .screen svg,.controller-face .screen svg{height:43px}}

/* Layered hardware depth with lightweight CSS; LED geometry stays sharp. */
.readings,#recordpanel .readings,#detail .readings{padding:24px 22px 30px;background:linear-gradient(145deg,#edf1f2,#d9e0e2)}
.controller-enclosure{border:7px solid #283237;border-top-color:#667278;border-left-color:#4b585e;border-right-color:#172126;border-bottom:12px solid #111b20;border-radius:8px;padding:5px;background:#344249;box-shadow:0 2px 0 #a4afb3,inset 0 1px 0 #a8b3b7,5px 8px 0 #263238,8px 15px 16px -8px #10232c99}
.controller-title{background:linear-gradient(180deg,#5bb0da 0%,#238dc6 9%,#157ab4 60%,#0a6096 100%);border-top:1px solid #b4dcef;border-bottom:4px solid #08446b;box-shadow:inset 0 1px 0 #e1f6ff77,0 2px 3px #132c3d66;text-shadow:0 1px 1px #07344f;padding:14px 20px}
.controller-face{border:1px solid #b8c2c4;border-top:3px solid #7b898d;border-left:3px solid #8b9699;background:linear-gradient(112deg,#b5bfc0 0%,#e1e5e3 21%,#f0f1eb 45%,#d4dcda 73%,#aab8b9 100%);box-shadow:inset 3px 4px 6px #26393e38,inset -2px -2px 3px #ffffffad;padding:26px;gap:18px 12px}
.controller-face .reading{border:2px solid #172021;border-top-color:#5c6869;border-left-color:#4c595a;border-right-color:#111819;border-bottom:4px solid #0b1213;border-radius:4px;padding:4px;background:linear-gradient(150deg,#3b4748,#182122 70%);box-shadow:1px 2px 0 #eff5e9,3px 4px 4px #17282d55,inset 0 1px 0 #859291}
#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{background:transparent;min-height:48px;color:#fff;text-shadow:none}
#recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{background:linear-gradient(165deg,#310f12,#170608 48%,#21080b);border:2px solid #070b0c;border-top:3px solid #030607;border-left-color:#050809;border-bottom-color:#697372;border-right-color:#4b5958;border-radius:2px;box-shadow:inset 0 4px 5px #0009,0 1px 0 #a9b6af33;position:relative;isolation:isolate}
.controller-face .screen::after{background:linear-gradient(165deg,#fff2 0%,#fff0 28%);opacity:.45;border-top:1px solid #eccaca33;pointer-events:none}
.controller-bottom{background:linear-gradient(#349acf,#1276ae 48%,#07517e);border-top:2px solid #86bfda;border-bottom:2px solid #073858;box-shadow:inset 0 1px 0 #d1eeff55;text-shadow:0 1px #16405a}
.mount-screw{width:10px;height:10px;background:radial-gradient(circle at 30% 25%,#dae2e4,#879396 37%,#344248 70%);border-color:#112329;box-shadow:0 1px 2px #0009,inset 0 1px 0 #eef7fa99}
.mount-screw::after{top:4px;left:2px;right:2px;box-shadow:0 1px 0 #aebfc366}
@media(max-width:1099px){.controller-face{padding:18px 14px;gap:14px 10px}}
@media(max-width:700px){.readings,#recordpanel .readings,#detail .readings{padding:12px 13px 20px}.controller-enclosure{border-width:4px;border-bottom-width:8px;padding:3px;box-shadow:0 1px 0 #a4afb3,3px 5px 0 #263238,5px 9px 9px -5px #10232c88}.controller-face{padding:13px 7px;gap:14px 8px}.controller-title{padding:15px 10px}.controller-face .reading{padding:3px}}
@media print{.controller-enclosure,.controller-face,.controller-face .reading,.controller-title,.controller-bottom,.controller-face .screen{box-shadow:none!important}}

/* Spacious secondary instruments remain within the common metal face. */
.controller-utility,.controller-totals{grid-column:1 / -1;display:grid;gap:18px 12px;min-width:0}
.controller-utility{grid-template-columns:repeat(3,minmax(0,1fr))}
.controller-totals{grid-template-columns:repeat(4,minmax(0,1fr))}
.controller-face .controller-utility .reading,.controller-face .controller-totals .reading{grid-column:auto;max-width:none;width:100%}
#recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{max-width:none;flex-shrink:1;min-width:0}
#recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label{height:48px;min-height:48px;overflow-wrap:normal}
#recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:48px}
#recordpanel[data-mode="historical"]{border:2px solid #a76b20}
#recordpanel[data-mode="historical"] .panelhead{background:#fff4de}
#recordpanel[data-mode="historical"] #recordmode{background:#fff0cf;color:#714600;font-size:13px;font-weight:700;padding:13px 16px}
#recordmode{line-height:1.6}
.freshness-live{background:#e0f2e7!important;color:#146140!important}
.freshness-delayed{background:#fff0cc!important;color:#7d5200!important}
.freshness-offline{background:#f3e5e5!important;color:#8c2929!important}
.freshness-empty{background:#e8edf0!important;color:#43586a!important}
@media(max-width:1099px){.controller-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.controller-utility{grid-template-columns:repeat(2,minmax(0,1fr))}.controller-utility .reading[data-meter="21"]{grid-column:1 / -1}.controller-totals{grid-template-columns:minmax(0,1fr)}.controller-utility,.controller-totals{gap:14px 8px}#recordpanel .controller-totals .screen svg{height:46px}.topright .demo{display:none}.heading>div:last-child{text-align:left!important}#inlineLive{width:100%}.controller-title{line-height:1.5}#recordstamp{display:block;line-height:1.6;margin-top:4px}}

@media(max-width:1099px){.controller-utility{grid-template-columns:repeat(2,minmax(0,1fr))}.controller-utility .reading[data-meter="21"]{grid-column:1 / -1}.controller-face .reading[data-meter="18"]{grid-column:1 / -1}.controller-face .reading[data-meter="22"]{grid-column:1 / -1}}
/* Desktop working layout: controller and record list visible together. */
@media screen and (min-width:1100px){
 .readings,#recordpanel .readings,#detail .readings{padding:7px 10px 10px}
 .controller-enclosure{border-width:4px;border-bottom-width:6px;padding:3px;box-shadow:2px 4px 0 #263238,3px 6px 8px #10232c44}
 .controller-title{padding:6px 16px;font-size:15px;border-bottom-width:2px}
 .controller-face{padding:8px 10px;gap:7px 8px}
 .controller-face .reading{padding:2px;border-bottom-width:2px;box-shadow:1px 1px 0 #eff5e9,1px 2px 2px #17282d55}
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:30px;min-height:30px;font-size:12px;line-height:1.15;padding:2px 4px}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:40px;padding:2px 5px}
 #recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:32px}
 .controller-utility{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 8px}
 .controller-face .controller-utility .reading[data-meter="21"]{grid-column:span 2}
 .controller-totals{gap:7px 8px}
 .controller-legend{font-size:9px;line-height:1.2;padding:1px!important}
 .controller-legend small{font-size:9px;margin-left:10px}
 .controller-bottom{padding:4px 16px;font-size:9px}
 #recordpanel .panelhead{padding:7px 12px}
 #recordmode{padding:3px 12px!important;font-size:11px!important}
 #records .tablewrap{max-height:32vh;overflow:auto}
}
@media screen and (min-width:1100px){
 main{padding-top:8px!important}
 .heading{margin-bottom:6px!important}.heading h1{font-size:20px;margin:3px 0!important}.heading .sub{margin:3px 0!important}
 .tabs{margin-bottom:6px!important}
 #recordpanel .panelhead{padding:4px 10px}#inlineLive{padding:6px 12px}
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:24px;min-height:24px;font-size:11px}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:35px;padding:0 5px}
 #recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:29px}
 .controller-face,.controller-utility,.controller-totals{row-gap:5px}
 #records .toolbar{margin:6px 0!important;padding:5px 8px;gap:8px}
 #records .toolbar label{display:flex;align-items:center;gap:6px}
 #records .toolbar input,#records .toolbar button{padding:5px 8px;min-height:30px}
 #records>.panel>.panelhead{padding:5px 10px}
 #records .headergroups th{height:22px;padding:3px}
 #records thead tr:last-child th{padding:4px 2px;height:34px}
 #records td{padding:5px 3px}
}
@media screen and (min-width:1100px){
 .heading .eyebrow{display:none}.heading .sub{line-height:1.15}
 .tabs{margin-top:2px!important;padding-top:0!important}.tabs button{padding:5px 0 7px}
 #recordpanel .panelhead>div{display:flex;align-items:center;gap:12px}#recordstamp{margin:0!important}
 .controller-face{padding:4px 8px;row-gap:3px}
 .controller-face .reading{padding:0 2px}
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:20px;min-height:20px;padding:1px 3px}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:33px}
 .controller-title{padding:3px 16px}.controller-bottom{padding:2px 16px}
 .controller-legend{display:none}.controller-utility,.controller-totals{row-gap:3px}
}
@media screen and (min-width:1100px){
 .top{height:44px!important}.app{height:calc(100dvh - 44px)!important}
 .heading>div:first-child{display:flex;align-items:baseline;gap:12px}
 .heading h1{font-size:19px}.heading .sub{margin:0!important}
 #recordpanel #inlineLive{padding:3px 10px;min-height:26px}
 #recordpanel .panelhead{min-height:32px;padding:2px 10px!important}
 #records .headergroups th{height:20px;padding:2px}
 #records thead tr:last-child th{height:30px;padding:2px}
}
/* Balanced instrument size: readable at normal viewing distance. */
@media screen and (min-width:1100px){
 .controller-enclosure{width:100%;max-width:1400px;justify-self:center;margin-inline:auto}
 .controller-face{padding:8px 10px;gap:7px 8px}
 .controller-face .reading{padding:2px}
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:26px;min-height:26px;font-size:12px;padding:3px 4px;line-height:1.2}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:43px;padding:2px 5px}
 #recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:35px}
 .controller-title{padding:7px 16px;font-size:16px}
 .controller-bottom{padding:4px 16px}
 .controller-utility,.controller-totals{row-gap:7px}
}
/* Slightly larger desktop instruments, preserving the balanced panel width. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:29px;min-height:29px;font-size:13px}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:49px}
 #recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:40px}
 .controller-face{row-gap:9px}.controller-title{font-size:17px;padding:8px 16px}
}
/* Taller instrument proportions without stretching the seven-segment geometry. */
@media screen and (min-width:1100px){
 .controller-enclosure{max-width:1320px}
 .controller-face{padding:14px 12px;gap:12px 10px}
 #recordpanel .controller-face .reading label,#detail .controller-face .reading label,.controller-face .reading label,
 #recordpanel .controller-totals .reading label,#recordpanel .controller-utility .reading label{height:32px;min-height:32px;font-size:13px;padding:4px}
 #recordpanel .controller-face .screen,#detail .controller-face .screen,.controller-face .screen{height:58px;padding:3px 5px}
 #recordpanel .controller-face .screen svg,#detail .controller-face .screen svg,.controller-face .screen svg{height:47px;width:auto;object-fit:contain}
 .controller-title{padding:11px 16px;font-size:18px}
 .controller-bottom{padding:7px 16px}
}
/* Fill the available panel area without unused side gutters. */
.readings,#recordpanel .readings,#detail .readings{padding-left:0;padding-right:0}
.controller-enclosure{width:100%;max-width:none;margin-left:0;margin-right:0;justify-self:stretch}


/* Full-width panel with the original chronological reading table. */
.readings,#recordpanel .readings,#detail .readings{display:block!important;padding-left:0!important;padding-right:0!important}
.controller-enclosure{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box}
.record-field-label{display:none}
#records table{min-width:0!important;width:100%;table-layout:fixed}
#records .tablewrap{max-height:none!important;overflow:visible!important}
#records thead th,#records tbody td{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:7px 2px!important;letter-spacing:0}
#records thead th{font-size:10px}
#records tbody td{font-size:11px}
#records .headergroups th{white-space:normal}
#records .swipehint{display:none!important}
#records .colname,#records .colunit{overflow-wrap:anywhere;white-space:normal;min-width:0}
#records td .link{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:0}

/* Keep the complete instrument in view while the record rows scroll. */
@media screen and (min-width:1100px){
 #recordpanel{position:sticky;top:0;z-index:4;background:white}
 #records .tablewrap{max-height:26vh!important;overflow-y:auto!important;overflow-x:hidden!important}
 #recordpanel .controller-face{padding:5px 10px;gap:5px 8px}
 #recordpanel .controller-face .reading label{height:clamp(20px,2.7vh,29px);min-height:0;font-size:12px;padding:2px 4px}
 #recordpanel .controller-face .screen{height:clamp(34px,4.5vh,49px);padding:1px 4px}
 #recordpanel .controller-face .screen svg{height:clamp(28px,3.8vh,41px)}
 #recordpanel .controller-title{padding:5px 16px;font-size:16px}
 #recordpanel .controller-bottom{padding:3px 16px}
 #recordpanel .readings{padding-top:3px;padding-bottom:5px}
}
/* Restore comfortable instrument depth without widening the enclosure. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face{padding:8px 10px;gap:7px 8px}
 #recordpanel .controller-face .reading label{height:28px;min-height:28px;font-size:13px;padding:3px 4px}
 #recordpanel .controller-face .screen{height:48px;padding:2px 4px}
 #recordpanel .controller-face .screen svg{height:39px;width:auto}
 #recordpanel .controller-title{padding:8px 16px;font-size:17px}
 #recordpanel .controller-bottom{padding:5px 16px}
}
/* Proportioned desktop cabinet: height follows width, not viewport height. */
@media screen and (min-width:1100px){
 #recordpanel{position:relative;top:auto}
 #recordpanel .controller-enclosure{container-type:inline-size}
 #recordpanel .controller-face{padding:14px 12px;gap:12px 10px}
 #recordpanel .controller-face .reading label{height:36px;min-height:36px;font-size:14px;padding:5px}
 #recordpanel .controller-face .screen{height:clamp(58px,5.2cqw,82px);padding:4px 6px}
 #recordpanel .controller-face .screen svg{height:clamp(46px,4.1cqw,66px);width:auto}
 #recordpanel .controller-title{padding:14px 18px;font-size:20px}
 #recordpanel .controller-bottom{padding:9px 18px}
}
/* Shared desktop workspace: reserve room for two records below the cabinet. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face{padding:6px 10px;gap:5px 8px}
 #recordpanel .controller-face .reading label{height:24px;min-height:24px;font-size:12px;padding:2px 4px}
 #recordpanel .controller-face .screen{height:clamp(32px,calc((100dvh - 490px)/5),64px);padding:1px 5px}
 #recordpanel .controller-face .screen svg{height:clamp(26px,calc((100dvh - 520px)/5),55px);width:auto}
 #recordpanel .controller-title{padding:5px 16px;font-size:17px}
 #recordpanel .controller-bottom{padding:3px 16px}
 #recordpanel .readings{padding-top:3px;padding-bottom:5px}
 #records .tablewrap{max-height:26vh!important;overflow-y:auto!important}
 .preview-label{margin:0!important;padding:5px 10px!important;font-size:11px}
}
@media screen and (min-width:1100px){
 #recordpanel .controller-face .screen{height:clamp(32px,calc((100dvh - 620px)/5),58px)}
 #recordpanel .controller-face .screen svg{height:clamp(26px,calc((100dvh - 650px)/5),49px)}
 #records .panelhead{padding:5px 10px}
 #records .panelnote{padding:3px 10px}
 #records thead th{padding:3px 2px!important}
 #records tbody td{padding:4px 2px!important}
}
/* Small final height adjustment: three extra pixels per instrument row. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face .screen{height:clamp(35px,calc((100dvh - 605px)/5),61px)}
 #recordpanel .controller-face .screen svg{height:clamp(29px,calc((100dvh - 635px)/5),52px)}
}
@media screen and (min-width:1100px){
 #recordpanel .controller-face .screen{height:clamp(36px,calc((100dvh - 600px)/5),62px)}
 #recordpanel .controller-face .screen svg{height:clamp(30px,calc((100dvh - 630px)/5),53px)}
}
/* User-requested height increase: 24px across each of five meter rows. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face .screen{height:clamp(60px,calc((100dvh - 480px)/5),86px)}
 #recordpanel .controller-face .screen svg{height:clamp(48px,calc((100dvh - 540px)/5),71px)}
}
/* Small height refinement: reduce total meter height by 30px. */
@media screen and (min-width:1100px){
 #recordpanel .controller-face .screen{height:clamp(54px,calc((100dvh - 510px)/5),80px)}
 #recordpanel .controller-face .screen svg{height:clamp(43px,calc((100dvh - 565px)/5),66px)}
}
/* Consistent cabinet proportions; scale with width, never stretch LED shapes. */
@media screen and (min-width:1100px){
 #recordpanel .controller-enclosure{aspect-ratio:2.3 / 1;display:flex;flex-direction:column}
 #recordpanel .controller-title,#recordpanel .controller-bottom{flex:none}
 #recordpanel .controller-face{flex:1;min-height:0;grid-template-rows:repeat(5,minmax(0,1fr))}
 #recordpanel .controller-face .reading{display:flex;flex-direction:column;min-height:0}
 #recordpanel .controller-face .reading label{flex:none}
 #recordpanel .controller-face .screen{flex:1;min-height:0;height:auto;overflow:hidden}
 #recordpanel .controller-face .screen svg{height:100%;max-height:66px;width:auto;max-width:100%;object-fit:contain}
 #recordpanel .controller-utility,#recordpanel .controller-totals{min-height:0}
}
@media screen and (min-width:1100px){
 #recordpanel .controller-enclosure{aspect-ratio:2.6 / 1}
}
@media screen and (min-width:1100px){
 #recordpanel .controller-enclosure{aspect-ratio:2.45 / 1}
}
/* Desktop records workspace: budget for portal chrome and two reading rows.
   Keep LED geometry proportional; cabinet height adapts to available space. */
@media screen and (min-width:1100px){
 #recordpanel{position:sticky;top:0;z-index:4;background:#fff}
 #recordpanel .controller-enclosure{aspect-ratio:auto;height:clamp(440px,calc(100dvh - 450px),690px)}
 #recordpanel .controller-face .reading{padding:2px 3px}
 #recordpanel .controller-face .reading label{height:20px;min-height:20px;margin-bottom:1px;padding:0 2px}
 #recordpanel .controller-face .screen svg{height:calc(100% - 1px)}
 #records .panelhead{padding:4px 10px!important;min-height:0}
 #records .panelnote{padding:3px 10px!important}
 #records .toolbar{margin:6px 0!important;gap:6px}
 #records tbody td:first-child{white-space:nowrap;font-size:9px;letter-spacing:-.35px}
}

.identity-dialog{width:min(440px,90vw);border:1px solid #bbcbd3;border-radius:14px;padding:24px;color:#173547;background:#fff}.identity-dialog::backdrop{background:#102a43aa}.identity-dialog label{display:grid;gap:8px;margin:16px 0}.identity-dialog input{background:#fff;color:#102a43;border:1px solid #90a9b8;border-radius:6px;padding:12px;font:inherit}.identity-dialog [role=alert]{color:#a12222}

.management-summary{grid-column:1/-1;border:1px solid #bfd1d9;border-radius:12px;padding:20px;background:#edf5f6}.management-summary h2{margin-top:0}.management-summary button{margin-top:12px}.management-summary strong{font-size:24px}

.cleanup-item{padding:16px;margin:12px 0}.cleanup-warning{border-left:4px solid #ab332b;background:#fff3ef;padding:12px}.cleanup-counts{display:grid;grid-template-columns:1fr auto;gap:8px}.cleanup-counts dd{font-weight:700;margin:0}.dummy-check{display:flex!important;align-items:center;gap:12px}.dummy-check input{width:20px!important;min-height:20px!important}.danger-button{background:#9c2925!important;color:white!important}#platformform input{color:#173547;background:white}
