:root{--bg:#f3f6fa;--panel:#fff;--ink:#172033;--muted:#6c778b;--line:#e4e9f1;--blue:#2979ff;--blue2:#1456bd;--green:#1cad75;--orange:#f59e42;--red:#d94b5b;--nav:#131b2c;--shadow:0 10px 28px rgba(23,32,51,.07)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}a{color:var(--blue2);text-decoration:none}button{border:1px solid #ccd5e2;background:#fff;color:var(--ink);border-radius:9px;padding:.62rem .9rem;cursor:pointer;font-weight:650}button:hover{border-color:var(--blue);color:var(--blue)}button.primary,.primary{background:var(--blue);border-color:var(--blue);color:white;padding:.72rem 1rem}button.primary:hover{background:var(--blue2);color:#fff}.top{height:68px;background:var(--nav);color:#fff;display:flex;align-items:center;padding:0 max(22px,calc((100vw - 1180px)/2));gap:36px;box-shadow:0 3px 14px #0c122055}.brand{font-size:19px;font-weight:800;color:#fff;white-space:nowrap}.bolt{display:inline-grid;place-items:center;background:var(--blue);width:32px;height:32px;border-radius:9px;margin-right:8px}.top nav{display:flex;gap:22px;flex:1}.top nav a{color:#c7d0df;font-weight:600}.top nav a:hover{color:#fff}.profile{display:flex;align-items:center;gap:12px}.profile form{display:inline}.link{background:transparent;color:#c7d0df;border:0;padding:.3rem}.impersonation{background:#fff0cc;color:#684900;display:flex;justify-content:center;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid #f0ce7e}.impersonation form{display:inline}.impersonation button{padding:.35rem .7rem}.wrap{max-width:1180px;margin:0 auto;padding:34px 22px 0;min-height:calc(100vh - 68px)}footer{color:var(--muted);text-align:center;padding:48px 0 26px;font-size:13px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.title-row h1{margin:0;font-size:30px;line-height:1.2}.title-row p{margin:.35rem 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800;font-size:12px}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h2{font-size:18px;margin:0 0 18px}.alert{padding:12px 15px;border-radius:10px;margin-bottom:18px}.alert.error{background:#ffeaed;color:#a62838;border:1px solid #ffc9d0}.alert.success{background:#e2f8ee;color:#08784a;border:1px solid #b9ebd4}.alert.warning{background:#fff5d9;color:#725300;border:1px solid #efd58d}.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:650;color:#39445a}input{width:100%;border:1px solid #cbd4e1;border-radius:9px;padding:.72rem .8rem;background:#fff;color:var(--ink)}input:focus{outline:3px solid #2979ff22;border-color:var(--blue)}.login-shell{min-height:82vh;display:grid;place-items:center}.login-card{width:min(100%,430px);background:#fff;padding:38px;border:1px solid var(--line);border-radius:19px;box-shadow:0 24px 60px #1a2e5020}.login-card h1{text-align:center;margin:12px 0 4px}.login-card>p{text-align:center;margin:0 0 24px}.logo-big{margin:auto;display:grid;place-items:center;width:54px;height:54px;background:linear-gradient(135deg,var(--blue),#56a8ff);border-radius:15px;color:#fff;font-size:30px}.admin-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px}.admin-grid .panel{margin:0 0 20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.device-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--ink);box-shadow:var(--shadow);transition:.18s}.device-card:hover{transform:translateY(-2px);border-color:#b9cdf2}.device-top{display:flex;justify-content:space-between}.device-icon{display:grid;place-items:center;width:38px;height:38px;background:#e8f1ff;color:var(--blue);border-radius:10px;font-size:23px}.status{display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:5px 9px;font-weight:700;font-size:12px;background:#eef1f5;color:#687388}.status i{width:8px;height:8px;border-radius:50%;background:#8993a4}.status.online{background:#dcf8eb;color:#08784a}.status.online i{background:var(--green);box-shadow:0 0 0 3px #1cad7522}.device-card h2{margin:18px 0 2px;font-size:17px}.power{font-size:28px;font-weight:800;margin:3px 0 14px}.device-meta{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:13px;margin-bottom:10px}.device-meta span{display:grid;color:var(--muted);font-size:12px}.device-meta b{color:var(--ink);font-size:14px}.device-card small{color:var(--muted)}.empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted)}.empty>div{font-size:35px;color:var(--blue)}.empty h2{color:var(--ink)}.collapsible fieldset{border:0;padding:18px 0;margin:0}.collapsible legend{font-weight:750}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#f9fbfd}.check input{width:auto}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:var(--shadow);display:grid;gap:4px}.stat.accent{background:linear-gradient(135deg,#1e67db,#3692ff);color:#fff;border:0}.stat span,.stat small{color:var(--muted)}.stat.accent span,.stat.accent small{color:#dbeaff}.stat strong{font-size:25px}.stat .small-value{font-size:16px;margin:7px 0}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phase-grid article{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:15px}.phase-grid h3{margin:0 0 9px}.phase-grid p{display:flex;justify-content:space-between;margin:6px 0}.phase-grid span{color:var(--muted)}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel-title h2{margin-bottom:4px}.panel-title p{margin:0}.period-tabs{display:flex;gap:5px}.period-tabs button{padding:.45rem .75rem}.period-tabs .active{background:var(--nav);color:#fff;border-color:var(--nav)}.chart-wrap{position:relative;height:330px;margin-top:18px}#energy-chart{width:100%;height:100%;display:block}#chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}#chart-empty[hidden]{display:none}.legend{display:flex;gap:18px;justify-content:center;color:var(--muted);font-size:13px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.blue{background:var(--blue)}.green{background:var(--green)}.orange{background:var(--orange)}.code-head{display:flex;align-items:center;justify-content:space-between;background:#172033;color:#fff;padding:9px 12px;border-radius:10px 10px 0 0}.code-head button{padding:.38rem .65rem;background:#27334a;color:#fff;border-color:#3e4b62}pre{margin:0 0 18px;background:#101827;color:#dce8ff;padding:18px;overflow:auto;border-radius:0 0 10px 10px;max-height:460px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.instructions{padding-left:22px}.instructions li{margin:7px 0}
@media(max-width:900px){.device-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.top{padding:0 14px;height:auto;min-height:60px;gap:10px;flex-wrap:wrap}.top nav{order:3;width:100%;padding-bottom:9px}.profile{margin-left:auto}.wrap{padding:24px 14px 0}.title-row{align-items:flex-start;flex-direction:column}.device-grid,.stat-grid,.phase-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}.panel-title{flex-direction:column}.chart-wrap{height:260px}.login-card{padding:26px}.impersonation{align-items:flex-start;flex-wrap:wrap}.device-meta{justify-content:space-between}}

