@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff")}:root{--navy-900:#002049;--navy-700:#0b2c5c;--amber-500:#f0a33d;--amber-600:#d6862a;--ink:#1a1f2b;--paper:#fff;--mist:#f5f6f8;--line:#e2e5ea;--muted:#6b7280;--muted-strong:#4b5563;--on-navy:#fff;--on-navy-muted:#ffffffb3;--on-navy-subtle:#ffffff80;--on-navy-border:#ffffff4d;--on-navy-line:#ffffff1a;--hero-grid:#ffffff06;--error:#a3261b;--error-bg:#fdf1f0;--ok:#1d5c3a;--ok-bg:#eef7f1;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--space-4:4px;--space-8:8px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-28:28px;--space-32:32px;--space-40:40px;--space-48:48px;--radius:6px;--radius-sm:2px;--border-width:1.5px;--focus-width:2px;--content-max:1100px;--nav-height:64px;--grid-pitch:34px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--mist);color:var(--ink);font-family:var(--font-sans);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.6}a{color:var(--navy-900)}a:hover{color:var(--amber-600)}:focus-visible{outline:var(--focus-width) solid var(--amber-500);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy-900);color:var(--on-navy)}.topbar__inner{max-width:1280px;padding:0 var(--space-24);min-height:var(--nav-height);justify-content:space-between;align-items:center;gap:var(--space-8) var(--space-32);flex-wrap:wrap;margin:0 auto;display:flex}.brand{color:var(--on-navy);align-items:center;gap:12px;text-decoration:none;display:flex}.brand:hover{color:var(--on-navy)}.brand img{object-fit:contain;width:88px;height:48px;display:block}.brand span{color:var(--on-navy-muted);font-size:15px;font-weight:500}.topbar__account{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.brand .brand__client{color:var(--on-navy);font-size:18px;font-weight:600}main.page{width:100%;max-width:1280px;padding:var(--space-32) var(--space-24) var(--space-48);gap:var(--space-24);flex-direction:column;flex:auto;margin:0 auto;display:flex}.footer{border-top:var(--border-width) solid var(--line);color:var(--muted-strong);padding:var(--space-16) var(--space-24);text-align:center;font-size:13px}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-strong);margin:0;font-size:12px}.eyebrow:before{content:"— "}h1.title{color:var(--navy-900);margin:0;font-size:32px;font-weight:600;line-height:38px}.period{color:var(--amber-500)}.lead{color:var(--muted-strong);max-width:580px;margin:0}.access{padding:var(--space-48) var(--space-16);flex:auto;justify-content:center;align-items:flex-start;display:flex}.card{background:var(--paper);border:var(--border-width) solid var(--line);border-radius:var(--radius);width:100%;max-width:440px;padding:var(--space-32) var(--space-28);gap:var(--space-20);flex-direction:column;display:flex}.card h1{color:var(--navy-900);margin:0;font-size:26px;font-weight:600;line-height:32px}.card__head{gap:var(--space-8);flex-direction:column;display:flex}.card p{margin:0}form.stack{gap:var(--space-16);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--navy-900);font-size:14px;font-weight:600}.field input{font:inherit;color:var(--ink);background:var(--paper);border:var(--border-width) solid #9aa3b0;border-radius:var(--radius);width:100%;min-height:44px;padding:10px 12px}.field input:focus-visible{outline:var(--focus-width) solid var(--amber-500);outline-offset:1px;border-color:var(--navy-900)}.field input[aria-invalid=true]{border-color:var(--error)}.field .hint{color:var(--muted-strong);margin:0;font-size:13px}.field input.code{font-family:var(--font-mono);letter-spacing:.3em;text-align:center;font-size:22px}.btn{border-radius:var(--radius);min-height:44px;padding:12px var(--space-28);font-family:var(--font-sans);cursor:pointer;border:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn--amber{background:var(--amber-500);color:var(--navy-900)}.btn--amber:hover{background:var(--amber-600);color:var(--navy-900)}.btn--amber[disabled]{opacity:.7;cursor:progress}.btn--block{width:100%}.btn--ghost{color:var(--on-navy-muted);border:var(--border-width) solid var(--on-navy-border);background:0 0;min-height:36px;padding:6px 14px;font-size:14px;font-weight:500}.btn--ghost:hover{color:var(--on-navy);border-color:var(--on-navy-muted)}.more{width:fit-content;color:var(--navy-900);border-bottom:2px solid var(--amber-500);padding-bottom:2px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.more:hover{color:var(--amber-600);border-color:var(--amber-600)}.alert{border-radius:var(--radius);border:var(--border-width) solid;padding:12px 14px;font-size:14px}.alert--error{background:var(--error-bg);color:var(--error);border-color:#e7b3ad}.alert--ok{background:var(--ok-bg);color:var(--ok);border-color:#b3d9c2}.qr{border:var(--border-width) solid var(--line);border-radius:var(--radius);width:200px;height:200px;image-rendering:pixelated;align-self:center}.secret{font-family:var(--font-mono);letter-spacing:.08em;word-break:break-all;background:var(--mist);border:var(--border-width) solid var(--line);border-radius:var(--radius);text-align:center;padding:10px 12px;font-size:15px}.steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:15px;display:flex}.steps li::marker{font-family:var(--font-mono);color:var(--navy-900)}.panel{background:var(--paper);border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:var(--space-20);gap:var(--space-8);flex-direction:column;display:flex}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{gap:0 var(--space-20);padding:var(--space-16) 0;border-top:var(--border-width) solid var(--line);grid-template-columns:3.5rem 1fr auto;align-items:baseline;display:grid}.row:first-child{border-top:0}.row__n{color:var(--navy-900);font-family:var(--font-mono);font-size:13px}.row__name{color:var(--navy-900);font-weight:600}.row__meta{color:var(--muted-strong);white-space:nowrap;font-size:14px}@media (width<=640px){.topbar__inner{padding:8px var(--space-16);min-height:56px}.brand img{width:66px;height:36px}.brand .brand__client{font-size:16px}main.page{padding:var(--space-20) var(--space-16) var(--space-32)}h1.title{font-size:26px;line-height:32px}.access{padding:var(--space-20) var(--space-16)}.card{padding:var(--space-24) var(--space-20)}.row{grid-template-columns:2.5rem 1fr}.row__meta{grid-column:2}}.linkbutton{font-family:var(--font-sans);cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-self:flex-start;padding:0 0 2px}.table-wrap{overflow-x:auto}table.readings{border-collapse:collapse;width:100%;font-size:15px}.readings th,.readings td{text-align:left;border-top:var(--border-width) solid var(--line);white-space:nowrap;padding:10px 12px 10px 0}.readings thead th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);border-top:0;font-size:11px;font-weight:400}.readings tbody th{color:var(--navy-900);white-space:normal;font-weight:600}.readings .num{text-align:right;font-variant-numeric:tabular-nums}.readings td.num{color:var(--navy-900);font-weight:600}.readings td.muted{color:var(--muted-strong);font-weight:400}.topnav{gap:var(--space-20);margin-right:auto;display:flex}.topnav a{color:var(--on-navy-muted);border-bottom:2px solid #0000;padding:4px 0;font-size:15px;font-weight:500;text-decoration:none}.topnav a:hover{color:var(--on-navy)}.topnav a.active{color:var(--on-navy);border-bottom-color:var(--amber-500)}.subnav{gap:var(--space-20);margin-top:var(--space-8);border-bottom:var(--border-width) solid var(--line);display:flex}.subnav a{color:var(--muted-strong);margin-bottom:calc(-1 * var(--border-width));border-bottom:2px solid #0000;padding:6px 0;font-size:15px;font-weight:600;text-decoration:none}.subnav a.active{color:var(--navy-900);border-bottom-color:var(--amber-500)}.alert p{margin:0}.alert p+p{font-family:var(--font-mono);word-break:break-word;margin-top:6px;font-size:13px}.panel__head{align-items:baseline;gap:var(--space-8) var(--space-16);flex-wrap:wrap;display:flex}.panel__title{font-family:var(--font-mono);color:var(--navy-900);margin:0;font-size:18px}.badge{border-radius:var(--radius-sm);border:var(--border-width) solid var(--line);color:var(--muted-strong);padding:2px 8px;font-size:12px;font-weight:600}.badge--active{color:var(--ok);background:var(--ok-bg);border-color:#b3d9c2}.badge--revoked{color:var(--error);background:var(--error-bg);border-color:#e7b3ad}.row--site{grid-template-columns:minmax(8rem,14rem) 1fr}.chips{gap:6px var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--mist);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);padding:2px 8px;font-size:14px}.muted{color:var(--muted-strong)}.forms{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.subform{gap:var(--space-14);border-top:var(--border-width) solid var(--line);padding-top:var(--space-16);margin-top:var(--space-8);flex-direction:column;display:flex}.subform h3{color:var(--navy-900);margin:0;font-size:16px}.subform--wide{grid-column:1/-1}.grid-fields{gap:var(--space-14) var(--space-16);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.form-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.subform .btn{align-self:flex-start}.field select{font:inherit;color:var(--ink);background:var(--paper);border:var(--border-width) solid #9aa3b0;border-radius:var(--radius);width:100%;min-height:44px;padding:10px 12px}.field select:focus-visible{outline:var(--focus-width) solid var(--amber-500);outline-offset:1px;border-color:var(--navy-900)}.field--inline{align-items:center;gap:var(--space-14);flex-direction:row}.field--inline select{width:auto}.btn--plain{background:var(--paper);color:var(--navy-900);border:var(--border-width) solid #9aa3b0;min-height:36px;padding:6px 12px;font-size:14px;font-weight:500}.btn--plain:hover{border-color:var(--navy-900)}.readings td.actions{gap:6px;display:flex}.readings td.detail{font-family:var(--font-mono);white-space:normal;word-break:break-word;min-width:16rem;font-size:12px}@media (width<=640px){.topnav{order:3;width:100%}.row--site{grid-template-columns:1fr}}.st-run{fill:var(--navy-900);background:var(--navy-900)}.st-idle{fill:var(--amber-500);background:var(--amber-500)}.st-off{fill:var(--line);background:var(--line)}.st-nostate{fill:#c9ced6;background:#c9ced6}.st-nodata{fill:var(--paper);stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 2;background:var(--paper);border:var(--border-width) dashed var(--muted)}.strip__bg{fill:var(--mist)}.swatch{border-radius:var(--radius-sm);vertical-align:-1px;width:12px;height:12px;margin-right:8px;display:inline-block}.legend{gap:4px var(--space-16);color:var(--muted-strong);flex-wrap:wrap;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.pagehead{justify-content:space-between;align-items:flex-end;gap:var(--space-16);flex-wrap:wrap;display:flex}.pagehead__text{gap:var(--space-8);flex-direction:column;display:flex}.pagehead__state{align-items:center;gap:var(--space-8) var(--space-14);flex-wrap:wrap;display:flex}.range{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;display:flex;overflow:hidden}.range button{border:0;border-left:var(--border-width) solid var(--line);background:var(--paper);min-height:44px;color:var(--navy-900);font:inherit;cursor:pointer;padding:10px 18px;font-size:14px}.range button:first-child{border-left:0}.range button[aria-pressed=true]{background:var(--navy-900);color:var(--on-navy);font-weight:600}.kpis{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.kpi{background:var(--paper);border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:var(--space-20);flex-direction:column;gap:6px;min-width:0;display:flex}.kpi__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-size:11px}.kpi__value{color:var(--navy-900);font-size:34px;font-weight:600;line-height:40px}.kpi__unit{font-size:18px;font-weight:500}.kpi__hint{color:var(--muted-strong);font-size:13px}.split{gap:var(--space-16);flex-wrap:wrap;align-items:flex-start;display:flex}.split>*{flex:300px;min-width:0}.split>.panel--wide{flex:999 520px}.stack{gap:var(--space-16);flex-direction:column;display:flex}.panel{gap:var(--space-14)}.panel__bar{justify-content:space-between;align-items:baseline;gap:var(--space-8) var(--space-16);flex-wrap:wrap;display:flex}.panel__h{color:var(--navy-900);margin:0;font-size:18px;font-weight:600}.panel__note{color:var(--muted-strong);margin:0;font-size:13px;line-height:19px}.panel p{margin:0}.chart{gap:var(--space-8);display:flex}.chart__y{height:240px;color:var(--muted-strong);flex-direction:column;flex:0 0 40px;justify-content:space-between;align-items:flex-end;font-size:12px;line-height:1;display:flex}.chart__plot{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.chart__svg{width:100%;height:240px;display:block;overflow:visible}.chart__svg .grid{stroke:var(--line);stroke-width:1px}.chart__svg .baseline{stroke:var(--muted);stroke-width:1px}.chart__svg .area{fill:var(--navy-900);fill-opacity:.08}.chart__svg .line{fill:none;stroke:var(--navy-900);stroke-width:2px;stroke-linejoin:round}.chart__svg .th-run{stroke:var(--navy-900);stroke-width:1.5px;stroke-dasharray:6 5}.chart__svg .th-idle{stroke:var(--amber-600);stroke-width:1.5px;stroke-dasharray:6 5}.chart__svg .now{stroke:var(--amber-600);stroke-width:2px;stroke-dasharray:4 4}.ticks{color:var(--muted-strong);white-space:nowrap;justify-content:space-between;font-size:12px;display:flex}.strip{border-radius:var(--radius-sm);width:100%;height:12px;display:block}.strip--tall{height:20px}.parts{border-radius:var(--radius-sm);width:100%;height:10px;display:block}.counts{margin:0;padding:0;list-style:none}.counts li{border-top:var(--border-width) solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;font-size:15px;display:flex}.counts li:last-child{border-bottom:var(--border-width) solid var(--line)}.counts b{color:var(--navy-900);font-size:18px}.timeline{flex-direction:column;gap:8px;min-width:720px;display:flex}.timeline__row{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:12px;display:grid}.timeline__name{color:var(--navy-900);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.cards{gap:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:0;padding:0;list-style:none;display:grid}.mcard{height:100%;color:var(--ink);background:var(--paper);border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:var(--space-16);flex-direction:column;gap:10px;text-decoration:none;display:flex}.mcard:hover{border-color:var(--navy-900);color:var(--ink)}.mcard__head{color:var(--navy-900);justify-content:space-between;align-items:center;gap:8px;display:flex}.mcard__site{color:var(--muted-strong);margin-top:-6px;font-size:13px}.mcard__power{color:var(--navy-900);font-size:28px;font-weight:600;line-height:32px}.mcard__hint{color:var(--muted-strong);font-size:13px}.mcard__foot{border-top:var(--border-width) solid var(--line);justify-content:space-between;padding-top:10px;font-size:14px;display:flex}.mcard__foot b{color:var(--navy-900)}.statebadge{font-family:var(--font-mono);letter-spacing:.06em;border-radius:var(--radius);white-space:nowrap;border:var(--border-width) solid transparent;padding:3px 8px;font-size:11px}.statebadge--run{background:var(--navy-900);color:var(--on-navy)}.statebadge--idle{background:var(--amber-500);color:var(--navy-900)}.statebadge--off{background:var(--line);color:var(--ink)}.statebadge--nostate{color:var(--ink);background:#c9ced6}.statebadge--nodata{background:var(--paper);color:var(--muted-strong);border:var(--border-width) dashed var(--muted)}.crumbs{color:var(--muted-strong);flex-wrap:wrap;gap:8px;font-size:14px;display:flex}.daybars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:12px;display:grid}.daybar{color:var(--muted-strong);flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.daybar svg{width:100%;max-width:56px;height:160px;display:block}.daybar__day{color:var(--ink);font-size:13px}.values{margin:0}.values div{border-top:var(--border-width) solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.values div:last-child{border-bottom:var(--border-width) solid var(--line)}.values dt{color:var(--muted-strong)}.values dd{text-align:right;margin:0}.gaps{margin:0;padding-left:18px;font-size:14px}.btn--link,.btn--auto{align-self:flex-start}.readings tr.total th,.readings tr.total td{border-top-width:3px;font-weight:600}.tabbar{display:none}@media (width<=720px){.topnav{display:none}.app{padding-bottom:64px}.tabbar{background:var(--paper);border-top:var(--border-width) solid var(--line);z-index:10;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted-strong);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;text-decoration:none;display:flex}.tabbar a.active{color:var(--navy-900);box-shadow:inset 0 2px 0 var(--amber-500);font-weight:600}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi__value{font-size:24px;line-height:30px}.kpi__unit{font-size:14px}.kpi__label{font-size:10px}.cards{grid-template-columns:minmax(0,1fr)}.range{width:100%}.range button{flex:1 1 0;padding:10px 8px}.chart__svg,.chart__y{height:160px}.daybars{gap:6px}.timeline{min-width:560px}.timeline__row{grid-template-columns:110px minmax(0,1fr);gap:8px}}.linkbox{gap:var(--space-8);margin:var(--space-8) 0;flex-wrap:wrap;display:flex}.linkbox input{min-width:0;min-height:44px;font-family:var(--font-mono);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);flex:280px;padding:8px 12px;font-size:13px}.sim input[type=number]{font:inherit;color:var(--ink);background:var(--paper);border:var(--border-width) solid #9aa3b0;border-radius:var(--radius);width:7.5em;min-height:40px;padding:6px 8px}.sim input[type=number]:focus-visible,.sim input[type=range]:focus-visible,.sim input[type=checkbox]:focus-visible{outline:var(--focus-width) solid var(--amber-500);outline-offset:1px}.sim input[aria-invalid=true]{border-color:var(--error)}.sim input[type=range],.sim input[type=checkbox]{accent-color:var(--navy-900)}.sim input[type=checkbox]{width:20px;height:20px}.sim__power{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.sim__power input[type=range]{width:180px}.sim .readings tbody th{white-space:nowrap}.sim .readings td:last-child{min-width:200px}.sim__msg{margin:var(--space-4) 0 0;color:var(--ok);font-size:13px}.sim__msg--error{color:var(--error)}
