:root{font-family:system-ui,sans-serif;color:#17243a;background:#eef3f8;font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding:5vh 1rem}main{max-width:38rem;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;color:#52637a}.brand{font-size:1.65rem;font-weight:750;color:#12355a}section{background:white;border:1px solid #d4deea;border-radius:1rem;padding:2rem;box-shadow:0 12px 40px #16395a0b}h1{font-size:1.65rem;margin-top:0}p{line-height:1.6}label{display:block;font-weight:600;margin:1.25rem 0}input{display:block;width:100%;font:inherit;padding:.8rem;margin-top:.5rem;border:1px solid #8191a6;border-radius:.4rem}button,.button{display:inline-block;background:#125bc4;color:white;border:0;border-radius:.4rem;padding:.85rem 1rem;font:inherit;cursor:pointer;text-decoration:none}a{color:#1455aa}a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #e7a500;outline-offset:3px}.secret{display:block;background:#eef3f8;padding:1rem;overflow-wrap:anywhere;font-size:1rem}.codes{padding-left:1.4rem}.codes li{padding:.35rem 0;overflow-wrap:anywhere}aside{border-left:4px solid #d88a11;padding:1rem;background:#fff8e8}footer{font-size:.875rem;margin-top:1.5rem;color:#52637a}@media(max-width:420px){section{padding:1.25rem}header{align-items:flex-start;flex-direction:column}}
main:has(.widgets){max-width:90rem}.widgets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.widget{border:1px solid #c8d5e5;border-radius:.6rem;padding:1rem;min-width:0;overflow-wrap:anywhere}.widget-small{grid-column:span 2}.widget-medium{grid-column:span 3}.widget-large{grid-column:span 6}.widget svg{width:100%;height:auto}.widget h2{font-size:1.15rem}select,textarea{font:inherit;padding:.7rem;max-width:100%;display:block;width:100%;border:1px solid #8191a6;border-radius:.4rem}input[type=checkbox]{display:inline-block;width:auto;margin-right:.6rem}details{border-top:1px solid #c8d5e5;padding:1.25rem 0}summary{cursor:pointer;font-weight:650}fieldset{border:1px solid #c8d5e5}pre{overflow:auto}svg text{font-size:14px}small{font-size:.875rem}@media(max-width:800px){.widget-small,.widget-medium{grid-column:span 6}}
:root{--portal-sidebar:#101e32;--portal-accent:#0891b2;--portal-surface:#f4f7fb}
.portal-body{padding:0;background:var(--portal-surface)}
.portal-frame{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.portal-sidebar{background:var(--portal-sidebar);color:#d3deec;padding:2rem 1.25rem;display:flex;flex-direction:column;min-width:0}
.portal-brand{font-size:1.7rem;font-weight:750;color:white;text-decoration:none;letter-spacing:-.05em}.portal-brand span{color:#36c5dc}
.portal-caption{font-size:.75rem;letter-spacing:.16em;color:#a5b7cd;margin:.4rem 0 2rem}
.portal-sidebar a:not(.portal-brand){display:block;padding:.7rem .8rem;margin:.15rem 0;border-radius:.5rem;color:#d3deec;text-decoration:none;font-size:.9rem}
.portal-sidebar a:hover,.portal-sidebar a[aria-current=page]{background:#193e52;color:#7ee4f1}
.portal-sidebar .nav-group{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#a5b7cd;margin:1.5rem .8rem .5rem}
.portal-sidebar details{border:0;padding:0}.portal-sidebar details details{margin:.5rem .8rem}.portal-sidebar summary{font-size:.9rem;padding:.5rem 0}
.portal-navigation>summary{display:none}.portal-sidebar form{margin:.8rem}.portal-sidebar button{background:transparent;color:#d3deec;border:1px solid #53677e;padding:.5rem .8rem}
.portal-identity{margin-top:auto;padding-top:2rem;overflow-wrap:anywhere;font-size:.875rem}.portal-identity span{display:block;color:#a5b7cd;margin-top:.4rem}
.portal-workspace{min-width:0}.portal-topbar{background:white;border-bottom:1px solid #dce4ee;padding:1.1rem 2rem;margin:0;display:flex;flex-wrap:wrap;gap:1rem}
.portal-topbar a{text-decoration:none;color:#334b62;font-size:.875rem}.portal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem}
.mfa-badge{font-size:.8rem;color:#16634d;background:#edf9f3;padding:.4rem .6rem;border-radius:.4rem}
.portal-main{max-width:none!important;padding:2rem;margin:0}.portal-main>section{box-shadow:none;border:0;background:transparent;padding:0}.portal-main h1{font-size:1.65rem;letter-spacing:-.025em}
.portal-main .widget{background:white;border-color:#dce4ee;border-radius:.8rem}.portal-main input,.portal-main select,.portal-main textarea{background:white}
.portal-main>section>form{max-width:60rem;background:white;padding:1rem 1.5rem;border:1px solid #dce4ee;border-radius:.8rem;margin:1rem 0}
.skip-link{position:absolute;top:-100px;left:1rem;background:white;color:#12355a;padding:1rem;z-index:10}.skip-link:focus{top:1rem}
@media(max-width:800px){.portal-frame{grid-template-columns:1fr}.portal-sidebar{padding:1rem}.portal-caption{margin-bottom:.5rem}.portal-navigation>summary{display:block}.portal-identity{padding-top:1rem}.portal-topbar{padding:1rem;align-items:flex-start}.portal-main{padding:1rem}.portal-actions{gap:.75rem}.portal-main>section>form{padding:1rem}}
.widgets:has(.bandwidth-bars){grid-template-columns:repeat(12,minmax(0,1fr))}
.widgets:has(.bandwidth-bars)>.widget{grid-column:span 3}
.widgets:has(.bandwidth-bars)>.widget:nth-child(n+5){grid-column:span 6}
.metric-value{font-size:1.75rem;font-weight:700;margin:.75rem 0;color:#17243a}
.bandwidth-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.bandwidth-bars>div{background:#bde3f6;border-radius:.4rem;padding:.7rem .4rem;text-align:center;color:#111;min-width:0}
.bandwidth-bars strong,.bandwidth-bars small{display:block;overflow-wrap:anywhere}.bandwidth-bars small{margin-top:.5rem;font-size:.8rem}
@media(max-width:1000px){.widgets:has(.bandwidth-bars)>.widget{grid-column:span 6}}
@media(max-width:600px){.widgets:has(.bandwidth-bars)>.widget,.widgets:has(.bandwidth-bars)>.widget:nth-child(n+5){grid-column:span 12}.bandwidth-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Customer-owned images are rendered within bounded, responsive surfaces. */
.brand-logo{display:block;max-width:180px;max-height:64px;object-fit:contain}
.login-splash{display:block;width:100%;max-height:260px;object-fit:cover}
.branding-preview,.site-photograph{display:block;width:auto;max-width:100%;max-height:300px;object-fit:contain;margin:1rem 0}
.widget-wide{grid-column:span 4}.widget-full{grid-column:span 6}.widget meter{width:100%;height:2rem}
.status-lamp{display:inline-block;width:1rem;height:1rem;border-radius:50%;background:#677381;margin-right:.5rem}.status-lamp.on{background:#145bc0}
@media(max-width:800px){.widget-wide,.widget-full{grid-column:span 6}}
.screen-intro{max-width:65ch;color:#516174}.screen-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}.site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.25rem}.site-card,.alarm-card,.empty-state{background:#fff;border:1px solid #d3deea;border-radius:12px;padding:1.4rem;margin-bottom:1rem}.site-card h2,.alarm-card h2{margin-top:0}.site-card dd{margin:0 0 .6rem;overflow-wrap:anywhere}.site-card dt,.metadata{color:#516174}.alarm-card.critical{border-left:5px solid #c3313d}.alarm-card.warning{border-left:5px solid #c8760c}.alarm-card.normal{border-left:5px solid #247547}.alarm-heading{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.state-badge{display:inline-block;background:#edf3f9;color:#253c55;padding:.3rem .6rem;border-radius:6px;font-size:.875rem}.configuration-panel{margin-top:1.5rem}.configuration-panel form{max-width:48rem}.empty-state{text-align:center;padding:2.5rem}.customer-switcher{display:flex;align-items:end;gap:.5rem;margin:0;min-width:0}.customer-switcher label{margin:0;min-width:0}.customer-switcher select{max-width:22rem}.customer-switcher button{margin:0}.site-card p,.alarm-card p{overflow-wrap:anywhere}.action-link{display:inline-block;margin-top:.5rem}
@media(max-width:800px){.portal-topbar{flex-wrap:wrap}.customer-switcher{width:100%}.customer-switcher label{flex:1}.customer-switcher select{max-width:100%}.site-card,.alarm-card{padding:1rem}}
.table-scroll{overflow:auto;background:white;border:1px solid #d3deea;border-radius:12px}.operations-table{border-collapse:collapse;width:100%;min-width:680px}.operations-table th,.operations-table td{text-align:left;padding:1rem;border-bottom:1px solid #e5ebf1;vertical-align:top}.operations-table th{font-size:.875rem;color:#516174}.operations-table td{max-width:24rem;overflow-wrap:anywhere}.operations-table details{border:0;padding:0}.operations-table textarea{min-width:12rem}.state-badge.critical{background:#ffe5e9;color:#9e1830}.state-badge.warning{background:#fff0d5;color:#8f4c00}.state-badge.normal{background:#dff5e9;color:#16633d}.view-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.view-tabs a{padding:.65rem 1rem;text-decoration:none;background:#e9f0f6;border-radius:.5rem;color:#344d63}.view-tabs a[aria-current]{background:white;color:#102f43;box-shadow:0 1px 4px #16395a22}
.portal-main h2{font-size:1.125rem;line-height:1.4}.portal-main h3{font-size:1rem}.site-card h2 a{color:#17364a;text-decoration:none}.site-card h2 a:hover{text-decoration:underline}.portal-body button{background:#0085a8}.portal-sidebar button{background:transparent}.portal-body select,.portal-body input,.portal-body textarea{border-color:#cbd8e3;background:#f7fafc;border-radius:.5rem}.customer-switcher select{font-weight:500}.portal-main .configuration-panel{box-shadow:none}.site-card dl{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.5rem}.site-card dd{margin:0}.portal-main .screen-intro{margin-top:.5rem}
@media(max-width:800px){.portal-sidebar:has(.portal-navigation:not([open])) .portal-identity{display:none}}