.solar-badge{display:inline-flex;vertical-align:middle;align-items:center;margin-left:10px;padding:5px 9px;border-radius:99px;background:#fff4cf;color:#8b5d00;font-size:11px;font-weight:800;letter-spacing:.02em}.solar-badge.small{margin-left:7px;padding:3px 7px}.card-direction{display:inline-flex;margin:-7px 0 13px;padding:4px 8px;border-radius:7px;font-size:12px;font-weight:800}.card-direction.import{color:#1260c9;background:#e6f0ff}.card-direction.export{color:#a84e0b;background:#fff0e3}
.solar-choice{display:flex;align-items:center;gap:13px;margin-top:16px;padding:15px;border:1px solid #f1d27c;border-radius:12px;background:#fffaf0;cursor:pointer}.solar-choice input{width:auto}.solar-choice-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ffcb45;color:#6e4900;font-size:22px}.solar-choice span:last-child{display:grid}.solar-choice small{color:var(--muted);font-weight:500}
.energy-flow{display:grid;grid-template-columns:minmax(380px,1.35fr) 1fr;align-items:center;gap:30px;margin-bottom:20px;padding:24px 28px;border-radius:17px;color:#fff;overflow:hidden;position:relative;box-shadow:0 14px 32px rgba(20,86,189,.14)}.energy-flow.importing{background:linear-gradient(125deg,#164ea4,#2785f5)}.energy-flow.exporting{background:linear-gradient(125deg,#9b4d0b,#f28b36)}.energy-flow.idle{background:linear-gradient(125deg,#536174,#8290a4)}
.flow-visual{display:grid;grid-template-columns:74px minmax(120px,1fr) 74px;align-items:center;position:relative}.flow-node{display:grid;place-items:center;gap:5px;position:relative;z-index:2}.flow-node span{display:grid;place-items:center;width:55px;height:55px;background:#ffffff20;border:1px solid #ffffff55;border-radius:15px;font-size:28px}.flow-node b{font-size:12px}.flow-line{height:3px;background:#ffffff55;position:relative;margin:0 8px}.flow-line i{position:absolute;top:-4px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 15px #fff;animation:energyMove 2.2s linear infinite}.exporting .flow-line i{animation-direction:reverse}.idle .flow-line i{display:none}.flow-arrow:after{content:'→';position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);background:#fff;color:#1764c6;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:900}.exporting .flow-arrow:after{content:'←';color:#b65712}.idle .flow-arrow:after{content:'·';color:#657287}.sun-node{position:absolute;right:-18px;top:-19px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#ffcc42;color:#704900;box-shadow:0 0 25px #ffd76caa}.flow-copy{border-left:1px solid #ffffff3b;padding-left:28px}.flow-copy span{display:block;color:#dceaff;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.flow-copy strong{display:block;font-size:23px;margin:3px 0}.flow-copy p{margin:0;color:#eaf3ff}.exporting .flow-copy span,.exporting .flow-copy p{color:#fff0e4}@keyframes energyMove{from{left:0}to{left:calc(100% - 11px)}}
.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.history-head h2{font-size:23px;margin:0 0 3px}.history-head p{margin:0}.history-controls{display:flex;gap:12px;align-items:center}.mode-tabs,.history-head .period-tabs{display:flex;gap:4px;padding:4px;background:#eef2f7;border-radius:11px}.mode-tabs button,.history-head .period-tabs button{border:0;background:transparent;padding:.48rem .72rem;color:#667288}.mode-tabs button.active,.history-head .period-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #24355218}
.history-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:stretch;margin:23px 0 16px}.history-summary article{display:grid;gap:2px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#fafbfd}.history-summary span,.history-summary small{font-size:11px;color:var(--muted)}.history-summary strong{font-size:19px}.history-summary article:nth-child(1) strong{color:#1768d7}.history-summary article:nth-child(2) strong,.export-value{color:#d86d1f!important}.quality{align-self:center;justify-self:end;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap}.quality.complete{color:#08784a;background:#dcf8eb}.quality.incomplete{color:#8a5b00;background:#fff1c7}.quality.loading{color:#647085;background:#edf1f6}
.chart-surface{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfdff,#fff);padding:8px 12px 11px}.graph-panel .chart-wrap{height:355px;margin-top:0;position:relative}.chart-tooltip{position:absolute;z-index:5;display:grid;gap:3px;min-width:145px;padding:9px 11px;border:1px solid #d9e1ec;border-radius:9px;background:#fff;box-shadow:0 8px 24px #1c2c4826;pointer-events:none;font-size:12px}.chart-tooltip b{font-size:11px;color:var(--muted)}.chart-tooltip span{font-weight:700}.chart-footer{display:flex;align-items:center;justify-content:space-between;padding:4px 11px 0 52px}.chart-footer .legend{justify-content:flex-start}.sample-count{font-size:12px;color:var(--muted)}#chart-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:4px;color:var(--ink)}#chart-empty span{color:var(--muted);font-size:13px}
.chart-tooltip[hidden]{display:none}
.device-settings{display:flex;align-items:center;justify-content:space-between;gap:24px}.device-settings h2{margin-bottom:3px}.device-settings p{margin:0}.device-settings form{display:flex;align-items:center;gap:14px}.switch-row{display:flex;align-items:center;gap:9px;cursor:pointer}.switch-row>input{position:absolute;opacity:0;pointer-events:none}.switch-ui{width:42px;height:24px;border-radius:99px;background:#cbd3df;position:relative;transition:.2s}.switch-ui:after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #19243b44;transition:.2s}.switch-row input:checked+.switch-ui{background:#f0a62e}.switch-row input:checked+.switch-ui:after{transform:translateX(18px)}

@media(max-width:900px){.energy-flow{grid-template-columns:1fr}.flow-copy{border-left:0;border-top:1px solid #ffffff3b;padding:18px 0 0}.history-summary{grid-template-columns:repeat(3,1fr)}.quality{grid-column:1/-1;justify-self:start}.device-settings{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.history-head{flex-direction:column}.history-controls{width:100%;align-items:stretch;flex-direction:column}.mode-tabs,.history-head .period-tabs{justify-content:space-between}.mode-tabs button,.history-head .period-tabs button{flex:1}.history-summary{grid-template-columns:1fr}.quality{grid-column:auto}.graph-panel .chart-wrap{height:290px}.chart-footer{padding-left:8px;align-items:flex-start;gap:8px;flex-direction:column}.energy-flow{padding:21px 17px}.flow-visual{grid-template-columns:62px minmax(80px,1fr) 62px}.flow-node span{width:48px;height:48px}.flow-copy strong{font-size:20px}.device-settings form{width:100%;align-items:flex-start;flex-direction:column}}

.title-actions{display:flex;align-items:center;gap:10px}.screen-button{display:inline-flex;align-items:center;border:1px solid #cbd5e4;border-radius:9px;background:#fff;color:var(--ink);padding:.55rem .8rem;font-weight:700}.screen-button:hover{border-color:var(--blue);color:var(--blue)}.account-panel{max-width:560px}.phase-settings{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.phase-settings h2{margin-bottom:3px}.phase-settings p{margin:0}.phase-settings form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:10px}.phase-settings label{font-size:12px}.phase-settings input{padding:.6rem .7rem}
.measurement-settings .settings-copy{margin-bottom:16px}.measurement-settings h2,.install-heading h2{margin-bottom:3px}.measurement-settings p,.install-heading p{margin:0}.measurement-settings form{display:grid;gap:16px}.measurement-settings .check:has(input:disabled){background:#f1f5fa;color:#758196}.install-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.install-content{padding-top:18px}.install-content[hidden]{display:none}
.display-page{margin:0;background:#0d1524;color:#edf4ff;min-width:1024px}.display-shell{width:100%;min-height:100vh;padding:22px 30px;background:radial-gradient(circle at 10% 0,#172b4f 0,transparent 34%),#0d1524}.display-header{height:58px;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.display-header .brand{font-size:21px}.display-header .brand small{font-weight:500;color:#9eacc1;margin-left:10px}.display-head-right{display:flex;align-items:center;gap:13px}.display-head-right a{color:#afbdd1;font-size:13px}.display-head-right button{background:#24334d;border-color:#3a4b67;color:#fff}.display-clock{font-variant-numeric:tabular-nums;color:#c7d3e4;font-weight:650}.display-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.display-flow,.display-total,.display-phases,.display-history{border:1px solid #ffffff17;border-radius:15px;background:#151f31;box-shadow:0 12px 30px #0003}.display-flow{min-height:160px;padding:21px 26px;overflow:hidden}.display-flow.importing{background:linear-gradient(125deg,#173d78,#176dd2)}.display-flow.exporting{background:linear-gradient(125deg,#74380d,#d66b20)}.display-flow.idle{background:#202b3e}.display-flow p{margin:0;color:#c4d8f5;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.display-flow>strong{display:block;font-size:27px;margin:2px 0 12px}.display-flow>em{display:block;margin-top:8px;font-size:30px;font-style:normal;font-weight:850}.display-flow-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:10px;color:#e9f3ff;font-size:13px}.display-flow-line i{height:2px;background:#ffffff66}.display-flow-line b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fff;color:#1768d7;font-size:18px}.display-flow.exporting .display-flow-line b{color:#b6500c}.display-total{display:grid;align-content:center;padding:20px 22px}.display-total span{color:#aebbd0;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800}.display-total strong{font-size:27px;margin:4px 0}.display-total small{color:#93a3ba}.display-total.import strong{color:#5ca1ff}.display-total.export strong{color:#ff9d58}.display-phases{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:transparent;border:0;box-shadow:none}.display-phases article{background:#151f31;border:1px solid #ffffff17;border-radius:15px;padding:16px 20px}.display-phases h2{font-size:15px;color:#aebbd0;margin:0}.display-phases>article>strong{display:block;font-size:24px;margin:3px 0 8px}.display-phases p{display:flex;justify-content:space-between;margin:3px 0;color:#93a3ba;font-size:12px}.display-phases p b{color:#eaf1fb}.display-history{grid-column:1/-1;padding:14px 17px}.display-history-head{display:flex;align-items:center;gap:15px}.display-history-head>div:first-child{display:grid;margin-right:auto}.display-history-head span{font-size:12px;color:#96a6bc}.display-history-head b{font-size:13px}.display-history .mode-tabs,.display-history .period-tabs{background:#202c40}.display-history .mode-tabs button,.display-history .period-tabs button{color:#9facbf}.display-history .mode-tabs button.active,.display-history .period-tabs button.active{background:#35445d;color:#fff}.screen-summary{display:none}.display-history .chart-surface{margin-top:10px;background:#111b2b;border-color:#ffffff14}.display-history .chart-wrap{height:270px}.display-history .chart-tooltip{background:#1c293e;border-color:#3a4a63;color:#fff}.display-history .chart-footer{color:#aebbd0}.display-history .sample-count,.display-history .legend{color:#92a2b9}.display-page:fullscreen [data-fullscreen]{display:none}

@media(max-width:1100px){.phase-settings{align-items:flex-start;flex-direction:column}.phase-settings form{width:100%}.display-page{min-width:0}.display-grid{grid-template-columns:1fr 1fr}.display-flow{grid-column:1/-1}.display-phases,.display-history{grid-column:1/-1}.display-shell{padding:16px}.display-header{height:auto;align-items:flex-start}.display-head-right{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){.title-actions{align-items:flex-start;flex-direction:column}.phase-settings form{grid-template-columns:1fr}.display-grid,.display-phases{grid-template-columns:1fr}.display-total,.display-flow,.display-phases,.display-history{grid-column:1}.display-header{gap:15px;flex-direction:column}.display-head-right{justify-content:flex-start}.display-page{overflow:auto}.display-history-head{align-items:flex-start;flex-wrap:wrap}}

.device-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.device-identity{display:flex;align-items:center;gap:16px;min-width:0}.device-identity>img,.device-identity-mark{width:68px;height:68px;object-fit:contain;border-radius:14px;background:#eef4ff;border:1px solid #dce7f8;padding:9px}.device-identity-mark{display:grid;place-items:center;color:var(--blue);font-size:35px}.device-identity h1{margin:0;font-size:27px}.device-identity .eyebrow{margin:0}.device-tags{display:flex;align-items:center;gap:9px;margin-top:6px}.device-tags .solar-badge{margin:0}.device-id{color:var(--muted);font-size:12px}.logo-settings{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px}.logo-settings h2{margin-bottom:3px}.logo-settings p{margin:0}.logo-preview{width:100px;height:68px;display:grid;place-items:center;border:1px dashed #c5cfdd;border-radius:11px;background:#f7f9fc;color:#8490a1;font-size:12px}.logo-preview img{max-width:90px;max-height:58px;object-fit:contain}.logo-actions{display:flex;align-items:center;gap:8px}.logo-actions form{display:flex;align-items:center;gap:8px}.file-button{display:inline-flex;max-width:180px;align-items:center;border:1px solid #cbd5e2;border-radius:9px;padding:.62rem .85rem;background:#fff;color:var(--ink);cursor:pointer}.file-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.display-header{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px;padding:0 4px}.display-identity{display:flex;align-items:center;gap:14px;min-width:0}.display-identity img{width:150px;height:58px;object-fit:contain;object-position:left center}.display-device-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#237cff;color:#fff;font-size:28px}.display-identity strong{font-size:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-clock{justify-self:center;display:grid;text-align:center;line-height:1.15}.display-clock span{color:#8fa1ba;text-transform:capitalize;font-size:13px;letter-spacing:.04em}.display-clock strong{font-size:25px;font-variant-numeric:tabular-nums;margin-top:4px}.display-header>.status{justify-self:end}.display-flow,.display-total,.display-phases article,.display-history{box-shadow:0 14px 35px #050a1355}.display-total{position:relative;overflow:hidden}.display-total:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}.display-total.import:before{background:#438fff}.display-total.export:before{background:#ff9147}.display-phases article{position:relative;overflow:hidden}.display-phases article:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#3385ff,#3fbda2)}.screen-power-only>h2{margin:0 0 10px;font-size:15px;color:#b8c6da;font-weight:700}.screen-power-only .chart-surface{margin-top:0}

@media(max-width:1100px){.device-hero{align-items:flex-start}.logo-settings{grid-template-columns:90px 1fr}.logo-actions{grid-column:1/-1}.display-header{grid-template-columns:1fr auto}.display-clock{grid-column:1/-1;grid-row:2;justify-self:center}.display-header>.status{grid-column:2;grid-row:1}}
@media(max-width:700px){.device-hero{align-items:flex-start;flex-direction:column}.logo-settings{grid-template-columns:1fr}.logo-actions,.logo-actions form{align-items:flex-start;flex-direction:column}.display-header{height:auto;grid-template-columns:1fr auto}.display-identity img{width:110px}.display-clock{padding-top:10px}}

.device-settings-area{margin-top:30px}.settings-section-title{margin:0 0 14px}.settings-section-title .eyebrow{margin:0 0 2px}.settings-section-title h2{margin:0;font-size:23px}.settings-section-title .muted{margin:3px 0 0}.settings-accordion{display:grid;gap:10px}.settings-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px rgba(23,32,51,.04);transition:border-color .18s,box-shadow .18s}.settings-card:has(.settings-card-head[aria-expanded="true"]){border-color:#cddcf4;box-shadow:0 10px 26px rgba(23,66,130,.08)}.settings-card-head{width:100%;min-height:78px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:16px 19px;border:0;border-radius:0;background:#fff;text-align:left;color:var(--ink)}.settings-card-head:hover{border:0;background:#f8fbff;color:var(--ink)}.settings-card-head:focus-visible{outline:3px solid #2979ff33;outline-offset:-3px}.settings-card-head>span:nth-child(2){display:grid;gap:2px}.settings-card-head strong{font-size:16px}.settings-card-head small{color:var(--muted);font-weight:500}.settings-card-head>i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f0f4fa;color:#607089;font-size:20px;font-style:normal;transition:transform .2s,background .2s}.settings-card-head[aria-expanded="true"]>i{transform:rotate(180deg);background:#e5efff;color:var(--blue)}.settings-card-icon{width:42px;height:42px;display:grid!important;place-items:center;border-radius:11px;background:#eaf2ff;color:var(--blue);font-size:20px;font-weight:800}.settings-card-icon.solar{background:#fff4d2;color:#9a6800}.settings-card-body{padding:20px;border-top:1px solid #edf0f5;background:#fcfdff}.settings-card-body[hidden]{display:none}.settings-note{margin:0 0 16px}.settings-name-form{display:grid;grid-template-columns:minmax(220px,520px) auto;align-items:end;justify-content:start;gap:10px}.settings-name-form label{min-width:0}.settings-divider{height:1px;margin:22px 0;background:var(--line)}.logo-config{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px}.logo-config h3{margin:0 0 3px;font-size:16px}.logo-config p{margin:0}.phase-settings-form{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:10px}.phase-settings-form label{font-size:12px}.phase-settings-form input{padding:.62rem .7rem}.solar-settings-form{display:flex;align-items:center;justify-content:space-between;gap:18px}.measurement-settings form{display:grid;gap:16px}.settings-card .install-content{padding-top:20px}.settings-card .install-content>p:first-child{margin-top:0}
.danger-settings-card{border-color:#efb6be}.danger-settings-card .settings-card-icon{background:#ffeaed;color:#a62838}.category-delete-note{grid-column:1/-1;color:var(--muted);font-size:11px}.consumption-category-card button:disabled{cursor:not-allowed;opacity:.55}

@media(max-width:900px){.logo-config{grid-template-columns:90px 1fr}.logo-config .logo-actions{grid-column:1/-1}.phase-settings-form{grid-template-columns:repeat(3,1fr)}.phase-settings-form button{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.settings-card-head{grid-template-columns:38px 1fr auto;gap:11px;padding:14px}.settings-card-icon{width:38px;height:38px}.settings-card-head small{font-size:11px}.settings-card-body{padding:16px}.settings-name-form,.phase-settings-form,.logo-config{grid-template-columns:1fr}.settings-name-form button,.phase-settings-form button{justify-self:start}.logo-config .logo-actions{grid-column:auto}.solar-settings-form{align-items:flex-start;flex-direction:column}.logo-config .logo-actions,.logo-config .logo-actions form{align-items:flex-start;flex-direction:column}}

.price-panel{margin:0 0 20px;padding:20px 22px;background:linear-gradient(135deg,#112849,#173b6f);color:#fff;border:1px solid #ffffff17;border-radius:17px;box-shadow:0 14px 32px rgba(20,58,110,.16)}.price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.price-head .eyebrow{margin:0;color:#89baff}.price-head h2{margin:1px 0 0;font-size:22px}.price-head p:not(.eyebrow){margin:1px 0 0;color:#aebed5;font-size:12px}.price-area-switch{display:flex;gap:4px;padding:4px;border-radius:11px;background:#0b1d37}.price-area-switch button{border:0;padding:.48rem .72rem;background:transparent;color:#9eb1cb;font-size:12px}.price-area-switch button:hover{color:#fff}.price-area-switch button.active{background:#2a78e8;color:#fff;box-shadow:0 3px 10px #0004}.price-content{display:grid;grid-template-columns:175px minmax(320px,1fr) 275px;align-items:end;gap:28px;margin-top:18px}.price-now{display:grid;align-content:end}.price-now>span,.price-facts span{color:#aabbd2;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.price-now>strong{font-size:33px;line-height:1.1;margin-top:4px}.price-now>small{color:#aebed5}.price-level{justify-self:start;margin-top:9px;padding:4px 8px;border-radius:99px;font-size:11px;font-style:normal;font-weight:800}.price-level.low{background:#164d40;color:#67e0b7}.price-level.normal{background:#3a4560;color:#d2dded}.price-level.high{background:#633521;color:#ffb57d}.price-chart{height:105px;display:flex;align-items:flex-end;gap:4px;padding-top:8px;border-bottom:1px solid #ffffff30}.price-bar-item{height:96px;min-width:3px;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative}.price-bar-item i{display:block;width:100%;min-height:18px;border-radius:3px 3px 0 0;background:#4a90f3;opacity:.72;transition:opacity .15s}.price-bar-item:hover i,.price-bar-item.current i{opacity:1;background:#69a7ff}.price-bar-item.current:after{content:'';position:absolute;top:0;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff24}.price-bar-item span{height:16px;margin-top:3px;color:#8fa4c0;font-size:9px}.price-bar-item .height-0{height:18px}.price-bar-item .height-1{height:24px}.price-bar-item .height-2{height:30px}.price-bar-item .height-3{height:37px}.price-bar-item .height-4{height:43px}.price-bar-item .height-5{height:49px}.price-bar-item .height-6{height:55px}.price-bar-item .height-7{height:61px}.price-bar-item .height-8{height:68px}.price-bar-item .height-9{height:74px}.price-bar-item .height-10{height:80px}.price-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.price-facts>div{display:grid;padding:10px;border:1px solid #ffffff17;border-radius:10px;background:#ffffff09}.price-facts strong{font-size:15px}.price-facts small{color:#91a6c2}.price-source{margin:14px 0 0;color:#879ab6;font-size:11px}.price-source a{color:#a9cdff;text-decoration:underline}.price-empty{display:grid;gap:3px;margin-top:16px;padding:18px;border:1px dashed #ffffff2b;border-radius:11px;color:#dce8f8}.price-empty span{color:#9fb1ca;font-size:13px}.price-panel.unavailable{background:linear-gradient(135deg,#263347,#35445a)}

@media(max-width:950px){.price-content{grid-template-columns:160px 1fr}.price-facts{grid-column:1/-1}}
@media(max-width:620px){.price-head{flex-direction:column}.price-area-switch{width:100%}.price-area-switch button{flex:1}.price-content{grid-template-columns:1fr;gap:16px}.price-facts{grid-column:auto}.price-chart{min-width:0}.price-panel{padding:18px 16px}}

.admin-customer-actions{display:flex;align-items:flex-start;gap:7px}.password-reset{min-width:108px}.password-reset summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd5e2;border-radius:9px;padding:.62rem .9rem;background:#fff;color:var(--ink);cursor:pointer;font-weight:650}.password-reset summary::-webkit-details-marker{display:none}.password-reset summary:hover{border-color:var(--blue);color:var(--blue)}.password-reset[open]{min-width:285px}.password-reset[open] summary{border-color:#a8c7f7;background:#eef5ff;color:var(--blue2)}.password-reset form{display:grid;gap:11px;margin-top:9px;padding:15px;border:1px solid #dbe4f1;border-radius:11px;background:#f8faff;white-space:normal}.password-reset form>strong{font-size:14px}.password-reset form>small{max-width:250px;color:var(--muted)}.password-reset label{font-size:12px}.password-reset input{padding:.6rem .7rem}.password-reset .primary{justify-self:start}

@media(max-width:700px){.admin-customer-actions{align-items:stretch;flex-direction:column}.password-reset[open]{min-width:250px}}

/* Samlet UX-lag */
:focus-visible{outline:3px solid #2979ff55;outline-offset:2px}.mobile-nav{display:none}.theme-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border-color:#ffffff24;background:#ffffff0d;color:#dbe6f5;font-size:18px}.theme-toggle:hover{background:#ffffff18;color:#fff}.profile>span{white-space:nowrap}
.dashboard-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:27px 0 14px}.dashboard-tools .eyebrow,.dashboard-tools h2,.dashboard-tools p{margin:0}.dashboard-tools h2{font-size:23px}.dashboard-tool-actions{display:flex;align-items:center;gap:9px}.view-switch{display:flex;gap:4px;padding:4px;border-radius:11px;background:#e9eef5}.view-switch button{border:0;padding:.46rem .72rem;background:transparent;color:var(--muted);font-size:12px}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #24355218}[data-reorder-toggle].active{border-color:var(--blue);background:#eaf2ff;color:var(--blue2)}
.device-card-shell{min-width:0;position:relative}.device-card-shell .device-card{height:100%;display:flex;flex-direction:column}.device-card-shell .device-card>small{margin-top:auto}.card-open{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);color:var(--blue2);font-size:12px;font-weight:800}.reorder-controls{display:none;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:7px;border:1px dashed #a9bad2;border-radius:10px;background:#f3f7fc;color:var(--muted);font-size:11px}.reorder-controls button{padding:.32rem .62rem}.device-grid.reordering .reorder-controls{display:flex}.device-grid.reordering .device-card-shell{cursor:grab}.device-grid.reordering .device-card{pointer-events:none;border-color:#a9c7f3}.device-card-shell.dragging{opacity:.45}.device-grid.compact{grid-template-columns:repeat(4,1fr)}.device-grid.compact .device-card{padding:15px}.device-grid.compact .device-top{align-items:center}.device-grid.compact .device-icon{width:32px;height:32px;font-size:18px}.device-grid.compact .device-card h2{margin:11px 0 0}.device-grid.compact .power{font-size:23px;margin:3px 0 8px}.device-grid.compact .device-meta,.device-grid.compact .device-card>small,.device-grid.compact .card-open{display:none}.device-grid.compact .card-direction{margin:0}.friendly-empty{border:1px dashed #c5d2e3;border-radius:15px;background:#ffffff99}.friendly-empty p{max-width:430px;margin:0 auto 18px}
.metric-symbol{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:3px;border-radius:6px;font-style:normal;font-size:12px;font-weight:900}.metric-symbol.import{background:#dcecff;color:#0068a3}.metric-symbol.export{background:#ffeadc;color:#b64f00}.metric-symbol.power-icon{background:#ffffff24;color:inherit}.metric-symbol.contact{background:#dcf8eb;color:#08784a}.direction-icon{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:4px;border-radius:50%;background:currentColor;color:inherit}.card-direction .direction-icon{background:#ffffffaa}.help-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;opacity:.65;font-size:11px;font-weight:800;cursor:help;vertical-align:middle}.help-tip:after{content:attr(data-tip);position:absolute;z-index:30;left:50%;bottom:calc(100% + 9px);width:230px;padding:9px 11px;border-radius:9px;background:#101827;color:#fff;box-shadow:0 8px 24px #0004;font:12px/1.4 system-ui,sans-serif;text-align:left;transform:translateX(-50%) translateY(4px);opacity:0;visibility:hidden;pointer-events:none;transition:.15s}.help-tip:hover:after,.help-tip:focus:after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.price-skeleton{display:grid;grid-template-columns:175px 1fr repeat(2,120px);align-items:end;gap:20px;height:112px;margin-top:18px}.price-skeleton i{display:block;height:78px;border-radius:11px;background:linear-gradient(90deg,#ffffff0b,#ffffff25,#ffffff0b);background-size:220% 100%;animation:skeleton 1.25s ease-in-out infinite}.price-skeleton i:nth-child(2){height:96px}.price-skeleton i:nth-child(3),.price-skeleton i:nth-child(4){height:64px}.price-skeleton[hidden],.price-loaded[hidden],.price-empty[hidden],.price-source[hidden]{display:none}.price-empty button{justify-self:start;margin-top:8px;background:#ffffff12;border-color:#ffffff35;color:#fff}.chart-wrap.chart-loading:before{content:'';position:absolute;z-index:4;inset:18px 20px 42px 62px;border-radius:10px;background:linear-gradient(100deg,#eef2f7 20%,#fafcff 38%,#eef2f7 56%);background-size:220% 100%;animation:skeleton 1.25s ease-in-out infinite}.display-page .chart-wrap.chart-loading:before,.dark-theme .chart-wrap.chart-loading:before{background:linear-gradient(100deg,#192538 20%,#26344a 38%,#192538 56%);background-size:220% 100%}@keyframes skeleton{to{background-position:-220% 0}}#chart-empty button{justify-self:center;margin-top:9px}.blue{background:#0072b2}.green{background:#009e73}.orange{background:#d55e00}
.layout-settings-form{display:grid;gap:17px}.layout-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.layout-option{cursor:pointer}.layout-option>input{position:absolute;width:1px;height:1px;opacity:0}.layout-option>span{height:100%;display:grid;gap:4px;padding:13px;border:2px solid var(--line);border-radius:12px;background:#fff;transition:.16s}.layout-option>input:checked+span{border-color:var(--blue);background:#f3f7ff;box-shadow:0 0 0 3px #2979ff12}.layout-option>input:focus-visible+span{outline:3px solid #2979ff44}.layout-option small{color:var(--muted);font-weight:500}.layout-preview{height:48px;display:block;position:relative;border-radius:7px;background:#162238}.layout-preview:before,.layout-preview:after{content:'';position:absolute;border-radius:3px;background:#3687ff}.layout-preview.balanced:before{inset:7px 46% 7px 7px}.layout-preview.balanced:after{inset:7px 7px 27px 58%}.layout-preview.focus:before{inset:7px 35% 7px 7px}.layout-preview.focus:after{inset:7px 7px 7px 71%;background:#ff9147}.layout-preview.compact:before{inset:7px 52% 25px 7px}.layout-preview.compact:after{inset:25px 7px 7px 7px;background:#41b795}
body:has(.display-flow.layout-focus) .display-grid{grid-template-columns:2.35fr 1fr}body:has(.display-flow.layout-focus) .display-flow{grid-row:span 2;min-height:320px;display:grid;align-content:center}body:has(.display-flow.layout-focus) .display-flow>strong{font-size:38px}body:has(.display-flow.layout-focus) .display-flow>em{font-size:44px}body:has(.display-flow.layout-focus) .display-phases,body:has(.display-flow.layout-focus) .display-history{grid-column:1/-1}body:has(.display-flow.layout-compact) .display-shell{padding:14px 22px}body:has(.display-flow.layout-compact) .display-header{height:58px;margin-bottom:10px}body:has(.display-flow.layout-compact) .display-grid{gap:10px}body:has(.display-flow.layout-compact) .display-flow{min-height:126px;padding:15px 20px}body:has(.display-flow.layout-compact) .display-flow>strong{font-size:22px}body:has(.display-flow.layout-compact) .display-flow>em{font-size:25px}body:has(.display-flow.layout-compact) .display-total{padding:14px 18px}body:has(.display-flow.layout-compact) .display-phases{gap:10px}body:has(.display-flow.layout-compact) .display-phases article{padding:11px 16px}body:has(.display-flow.layout-compact) .display-history{padding:10px 14px}body:has(.display-flow.layout-compact) .display-history .chart-wrap{height:220px}
.dark-theme{--bg:#0e1625;--panel:#151f31;--ink:#ecf3fd;--muted:#99a9bf;--line:#29364a;--nav:#0a101c;--shadow:0 12px 30px rgba(0,0,0,.2);color-scheme:dark}.dark-theme .panel,.dark-theme .device-card,.dark-theme .stat,.dark-theme .device-hero,.dark-theme .settings-card,.dark-theme .settings-card-head{background:var(--panel)}.dark-theme .settings-card-head:hover{background:#1a273b}.dark-theme .settings-card-body,.dark-theme .phase-grid article,.dark-theme .history-summary article,.dark-theme .chart-surface,.dark-theme .friendly-empty{background:#111b2b}.dark-theme input,.dark-theme .file-button,.dark-theme button{background:#172338;border-color:#39475c;color:var(--ink)}.dark-theme button.primary,.dark-theme .primary{background:var(--blue);border-color:var(--blue);color:#fff}.dark-theme .view-switch{background:#101a2a}.dark-theme .view-switch button{background:transparent}.dark-theme .view-switch button.active{background:#27364d}.dark-theme .device-identity>img,.dark-theme .device-identity-mark,.dark-theme .logo-preview{background:#17253a;border-color:#34445c}.dark-theme .check,.dark-theme .reorder-controls,.dark-theme .password-reset form{background:#162237;border-color:#34445c}.dark-theme .layout-option>span{background:#142034}.dark-theme .layout-option>input:checked+span{background:#172b48}.dark-theme .screen-button{background:#172338;border-color:#39475c;color:#eaf2ff}.dark-theme .chart-tooltip{background:#1b293d;border-color:#3a4a61;color:#fff}.dark-theme .alert.success{background:#12382d;color:#8ce2c0;border-color:#285e4d}.dark-theme .alert.error{background:#48212a;color:#ffabb5;border-color:#71313e}.dark-theme .metric-symbol.import{background:#143750;color:#73c8f0}.dark-theme .metric-symbol.export{background:#4a2c1c;color:#ffad72}.dark-theme footer{color:#8293aa}
.dark-theme .mode-tabs,.dark-theme .history-head .period-tabs{background:#0f1a2b;border:1px solid #2f3e54}.dark-theme .mode-tabs button,.dark-theme .history-head .period-tabs button{background:transparent;border:0;color:#aebdd2}.dark-theme .mode-tabs button:hover,.dark-theme .history-head .period-tabs button:hover{background:#1c2b41;color:#fff}.dark-theme .mode-tabs button.active,.dark-theme .history-head .period-tabs button.active{background:#304562;color:#fff;box-shadow:0 2px 8px #0005}
.dark-theme .login-card{background:var(--panel);border-color:var(--line)}.dark-theme .login-card h1{color:var(--ink)}.dark-theme .login-card>p{color:var(--muted)}
.header-spacer{flex:1}

@media(max-width:1000px){.device-grid.compact{grid-template-columns:repeat(3,1fr)}.price-skeleton{grid-template-columns:150px 1fr}.price-skeleton i:nth-child(n+3){display:none}}
@media(max-width:700px){body:not(.display-page){padding-bottom:68px}.top nav{display:none}.top{min-height:62px;padding-bottom:0}.profile>span{display:none}.mobile-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;height:62px;display:flex;justify-content:space-around;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 -8px 25px #0b183018;backdrop-filter:blur(12px)}.mobile-nav a{min-width:82px;display:grid;place-content:center;text-align:center;gap:1px;color:var(--muted);font-size:10px;font-weight:750}.mobile-nav a span{font-size:20px;color:var(--blue)}.dashboard-tools{align-items:flex-start;flex-direction:column}.dashboard-tool-actions{width:100%;align-items:stretch;flex-direction:column}.view-switch{width:100%}.view-switch button{flex:1}.device-grid.compact{grid-template-columns:repeat(2,1fr)}.price-skeleton{grid-template-columns:1fr;height:150px}.price-skeleton i{height:130px!important}.price-skeleton i:nth-child(n+2){display:none}.layout-options{grid-template-columns:1fr}.help-tip:after{left:auto;right:-20px;transform:translateY(4px)}.help-tip:hover:after,.help-tip:focus:after{transform:translateY(0)}}
@media(max-width:430px){.device-grid.compact{grid-template-columns:1fr}.device-grid.compact .device-meta{display:flex}.device-grid.compact .device-card>small{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Kategorier til flere Shelly-forbrugsmålere pr. installation. */
.address-hero-actions{display:flex;align-items:center;gap:9px;margin-top:18px;flex-wrap:wrap}.address-hero-actions .address-edit-button{margin-top:0}.address-customer-button,.address-overview-button{display:inline-flex;align-items:center;min-height:42px;padding:.65rem .9rem;border:1px solid #ffffff55;border-radius:9px;background:#ffffff17;color:#fff;text-decoration:none;font-weight:750}.address-customer-button:hover,.address-overview-button:hover{border-color:#fff;background:#ffffff25;color:#fff}.address-overview-button{background:#fff;color:#1453a6}.address-overview-button:hover{background:#eef5ff;color:#0f448d}.address-customer-panel{border-color:#bad0f2}.meter-setup-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:20px;margin-bottom:20px}.meter-setup-grid>.panel{margin:0}.meter-setup-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.meter-setup-heading>span{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#e9f2ff;color:var(--blue);font-size:22px;font-weight:900}.meter-setup-heading h2,.meter-setup-heading p{margin:0}.category-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.category-device-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.45fr) auto;align-items:end;gap:10px}.consumption-category-list{display:grid;gap:10px;margin-top:16px}.consumption-category-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8faff}.consumption-category-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.consumption-category-card>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eee8ff;color:#6745a8;font-size:18px}.consumption-category-card>header>div{display:grid;min-width:0}.consumption-category-card>header small{color:var(--muted)}.consumption-category-card details{position:relative;margin-left:auto}.consumption-category-card summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:800}.consumption-category-card details form{position:absolute;z-index:4;right:0;top:26px;display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:7px;width:max-content;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:var(--shadow)}.dark-theme .meter-setup-heading>span{background:#18345a;color:#73aaff}.dark-theme .consumption-category-card{background:#111b2b}.dark-theme .consumption-category-card>header>span{background:#352a53;color:#c9adff}.overview-role-row.role-load>header>span{background:#352a53;color:#c9adff}.overview-device-card.role-load:before{background:linear-gradient(90deg,#5f43a0,#c0a1ff,#5f43a0);background-size:220% 100%}.overview-device-card.role-load .overview-device-name>span{background:#5b4291;color:#efe7ff}.flow-submeter-card.role-load>i{background:#392d59;color:#c9adff}.esg-submeter-totals{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.esg-submeter-totals .load i,.submeter-role.load{background:#eee8ff;color:#6745a8}.dark-theme .esg-submeter-totals .load i,.dark-theme .submeter-role.load{background:#352a53;color:#c9adff}.customer-address-actions{display:flex!important;flex:0 0 auto!important;align-items:center;gap:10px}.customer-address-actions>span{color:var(--muted);font-size:13px;white-space:nowrap}.customer-address-actions .screen-button{white-space:nowrap}
@media(max-width:900px){.meter-setup-grid{grid-template-columns:1fr}}@media(max-width:700px){.category-create-form,.category-device-form{grid-template-columns:1fr}.consumption-category-card details form{position:fixed;inset:auto 12px 12px;grid-template-columns:1fr;max-width:none}.customer-address-actions{margin-left:55px;width:100%;justify-content:space-between}}

/* Automatisk tæt layout på samlet infoskærm. */
@media(min-width:1401px) and (min-height:850px){
  .overview-display-shell.many-devices{padding:14px 22px 18px}
  .overview-display-shell.many-devices .overview-display-header{height:62px;margin-bottom:10px}
  .overview-display-shell.many-devices .display-device-mark{width:42px;height:42px;font-size:23px}
  .overview-display-shell.many-devices .overview-app-title strong{font-size:17px}
  .overview-display-shell.many-devices .display-clock strong{font-size:22px}
  .overview-display-shell.many-devices .overview-summary{gap:10px;margin-bottom:9px}
  .overview-display-shell.many-devices .overview-summary .overview-total-power,
  .overview-display-shell.many-devices .overview-summary .overview-summary-tile{min-height:82px;padding:11px 16px}
  .overview-display-shell.many-devices .overview-summary .overview-total-power{gap:18px}
  .overview-display-shell.many-devices .overview-total-power strong{font-size:29px}
  .overview-display-shell.many-devices .overview-summary-icon{width:40px;height:40px;border-radius:11px;font-size:20px}
  .overview-display-shell.many-devices .overview-summary-tile strong{font-size:25px}
  .overview-display-shell.many-devices .overview-address-list{gap:14px}
  .overview-display-shell.many-devices .overview-address-group{gap:7px}
  .overview-display-shell.many-devices .overview-address-icon{width:30px;height:30px}
  .overview-display-shell.many-devices .overview-address-group>header h2{font-size:15px}
  .overview-display-shell.many-devices .solar-app-flow{margin-bottom:7px;padding:9px 15px}
  .overview-display-shell.many-devices .solar-app-flow>header h2{font-size:14px}
  .overview-display-shell.many-devices .flow-live-state{padding:4px 8px}
  .overview-display-shell.many-devices .solar-flow-diagram{gap:8px;margin:6px 0}
  .overview-display-shell.many-devices .solar-flow-node{min-height:70px;padding:6px 9px;border-radius:12px}
  .overview-display-shell.many-devices .solar-flow-node>i{width:29px;height:29px;margin-bottom:2px;border-radius:8px;font-size:16px}
  .overview-display-shell.many-devices .solar-flow-node>strong{margin:1px 0;font-size:18px}
  .overview-display-shell.many-devices .solar-flow-node>small{display:none}
  .overview-display-shell.many-devices .solar-flow-link>b{width:24px;height:24px}
  .overview-display-shell.many-devices .solar-app-flow>footer{padding-top:5px}
  .overview-display-shell.many-devices .solar-app-flow>footer b{display:none}
  .overview-address-group.dense .overview-phases{display:none}
  .overview-display-shell.many-devices .overview-device-grid{gap:8px}
  .overview-display-shell.many-devices .overview-device-card>header{padding:9px 11px 5px}
  .overview-display-shell.many-devices .overview-device-name{gap:8px}
  .overview-display-shell.many-devices .overview-device-name>span,
  .overview-display-shell.many-devices .overview-device-name>img{width:31px;height:31px;border-radius:8px;font-size:18px}
  .overview-display-shell.many-devices .overview-device-name small{font-size:8px}
  .overview-display-shell.many-devices .overview-device-name h2{font-size:14px}
  .overview-display-shell.many-devices .overview-device-card .status{padding:4px 7px;font-size:9px}
  .overview-display-shell.many-devices .overview-device-power{padding:1px 11px 9px}
  .overview-display-shell.many-devices .overview-device-power>span{display:none}
  .overview-display-shell.many-devices .overview-device-power strong{font-size:23px}
  .overview-display-shell.many-devices .overview-device-power small{font-size:10px}
  .overview-display-shell.many-devices .overview-device-totals,
  .overview-display-shell.many-devices .overview-phases,
  .overview-display-shell.many-devices .overview-device-card>footer{display:none}

  /* Vægskærmslayout til store installationer: 10 kompressorer, 5 lysmålere
     og de almindelige energimålere kan stå på samme 1920 x 1080-side. */
  .overview-display-shell.fleet-view{padding:12px 18px 16px}
  .overview-display-shell.fleet-view .overview-display-header{height:60px;margin-bottom:9px;padding:0 16px;border-radius:14px}
  .overview-display-shell.fleet-view .display-address-logo{height:48px;max-width:132px}
  .overview-display-shell.fleet-view .overview-app-title small{font-size:8px}
  .overview-display-shell.fleet-view .overview-app-title strong{font-size:17px}
  .overview-display-shell.fleet-view .display-clock span{font-size:11px}
  .overview-display-shell.fleet-view .display-clock strong{font-size:22px}
  .overview-display-shell.fleet-view .overview-online{padding:7px 10px;font-size:11px}
  .overview-display-shell.fleet-view .overview-address-list,
  .overview-display-shell.fleet-view .overview-address-group{gap:4px}
  .overview-display-shell.fleet-view .solar-app-flow{margin:0 0 5px;padding:9px 14px;border-radius:14px}
  .overview-display-shell.fleet-view .solar-app-flow>header .eyebrow{font-size:9px}
  .overview-display-shell.fleet-view .solar-flow-diagram{grid-template-columns:minmax(115px,1fr) minmax(55px,.62fr) minmax(115px,1fr) minmax(55px,.62fr) minmax(115px,1fr);margin:4px 0}
  .overview-display-shell.fleet-view .solar-flow-node{min-height:68px;padding:6px 9px;border-radius:11px}
  .overview-display-shell.fleet-view .solar-flow-node>i{width:30px;height:30px;font-size:16px}
  .overview-display-shell.fleet-view .solar-flow-node>span{font-size:9px}
  .overview-display-shell.fleet-view .solar-flow-node>strong{font-size:20px}
  .overview-display-shell.fleet-view .solar-app-flow>footer{display:none}
  .overview-display-shell.fleet-view .overview-role-row{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:9px}
  .overview-display-shell.fleet-view .overview-role-row+.overview-role-row{margin-top:5px;padding-top:5px}
  .overview-display-shell.fleet-view .overview-role-row>header{position:relative;align-self:stretch;padding:7px 6px;border-radius:10px;background:#ffffff05}
  .overview-display-shell.fleet-view .overview-role-row>header>span{width:31px;height:31px;font-size:16px}
  .overview-display-shell.fleet-view .overview-role-row>header small{font-size:7px}
  .overview-display-shell.fleet-view .overview-role-row>header h2{max-width:none;font-size:13px;white-space:nowrap}
  .overview-display-shell.fleet-view .overview-role-row>header>b{position:absolute;left:43px;bottom:7px;font-size:8px}
  .overview-display-shell.fleet-view .overview-device-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:7px}
  .overview-display-shell.fleet-view .overview-device-card{min-height:76px;border-radius:11px;box-shadow:0 7px 18px #02071135}
  .overview-display-shell.fleet-view .overview-device-card:before{height:3px}
  .overview-display-shell.fleet-view .overview-device-card>header{padding:8px 10px 2px}
  .overview-display-shell.fleet-view .overview-device-name{gap:8px}
  .overview-display-shell.fleet-view .overview-device-name>span,
  .overview-display-shell.fleet-view .overview-device-name>img{width:31px;height:31px;border-radius:8px;font-size:17px}
  .overview-display-shell.fleet-view .overview-device-name small{display:none}
  .overview-display-shell.fleet-view .overview-device-name h2{font-size:13px}
  .overview-display-shell.fleet-view .overview-device-card .status{gap:4px;padding:4px 6px;font-size:9px}
  .overview-display-shell.fleet-view .overview-device-card .status i{width:6px;height:6px}
  .overview-display-shell.fleet-view .overview-device-power{display:flex;align-items:baseline;gap:7px;padding:0 10px 8px}
  .overview-display-shell.fleet-view .overview-device-power strong{font-size:21px;line-height:1.05}
  .overview-display-shell.fleet-view .overview-device-power small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}

  .overview-display-shell.large-fleet-view .overview-device-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .overview-display-shell.large-fleet-view .overview-device-card{min-height:72px}
  .overview-display-shell.large-fleet-view .overview-device-power strong{font-size:19px}
}

/* App-layout til den samlede infoskærm */
.overview-display-shell{background:radial-gradient(circle at 8% -10%,#1d477d 0,transparent 31%),radial-gradient(circle at 94% 4%,#15365c 0,transparent 27%),#0b1320}.overview-display-header{height:78px;padding:0 20px;border:1px solid #ffffff14;border-radius:18px;background:#121d2dd9;box-shadow:0 18px 45px #02071155;backdrop-filter:blur(15px)}.overview-app-title{display:grid;min-width:0}.overview-app-title small{color:#65a2ff;font-size:9px;font-weight:850;letter-spacing:.16em}.overview-app-title strong{font-size:19px}.overview-online{display:flex;align-items:center;gap:7px;background:#101b2b}.overview-online>i{width:8px;height:8px;border-radius:50%;background:#25c18b;box-shadow:0 0 0 5px #25c18b1c}.overview-summary{grid-template-columns:minmax(430px,2fr) repeat(2,minmax(190px,1fr));gap:16px;margin:18px 0 25px}.overview-summary .overview-total-power{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);align-items:center;gap:28px;min-height:150px;padding:25px 30px}.overview-total-power>div:first-child{display:grid}.overview-total-power>div:first-child>span,.overview-summary-tile>div>span{color:#bdd3f1;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.overview-total-power strong{font-size:42px;line-height:1.05}.overview-total-power small{font-size:13px;font-weight:700}.overview-flow-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:9px;color:#e9f3ff;font-size:11px;font-weight:750}.overview-flow-track>i{height:2px;background:#ffffff55}.overview-flow-track>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#1768d7;font-size:18px;box-shadow:0 7px 18px #07101f44}.overview-total-power.exporting .overview-flow-track>b{color:#b6500c}.overview-summary .overview-summary-tile{display:flex;align-items:center;gap:16px;min-height:150px;padding:22px}.overview-summary-icon{display:grid;place-items:center;flex:0 0 auto;width:50px;height:50px;border-radius:15px;background:#18345a;color:#68a6ff;font-size:25px;font-style:normal}.overview-summary-icon.address{background:#173a35;color:#6bd6b4}.overview-summary-tile>div{display:grid}.overview-summary-tile strong{font-size:32px;line-height:1.1}.overview-summary-tile small{color:#8496af;font-size:11px}.overview-address-list{display:grid;gap:26px}.overview-address-group{display:grid;gap:12px}.overview-address-group>header{display:flex;align-items:center;gap:11px;padding:0 4px}.overview-address-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #31547f;border-radius:10px;background:#152943;color:#71aaff}.overview-address-group>header>div{display:grid}.overview-address-group>header small{color:#6f87a6;font-size:8px;font-weight:850;letter-spacing:.14em}.overview-address-group>header h2{margin:0;color:#edf4ff;font-size:17px}.overview-address-group>header>b{margin-left:auto;padding:6px 9px;border:1px solid #ffffff12;border-radius:99px;background:#121d2d;color:#8fa1ba;font-size:10px}.overview-device-grid{gap:16px}.overview-device-card{border-color:#ffffff14;background:linear-gradient(155deg,#172337,#111a29 72%);box-shadow:0 16px 38px #02071142}.overview-device-card>header{padding:20px 20px 14px}.overview-device-name>span{box-shadow:0 8px 20px #237cff35}.overview-device-power{padding:7px 20px 18px}.overview-device-power strong{margin:2px 0;font-size:34px;letter-spacing:-.03em}.overview-device-power small{font-size:11px}.overview-device-totals>div{position:relative;grid-template-columns:auto 1fr;column-gap:9px;padding:13px 18px}.overview-device-totals>div .overview-metric-icon{grid-row:1/3}.overview-device-totals>div b{align-self:end}.overview-metric-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;font-size:14px;font-style:normal}.overview-metric-icon.import{background:#143750;color:#73c8f0}.overview-metric-icon.export{background:#4a2c1c;color:#ffad72}.overview-phases{gap:0;background:transparent;border-bottom:1px solid #ffffff0d}.overview-phases>div{padding:13px 14px;background:#101a29}.overview-phases>div+div{border-left:1px solid #ffffff0d}.overview-phases span{font-weight:750}.overview-phases b{font-size:15px}.overview-phases small{display:flex;gap:7px}.overview-phases em{padding:3px 5px;border-radius:5px;background:#ffffff08}.overview-device-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;background:#0f1826}.overview-device-card>footer>span{color:#647791}.overview-device-card>footer>b{color:#91a1b7;font-weight:650}.overview-device-card .status{padding:5px 8px;font-size:10px}@media(max-width:1050px){.overview-summary{grid-template-columns:1fr 1fr}.overview-summary .overview-total-power{grid-column:1/-1}.overview-summary .overview-summary-tile{min-height:110px}}@media(max-width:700px){.overview-display-header{height:auto;padding:14px}.overview-summary{grid-template-columns:1fr}.overview-summary .overview-total-power{grid-column:1;grid-template-columns:1fr;gap:18px}.overview-summary .overview-summary-tile{min-height:100px}.overview-flow-track{max-width:420px}.overview-device-card>footer{align-items:flex-start;flex-direction:column}.overview-phases>div+div{border-left:0;border-top:1px solid #ffffff0d}}

/* Korrekt sol-, net- og forbrugsflow */
.solar-app-flow{margin:0 0 16px;padding:20px 24px;border:1px solid #ffffff17;border-radius:18px;background:linear-gradient(145deg,#172439,#111b2b);box-shadow:0 16px 38px #02071142}.solar-app-flow>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.solar-app-flow>header h2{margin:2px 0 0;color:#f1f6ff;font-size:18px}.flow-live-state{padding:6px 10px;border-radius:99px;font-size:10px;font-weight:850}.flow-live-state.ok{background:#12382d;color:#8ce2c0}.flow-live-state.warning{background:#49391a;color:#ffd47e}.solar-flow-diagram{display:grid;grid-template-columns:minmax(150px,1fr) minmax(70px,.65fr) minmax(150px,1fr) minmax(70px,.65fr) minmax(150px,1fr);align-items:center;gap:12px;margin:20px 0}.solar-flow-node{display:grid;place-items:center;min-height:150px;padding:15px;border:1px solid #ffffff14;border-radius:17px;background:#101a29;text-align:center}.solar-flow-node>i{display:grid;place-items:center;width:54px;height:54px;margin-bottom:8px;border-radius:17px;font-size:27px;font-style:normal}.solar-flow-node.solar>i{background:#49391a;color:#ffd36e}.solar-flow-node.home>i{background:#173a35;color:#73ddbd}.solar-flow-node.grid>i{background:#18345a;color:#73aaff}.solar-flow-node>span{color:#8fa1ba;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.solar-flow-node>strong{margin:3px 0;color:#f2f7ff;font-size:25px}.solar-flow-node>small{color:#71839d;font-size:10px}.solar-flow-link{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;color:#78adfa}.solar-flow-link>span{height:2px;background:linear-gradient(90deg,#3f85e8,#7aaef5)}.solar-flow-link>b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#1d3a61;color:#8ab8ff}.solar-flow-link.grid-link{grid-template-columns:auto 1fr}.solar-flow-link.grid-link.import b{color:#78c9f0}.solar-flow-link.grid-link.export b{background:#4a2c1c;color:#ffad72}.solar-app-flow>footer{display:flex;justify-content:space-between;gap:20px;padding-top:13px;border-top:1px solid #ffffff10;color:#8192a9;font-size:11px}.solar-app-flow>footer b{color:#657a96;font-weight:650}.solar-app-flow.not-ready .solar-flow-diagram{opacity:.45}.solar-app-flow.not-ready>footer span{color:#ffd47e}.solar-app-flow.compact{padding:16px 20px}.solar-app-flow.compact>header h2{display:none}.solar-app-flow.compact .solar-flow-diagram{margin:12px 0}.solar-app-flow.compact .solar-flow-node{min-height:118px}.solar-app-flow.compact .solar-flow-node>i{width:43px;height:43px;font-size:22px}.solar-app-flow.compact .solar-flow-node>strong{font-size:21px}.meter-role-picker{border:0;padding:0;margin:18px 0}.meter-role-picker>legend{margin-bottom:10px;font-weight:750}.meter-role-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meter-role-picker label{display:block;cursor:pointer}.meter-role-picker input{position:absolute;opacity:0;pointer-events:none}.meter-role-picker label>span{display:grid;height:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.meter-role-picker label>span>i{display:grid;place-items:center;width:37px;height:37px;margin-bottom:9px;border-radius:10px;background:#e8f1ff;color:var(--blue);font-size:20px;font-style:normal}.meter-role-picker label>span>b{color:var(--ink)}.meter-role-picker label>span>small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.35}.meter-role-picker input:checked+span{border-color:#73a8f5;background:#eef5ff;box-shadow:0 0 0 2px #2979ff20}.meter-role-picker input:focus-visible+span{outline:3px solid #2979ff44}.dark-theme .meter-role-picker label>span{background:#111b2b;border-color:#344156}.dark-theme .meter-role-picker label>span>i{background:#172b48;color:#73aaff}.dark-theme .meter-role-picker input:checked+span{background:#172b48;border-color:#4d82c5}@media(max-width:850px){.solar-flow-diagram{grid-template-columns:1fr;gap:8px}.solar-flow-link,.solar-flow-link.grid-link{grid-template-columns:1fr;justify-items:center}.solar-flow-link>span{width:2px;height:28px}.solar-flow-link>b{transform:rotate(90deg)}.solar-app-flow>footer{flex-direction:column}.meter-role-picker>div{grid-template-columns:1fr}}

/* Samlet infoskærm */
.overview-display-shell{min-height:100vh;padding:22px 30px 32px;background:radial-gradient(circle at 10% 0,#172b4f 0,transparent 34%),#0d1524}.overview-display-header{margin-bottom:16px}.overview-online{justify-self:end;padding:8px 12px;border:1px solid #ffffff1c;border-radius:99px;background:#151f31;color:#aebbd0;font-size:12px;font-weight:700}.overview-online b{color:#78ddb8;font-size:14px}.overview-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:14px}.overview-summary article{display:grid;align-content:center;min-height:124px;padding:19px 22px;border:1px solid #ffffff17;border-radius:15px;background:#151f31;box-shadow:0 14px 35px #050a1355}.overview-summary article>span{color:#aebbd0;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800}.overview-summary strong{margin:3px 0;font-size:30px}.overview-summary small{color:#93a3ba}.overview-summary .overview-total-power{position:relative;overflow:hidden}.overview-total-power:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:#61718a}.overview-total-power.importing{background:linear-gradient(125deg,#173d78,#176dd2)}.overview-total-power.importing:before{background:#5fa4ff}.overview-total-power.exporting{background:linear-gradient(125deg,#74380d,#d66b20)}.overview-total-power.exporting:before{background:#ffbd82}.overview-total-power.importing>span,.overview-total-power.importing small,.overview-total-power.exporting>span,.overview-total-power.exporting small{color:#e4efff}.overview-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.overview-device-card{position:relative;overflow:hidden;border:1px solid #ffffff17;border-radius:15px;background:#151f31;box-shadow:0 14px 35px #050a1355}.overview-device-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:#61718a}.overview-device-card.importing:before{background:#438fff}.overview-device-card.exporting:before{background:#ff9147}.overview-device-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 13px}.overview-device-name{display:flex;align-items:center;gap:12px;min-width:0}.overview-device-name>span,.overview-device-name>img{flex:0 0 auto;width:42px;height:42px;border-radius:11px}.overview-device-name>span{display:grid;place-items:center;background:#237cff;color:#fff;font-size:24px}.overview-device-name>img{object-fit:contain}.overview-device-name>div{min-width:0}.overview-device-name small{display:block;overflow:hidden;color:#8fa1ba;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.overview-device-name h2{overflow:hidden;margin:2px 0 0;color:#f1f6ff;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.overview-device-power{display:grid;padding:3px 18px 15px}.overview-device-power>span,.overview-device-totals span{color:#8fa1ba;font-size:11px}.overview-device-power strong{font-size:30px}.overview-device-power small{color:#76aef9;font-weight:700}.overview-device-card.exporting .overview-device-power small{color:#ffad72}.overview-device-totals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}.overview-device-totals>div{display:grid;gap:2px;padding:12px 18px}.overview-device-totals>div+div{border-left:1px solid #ffffff12}.overview-device-totals b{font-size:14px}.overview-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff0d}.overview-phases>div{display:grid;gap:2px;padding:11px 12px;background:#121c2c}.overview-phases span{overflow:hidden;color:#8fa1ba;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.overview-phases b{font-size:14px}.overview-phases small{color:#8496af;font-size:10px;white-space:nowrap}.overview-phases em{font-style:normal}.overview-device-card>footer{padding:10px 18px;color:#71839d;text-align:left;font-size:10px}.overview-empty{min-height:70vh;display:grid;place-content:center;text-align:center}.overview-empty>span{color:#438fff;font-size:52px}.overview-empty h1{margin:4px 0}.overview-empty p{color:#93a3ba}.overview-display-page:fullscreen .overview-display-shell{min-height:100vh}@media(max-width:1400px){.overview-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.overview-display-shell{padding:16px}.overview-summary{grid-template-columns:1fr 1fr}.overview-total-power{grid-column:1/-1}.overview-device-grid{grid-template-columns:1fr}}@media(max-width:700px){.overview-display-header{grid-template-columns:1fr auto}.overview-display-header .display-clock{grid-column:1/-1;grid-row:2}.overview-online{grid-column:2;grid-row:1}.overview-summary{grid-template-columns:1fr}.overview-total-power{grid-column:1}.overview-phases{grid-template-columns:1fr}.overview-phases>div{grid-template-columns:1fr auto auto;align-items:center}.overview-device-totals{grid-template-columns:1fr}.overview-device-totals>div+div{border-left:0;border-top:1px solid #ffffff12}}

/* Læsevenlig privatlivs- og cookieinformation */
.legal-document{padding:0;overflow:hidden}.legal-document>.legal-lead{padding:27px 30px;background:#f4f8ff;border-bottom:1px solid var(--line)}.legal-document>.legal-lead h2{font-size:23px}.legal-document>.legal-lead p{max-width:820px;margin:8px 0 0;color:#4e5d73;font-size:16px;line-height:1.7}.legal-document>section{padding:25px 30px;border-bottom:1px solid var(--line)}.legal-document>section:last-child{border-bottom:0}.legal-document h2{margin:0 0 12px;font-size:20px}.legal-document h3{margin:0 0 6px;font-size:16px}.legal-document p,.legal-document li,.legal-document address{color:var(--muted);line-height:1.7}.legal-document address{padding:15px 17px;border-left:3px solid var(--blue);background:#f7f9fc;font-style:normal}.legal-document ul{margin:0;padding-left:21px}.legal-document li+li{margin-top:7px}.privacy-data-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-data-list article{padding:17px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.privacy-data-list p{margin:6px 0 0}.cookie-list{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cookie-list article{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:22px;padding:18px;background:#f8fafc;border-bottom:1px solid var(--line)}.cookie-list article:last-child{border-bottom:0}.cookie-list article>code,.cookie-list article>span{align-self:start;color:var(--blue2);font-weight:800;overflow-wrap:anywhere}.cookie-list p{margin:4px 0}.legal-settings-form{display:grid;grid-template-columns:repeat(2,1fr);align-items:end;gap:14px;margin-top:20px}.legal-settings-form .legal-basis-field{grid-column:1/-1}.legal-settings-form button{justify-self:start}.dark-theme .legal-document>.legal-lead{background:#172b48}.dark-theme .legal-document>.legal-lead p{color:#bdcbe0}.dark-theme .legal-document address,.dark-theme .privacy-data-list article,.dark-theme .cookie-list article{background:#111b2b}.dark-theme .cookie-list article>code,.dark-theme .cookie-list article>span{color:#9bc3ff}
@media(max-width:700px){.legal-document>.legal-lead,.legal-document>section{padding:21px 18px}.privacy-data-list,.legal-settings-form{grid-template-columns:1fr}.legal-settings-form .legal-basis-field{grid-column:auto}.cookie-list article{grid-template-columns:1fr;gap:9px}.legal-document>.legal-lead p{font-size:15px}}

/* Roller, adresser og SMTP */
select{width:100%;border:1px solid #cbd4e1;border-radius:9px;padding:.72rem .8rem;background:#fff;color:var(--ink);font:inherit}select:focus{outline:3px solid #2979ff22;border-color:var(--blue)}
.span2{grid-column:2}.smtp-form{display:grid;grid-template-columns:2fr .7fr 1.4fr 1.4fr;gap:14px;align-items:end}.smtp-security{display:grid;align-content:center;min-height:48px;padding:8px 12px;border-radius:9px;background:#e8f7f1;color:#08784a}.smtp-security span{font-weight:800}.smtp-security small{color:#3e7764}.inline-form{display:flex;align-items:center;gap:7px}.inline-form select{min-width:165px}.inline-form button{white-space:nowrap}
.admin-create-panel{max-width:560px}.admin-settings-button{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font-weight:750}.admin-settings-button span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e8f1ff;color:var(--blue);font-size:18px}.admin-settings-button:hover{border-color:#b9cdf2;color:var(--blue2)}.admin-settings-panel{padding:26px}.settings-page-heading{display:flex;align-items:center;gap:14px;margin-bottom:23px}.settings-page-heading h2,.settings-page-heading p{margin:0}.settings-page-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#e8f1ff;color:var(--blue);font-size:23px}
.address-form{display:grid;grid-template-columns:1.5fr 2fr .7fr 1.2fr auto;align-items:end;gap:12px}.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.address-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:21px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);transition:.18s}.address-card:hover{transform:translateY(-2px);border-color:#b9cdf2}.address-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#e8f1ff;color:var(--blue);font-size:21px}.address-card h2{margin:0;font-size:18px}.address-card p{margin:3px 0 0;color:var(--muted)}.address-card .address-counts,.address-card em{grid-column:1/-1}.address-card em{font-style:normal;color:var(--blue2);font-size:12px;font-weight:800}.address-counts{display:flex;align-items:center;gap:10px}.address-counts span{padding:5px 9px;border-radius:99px;background:#eef3f9;color:var(--muted);font-size:12px}.address-counts b{color:var(--ink)}
.address-hero{position:relative;margin-bottom:22px;padding:27px 29px;border-radius:17px;background:linear-gradient(125deg,#154d9e,#2f89f4);color:#fff;box-shadow:0 14px 35px #1456bd22}.address-hero>a{display:inline-block;margin-bottom:17px;color:#dceaff;font-weight:700}.address-hero .eyebrow,.address-hero h1,.address-hero>p{margin:0}.address-hero .eyebrow{color:#dceaff}.address-hero h1{font-size:31px}.address-hero>p{color:#e7f1ff}.address-hero .address-counts{position:absolute;right:26px;bottom:26px}.address-hero .address-counts span{background:#ffffff20;color:#dceaff}.address-hero .address-counts b{color:#fff}.address-manage-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px}.address-manage-grid .panel{margin:0 0 20px}.address-manage-grid fieldset{margin:18px 0;padding:0;border:0}.address-manage-grid legend{margin-bottom:9px;font-weight:800}
.address-edit-button{margin-top:18px;border-color:#ffffff55;background:#ffffff17;color:#fff}.address-edit-button:hover{border-color:#fff;background:#ffffff25;color:#fff}.address-edit-panel{border-color:#bad0f2}.address-edit-panel .panel-title{margin-bottom:18px}
.customer-chip-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.customer-chip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.customer-chip>span{display:grid;min-width:0}.customer-chip b{overflow:hidden;text-overflow:ellipsis}.customer-chip small{color:var(--muted)}.customer-chip form{flex:0 0 auto}.inline-empty{grid-column:1/-1;padding:26px;border:1px dashed #c5d2e3;border-radius:13px;color:var(--muted);text-align:center}.customer-address{margin-bottom:27px;padding:20px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--panel) 68%,transparent)}.customer-address>header{display:flex;align-items:center;gap:13px;margin-bottom:17px}.customer-address>header div{flex:1}.customer-address>header h2,.customer-address>header p{margin:0}.customer-address>header p,.customer-address>header>span:last-child{color:var(--muted);font-size:13px}.electrician-device-grid{margin-bottom:20px}
[data-device-grid].reordering .reorder-controls{display:flex}[data-device-grid].reordering .device-card-shell{cursor:grab}[data-device-grid].reordering .device-card{pointer-events:none;border-color:#a9c7f3}[data-device-grid].compact .device-grid{grid-template-columns:repeat(4,1fr)}[data-device-grid].compact .device-card{padding:15px}[data-device-grid].compact .device-top{align-items:center}[data-device-grid].compact .device-icon{width:32px;height:32px;font-size:18px}[data-device-grid].compact .device-card h2{margin:11px 0 0}[data-device-grid].compact .power{font-size:23px;margin:3px 0 8px}[data-device-grid].compact .device-meta,[data-device-grid].compact .device-card>small,[data-device-grid].compact .card-open{display:none}[data-device-grid].compact .card-direction{margin:0}
.dark-theme label{color:#cbd6e6}.dark-theme select{background:#172338;border-color:#39475c;color:var(--ink)}.dark-theme .address-card,.dark-theme .customer-address{background:var(--panel)}.dark-theme .customer-chip,.dark-theme .inline-empty{background:#111b2b}.dark-theme .address-counts span{background:#202d41}.dark-theme .smtp-security{background:#12382d;color:#8ce2c0}.dark-theme .smtp-security small{color:#86bca8}
.dark-theme .admin-settings-button{background:var(--panel);border-color:var(--line);color:var(--ink)}.dark-theme .admin-settings-button span,.dark-theme .settings-page-icon{background:#172b48}
.active-role-badge{padding:3px 7px;border-radius:99px;background:#ffffff14;color:#aecdff;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.role-switch-form{display:inline}.role-switch-form button{padding:.42rem .7rem;border-color:#ffffff2b;background:#ffffff0d;color:#dce8f8;font-size:12px}.role-switch-form button:hover{background:#ffffff18;border-color:#ffffff50;color:#fff}.role-choice-shell{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:34px 0}.role-choice-card{width:min(100%,760px);text-align:center}.role-choice-card h1{margin:11px 0 4px;font-size:30px}.role-choice-card>p{margin:0 0 27px}.role-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;text-align:left}.role-choice-grid form{display:flex}.role-choice-grid button{width:100%;min-height:235px;display:flex;align-items:flex-start;flex-direction:column;padding:26px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink)}.role-choice-grid button:hover{transform:translateY(-2px);border-color:#93b9f5;color:var(--ink)}.role-choice-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border-radius:13px;background:#e8f1ff;color:var(--blue);font-size:25px}.role-choice-grid strong{font-size:21px}.role-choice-grid small{margin-top:6px;color:var(--muted);font-weight:500}.role-choice-grid em{margin-top:auto;padding-top:25px;color:var(--blue2);font-style:normal;font-weight:800}.dark-theme .role-choice-grid button{background:var(--panel);border-color:var(--line)}.dark-theme .role-choice-grid button:hover{background:#1a273b;border-color:#426b9f}.dark-theme .role-choice-icon{background:#172b48;color:#73aaff}@media(max-width:700px){.role-choice-grid{grid-template-columns:1fr}.role-choice-grid button{min-height:190px}.profile>span,.active-role-badge{display:none}.role-switch-form button{font-size:0}.role-switch-form button:after{content:'Skift rolle';font-size:12px}}
.login-help-link{display:block;text-align:center;font-weight:700}.login-cancel-form{text-align:center;margin-top:13px}.login-wide-link{display:block;text-align:center}.security-code-input{text-align:center;font-size:24px;font-weight:800;letter-spacing:.25em;font-variant-numeric:tabular-nums}.login-card .security-code-input{letter-spacing:.08em}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.security-panel .panel-title,.pricing-settings .panel-title,.diagnostics-panel .panel-title,.report-table-panel .panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-title h2,.panel-title p{margin:0}.security-status,.diagnostic-health{padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}.security-status.enabled,.diagnostic-health.good{background:#dff7ec;color:#08784a}.security-status.disabled{background:#eef1f5;color:#687388}.diagnostic-health.warning{background:#fff3d5;color:#795600}.diagnostic-health.bad{background:#ffeaed;color:#a62838}.security-panel>.stack,.security-summary{margin-top:20px}.security-summary{padding:10px 12px;border-radius:9px;background:#eef5ff;color:#285b9e;font-size:13px;font-weight:700}.totp-setup{display:grid;grid-template-columns:minmax(250px,300px) 1fr;align-items:center;gap:20px;margin:20px 0}.totp-qr-wrap{width:max-content;max-width:100%;padding:10px;border:1px solid #dce4ef;border-radius:13px;background:#fff}.totp-qr{display:block;max-width:100%;height:auto}.totp-setup ol{margin:0;padding-left:21px}.totp-setup li{margin:7px 0}.totp-manual{margin:14px 0 0;font-size:12px}.totp-manual code{display:inline-block;margin-top:5px;padding:6px 8px;border-radius:7px;background:#eef2f7;color:#172033;font:700 12px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.07em;word-break:break-all}.recovery-panel{display:grid;grid-template-columns:1fr minmax(200px,280px) auto;align-items:center;gap:20px;border-color:#e6c96d;background:#fffaf0}.recovery-panel h2,.recovery-panel p{margin:0}.recovery-panel pre{max-height:none;margin:0;padding:14px;border-radius:10px;background:#172033;color:#f1f6ff;text-align:center;font-size:14px;letter-spacing:.08em}.pricing-form{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;align-items:end;margin-top:20px}.pricing-form button{height:44px}.pricing-note{margin:15px 0 0;color:var(--muted);font-size:12px}.diagnostics-panel{margin-top:20px}.diagnostic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.diagnostic-grid article{display:grid;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.diagnostic-grid span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.diagnostic-grid strong{margin:4px 0;font-size:17px}.diagnostic-grid small{color:var(--muted)}.diagnostic-note{margin:15px 0 0}.report-periods{display:flex;gap:5px;margin:-8px 0 18px;padding:4px;border-radius:11px;background:#e9eef5;width:max-content}.report-periods a{padding:7px 15px;border-radius:8px;color:var(--muted);font-weight:750}.report-periods a.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #24355218}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.report-summary article{display:grid;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.report-summary span{color:var(--muted);font-size:12px}.report-summary strong{font-size:22px}.report-disclaimer{text-align:center;color:var(--muted);font-size:11px}.dark-theme .security-status.enabled,.dark-theme .diagnostic-health.good{background:#12382d;color:#8ce2c0}.dark-theme .security-status.disabled{background:#202d41;color:#aab9cd}.dark-theme .diagnostic-health.warning{background:#49391a;color:#ffd47e}.dark-theme .diagnostic-health.bad{background:#48212a;color:#ffabb5}.dark-theme .diagnostic-grid article{background:#111b2b}.dark-theme .report-periods{background:#101a2a}.dark-theme .report-periods a.active{background:#27364d;color:#fff}.dark-theme .security-summary{background:#172b48;color:#9bc3ff}.dark-theme .totp-manual code{background:#101a2a;color:#dce8fa}.dark-theme .recovery-panel{background:#312a18;border-color:#66562a}@media(max-width:900px){.account-grid{grid-template-columns:1fr}.pricing-form{grid-template-columns:1fr 1fr}.diagnostic-grid,.report-summary{grid-template-columns:1fr 1fr}.recovery-panel{grid-template-columns:1fr 1fr}.recovery-panel button{grid-column:1/-1}}@media(max-width:560px){.pricing-form,.diagnostic-grid,.report-summary,.recovery-panel,.totp-setup{grid-template-columns:1fr}.totp-qr-wrap{width:max-content;max-width:100%;margin:auto}.recovery-panel button{grid-column:auto}}
/* Drift, mailkontrol og brugeradministration */
.settings-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inline-test-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:18px}.dns-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.dns-status-grid article{display:grid;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.dns-status-grid span{color:var(--muted);font-size:11px;font-weight:800}.dns-status-grid strong{font-size:15px}.dns-status-grid .ok strong{color:#08784a}.dns-status-grid .bad strong{color:#a62838}.dns-status-grid .neutral strong{color:var(--muted)}.settings-help{margin:13px 0 0;color:var(--muted);font-size:12px}.monitoring-panel .panel-title form{flex:0 0 auto}.monitor-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.monitor-summary span{color:var(--muted);font-size:12px}.monitor-summary.ok{background:#e9f8f1;border-color:#b9e5d1}.monitor-summary.warning{background:#fff5d9;border-color:#efd58d}.alert-list{display:grid;gap:9px;margin-top:14px}.alert-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.alert-item p{margin:2px 0;color:var(--muted);font-size:13px}.alert-item small{color:var(--muted)}.alert-item>b{padding:4px 8px;border-radius:99px;font-size:10px}.alert-item.open>b{background:#ffeaed;color:#a62838}.alert-item.resolved>b{background:#dff7ec;color:#08784a}.alert-dot{width:10px;height:10px;border-radius:50%;background:#1cad75}.alert-item.open .alert-dot{background:#df3f54;box-shadow:0 0 0 4px #df3f5420}.delivery-status,.user-status{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.delivery-status.ok,.user-status.active{background:#dff7ec;color:#08784a}.delivery-status.bad,.user-status.inactive{background:#ffeaed;color:#a62838}.inactive-user>td{background:#f8fafc;color:var(--muted)}.access-list{display:flex;flex-wrap:wrap;gap:6px;max-width:330px}.access-list>span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;background:#eef3f9;color:var(--ink);font-size:11px;font-weight:700}.access-list form{display:inline-flex}.chip-remove{width:18px;height:18px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#d9e2ef;color:#52647b;line-height:1}.chip-remove:hover{background:#ffdde2;color:#a62838}.user-admin-details{min-width:112px}.user-admin-details summary{list-style:none;display:inline-flex;padding:.62rem .9rem;border:1px solid #ccd5e2;border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;font-weight:650}.user-admin-details summary::-webkit-details-marker{display:none}.user-admin-details[open] summary{border-color:#a8c7f7;background:#eef5ff;color:var(--blue2)}.user-admin-menu{display:grid;gap:12px;min-width:270px;margin-top:9px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:var(--shadow)}.user-admin-menu form{display:grid;gap:8px}.user-admin-menu label{font-size:11px}.user-admin-menu input{padding:.55rem .65rem}.danger-button{border-color:#efb6be;color:#a62838}.danger-button:hover{background:#ffeaed;border-color:#df8793;color:#8d1e2c}.dark-theme .dns-status-grid article,.dark-theme .monitor-summary,.dark-theme .alert-item,.dark-theme .inactive-user>td{background:#111b2b}.dark-theme .monitor-summary.ok{background:#12382d;border-color:#285e4d}.dark-theme .monitor-summary.warning{background:#49391a;border-color:#66542a}.dark-theme .delivery-status.ok,.dark-theme .user-status.active,.dark-theme .alert-item.resolved>b{background:#12382d;color:#8ce2c0}.dark-theme .delivery-status.bad,.dark-theme .user-status.inactive,.dark-theme .alert-item.open>b{background:#48212a;color:#ffabb5}.dark-theme .access-list>span{background:#202d41}.dark-theme .chip-remove{background:#314057;color:#c7d4e5}.dark-theme .chip-remove:hover{background:#48212a;color:#ffabb5}.dark-theme .user-admin-details summary{background:#172338;border-color:#39475c;color:#eaf2ff}.dark-theme .user-admin-details[open] summary{background:#223a5c;border-color:#3f6da8;color:#a9ccff}.dark-theme .danger-button{border-color:#71313e;color:#ffabb5}.dark-theme .danger-button:hover{background:#48212a;border-color:#93404f;color:#fff}@media(max-width:800px){.settings-two-column{grid-template-columns:1fr}.inline-test-form{grid-template-columns:1fr}.monitoring-panel .panel-title,.monitor-summary{align-items:flex-start;flex-direction:column}.dns-status-grid{grid-template-columns:1fr 1fr 1fr}}

/* Samlet mørk temadækning for interaktive og semantiske komponenter. */
.role-choice-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.role-switcher{position:relative}.role-switcher>summary{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #ffffff2b;border-radius:9px;background:#ffffff0d;color:#dce8f8;cursor:pointer;list-style:none}.role-switcher>summary::-webkit-details-marker{display:none}.role-switcher>summary:after{content:'▾';color:#8fa8c8;font-size:10px}.role-switcher>summary small{color:#8fa8c8;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.role-switcher>summary b{font-size:12px}.role-switcher[open]>summary{background:#ffffff18;border-color:#ffffff50}.role-switcher>div{position:absolute;z-index:150;top:calc(100% + 8px);right:0;display:grid;gap:6px;width:285px;padding:8px;border:1px solid #34445b;border-radius:12px;background:#111c2d;box-shadow:0 18px 45px #02071188}.role-switcher form{margin:0}.role-switcher button{display:grid;width:100%;grid-template-columns:30px 1fr;column-gap:9px;padding:9px;text-align:left;background:#172338;border-color:#2f4059;color:#eef5ff}.role-switcher button>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#213b61;color:#8bb9ff;font-size:16px}.role-switcher button>b{font-size:12px}.role-switcher button>small{overflow:hidden;color:#93a4ba;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.role-switcher button:hover{background:#1d2c43;border-color:#52709a}.public-theme-toggle{position:fixed;z-index:120;top:16px;right:16px;background:#172338;border-color:#39475c;box-shadow:0 8px 22px #07101f2e}.dark-theme{--blue2:#84b4ff}.dark-theme button:where(:not(.primary):not(.theme-toggle)),.dark-theme .screen-button,.dark-theme .password-reset summary,.dark-theme .file-button{background:#172338;border-color:#39475c;color:#eaf2ff}.dark-theme button:where(:not(.primary):not(.theme-toggle)):hover,.dark-theme .screen-button:hover,.dark-theme .password-reset summary:hover,.dark-theme .file-button:hover{background:#1d2c43;border-color:#52709a;color:#fff}.dark-theme button:disabled{background:#131d2d;border-color:#2a374a;color:#6f8097;cursor:not-allowed}.dark-theme button.primary:hover,.dark-theme .primary:hover{background:#1456bd;border-color:#1456bd;color:#fff}.dark-theme .password-reset[open] summary,.dark-theme [data-reorder-toggle].active{background:#223a5c;border-color:#3f6da8;color:#a9ccff}.dark-theme .settings-card:has(.settings-card-head[aria-expanded="true"]){border-color:#3b5475;box-shadow:0 10px 26px #0004}.dark-theme .settings-card-head>i{background:#202d41;color:#aab9cd}.dark-theme .settings-card-head[aria-expanded="true"]>i{background:#233b5d;color:#8bb8ff}.dark-theme .settings-card-icon,.dark-theme .device-icon,.dark-theme .address-icon{background:#172b48;color:#73aaff}.dark-theme .settings-card-icon.solar{background:#49391a;color:#ffd47e}.dark-theme .settings-card-body{border-top-color:#29364a}.dark-theme .solar-choice{background:#2c281b;border-color:#65562d}.dark-theme .solar-choice-icon{background:#5b4617;color:#ffd36e}.dark-theme .measurement-settings .check:has(input:disabled){background:#121b2a;border-color:#29364a;color:#75859b}.dark-theme .status{background:#202d41;color:#b4c2d5}.dark-theme .status i{background:#7e8da3}.dark-theme .status.online{background:#12382d;color:#8ce2c0}.dark-theme .solar-badge{background:#49391a;color:#ffd47e}.dark-theme .card-direction.import{background:#143750;color:#73c8f0}.dark-theme .card-direction.export{background:#4a2c1c;color:#ffad72}.dark-theme .quality.complete{background:#12382d;color:#8ce2c0}.dark-theme .quality.incomplete{background:#49391a;color:#ffd47e}.dark-theme .quality.loading{background:#202d41;color:#aab9cd}.dark-theme .alert.warning{background:#49391a;border-color:#66542a;color:#ffd47e}.dark-theme .impersonation{background:#3f3117;border-color:#66542a;color:#ffd47e}.dark-theme .impersonation button{background:#5a451f;border-color:#80672e;color:#fff0b5}.dark-theme .metric-symbol.contact{background:#12382d;color:#8ce2c0}.dark-theme .address-edit-panel{border-color:#365477}.dark-theme .address-card:hover,.dark-theme .device-card:hover,.dark-theme .device-grid.reordering .device-card{border-color:#426b9f}.dark-theme .address-counts span{background:#202d41}.dark-theme .inline-empty,.dark-theme .friendly-empty,.dark-theme .reorder-controls{border-color:#40516a}.dark-theme .admin-settings-button:hover{border-color:#426b9f;color:#9bc3ff}.dark-theme .admin-settings-button span,.dark-theme .settings-page-icon{color:#73aaff}.dark-theme .switch-ui{background:#35445a}.dark-theme .report-periods a:hover{background:#1c2b41;color:#fff}.dark-theme .layout-option>span:hover{border-color:#426b9f}.dark-theme .role-choice-grid em,.dark-theme .card-open,.dark-theme .address-card em{color:#9bc3ff}.dark-theme .totp-qr-wrap{border-color:#536176}.dark-theme .public-theme-toggle{background:#172338;border-color:#455570;color:#eaf2ff}
@media(max-width:700px){.role-switcher>summary small{display:none}.role-switcher>div{position:fixed;top:70px;right:10px;left:10px;width:auto}.role-switcher button>small{white-space:normal}}
@media print{.top,.mobile-nav,footer,.no-print,.impersonation,.public-theme-toggle{display:none!important}.wrap{max-width:none;padding:0;min-height:auto}.report-page{color:#000}.panel,.report-summary article{box-shadow:none;border-color:#bbb;background:#fff}.report-table-panel{padding:0;border:0}.report-table-panel table{font-size:10px}.report-disclaimer{margin-top:20px}body{background:#fff;color:#000}}

/* ViAN-Collect brandlogo. Kildebilledet har transparent luft omkring motivet;
   cover beskærer kun denne luft og bevarer selve logoets proportioner. */
.top .brand{display:block;flex:0 0 190px;width:190px;height:40px;background:url("vian-collect-logo-reference-edit.png") center/cover no-repeat;font-size:0;color:transparent;overflow:hidden}
.top .brand .bolt{display:none}
.logo-big{display:block;width:min(100%,320px);height:88px;margin:0 auto 4px;background:url("vian-collect-logo-reference-edit.png") center/cover no-repeat;border-radius:0;color:transparent;font-size:0;overflow:hidden}
@media(max-width:700px){.top .brand{flex-basis:155px;width:155px;height:34px}.logo-big{width:min(100%,280px);height:76px}}
.price-cost-today{display:grid;margin-top:12px;padding-top:10px;border-top:1px solid #ffffff1c}.price-cost-today span{color:#aabbd2;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.price-cost-today b{font-size:18px}
@media(max-width:1000px){.smtp-form{grid-template-columns:1fr 1fr}.address-form{grid-template-columns:1fr 1fr}.address-grid{grid-template-columns:repeat(2,1fr)}[data-device-grid].compact .device-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.span2{grid-column:auto}.smtp-form,.address-form,.address-manage-grid,.customer-chip-list{grid-template-columns:1fr}.address-grid{grid-template-columns:1fr}.address-hero .address-counts{position:static;margin-top:18px}.inline-form{align-items:stretch;flex-direction:column}.customer-address{padding:14px}.customer-address>header{align-items:flex-start;flex-wrap:wrap}.customer-address>header>span:last-child{margin-left:55px;width:100%}[data-device-grid].compact .device-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){[data-device-grid].compact .device-grid{grid-template-columns:1fr}[data-device-grid].compact .device-meta{display:flex}[data-device-grid].compact .device-card>small{display:block}}
.audit-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.audit-filters label{min-width:220px;flex:1}.audit-filters .screen-button{min-height:44px;display:inline-flex;align-items:center}.audit-details{max-width:360px;overflow-wrap:anywhere;font-size:.82rem;color:var(--muted)}.audit-panel code{white-space:nowrap}
.not-found-shell{min-height:calc(100vh - 210px);display:grid;place-items:center;padding:40px 0}.not-found-card{position:relative;width:min(560px,100%);padding:54px 44px;text-align:center;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.not-found-code{position:absolute;top:-30px;right:-8px;color:var(--blue);font-size:150px;font-weight:900;line-height:1;opacity:.055}.not-found-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:18px;background:linear-gradient(145deg,#2979ff,#1763d8);color:#fff;font-size:34px;box-shadow:0 14px 30px #2979ff38}.not-found-card h1{margin:8px 0 12px;font-size:clamp(28px,5vw,42px)}.not-found-card>p:not(.eyebrow){max-width:430px;margin:0 auto 26px;color:var(--muted);line-height:1.65}.not-found-action{display:inline-flex;justify-content:center;text-decoration:none}.dark-theme .not-found-card{background:#111b2b}.dark-theme .not-found-code{opacity:.1}@media(max-width:600px){.not-found-card{padding:42px 22px}.not-found-shell{padding:20px 0}}

/* Privatliv, support og datarettigheder */
.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:9px 13px;border-radius:8px;background:#fff;color:#10203a;box-shadow:0 4px 18px #0003;transform:translateY(-160%)}.skip-link:focus{transform:none}.wrap>footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.wrap>footer nav{display:flex;gap:14px}.wrap>footer a{font-weight:700}.legal-page{max-width:1000px;margin:0 auto}.legal-intro{border-left:4px solid var(--blue)}.legal-intro p{margin-bottom:0;line-height:1.7}.legal-grid,.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.legal-grid .panel,.support-grid .panel{margin:0}.legal-grid p,.legal-grid li,.support-grid p,.support-grid li{color:var(--muted);line-height:1.7}.legal-grid ul,.support-grid ol{margin:0;padding-left:20px}.storage-table td{white-space:normal;min-width:140px;vertical-align:top}.support-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:14px;border-radius:12px;background:#e8f1ff;color:var(--blue);font-size:24px;font-weight:900}.data-rights-panel{margin-top:20px}.data-rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.data-rights-grid>form,.deletion-box{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.data-rights-grid h3{margin:0}.data-rights-grid p{margin:5px 0 15px;color:var(--muted)}.deletion-request summary{display:inline-flex;padding:.62rem .9rem;border:1px solid #efb6be;border-radius:9px;color:#a62838;cursor:pointer;font-weight:700}.deletion-request form{margin-top:14px}.privacy-admin-panel .request-count{padding:5px 9px;border-radius:99px;background:#eef3f9;color:var(--muted);font-size:11px;font-weight:800}.request-list{display:grid;gap:10px;margin-top:18px}.request-list>article{display:grid;grid-template-columns:1fr auto;align-items:start;gap:16px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.request-list>article>div{display:grid;gap:3px}.request-list span,.request-list small{color:var(--muted);font-size:12px}.request-list small{color:#a45716}.request-list details{min-width:270px}.request-list summary{cursor:pointer;font-weight:750}.request-list form{margin-top:10px;padding:13px;border-radius:10px;background:var(--panel)}textarea{width:100%;border:1px solid #cbd4e1;border-radius:9px;padding:.72rem .8rem;background:#fff;color:var(--ink);font:inherit;resize:vertical}textarea:focus{outline:3px solid #2979ff22;border-color:var(--blue)}
.dark-theme textarea{background:#172338;border-color:#39475c;color:var(--ink)}.dark-theme .legal-intro{background:var(--panel)}.dark-theme .support-icon{background:#172b48;color:#73aaff}.dark-theme .data-rights-grid>form,.dark-theme .deletion-box,.dark-theme .request-list>article{background:#111b2b}.dark-theme .privacy-admin-panel .request-count{background:#202d41}.dark-theme .deletion-request summary{border-color:#71313e;color:#ffabb5}
@media(max-width:760px){.legal-grid,.support-grid,.data-rights-grid{grid-template-columns:1fr}.request-list>article{grid-template-columns:1fr}.request-list details{min-width:0}.wrap>footer{flex-direction:column;gap:8px}.wrap>footer nav{flex-wrap:wrap;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Levende, rolig app-følelse på den samlede infoskærm. */
.overview-display-page .overview-display-header,
.overview-display-page .overview-summary article,
.overview-display-page .solar-app-flow,
.overview-display-page .overview-device-card{border-color:#ffffff20;box-shadow:0 16px 40px #0207114f,inset 0 1px #ffffff08}
.overview-display-page .overview-display-header{animation:overview-rise .5s cubic-bezier(.22,.8,.25,1) both}
.overview-display-page .overview-summary article{animation:overview-rise .55s cubic-bezier(.22,.8,.25,1) both}
.overview-display-page .overview-summary article:nth-child(2){animation-delay:.06s}
.overview-display-page .overview-summary article:nth-child(3){animation-delay:.12s}
.overview-display-page .overview-address-group{animation:overview-rise .6s .12s cubic-bezier(.22,.8,.25,1) both}
.overview-display-page .overview-device-card{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;animation:overview-card-in .48s cubic-bezier(.22,.8,.25,1) both}
.overview-display-page .overview-device-card:nth-child(2){animation-delay:.05s}.overview-display-page .overview-device-card:nth-child(3){animation-delay:.1s}.overview-display-page .overview-device-card:nth-child(4){animation-delay:.15s}.overview-display-page .overview-device-card:nth-child(5){animation-delay:.2s}.overview-display-page .overview-device-card:nth-child(6){animation-delay:.25s}.overview-display-page .overview-device-card:nth-child(7){animation-delay:.3s}.overview-display-page .overview-device-card:nth-child(8){animation-delay:.35s}.overview-display-page .overview-device-card:nth-child(9){animation-delay:.4s}
.overview-display-page .overview-total-power:after{content:'';position:absolute;inset:-50% auto -50% -35%;width:22%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff20,transparent);transform:skewX(-18deg);animation:overview-sheen 7s 1.2s ease-in-out infinite}
.overview-display-page .overview-device-card:before{background:linear-gradient(90deg,#315b91,#73aaff,#315b91);background-size:220% 100%;animation:overview-accent 4s linear infinite}
.overview-display-page .overview-device-card.exporting:before{background:linear-gradient(90deg,#8b471a,#ffad72,#8b471a);background-size:220% 100%}
.overview-display-page .solar-app-flow.ready .solar-flow-link>span{height:3px;background:linear-gradient(90deg,#2b609d 0,#2b609d 32%,#b9ddff 50%,#2b609d 68%,#2b609d 100%);background-size:220% 100%;box-shadow:0 0 12px #3f85e84d;animation:overview-energy-right 1.6s linear infinite}
.overview-display-page .solar-app-flow.ready .grid-link.import>span{animation-name:overview-energy-left}
.overview-display-page .solar-app-flow.ready .grid-link.export>span{background-image:linear-gradient(90deg,#713b1b 0,#713b1b 32%,#ffc08e 50%,#713b1b 68%,#713b1b 100%)}
.overview-display-page .solar-app-flow.ready .solar-flow-link>b{animation:overview-beacon 2.2s ease-in-out infinite}
.overview-display-page .solar-app-flow.ready .solar-flow-node>i{animation:overview-node-breathe 3s ease-in-out infinite}
.overview-display-page .solar-app-flow.ready .solar-flow-node.home>i{animation-delay:.35s}.overview-display-page .solar-app-flow.ready .solar-flow-node.grid>i{animation-delay:.7s}
.overview-display-page .overview-online>i{animation:overview-online 2s ease-out infinite}
.overview-display-page .value-updated{animation:overview-value-update .55s cubic-bezier(.2,.8,.2,1)}
.overview-summary.overview-summary-wide{grid-template-columns:minmax(0,1fr)}.overview-summary.overview-summary-wide .overview-total-power{grid-column:1/-1;width:100%;grid-template-columns:minmax(230px,.55fr) minmax(420px,1.45fr)}
.overview-role-row{display:grid;gap:9px}.overview-role-row+.overview-role-row{margin-top:13px;padding-top:13px;border-top:1px solid #ffffff10}.overview-role-row>header{display:flex;align-items:center;gap:10px;padding:0 4px}.overview-role-row>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#18345a;color:#75adff;font-size:18px}.overview-role-row>header>div{display:grid}.overview-role-row>header small{color:#6f87a6;font-size:8px;font-weight:850;letter-spacing:.14em}.overview-role-row>header h2{margin:0;color:#edf4ff;font-size:16px}.overview-role-row>header>b{margin-left:auto;color:#71839d;font-size:9px;font-weight:700;white-space:nowrap}.overview-role-row.role-solar>header>span{background:#49391a;color:#ffd36e}.overview-role-row.role-consumption>header>span{background:#173a35;color:#73ddbd}.overview-role-row.role-grid>header>span{background:#18345a;color:#73aaff}.overview-role-row.role-compressor>header>span{background:#352a53;color:#c9adff}.overview-role-row.role-lighting>header>span{background:#494018;color:#ffe178}.overview-device-card.role-compressor:before{background:linear-gradient(90deg,#5f43a0,#c0a1ff,#5f43a0);background-size:220% 100%}.overview-device-card.role-lighting:before{background:linear-gradient(90deg,#8a741d,#ffe178,#8a741d);background-size:220% 100%}.overview-device-card.role-compressor .overview-device-name>span{background:#5b4291;color:#efe7ff}.overview-device-card.role-lighting .overview-device-name>span{background:#766216;color:#fff3a7}.overview-address-group>.solar-app-flow{margin-bottom:2px}.overview-display-shell.many-devices .overview-role-row{gap:6px}.overview-display-shell.many-devices .overview-role-row+.overview-role-row{margin-top:7px;padding-top:7px}.overview-display-shell.many-devices .overview-role-row>header>span{width:27px;height:27px;border-radius:8px;font-size:14px}.overview-display-shell.many-devices .overview-role-row>header h2{font-size:13px}.overview-display-shell.many-devices .overview-role-row>header small{font-size:7px}
@media(min-width:1401px) and (min-height:850px){.overview-display-shell.many-devices.fleet-view .overview-role-row{grid-template-columns:150px minmax(0,1fr);gap:9px}.overview-display-shell.many-devices.fleet-view .overview-role-row+.overview-role-row{margin-top:5px;padding-top:5px}.overview-display-shell.many-devices.fleet-view .overview-role-row>header>span{width:31px;height:31px;font-size:16px}.overview-display-shell.many-devices.fleet-view .overview-role-row>header h2{font-size:13px}.overview-display-shell.many-devices.fleet-view .overview-role-row>header small{font-size:7px}}
.solar-flow-node.home>[data-flow="self-sufficiency"]{color:#73ddbd;font-weight:700}.overview-display-shell.many-devices .solar-flow-node.home>[data-flow="self-sufficiency"]{display:block;font-size:9px}
.flow-submeters[hidden],.flow-submeter-card[hidden]{display:none}.flow-submeters{position:relative;margin:-3px auto 16px;padding-top:31px;max-width:980px}.flow-submeter-stem{position:absolute;top:-17px;left:50%;width:3px;height:48px;transform:translateX(-50%);border-radius:99px;background:#60448e;box-shadow:0 0 10px #8f6bc766}.flow-submeter-cards{--flow-card-count:2;position:relative;display:grid;grid-template-columns:repeat(var(--flow-card-count),minmax(0,1fr));gap:16px;padding-top:22px}.flow-submeter-cards.count-1{--flow-card-count:1;max-width:420px;margin:auto}.flow-submeter-cards.count-3{--flow-card-count:3}.flow-submeter-cards:before{content:"";position:absolute;z-index:0;top:0;left:calc(50% / var(--flow-card-count));right:calc(50% / var(--flow-card-count));height:3px;border-radius:99px;background:#60448e;box-shadow:0 0 10px #8f6bc755}.flow-submeter-cards.count-1:before{display:none}.flow-submeter-card{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:83px;padding:13px 15px;border:1px solid #60448e99;border-radius:15px;background:linear-gradient(145deg,#19182a,#111827);box-shadow:0 10px 24px #02071138}.flow-submeter-card:before{content:"";position:absolute;bottom:100%;left:50%;width:3px;height:22px;transform:translateX(-50%);background:#60448e}.flow-submeter-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#392d59;color:#c9adff;font-size:21px;font-style:normal}.flow-submeter-card.role-lighting>i{background:#4b411b;color:#ffe178}.flow-submeter-card.role-unmonitored{border-style:dashed;background:linear-gradient(145deg,#171a26,#111827)}.flow-submeter-card.role-unmonitored>i{background:#2c3242;color:#bac5d9}.flow-submeter-card.role-unmonitored span{color:#aeb8ca}.flow-submeter-card>div{display:grid;min-width:0}.flow-submeter-card span{color:#a992d4;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.flow-submeter-card strong{color:#f2f0ff;font-size:22px;line-height:1.1}.flow-submeter-card small{margin-top:3px;color:#7f7897;font-size:9px}.flow-submeter-card>b{padding:5px 8px;border-radius:99px;background:#29243b;color:#a99bc5;font-size:9px}.flow-submeter-card.active>b{background:#3b2661;color:#dcc9ff}.flow-submeter-card.role-unmonitored>b{background:#2c3242;color:#cad3e3}.flow-submeter-card.offline{opacity:.62}.flow-submeters.has-active .flow-submeter-stem,.flow-submeters.has-active .flow-submeter-cards:before,.flow-submeter-card.active:before{background:linear-gradient(180deg,#65449b,#c3a0ff,#65449b);background-size:100% 220%;box-shadow:0 0 13px #a981e999;animation:submeter-energy-down 1.45s linear infinite}.flow-submeter-card.active{border-color:#9a73d5;box-shadow:0 0 0 1px #9a73d522,0 12px 28px #150b285c}.flow-submeter-card.active>i{animation:overview-node-breathe 2.3s ease-in-out infinite}@keyframes submeter-energy-down{to{background-position:0 220%}}
@media(max-width:850px){.flow-submeters{padding-top:24px}.flow-submeter-cards,.flow-submeter-cards.count-1,.flow-submeter-cards.count-3{grid-template-columns:1fr;max-width:none}.flow-submeter-cards:before{display:none}.flow-submeter-card:before{left:22px}.flow-submeter-stem{left:22px;height:41px}.flow-submeter-card{grid-template-columns:auto minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){.flow-submeters.has-active .flow-submeter-stem,.flow-submeters.has-active .flow-submeter-cards:before,.flow-submeter-card.active:before,.flow-submeter-card.active>i{animation:none}}
.overview-display-shell.many-devices .flow-submeters{max-width:820px;margin:-3px auto 7px;padding-top:18px}.overview-display-shell.many-devices .flow-submeter-stem{top:-9px;height:27px}.overview-display-shell.many-devices .flow-submeter-cards{gap:9px;padding-top:15px}.overview-display-shell.many-devices .flow-submeter-card{min-height:57px;padding:7px 10px;border-radius:11px}.overview-display-shell.many-devices .flow-submeter-card:before{height:15px}.overview-display-shell.many-devices .flow-submeter-card>i{width:31px;height:31px;border-radius:9px;font-size:16px}.overview-display-shell.many-devices .flow-submeter-card strong{font-size:17px}.overview-display-shell.many-devices .flow-submeter-card small{display:none}.overview-display-shell.many-devices .flow-submeter-card>b{font-size:8px;padding:4px 6px}.overview-display-shell.fleet-view .flow-submeters{max-width:760px;padding-top:15px}.overview-display-shell.fleet-view .flow-submeter-card{min-height:50px;padding:5px 9px}
/* Mellemstore installationer bruger højden bedre uden at gøre de vigtige tal små. */
@media(min-width:1401px) and (min-height:850px){
  .overview-display-shell.many-devices:not(.fleet-view){padding:10px 18px 14px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-display-header{height:60px;margin-bottom:8px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-app-flow{margin-bottom:6px;padding:8px 14px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-flow-diagram{margin:3px 0}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-flow-node{min-height:64px;padding:5px 8px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-flow-node>i{width:29px;height:29px;margin-bottom:2px;font-size:16px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-flow-node>span{font-size:8px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-flow-node>strong{font-size:20px}
  .overview-display-shell.many-devices:not(.fleet-view) .solar-app-flow>footer{display:none}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row{grid-template-columns:145px minmax(0,1fr);align-items:start;gap:9px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row+.overview-role-row{margin-top:5px;padding-top:5px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row>header{position:relative;align-self:stretch;padding:7px 6px;border-radius:10px;background:#ffffff05}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row>header>span{width:31px;height:31px;font-size:16px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row>header h2{max-width:none;font-size:14px;white-space:nowrap}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row>header small{font-size:7px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-role-row>header>b{position:absolute;left:43px;bottom:7px;font-size:8px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-card{min-height:76px;border-radius:11px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-card>header{padding:8px 10px 2px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-name small{display:none}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-name h2{font-size:14px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-power{display:flex;align-items:baseline;gap:7px;padding:0 10px 8px}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-power strong{font-size:22px;line-height:1.05}
  .overview-display-shell.many-devices:not(.fleet-view) .overview-device-power small{font-size:9px}
}

.meter-role-note{margin:-7px 0 17px;padding:10px 12px;border-left:3px solid #7657be;border-radius:0 9px 9px 0;background:#7657be12;color:var(--muted);font-size:13px;line-height:1.45}.dark-theme .meter-role-note{background:#a987ff12;color:#aab8cc}.device-card.role-compressor .device-icon{background:#eee8ff;color:#6745a8}.device-card.role-lighting .device-icon{background:#fff8cf;color:#8a7015}.dark-theme .device-card.role-compressor .device-icon{background:#352a53;color:#c9adff}.dark-theme .device-card.role-lighting .device-icon{background:#494018;color:#ffe178}
.overview-address-brand{box-sizing:border-box;padding:5px;border:1px solid #ffffff22;border-radius:12px;background:#fff;object-fit:contain}
.overview-summary-icon.has-logo,.overview-address-icon.has-logo{overflow:hidden;padding:3px;background:#fff;border-color:#ffffff26}
.overview-summary-icon.has-logo img,.overview-address-icon.has-logo img{display:block;width:100%;height:100%;object-fit:contain}
.address-icon.has-logo{overflow:hidden;padding:4px;background:#fff}.address-icon.has-logo img{width:100%;height:100%;object-fit:contain}
.address-hero-brand{display:flex;align-items:center;gap:17px}.address-hero-brand p{margin:0;color:#e7f1ff}.address-hero-logo{display:grid;place-items:center;flex:0 0 auto;width:68px;height:68px;border:1px solid #ffffff35;border-radius:16px;background:#ffffff17;color:#fff;font-size:31px}.address-hero-logo.has-logo{overflow:hidden;padding:6px;background:#fff}.address-hero-logo img{width:100%;height:100%;object-fit:contain}.address-logo-config{padding-bottom:2px}
@media(max-width:700px){.address-hero-brand{align-items:flex-start}.address-hero-logo{width:56px;height:56px}.overview-address-brand{width:105px!important;height:48px!important}}

/* Ensartet logoplacering: billedets egne proportioner bestemmer bredden. */
.display-identity .display-address-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:max-content;min-width:54px;max-width:180px;height:54px;padding:6px 9px;overflow:hidden;border:1px solid #dbe4f0;border-radius:13px;background:#fff;box-shadow:0 8px 20px #02071126}
.display-identity .display-address-logo>img{display:block;width:auto!important;height:auto!important;max-width:160px;max-height:40px;object-fit:contain;object-position:center}
.display-identity>img{display:block;width:auto;min-width:54px;max-width:180px;height:54px;padding:6px 9px;object-fit:contain;object-position:center;border:1px solid #dbe4f0;border-radius:13px;background:#fff;box-shadow:0 8px 20px #02071126}
.overview-display-header .display-identity{gap:12px}
.overview-display-header .overview-app-title{padding-left:1px}
.overview-address-icon.has-logo{width:auto;min-width:35px;max-width:88px;padding:4px 7px}
.overview-address-icon.has-logo img{width:auto;max-width:72px}
.address-icon.has-logo{width:max-content;min-width:42px;max-width:94px;padding:5px 7px}.address-icon.has-logo img{width:auto;height:auto;max-width:78px;max-height:30px}
.address-hero-logo.has-logo{width:max-content;min-width:68px;max-width:180px;padding:7px 10px}.address-hero-logo.has-logo img{width:auto;height:auto;max-width:158px;max-height:52px}
.device-identity>img{width:auto;min-width:68px;max-width:180px;height:68px;object-position:center}
.logo-preview{width:118px;height:74px;padding:7px}.logo-preview img{display:block;width:auto;height:auto;max-width:102px;max-height:58px}
@media(max-width:700px){.display-identity .display-address-logo,.display-identity>img{min-width:48px;max-width:132px;height:48px;padding:5px 8px}.display-identity .display-address-logo>img{max-width:114px;max-height:36px}.overview-display-header .display-identity{gap:9px}.address-hero-logo.has-logo{min-width:56px;max-width:132px}.address-hero-logo.has-logo img{max-width:112px;max-height:42px}.device-identity>img{min-width:56px;max-width:140px;height:56px}.logo-preview{width:108px;height:68px}}

/* Adressebaseret ESG-overblik */
.esg-entry-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:0 0 22px;padding:18px 20px;border:1px solid #b9d8cf;border-radius:15px;background:linear-gradient(120deg,#effbf7,#f7fbff);color:var(--ink);box-shadow:var(--shadow)}.esg-entry-card:hover{border-color:#54ac92;transform:translateY(-1px)}.esg-entry-card>span,.esg-shortcuts a>span{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#d9f5ea;color:#08784a;font-size:24px}.esg-entry-card>div{display:grid}.esg-entry-card p{margin:0}.esg-entry-card strong{font-size:17px}.esg-entry-card small,.esg-entry-card>b{color:var(--muted)}.esg-entry-card>b{font-size:12px;color:#08784a}.esg-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.esg-shortcuts a{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--ink);box-shadow:0 5px 18px #1720330a}.esg-shortcuts a:hover{border-color:#73bca7}.esg-shortcuts a>span{width:38px;height:38px;border-radius:10px;font-size:19px}.esg-shortcuts a>div{display:grid;min-width:0}.esg-shortcuts strong,.esg-shortcuts small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esg-shortcuts small{color:var(--muted)}.esg-shortcuts b{grid-column:2;color:#08784a;font-size:12px}
.esg-title{align-items:center}.esg-title .eyebrow{margin:12px 0 2px}.esg-document-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.esg-document-meta span{padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:10px}.esg-document-meta strong{margin-left:3px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.esg-periods{margin-bottom:18px}.esg-period-picker{display:grid;gap:11px;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:var(--shadow)}.esg-period-quick{display:flex;align-items:center;gap:7px}.esg-period-quick>span{margin-right:4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.esg-period-quick a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#f6f8fb;color:var(--muted);font-size:12px;font-weight:750}.esg-period-quick a:hover,.esg-period-quick a.active{border-color:#4e9e87;background:#e8f7f2;color:#08784a}.esg-period-forms{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:9px}.esg-period-forms form{display:flex;align-items:end;gap:8px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.esg-period-forms form.active{border-color:#73bca7;box-shadow:0 0 0 2px #23a67d18}.esg-period-forms label{display:grid;flex:1;gap:4px;color:var(--muted);font-size:10px;font-weight:750}.esg-period-forms input{min-width:0;height:38px;padding:7px 9px}.esg-period-forms button{height:38px;padding:0 12px;white-space:nowrap}.esg-period-forms form.range{display:grid;grid-template-columns:1fr 1fr auto}.esg-period-forms form.range button{align-self:end}.esg-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:22px 24px;border:1px solid #c8e3db;border-radius:16px;background:linear-gradient(125deg,#f0fbf7,#f4f8ff);box-shadow:var(--shadow)}.esg-intro>div{display:flex;align-items:center;gap:16px}.esg-intro-icon{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:15px;background:#d9f5ea;color:#08784a;font-size:28px}.esg-intro h2,.esg-intro p{margin:0}.esg-intro>div>div>p:last-child{margin-top:3px;color:var(--muted)}.esg-quality-summary{display:grid!important;justify-items:end;gap:5px!important;text-align:right}.esg-quality-summary small{color:var(--muted);white-space:nowrap}.quality.provisional{background:#e8eef8;color:#36557d}.esg-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.esg-metrics article{position:relative;display:grid;min-height:168px;padding:19px 19px 17px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:var(--shadow)}.esg-metrics article:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:#5d91d8}.esg-metrics article.solar:before{background:#e1a322}.esg-metrics article.import:before{background:#318ddd}.esg-metrics article.export:before{background:#e87835}.esg-metrics article.consumption:before{background:#23a67d}.esg-metrics i{display:grid;place-items:center;width:37px;height:37px;margin-bottom:9px;border-radius:10px;background:#e9f6f2;color:#08784a;font-style:normal;font-size:20px}.esg-metrics .solar i{background:#fff4d2;color:#9a6800}.esg-metrics .import i{background:#e8f1ff;color:#1768d7}.esg-metrics .export i{background:#fff0e5;color:#b6500c}.esg-metrics span{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.esg-metrics strong{margin:2px 0;font-size:27px}.esg-metrics small{display:grid;align-self:end;color:var(--muted)}.esg-metrics small b{margin-bottom:2px;color:var(--ink);font-size:12px}
.esg-submeters{margin-bottom:16px}.esg-submeters-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.esg-submeters-head h2,.esg-submeters-head p{margin:0}.esg-submeters-head>span{padding:6px 9px;border-radius:99px;background:#eef2f8;color:#607087;font-size:10px;font-weight:800;white-space:nowrap}.esg-submeter-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.esg-submeter-totals article{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8faff}.esg-submeter-totals i,.submeter-role{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:11px;font-size:20px;font-style:normal}.esg-submeter-totals .compressor i,.submeter-role.compressor{background:#eee8ff;color:#6745a8}.esg-submeter-totals .lighting i,.submeter-role.lighting{background:#fff5bd;color:#866b00}.esg-submeter-totals article>div{display:grid}.esg-submeter-totals span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.esg-submeter-totals strong{font-size:24px}.esg-submeter-totals small{color:var(--muted)}.esg-submeter-devices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.esg-submeter-devices>article{display:grid;grid-template-columns:auto minmax(100px,1fr) minmax(250px,1.3fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px}.esg-submeter-devices>article>div{display:grid;min-width:0}.esg-submeter-devices>article>div strong,.esg-submeter-devices>article>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esg-submeter-devices>article>div small{color:var(--muted)}.esg-submeter-devices dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.esg-submeter-devices dl>div{display:grid}.esg-submeter-devices dt{color:var(--muted);font-size:9px;text-transform:uppercase}.esg-submeter-devices dd{margin:0;font-size:12px;font-weight:800;white-space:nowrap}
.esg-balance{display:grid;grid-template-columns:1.2fr .8fr 1fr;align-items:center;gap:28px}.esg-balance h2,.esg-balance p{margin:0}.esg-balance-copy>p:last-child{margin-top:5px}.esg-gauge{display:grid;text-align:center}.esg-gauge progress{width:100%;height:12px;margin-bottom:8px;border:0;border-radius:99px;overflow:hidden;background:#e6edf4}.esg-gauge progress::-webkit-progress-bar{background:#e6edf4}.esg-gauge progress::-webkit-progress-value{background:linear-gradient(90deg,#1cad75,#e2b43d);border-radius:99px}.esg-gauge progress::-moz-progress-bar{background:linear-gradient(90deg,#1cad75,#e2b43d);border-radius:99px}.esg-gauge strong{font-size:30px}.esg-gauge small{color:var(--muted)}.esg-balance dl{display:grid;gap:8px;margin:0}.esg-balance dl>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.esg-balance dt{color:var(--muted)}.esg-balance dd{margin:0;font-weight:800}.esg-quality-alert ul{margin:8px 0 8px 20px;padding:0}.esg-quality-alert li+li{margin-top:3px}.esg-table-panel .panel-title{margin-bottom:14px}.esg-table-panel .eyebrow{margin:0}.esg-unit-note{color:var(--muted);font-size:11px;font-weight:800}.esg-table-panel tfoot th{border-top:2px solid var(--line);background:#f3f7f8;color:var(--ink)}.table-quality{display:inline-flex;padding:4px 7px;border-radius:99px;font-size:11px;font-weight:800}.table-quality.ok{background:#dcf8eb;color:#08784a}.table-quality.bad{background:#fff5d9;color:#725300}.esg-method{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:26px;margin:18px 0;padding:20px 22px;border-left:4px solid #23a67d;border-radius:0 13px 13px 0;background:#edf8f5}.esg-method h2{margin:0}.esg-method p{margin:7px 0 0;color:#526277;line-height:1.55}.esg-method dl{display:grid;align-content:start;gap:8px;margin:0}.esg-method dl>div{display:grid;grid-template-columns:1fr auto;gap:10px;padding-bottom:7px;border-bottom:1px solid #bddfd5}.esg-method dt{color:#526277}.esg-method dd{max-width:180px;margin:0;overflow:hidden;color:#173b33;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.dark-theme .esg-entry-card,.dark-theme .esg-intro{background:linear-gradient(125deg,#15362f,#16283e);border-color:#315c53}.dark-theme .esg-entry-card>span,.dark-theme .esg-shortcuts a>span,.dark-theme .esg-intro-icon{background:#153f34;color:#7ce1bd}.dark-theme .esg-entry-card>b,.dark-theme .esg-shortcuts b{color:#7ce1bd}.dark-theme .esg-shortcuts a,.dark-theme .esg-metrics article{background:var(--panel)}.dark-theme .esg-period-quick a,.dark-theme .esg-period-forms form{background:#111b2b}.dark-theme .esg-period-quick a:hover,.dark-theme .esg-period-quick a.active{background:#153f34;color:#7ce1bd}.dark-theme .esg-submeters-head>span{background:#26354a;color:#aebdd2}.dark-theme .esg-submeter-totals article{background:#111b2b}.dark-theme .esg-submeter-totals .compressor i,.dark-theme .submeter-role.compressor{background:#352a53;color:#c9adff}.dark-theme .esg-submeter-totals .lighting i,.dark-theme .submeter-role.lighting{background:#494018;color:#ffe178}.dark-theme .esg-table-panel tfoot th{background:#132033}.dark-theme .esg-method{background:#12342d}.dark-theme .esg-method p,.dark-theme .esg-method dt{color:#aebdd2}.dark-theme .esg-method dl>div{border-color:#315c53}.dark-theme .esg-method dd{color:#d9fff1}.dark-theme .esg-gauge progress,.dark-theme .esg-gauge progress::-webkit-progress-bar{background:#26354a}
.esg-metrics article.wind:before{background:#2e9bb5}.esg-metrics .wind i{background:#def5fa;color:#17657a}.dark-theme .esg-metrics .wind i{background:#153b4a;color:#82d9ef}
@media(min-width:621px){.esg-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
@media(max-width:1100px){.esg-submeter-devices{grid-template-columns:1fr}}
@media(max-width:950px){.esg-shortcuts,.esg-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.esg-period-forms{grid-template-columns:1fr}.esg-balance{grid-template-columns:1fr 1fr}.esg-balance dl{grid-column:1/-1}.esg-method{grid-template-columns:1fr}}
@media(max-width:620px){.esg-entry-card{grid-template-columns:auto 1fr}.esg-entry-card>b{grid-column:2}.esg-shortcuts,.esg-metrics,.esg-balance,.esg-submeter-totals{grid-template-columns:1fr}.esg-intro,.esg-submeters-head{align-items:flex-start;flex-direction:column}.esg-quality-summary{justify-items:start;text-align:left}.esg-period-quick{align-items:stretch;flex-wrap:wrap}.esg-period-quick>span{width:100%}.esg-period-forms form,.esg-period-forms form.range{display:grid;grid-template-columns:1fr}.esg-period-forms button{width:100%}.esg-balance dl{grid-column:auto}.esg-metrics article{min-height:138px}.esg-submeter-devices>article{grid-template-columns:auto minmax(0,1fr) auto}.esg-submeter-devices dl{grid-column:1/-1;grid-row:2}.esg-submeter-devices .table-quality{grid-column:3;grid-row:1}}
@page esg-report{size:A4 landscape;margin:11mm 10mm 13mm}
@media print{
  .esg-page{page:esg-report;color:#13202d;font-family:Arial,sans-serif;font-size:9pt}
  .esg-page *{box-sizing:border-box;color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .esg-page .esg-title{margin:0 0 5mm;padding:0 0 4mm;border-bottom:2px solid #16765f}
  .esg-page .esg-title h1{margin:1mm 0;font-size:22pt;color:#102a36}
  .esg-page .esg-title .muted{font-size:9pt;color:#526277}
  .esg-page .esg-document-meta{margin-top:2mm}.esg-page .esg-document-meta span{padding:1.5mm 2mm;border-color:#cbd8d4;background:#f5faf8;font-size:7.5pt}
  .esg-page .esg-intro{margin-bottom:4mm;padding:4mm 5mm;border-color:#a8d0c4;background:#eef8f5;box-shadow:none;break-inside:avoid}
  .esg-page .esg-intro-icon{width:11mm;height:11mm;border-radius:3mm;background:#d7efe7;color:#126950;font-size:17pt}.esg-page .esg-intro h2{font-size:14pt}.esg-page .esg-intro p{font-size:8.5pt}
  .esg-page .quality.complete{background:#d9f2e9;color:#075c43}.esg-page .quality.incomplete{background:#fff0c7;color:#694b00}.esg-page .quality.provisional{background:#e8eef8;color:#36557d}
  .esg-page .esg-metrics{gap:3mm;margin-bottom:4mm}.esg-page .esg-metrics article{min-height:32mm;padding:4mm;border-color:#cbd5df;background:#fff;box-shadow:none;break-inside:avoid}.esg-page .esg-metrics i{width:8mm;height:8mm;margin-bottom:2mm}.esg-page .esg-metrics span{font-size:7pt}.esg-page .esg-metrics strong{font-size:17pt}.esg-page .esg-metrics small{font-size:7.5pt}
  .esg-page .panel{padding:4mm;border-color:#cbd5df;background:#fff;box-shadow:none}.esg-page .esg-submeters,.esg-page .esg-balance,.esg-page .esg-method{break-inside:avoid}.esg-page .esg-submeter-totals{gap:2mm;margin-bottom:3mm}.esg-page .esg-submeter-totals article{padding:3mm;background:#f7f9fb}.esg-page .esg-submeter-devices{gap:1.5mm}.esg-page .esg-submeter-devices>article{padding:2mm}.esg-page .submeter-role{width:8mm;height:8mm}.esg-page .esg-submeter-devices dl{min-width:55mm}
  .esg-page .esg-balance{gap:5mm}.esg-page .esg-gauge strong{font-size:20pt}.esg-page .alert{break-inside:avoid}
  .esg-page .esg-table-panel{margin-top:4mm;padding:0;border:0;break-before:auto;box-shadow:none}.esg-page .esg-table-panel .panel-title{margin-bottom:2mm}.esg-page .table-wrap{overflow:visible}.esg-page table{width:100%;table-layout:auto;border-collapse:collapse;font-size:7pt}.esg-page thead{display:table-header-group}.esg-page tfoot{display:table-row-group}.esg-page tr{break-inside:avoid}.esg-page th,.esg-page td{padding:1.4mm 1.2mm;border:1px solid #d7dee5;white-space:normal}.esg-page thead th{background:#173f4b;color:#fff}.esg-page tbody tr:nth-child(even) td{background:#f5f8fa}.esg-page .table-quality{padding:.8mm 1.4mm;font-size:6.5pt}
  .esg-page .esg-method{grid-template-columns:1.8fr 1fr;gap:6mm;margin:4mm 0 2mm;padding:4mm 5mm;border-left:1.5mm solid #1b8e70;background:#eef8f5}.esg-page .esg-method h2{font-size:13pt}.esg-page .esg-method p{font-size:7.5pt;line-height:1.4}.esg-page .esg-method dl{font-size:7.5pt}.esg-page .esg-method dd{max-width:52mm;font-size:7pt}
  .esg-page .report-disclaimer{margin-top:3mm;padding-top:2mm;border-top:1px solid #ccd7dc;color:#5f6f7c;font-size:7pt;text-align:center}
}

/* Production readiness, reporting and fleet operations */
.readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.readiness-grid article{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px}.readiness-grid article>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:800}.readiness-grid article.ok>span{background:#ddf7e8;color:#137a43}.readiness-grid article.bad>span{background:#ffe8e8;color:#b42318}.readiness-grid small,.channel-list small,.archive-list small{display:block;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.notification-channel-form,.emission-factor-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}.notification-channel-form .checkbox{align-self:center}.channel-list,.archive-list{display:grid;gap:8px;margin-top:16px}.channel-list article,.archive-list article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px}.channel-list article>div:first-child,.archive-list article>div:first-child{flex:1;min-width:0}.scope2-panel{margin-top:18px}.scope2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scope2-grid article{padding:16px;border:1px solid var(--border);border-radius:12px}.scope2-grid article.incomplete{border-color:#e4a11b;background:color-mix(in srgb,#e4a11b 8%,var(--panel))}.scope2-grid strong{display:block;font-size:clamp(20px,3vw,30px);margin:6px 0}.scope2-grid em{display:block;color:var(--muted);font-size:12px;margin-top:6px;overflow-wrap:anywhere}.factor-editor{margin-top:14px}.factor-editor summary{cursor:pointer;font-weight:700}.factor-editor form{margin-top:12px}.archive-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.archive-actions a{padding:7px 10px;border:1px solid var(--border);border-radius:8px;text-decoration:none}.fleet-import-panel input[type=file]{max-width:360px}
@media(max-width:700px){.scope2-grid{grid-template-columns:1fr}.channel-list article,.archive-list article{align-items:flex-start;flex-wrap:wrap}.archive-actions{width:100%}}
@keyframes overview-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes overview-card-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes overview-sheen{0%,72%{left:-35%}100%{left:125%}}
@keyframes overview-accent{to{background-position:-220% 0}}
@keyframes overview-energy-right{from{background-position:220% 0}to{background-position:0 0}}
@keyframes overview-energy-left{from{background-position:0 0}to{background-position:220% 0}}
@keyframes overview-beacon{0%,100%{box-shadow:0 0 0 0 #438fff00}50%{box-shadow:0 0 0 7px #438fff17}}
@keyframes overview-node-breathe{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.15)}}
@keyframes overview-online{0%{box-shadow:0 0 0 0 #25c18b66}70%,100%{box-shadow:0 0 0 8px #25c18b00}}
@keyframes overview-value-update{0%{opacity:.55;transform:translateY(3px)}55%{color:#fff;filter:drop-shadow(0 0 7px #69a8ff)}100%{opacity:1;transform:none;filter:none}}
.dark-theme .danger-settings-card{border-color:#71313e}.dark-theme .danger-settings-card .settings-card-icon{background:#48212a;color:#ffabb5}
.monitoring-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.monitoring-actions form{margin:0}.monitoring-mail-toggle{display:inline-flex;align-items:center;gap:7px}.monitoring-mail-toggle.enabled{border-color:#75cdaa;background:#e9f8f1;color:#08784a}.monitoring-mail-toggle.disabled{border-color:#e0b765;background:#fff5d9;color:#8a5b00}.notification-state{display:grid;gap:2px;margin:4px 0 12px;padding:12px 15px;border:1px solid var(--line);border-radius:11px}.notification-state span{color:var(--muted);font-size:12px}.notification-state.enabled{background:#f2fbf7;border-color:#b9e5d1}.notification-state.disabled{background:#fff8e7;border-color:#efd58d}.dark-theme .monitoring-mail-toggle.enabled,.dark-theme .notification-state.enabled{background:#12382d;border-color:#285e4d;color:#8ce2c0}.dark-theme .monitoring-mail-toggle.disabled,.dark-theme .notification-state.disabled{background:#49391a;border-color:#66542a;color:#ffd47e}@media(max-width:700px){.monitoring-panel .panel-title{align-items:flex-start;flex-direction:column}.monitoring-actions{justify-content:flex-start}}

/* Samlet visning er en dedikeret, rummelig live-energiflowtavle. */
.overview-display-page{height:100vh;height:100dvh;overflow:hidden}
.overview-display-page .overview-display-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden}
.overview-display-page .overview-display-header{margin-bottom:0}
.overview-flow-only .overview-address-list,.overview-flow-only .overview-address-group{height:100%;min-height:0}
.overview-flow-only .overview-address-list{overflow:hidden}
.overview-flow-only .overview-address-group{display:block}
.overview-flow-only .solar-app-flow{height:100%;min-height:0;overflow:hidden}
.overview-flow-only .overview-address-list,.overview-flow-only .overview-address-group{min-height:calc(100vh - 132px)}
.overview-flow-only .solar-app-flow{box-sizing:border-box;display:flex;min-height:calc(100vh - 132px);margin:0;padding:28px 34px;flex-direction:column}
.overview-display-page .overview-flow-only .overview-address-list,.overview-display-page .overview-flow-only .overview-address-group,.overview-display-page .overview-flow-only .solar-app-flow{height:100%;min-height:0}
.overview-flow-only .solar-flow-diagram{grid-template-columns:minmax(220px,1fr) minmax(130px,.8fr) minmax(240px,1.08fr) minmax(130px,.8fr) minmax(220px,1fr);gap:0;margin:30px 0}
.overview-flow-only .solar-flow-node{min-height:205px;padding:24px}
.overview-flow-only .solar-flow-node>i{width:68px;height:68px;font-size:34px}
.overview-flow-only .solar-flow-node>span{font-size:12px}
.overview-flow-only .solar-flow-node>strong{font-size:36px}
.overview-flow-only .solar-flow-node>small{font-size:12px}
.overview-flow-only .solar-flow-link{position:relative;display:block;min-height:42px}
.overview-flow-only .solar-flow-link>span{position:absolute;inset:50% 0 auto;width:auto;height:4px;border-radius:99px;transform:translateY(-50%);box-shadow:0 0 14px #5b9eff66}
.overview-flow-only .solar-flow-link>b{position:absolute;z-index:1;top:50%;right:0;width:38px;height:38px;margin:0;transform:translate(50%,-50%);border:2px solid #5593e8;font-size:20px;box-shadow:0 0 0 5px #172439,0 0 20px #438fff55}
.overview-flow-only .solar-flow-link.grid-link>b{right:auto;left:0;transform:translate(-50%,-50%)}
.overview-flow-only .solar-flow-link.grid-link.export>b{border-color:#dd7839;box-shadow:0 0 0 5px #172439,0 0 20px #ff914755}
.overview-flow-only .flow-submeters{width:100%;max-width:1500px;margin:8px auto 24px;padding:20px;border:1px solid #60448e70;border-radius:20px;background:linear-gradient(145deg,#151e31,#111a2a);box-shadow:0 18px 44px #05091442}
.overview-flow-only .flow-submeter-stem{top:-39px;height:40px;background:linear-gradient(180deg,#b98bea,#7651a5);box-shadow:0 0 12px #aa7fea70}
.overview-flow-only .flow-submeter-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:0 2px 16px;border-bottom:1px solid #ffffff13}
.overview-flow-only .flow-submeter-heading>div{display:grid;gap:2px}
.overview-flow-only .flow-submeter-heading span{color:#a992d4;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.overview-flow-only .flow-submeter-heading strong{color:#f2f0ff;font-size:18px}
.overview-flow-only .flow-submeter-heading small{padding:5px 9px;border:1px solid #7655a07d;border-radius:99px;background:#2a2140;color:#cdb6ea;font-size:10px;font-weight:750;white-space:nowrap}
.overview-flow-only .flow-submeter-cards,.overview-flow-only .flow-submeter-cards.count-1,.overview-flow-only .flow-submeter-cards.count-3{display:flex;max-width:none;margin:0;padding:0;gap:14px;flex-wrap:wrap;justify-content:center}
.overview-flow-only .flow-submeter-cards:before,.overview-flow-only .flow-submeter-cards:after{display:none}
.overview-flow-only .flow-submeter-card{grid-template-columns:auto minmax(0,1fr);flex:1 1 calc(25% - 14px);width:auto;max-width:calc(25% - 11px);height:auto;min-height:116px;padding:17px 60px 16px 16px;border-color:#60448e66;border-radius:14px;background:linear-gradient(145deg,#192338,#141d2e);box-shadow:0 8px 22px #05091430}
.overview-flow-only .flow-submeter-card:before{inset:0 0 auto;left:0;width:auto;height:3px;transform:none;border-radius:14px 14px 0 0;background:#61478e;box-shadow:none;animation:none}
.overview-flow-only .flow-submeter-card:after{display:none}
.overview-flow-only .flow-submeter-card.active:before{background:linear-gradient(90deg,#7250a5,#c59cf2,#7250a5);background-size:220% 100%;animation:overview-accent 2.5s linear infinite}
.overview-flow-only .flow-submeter-card>i{width:44px;height:44px;font-size:21px}
.overview-flow-only .flow-submeter-card>div{overflow:visible}
.overview-flow-only .flow-submeter-card span{display:-webkit-box;overflow:hidden;line-height:1.25;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.overview-flow-only .flow-submeter-card strong{overflow:visible;font-size:24px;line-height:1.15;white-space:nowrap}
.overview-flow-only .flow-submeter-card small{line-height:1.35;white-space:normal}
.overview-flow-only .flow-submeter-card>b{position:absolute;top:13px;right:11px}
.overview-flow-only .flow-submeter-card.active{border-color:#9a73d5;box-shadow:0 0 0 1px #9a73d51f,0 10px 26px #09050f52}
.flow-limit-alerts{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin:18px 0 0;padding:14px 16px;border:1px solid #d98735;border-radius:14px;background:linear-gradient(135deg,#4c2d16,#2a211b);box-shadow:0 10px 28px #0003}
.flow-limit-alerts[hidden]{display:none}
.flow-limit-alerts>header{display:flex;align-items:center;gap:10px}
.flow-limit-alerts>header>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#f08a2a;color:#fff;font-weight:900}
.flow-limit-alerts>header>div{display:grid}
.flow-limit-alerts>header strong{color:#ffe0c3}
.flow-limit-alerts>header small{color:#c99e78}
.flow-limit-alerts>[data-flow-limit-list]{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.flow-limit-alerts article{display:grid;padding:9px 12px;border:1px solid #ffffff18;border-radius:10px;background:#1b1715}
.flow-limit-alerts article strong{color:#fff}
.flow-limit-alerts article span{color:#ffb976;font-size:11px}
@media(max-width:1100px){.overview-flow-only .solar-flow-diagram{grid-template-columns:minmax(180px,1fr) minmax(70px,.5fr) minmax(190px,1fr) minmax(70px,.5fr) minmax(180px,1fr)}.overview-flow-only .solar-flow-node{min-height:175px}.overview-flow-only .solar-flow-node>strong{font-size:30px}.overview-flow-only .flow-submeter-card{flex-basis:calc(50% - 14px);max-width:calc(50% - 7px)}}
@media(max-width:850px){.overview-flow-only .overview-address-list,.overview-flow-only .overview-address-group,.overview-flow-only .solar-app-flow{min-height:0}.overview-flow-only .solar-app-flow{padding:20px}.overview-flow-only .solar-flow-diagram{grid-template-columns:1fr;gap:0}.overview-flow-only .solar-flow-node{min-height:145px}.overview-flow-only .solar-flow-link{min-height:52px}.overview-flow-only .solar-flow-link>span{inset:0 auto 0 50%;width:4px;height:auto;transform:translateX(-50%)}.overview-flow-only .solar-flow-link>b,.overview-flow-only .solar-flow-link.grid-link>b{top:50%;right:auto;left:50%;transform:translate(-50%,-50%) rotate(90deg)}.overview-flow-only .flow-submeters{padding:16px}.overview-flow-only .flow-submeter-stem{top:-39px;height:40px}.overview-flow-only .flow-submeter-card{flex-basis:100%;max-width:none;min-height:108px}.flow-limit-alerts{grid-template-columns:1fr;align-items:stretch}}
@media(min-width:1200px) and (max-height:900px){.overview-display-page .overview-display-shell{gap:10px;padding:12px 20px}.overview-display-page .overview-display-header{min-height:64px;padding-top:5px;padding-bottom:5px}.overview-flow-only .solar-app-flow{padding:16px 24px}.overview-flow-only .solar-flow-diagram{margin:12px 0}.overview-flow-only .solar-flow-node{min-height:150px;padding:14px}.overview-flow-only .solar-flow-node>i{width:50px;height:50px;font-size:26px}.overview-flow-only .flow-submeters{margin:0 auto 12px;padding:14px}.overview-flow-only .flow-submeter-heading{margin-bottom:10px;padding-bottom:10px}.overview-flow-only .flow-submeter-card{min-height:88px;padding:12px 54px 11px 12px}.overview-flow-only .flow-submeter-card>i{width:38px;height:38px}.overview-flow-only .flow-submeter-card strong{font-size:20px}}

/* Ren og app-lignende enhedsside. */
.device-detail-page{display:grid;gap:18px;padding-bottom:12px}
.device-page-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:34px;color:var(--muted);font-size:12px;font-weight:750}
.device-page-toolbar a{display:inline-flex;align-items:center;gap:6px;color:var(--blue2)}
.device-page-toolbar a:hover{color:var(--blue)}
.device-page-toolbar span{padding:5px 9px;border:1px solid var(--line);border-radius:99px;background:var(--panel);letter-spacing:.05em;text-transform:uppercase}
.device-detail-page .device-hero{position:relative;margin:0;padding:25px 26px;overflow:hidden;border-color:#b9d1f3;background:linear-gradient(125deg,#f7fbff 0,#eef5ff 58%,#f7fbff 100%);box-shadow:0 18px 45px #1c4b8c14}
.device-detail-page .device-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#2979ff,#65a8ff)}
.device-detail-page .device-identity{position:relative;z-index:1}
.device-detail-page .device-identity h1{font-size:30px;letter-spacing:-.025em}
.device-detail-page .device-tags{flex-wrap:wrap}
.device-detail-page .device-tags .solar-badge{padding:6px 10px;border-radius:99px}
.device-detail-page .device-id{padding:5px 9px;border:1px solid #d9e4f3;border-radius:99px;background:#ffffffa8}
.device-detail-page .title-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.device-detail-page .title-actions .screen-button{min-height:40px;display:inline-flex;align-items:center}
.device-detail-page .energy-flow{margin:0;border-radius:17px;box-shadow:0 15px 36px #15284910}
.device-detail-page .stat-grid{gap:12px;margin:0}
.device-detail-page .stat{position:relative;min-height:134px;padding:18px 18px 16px;overflow:hidden;border-radius:16px;box-shadow:0 10px 28px #1720330b}
.device-detail-page .stat:not(.accent):before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#4b8eea,#83b8ff)}
.device-detail-page .stat.accent{background:linear-gradient(135deg,#1759bd,#2f89f6);box-shadow:0 13px 32px #1768d72a}
.device-detail-page .stat strong{margin-top:3px;font-size:27px;letter-spacing:-.025em}
.device-detail-page .graph-panel{margin:0;padding:24px;border-radius:18px;box-shadow:0 14px 38px #1720330d}
.device-detail-page .history-head{align-items:center}
.device-detail-page .history-controls{padding:4px;border:1px solid var(--line);border-radius:13px;background:#f5f8fc}
.device-detail-page .mode-tabs,.device-detail-page .history-head .period-tabs{border:0;background:transparent}
.device-detail-page .device-settings-area{margin-top:8px;padding:22px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#f8fbff,#f3f7fc);box-shadow:0 16px 42px #1720330d}
.device-detail-page .settings-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 17px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.device-detail-page .settings-section-title>div{display:grid}
.device-detail-page .settings-section-title>span{padding:6px 10px;border-radius:99px;background:#e7f0ff;color:#1768d7;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.device-detail-page .settings-accordion{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
.device-detail-page .settings-card{border-radius:15px;background:#fff;box-shadow:0 7px 20px #1720330a}
.device-detail-page .settings-card-head{min-height:74px;padding:14px 16px}
.device-detail-page .settings-card-head strong{font-size:15px}
.device-detail-page .settings-card-body{padding:17px}
.device-detail-page .settings-name-form{grid-template-columns:minmax(0,1fr) auto}
.device-detail-page .role-settings-card,.device-detail-page .install-settings-card,.device-detail-page .danger-settings-card{grid-column:1/-1}
.device-detail-page .role-settings-card .settings-card-icon{background:#e8f1ff;color:#1768d7}
.device-detail-page .role-settings-card .settings-card-body{padding:20px}
.device-detail-page .meter-role-picker{margin:2px 0 16px}
.device-detail-page .meter-role-picker>div{gap:12px}
.device-detail-page .meter-role-picker label>span{min-height:125px;padding:16px;border-radius:14px}
.device-detail-page .meter-role-picker label>span>i{width:42px;height:42px;border-radius:12px}
.device-detail-page [data-category-field][hidden]{display:none}
.device-detail-page .install-settings-card pre{max-height:370px}
.device-detail-page .danger-settings-card{margin-top:4px;background:#fffafa}
.dark-theme .device-page-toolbar span{background:#151f31}
.dark-theme .device-detail-page .device-hero{border-color:#304867;background:linear-gradient(125deg,#16263d 0,#172c49 58%,#152238 100%);box-shadow:0 18px 45px #0004}
.dark-theme .device-detail-page .device-id{border-color:#3a4c65;background:#101b2b99}
.dark-theme .device-detail-page .history-controls{border-color:#2d3c51;background:#101a2a}
.dark-theme .device-detail-page .device-settings-area{border-color:#29384e;background:linear-gradient(145deg,#121d2e,#101928);box-shadow:0 18px 44px #0003}
.dark-theme .device-detail-page .settings-section-title>span{background:#18345a;color:#8bb9ff}
.dark-theme .device-detail-page .settings-card{background:#151f31;box-shadow:0 9px 24px #0002}
.dark-theme .device-detail-page .danger-settings-card{background:#1b1720}
@media(max-width:900px){.device-detail-page .settings-accordion{grid-template-columns:1fr}.device-detail-page .role-settings-card,.device-detail-page .install-settings-card,.device-detail-page .danger-settings-card{grid-column:auto}.device-detail-page .meter-role-picker>div{grid-template-columns:1fr}}
@media(max-width:620px){.device-page-toolbar span{display:none}.device-detail-page .device-hero{padding:20px}.device-detail-page .device-identity h1{font-size:25px}.device-detail-page .title-actions{width:100%;justify-content:flex-start}.device-detail-page .title-actions .screen-button{flex:1;justify-content:center}.device-detail-page .device-settings-area{padding:15px}.device-detail-page .settings-section-title{align-items:flex-start}.device-detail-page .settings-name-form{grid-template-columns:1fr}.device-detail-page .settings-name-form button{width:100%}}

.system-error-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.system-error-card{width:min(100%,560px);margin:28px auto;padding:32px;border:1px solid #f0c4c9;border-radius:18px;background:var(--panel);box-shadow:var(--shadow);text-align:center}
.system-error-card .system-error-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 15px;border-radius:14px;background:#ffe8eb;color:#b72f41;font-size:27px;font-weight:900}
.system-error-card h1{margin:4px 0 8px;font-size:25px}.system-error-card p:not(.eyebrow){margin:0 auto 22px;color:var(--muted)}
.dark-theme .system-error-card{border-color:#71313e}.dark-theme .system-error-card .system-error-mark{background:#48212a;color:#ffabb5}

/* User-entered labels must remain fully readable instead of being clipped. */
.device-card h2,.device-identity h1,.device-identity .eyebrow,.address-card h2,.address-card p,.customer-address>header h2,.customer-address>header p,.title-row h1,.title-row p,.solar-app-flow>header h2,.overview-address-group>header h2,.overview-role-row>header h2,.esg-submeter-totals span,.flow-limit-alerts article strong{overflow-wrap:anywhere}
.device-card .solar-badge,.device-tags .solar-badge,.device-tags .device-id{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.address-card{grid-template-columns:auto minmax(0,1fr)}
.address-card>div,.customer-address>header>div,.device-identity>div,.display-identity,.overview-app-title,.solar-app-flow>header>div,.overview-address-group>header>div,.overview-role-row>header>div,.esg-submeter-totals article>div{min-width:0}
.device-tags{flex-wrap:wrap}
.display-header{height:auto;min-height:76px;padding-top:8px;padding-bottom:8px}
.display-identity strong,.customer-chip b,.esg-shortcuts strong,.esg-submeter-devices>article>div strong,.esg-submeter-devices>article>div small,.overview-device-name small,.overview-device-name h2{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.overview-flow-only .flow-submeter-card span{display:block;overflow:visible;-webkit-line-clamp:initial;overflow-wrap:anywhere}
.esg-method dd{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-all}
.impersonation{flex-wrap:wrap;overflow-wrap:anywhere}
@media(min-width:701px){.top{height:auto;min-height:68px;padding-top:8px;padding-bottom:8px}.profile{min-width:0}.profile>span{max-width:240px;white-space:normal;overflow-wrap:anywhere;line-height:1.2}}

/* Vindproduktion er en fast produktionsmåler og vises kun live, når den er aktiv. */
.generation-flow-sources{display:grid;gap:10px;min-width:0}.generation-flow-sources [hidden]{display:none}
.solar-flow-node.wind>i{background:#153b4a;color:#82d9ef}.solar-flow-node.generation-missing>i{background:#263245;color:#9fb0c8}
.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden]){grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;min-height:70px;padding:9px 12px;column-gap:11px;text-align:left;place-items:start stretch}
.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden])>i{grid-row:1/4;align-self:center;width:40px;height:40px;margin:0;border-radius:12px;font-size:21px}
.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden])>span,.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden])>strong,.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden])>small{grid-column:2}
.generation-flow-sources:has(.solar:not([hidden])):has(.wind:not([hidden])) .solar-flow-node:not([hidden])>strong{margin:0;font-size:21px}
.role-wind .device-icon,.role-wind .solar-badge{background:#def5fa;color:#17657a}.dark-theme .role-wind .device-icon,.dark-theme .role-wind .solar-badge{background:#153b4a;color:#82d9ef}
@media(min-width:901px){.device-detail-page .meter-role-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Klikbare forbrugspunkter på samlet-visning. */
button.flow-submeter-card{width:auto;margin:0;font:inherit;text-align:left;cursor:pointer;appearance:none}
.flow-submeter-card.expandable em{margin-top:6px;color:#cdb6ea;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.02em;text-transform:none}
.flow-submeter-card.expandable:hover{border-color:#ba91ee;box-shadow:0 0 0 2px #9a73d52b,0 14px 30px #09050f61}
.flow-submeter-card.expandable:focus-visible{outline:3px solid #c59cf280;outline-offset:3px}
.flow-category-dialog{width:min(720px,calc(100vw - 32px));max-height:min(82vh,760px);padding:0;border:0;border-radius:20px;background:transparent;color:#f2f7ff;box-shadow:0 26px 80px #02050bb3}
.flow-category-dialog::backdrop{background:#050914b8;backdrop-filter:blur(5px)}
.flow-category-dialog-shell{overflow:hidden;border:1px solid #7655a099;border-radius:20px;background:linear-gradient(145deg,#192338,#101827)}
.flow-category-dialog-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;border-bottom:1px solid #ffffff17;background:#151e31}
.flow-category-dialog-shell>header>div{display:grid;min-width:0;gap:2px}
.flow-category-dialog-shell>header span{color:#aa91d5;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.flow-category-dialog-shell>header strong{overflow-wrap:anywhere;color:#f4f0ff;font-size:21px}
.flow-category-dialog-shell>header button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border-color:#7655a080;background:#2b2340;color:#e4d5f7}
.flow-category-dialog-shell>header button b{font-size:20px;line-height:1}
.flow-category-dialog-shell>section{max-height:calc(82vh - 80px);overflow:auto;padding:18px}
.flow-category-dialog-shell>section[hidden]{display:none}
.flow-category-device-list{display:grid;gap:10px}
.flow-category-device-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #ffffff17;border-radius:13px;background:#111a2a}
.flow-category-device-list>article>i{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#392d59;color:#c9adff;font-size:19px;font-style:normal}
.flow-category-device-list>article>div{display:grid;min-width:0}
.flow-category-device-list>article strong{overflow-wrap:anywhere;color:#f2f5fb;font-size:14px}
.flow-category-device-list>article small{margin-top:2px;color:#8592a7;font-size:10px}
.flow-category-device-list>article>span{color:#f2f0ff;font-size:18px;font-weight:800;white-space:nowrap}
.flow-category-device-list>article>b{padding:5px 8px;border-radius:99px;background:#153f34;color:#7ce1bd;font-size:9px}
.flow-category-device-list>article.offline{opacity:.68}.flow-category-device-list>article.offline>b{background:#293345;color:#aab7ca}
@media(max-width:620px){.flow-category-dialog{width:calc(100vw - 20px)}.flow-category-dialog-shell>header{padding:15px}.flow-category-dialog-shell>section{padding:12px}.flow-category-device-list>article{grid-template-columns:auto minmax(0,1fr) auto}.flow-category-device-list>article>span{grid-column:2}.flow-category-device-list>article>b{grid-column:3;grid-row:1}}
