*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#162639;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#176283;text-decoration:none}a:hover{text-decoration:underline}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#12283b;color:#c9d7e3;padding:32px 24px}.brand{font-size:23px;font-weight:750;color:white;display:block}.sun{color:#ffc667}aside>small{display:block;font-size:10px;letter-spacing:2px;margin-top:12px}nav{margin-top:54px}nav a{display:block;color:white;background:#244359;padding:12px;border-radius:7px}.aside-bottom{position:absolute;bottom:28px;font-size:12px;color:#a7becf}main{margin-left:240px}header{min-height:84px;padding:22px 40px;border-bottom:1px solid #dfe6ed;display:flex;align-items:center;justify-content:space-between;background:white;gap:20px}header>span,.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;color:#58748a}.account{display:flex;align-items:center;gap:20px;font-size:13px}.content{max-width:1400px;padding:40px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:34px;line-height:1.18;letter-spacing:-1px;margin:10px 0 12px}h2{font-size:19px;margin:0 0 10px}.muted{color:#63788a}.badge{background:#fff0d5;color:#805519;border:1px solid #ead5ad;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:750;letter-spacing:1px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.card{background:white;border:1px solid #dde5ec;border-radius:12px;padding:24px;margin-bottom:20px}.summary .card{margin:0}.summary span{color:#63788a;font-size:13px}.summary strong{display:block;font-size:36px;margin-top:8px}.summary strong.role{font-size:25px}.summary small{font-size:18px}.table{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#63788a}td,th{padding:16px 12px;border-bottom:1px solid #e7edf2}td small{display:block;color:#63788a}.plant{font-weight:700;color:#162639}.status{display:inline-block;padding:5px 10px;background:#eaf0f5;border-radius:6px;font-size:12px;white-space:nowrap}.toolbar{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:22px}.history{max-height:440px;overflow:auto}.history thead{position:sticky;top:0;background:white}.hint,footer{font-size:12px;color:#687b8d}footer{padding:16px 40px}.login{max-width:480px;margin:24px auto}.login h1{font-size:32px}label{display:block;font-weight:600;margin-bottom:6px}input{width:100%;padding:12px;border:1px solid #bacad5;border-radius:6px;font:inherit}button{cursor:pointer;font:inherit}button.primary{background:#173e59;color:white;border:0;border-radius:6px;padding:12px 22px}button.quiet{background:none;border:0;color:#176283}.errorlist{color:#a22d25;padding-left:20px;font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d69d26;outline-offset:3px}@media(max-width:900px){aside{position:relative;width:100%;padding:16px 22px}aside>small,nav,.aside-bottom{display:none}main{margin:0}.content{padding:24px}header{padding:16px 24px}.summary{gap:12px}.summary strong{font-size:28px}.account{flex-wrap:wrap;gap:8px}}@media(max-width:580px){.summary{grid-template-columns:1fr}.heading{align-items:flex-start}h1{font-size:27px}header>span{display:none}.card{padding:18px}.content{padding:18px}}

/* Copyright by www.meck-it.de */
body.public-page { display: block; grid-template-columns: 1fr; }
body.public-page main { margin-left: 0; width: 100%; }

/* Copyright by www.meck-it.de – own portal components and icons */
.pv-icon{width:24px;height:24px;vertical-align:middle;flex-shrink:0;margin-right:8px}nav a{display:flex;align-items:center;margin:6px 0;font-size:13px}nav{margin-top:26px}.notice{padding:18px 22px;border:1px solid #c5dce8;background:#edf7fb;border-radius:10px;color:#214d68;margin:20px 0}.form-card{max-width:780px}.form-card .helptext{display:block;font-size:12px;color:#63788a;margin-top:6px}select{width:100%;padding:12px;border:1px solid #bacad5;border-radius:6px;font:inherit;background:white}button:disabled{opacity:.6;cursor:not-allowed;padding:10px}.steps{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.steps span{padding:8px 12px;background:#e5edf4;border-radius:20px;font-size:12px}.device-card{margin-top:22px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.facts dt{font-size:12px;color:#63788a}.facts dd{margin:5px 0;font-weight:650;overflow-wrap:anywhere}.tower-grid,.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tower-card{padding:20px;background:#f3f7fa;border-radius:10px;margin-bottom:16px;overflow-wrap:anywhere}.tower-card strong{font-size:24px}.tower-card h3{margin-top:0}.chart-empty{min-height:190px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed #b6cad8;border-radius:10px;background:linear-gradient(180deg,#f4f8fb,#fff);color:#63788a}.period-form{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.period-form p{flex:1;min-width:150px}.period-form button{margin-bottom:15px}.action-link{background:#173e59;color:white;border-radius:6px;padding:10px 16px}.heading{flex-wrap:wrap}@media(max-width:900px){nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}nav a{margin:0}.aside-bottom{display:none}}@media(max-width:650px){.report-grid,.tower-grid{grid-template-columns:1fr}.steps{gap:6px}}

/* Copyright by www.meck-it.de – navigation by task and account role */
aside{overflow-y:auto}.aside-bottom{position:static;margin-top:30px}.nav-group{margin-bottom:22px}.nav-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#9bb4c6;margin:0 0 8px}nav a{background:transparent;color:#d6e3ec}nav a:hover{background:#203d52;text-decoration:none}nav a[aria-current="page"]{background:#2d526b;color:white;box-shadow:inset 3px 0 #ffc667}.account-role{font-weight:650;border-radius:20px;padding:4px 10px;background:#eaf0f5;color:#244359}textarea{width:100%;max-width:100%;font:inherit;padding:12px;border:1px solid #bacad5;border-radius:6px}input[type=checkbox]{width:auto}@media(max-width:900px){nav{align-items:flex-start;gap:18px}.nav-group{margin:0;display:flex;flex-wrap:wrap;gap:4px}.nav-label{width:100%;margin-bottom:2px}nav a{padding:8px}.pv-icon{width:20px;height:20px}}

aside{display:flex;flex-direction:column}nav{flex:1;display:flex;flex-direction:column}.nav-group:last-child{margin-top:auto;padding-top:20px}@media(max-width:900px){nav{flex-direction:row}.nav-group:last-child{margin-top:0;padding-top:0}}


/* Copyright by www.meck-it.de – reports and service history */
.energy-chart{min-width:0}.energy-chart svg{width:100%;height:auto;display:block}.energy-chart svg text{font:14px system-ui;fill:#496375}.energy-total{font-size:30px;font-weight:750;margin:12px 0}.energy-total small{font-size:15px;font-weight:400}.series-0{fill:#138c83}.series-1{fill:#385eac}.series-2{fill:#b77716}.series-3{fill:#9365a4}.service-entry{border-top:1px solid #dde5ec;padding:16px 0;overflow-wrap:anywhere}summary{cursor:pointer;font-weight:650}.content{min-width:0}.report-grid>section{margin-bottom:0}.report-grid{margin-bottom:24px}@media(max-width:580px){.facts{grid-template-columns:1fr}.account{overflow-wrap:anywhere;min-width:0}.toolbar{gap:12px}.toolbar button{min-height:44px}.energy-total{font-size:27px}.energy-chart{padding:14px}.form-card input,.form-card select{min-width:0;max-width:100%}}
@media(max-width:580px){.energy-chart svg text{font-size:26px}}

/* Copyright by www.meck-it.de – optional series comparison */
#comparison-chart svg{display:block;width:100%;height:auto;margin-top:20px}#comparison-chart svg text{font:17px system-ui;fill:#496375}.chart-toggles{display:flex;flex-wrap:wrap;gap:12px 20px;border:1px solid #dde5ec;border-radius:8px;margin:20px 0;padding:16px}.chart-toggles label{display:flex;align-items:center;gap:6px;font-weight:500;min-height:30px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.series-0{background:#138c83}.dot.series-1{background:#385eac}.dot.series-2{background:#b77716}.dot.series-3{background:#9365a4}@media(max-width:580px){#comparison-chart svg text{font-size:25px}.chart-toggles{gap:8px;padding:10px}}

/* Copyright by www.meck-it.de – current report controls */
.report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-controls .toolbar{gap:12px}.report-controls button{padding:10px 14px;border:1px solid #bacad5;border-radius:6px;background:white}.report-controls button.primary{background:#173e59}.report-demo{margin-top:20px}.report-demo label{display:inline;font-weight:400}.report-filter-grid [hidden]{display:none}@media(max-width:650px){.report-filter-grid{grid-template-columns:1fr}.report-controls button{min-height:44px}}
.legend-total{font-size:13px;margin-left:6px;white-space:nowrap}.chart-toggles label:has(input:not(:checked)){opacity:.5}.chart-toggles label{flex-wrap:wrap}.chart-toggles .dot{flex-shrink:0}
.chart-toggles label:has(.series-0) .legend-total{color:#08766e}.chart-toggles label:has(.series-1) .legend-total{color:#385eac}.chart-toggles label:has(.series-2) .legend-total{color:#98610b}.chart-toggles label:has(.series-3) .legend-total{color:#80519a}.energy-chart:has(.series-0) .energy-total{color:#08766e}.energy-chart:has(.series-1) .energy-total{color:#385eac}.energy-chart:has(.series-2) .energy-total{color:#98610b}.energy-chart:has(.series-3) .energy-total{color:#80519a}

/* Copyright by www.meck-it.de – Sonnenreserve */
.portal-logo{display:block;width:100%;height:auto}.brand-claim{display:block;font-size:13px;line-height:1.5;font-weight:400;color:#c5d8e3;margin:6px 0 0 7px}.public-brand{display:block;width:320px;max-width:100%}.public-brand img{display:block;width:100%;height:auto}.public-page header{justify-content:center;padding:24px}.brand:hover{text-decoration:none}@media(max-width:900px){.brand{max-width:220px}.brand-claim{margin-left:7px;font-size:12px}}

/* Copyright by www.meck-it.de – role dashboards */
.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.dash-metrics .card{margin:0;min-width:0}.dash-metrics span,.dash-metrics small{display:block;color:#63788a;font-size:12px}.dash-metrics strong{display:block;font-size:28px;margin:10px 0;overflow-wrap:anywhere}.dash-metrics strong small{display:inline;font-size:16px}.dash-list-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #e5edf2}.dash-list-row small{display:block;color:#63788a}.energy-flow,.day-chart{display:block;width:100%;height:auto;max-height:370px;margin:20px auto}.flow-path{animation:energy-travel 2s linear infinite}@keyframes energy-travel{to{stroke-dashoffset:-40}}@media(prefers-reduced-motion:reduce){.flow-path{animation:none}}@media(max-width:1100px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.dash-metrics{gap:10px}.dash-metrics .card{padding:14px}.dash-metrics strong{font-size:24px}.dash-list-row{flex-wrap:wrap}.energy-flow{min-height:170px}}

/* Installation, settings and archived German documents */
.section-links{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.section-links a{padding:9px 14px;border:1px solid #d8e3eb;border-radius:24px;background:white;text-decoration:none}
.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.settings-fields p{min-width:0}.settings-fields input:not([type=checkbox]),.settings-fields select,.settings-fields textarea{box-sizing:border-box;width:100%}.settings-fields .helptext{display:block;font-size:.82rem;color:#526577}.settings-fields .errorlist{color:#a32121}
.settings-save{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:18px 0}.settings-values{border-top:1px solid #dce5ee;padding:14px 0}.settings-values summary,.installation-history summary{font-weight:650;cursor:pointer;color:#193f54}.installation-history summary{font-size:1.08rem}details[open]>summary{margin-bottom:16px}
.installation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.installation-summary .card{display:flex;flex-direction:column;gap:10px}.installation-summary strong{font-size:1.8rem}.tower-card small,.tower-card li{overflow-wrap:anywhere}
.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.doc-card{margin:0;display:flex;flex-direction:column;min-width:0}.doc-card h2{font-size:1.1rem;overflow-wrap:anywhere}.doc-card .eyebrow{font-size:.72rem;line-height:1.5}.doc-card details{margin-top:auto;padding-top:14px;font-size:.8rem}.doc-hash{overflow-wrap:anywhere}.docs-filter{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.docs-filter p{flex:1 1 240px;margin:0}.docs-filter input,.docs-filter select{width:100%;box-sizing:border-box}.docs-filter label{display:block;margin-bottom:6px}
@media(max-width:760px){.settings-fields,.docs-grid{grid-template-columns:1fr}.installation-summary{gap:8px}.installation-summary .card{padding:12px}.installation-summary strong{font-size:1.3rem}.installation-summary span{font-size:.8rem}}

nav.section-links{flex:initial;flex-direction:row;align-items:center}nav.section-links a{color:#176283;margin:0}nav.section-links a:hover{background:#e9f2f7}
