:root{--ink:#102a39;--teal:#197c78;--green:#b8ed72;--muted:#60757d;--line:#dce6df;--bg:#f2f6f2}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}a{color:var(--teal);text-underline-offset:4px}button,input{font:inherit}.top{min-height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(5%,calc((100vw - 1160px)/2))}.brand{text-decoration:none;color:var(--ink);font-weight:850;font-size:24px;letter-spacing:-1px;white-space:nowrap}.brand span{color:var(--teal)}.brand small{font-size:12px;letter-spacing:0;color:var(--muted)}.brand .bolt{display:inline-grid;place-items:center;background:var(--ink);color:var(--green);width:32px;height:32px;border-radius:9px;margin-right:5px}.back{font-size:13px;font-weight:650}.shell{max-width:610px;margin:54px auto 64px;padding:0 24px}.shell.wide{max-width:1120px}.kicker{font-size:10px;letter-spacing:2px;font-weight:850;color:var(--teal)}h1{font-size:clamp(32px,5vw,44px);line-height:1.15;letter-spacing:-1.8px;margin:14px 0 28px}h2,h3{letter-spacing:-.6px;line-height:1.3}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 10px 28px #102a3905}.lead{color:var(--muted);margin-top:0;margin-bottom:28px}label{display:block;font-size:13px;font-weight:750;margin:20px 0 7px}label span{font-size:11px;color:var(--muted);font-weight:450}input:not([type=hidden]){display:block;width:100%;border:1px solid #afc1b7;border-radius:9px;background:#fff;color:var(--ink);padding:12px 13px;min-height:48px}input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #197c78;outline-offset:3px}fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 0;margin:30px 0 0;min-width:0}legend{font-weight:800;padding:0 12px 0 0}.row{display:grid;grid-template-columns:1fr 1.8fr;gap:16px}.hint{font-size:11px;color:var(--muted);line-height:1.6;margin:8px 0 20px}.primary,.secondary,.button{display:inline-block;cursor:pointer;border:0;border-radius:30px;font-weight:800;font-size:14px;text-decoration:none;text-align:center;padding:14px 22px;min-height:48px}.primary,.button{background:var(--ink);color:var(--green)}.primary{width:100%;margin-top:18px}.secondary{background:#e8f1eb;color:var(--ink);border:1px solid #c9dbcd;white-space:nowrap}.switch{text-align:center;margin:26px 0 0;font-size:13px}.switch a{font-weight:750}.note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:24px}.message{font-size:13px;line-height:1.7;border:1px solid #c3dea7;border-radius:12px;background:#f0f8e8;color:#29493b;padding:16px;margin-bottom:24px}.message.error{border-color:#e1b4a7;background:#fff1eb;color:#843b2a}.greeting{display:flex;justify-content:space-between;gap:32px;align-items:center;background:var(--ink);color:#fff;border:0}.greeting p{color:#bdd1d0;font-size:14px}.greeting h2{font-size:29px;margin:17px 0 12px}.badge{display:inline-block;border-radius:20px;background:#eaf7d9;color:#2b4e36;padding:5px 11px;font-size:10px;font-weight:800;letter-spacing:.4px}.section-title{font-size:22px;margin-top:34px}.households{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.house-icon{font-size:40px;color:var(--teal)}.household h3{font-size:23px;margin:6px 0 12px;overflow-wrap:anywhere}.household p{font-size:14px;color:var(--muted)}footer{text-align:center;padding:30px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}footer span{font-size:10px}@media(max-width:620px){.top{padding:16px 5%;min-height:76px}.brand{font-size:21px}.back{font-size:11px}.shell{margin:36px auto 44px;padding:0 18px}.card{padding:24px}.greeting{display:block}.greeting form{margin-top:22px}.households{grid-template-columns:1fr}.row{grid-template-columns:1fr}.row>div+div label{margin-top:10px}}
.household-link{display:block;font-size:13px;font-weight:800;margin-top:24px;text-underline-offset:4px}.text-back{display:inline-block;font-size:13px;font-weight:700;margin:-8px 0 22px}.household-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px}.household-details dt{color:var(--muted)}.household-details dd{margin:0;overflow-wrap:anywhere}
.kicker{font-size:10px;letter-spacing:1.7px;font-weight:850;color:var(--teal)}.household-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.card h2{overflow-wrap:anywhere}.household-workspace .card>h2{font-size:27px;margin:12px 0 24px}.meter-item{border:1px solid var(--line);border-radius:13px;padding:18px;margin:18px 0}.meter-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.meter-item-head h3{font-size:15px;margin:0}.meter-identifier{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:var(--ink);margin:18px 0}.status-pill{display:inline-block;font-size:10px;font-weight:750;border-radius:20px;padding:4px 10px;background:#edf0ed;color:#53625b}.status-pending{background:#fff2d1;color:#755517}.status-verified{background:#e5f4d5;color:#335c28}.status-inactive{background:#eff0ef;color:#59645d}.meter-item .hint{margin-bottom:0}.meter-item .household-link{margin-top:15px}.meter-add{margin:12px 0 18px;text-decoration:none}.empty-state{background:#f3f6f1;border-radius:14px;padding:24px;margin-bottom:22px}.empty-state>span{font-size:28px;color:var(--teal)}.empty-state h3{font-size:17px;margin:6px 0}.empty-state p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:0}select{display:block;font:inherit;width:100%;min-height:48px;background:#fff;color:var(--ink);border:1px solid #afc1b7;border-radius:9px;padding:12px 13px}select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}@media(max-width:850px){.household-workspace{grid-template-columns:1fr}}@media(max-width:620px){.meter-item-head{display:block}.meter-item-head .status-pill{margin-top:8px}.household-workspace .card>h2{font-size:24px}}

.section-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}.section-actions .text-back{margin:0}.invite-reveal{margin-bottom:26px;background:#f2f8e9;border-color:#b2cf8d}.invite-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:15px;letter-spacing:.2px}.invitation-history{margin-top:26px}.invitation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line,#dce5df)}.invitation-row:last-child{border-bottom:0}.invitation-row p{margin-bottom:0}.invitation-row form{margin:0}.pilot-price{font-size:28px;font-weight:800;color:#187d77}
@media(max-width:600px){.section-actions{align-items:flex-start;flex-direction:column}.section-actions .secondary{width:100%}.invite-code{font-size:13px;padding:12px 8px}}

/* Strompartnerschaften: Navigation, Formularaktionen und Widerruf getrennt. */
.partner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.partner-back{font-size:13px;font-weight:750;flex-shrink:0}
.partner-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.partner-toolbar .secondary{font-size:13px;padding:12px 18px;min-height:46px}
.partner-workspace>*,.invitation-row>div{min-width:0}
.partner-create{scroll-margin-top:24px}
.partner-form-actions{display:flex;align-items:stretch;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.partner-form-actions .primary,.partner-form-actions .secondary{width:auto;max-width:100%;margin:0;white-space:normal;line-height:1.45;display:inline-flex;align-items:center;justify-content:center}
.partner-confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px}
.partner-invitation .pilot-price{margin:16px 0 26px}
.invitation-row>div{overflow-wrap:anywhere}
.invitation-row form{justify-self:end}
.invitation-row .partner-revoke{background:#fff7f3;border-color:#e1c2b7;color:#843b2a;font-size:12px;min-height:44px;padding:10px 16px}
.partner-toolbar .secondary:hover,.partner-form-actions .secondary:hover{background:#dcebe1}
.partner-form-actions .primary:hover{background:#1b4050}
.invitation-row .partner-revoke:hover{background:#f9e9e1}
@media(max-width:700px){.partner-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.partner-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.partner-toolbar-actions>.secondary{white-space:normal;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.4;padding:12px 10px}.partner-form-actions{display:grid;grid-template-columns:minmax(0,1fr)}.partner-form-actions .primary,.partner-form-actions .secondary{width:100%}.invitation-row{grid-template-columns:minmax(0,1fr);gap:14px}.invitation-row form{justify-self:start}.invitation-row .partner-revoke{min-height:46px}}
@media(max-width:380px){.partner-toolbar-actions{grid-template-columns:minmax(0,1fr)}}

/* V05: geschuetzte interne Pilotpruefung */
.review-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;background:#edf4e7}.review-entry h2{font-size:22px;margin:8px 0}.review-entry p{font-size:13px;color:var(--muted);margin:0}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.review-grid>*{min-width:0}.review-row{padding:22px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border:0}.review-row h3{font-size:18px;margin:0 0 8px;overflow-wrap:anywhere}.review-row p{font-size:13px;margin:6px 0}.review-row .secondary{display:inline-block;margin-top:16px;white-space:normal}.review-row .meter-identifier{font-size:12px;overflow-wrap:anywhere}.review-scope{font-size:12px;color:var(--muted);margin-bottom:24px}.review-note-input{display:block;width:100%;font:inherit;line-height:1.6;padding:12px 13px;border:1px solid #afc1b7;border-radius:9px;resize:vertical;min-height:88px;color:var(--ink);background:white}.review-note-input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.review-check{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:13px;font-weight:500}.review-check input[type=checkbox]{display:inline-block;width:20px;height:20px;min-height:20px;padding:0;margin:3px 0 0;flex:0 0 20px;accent-color:var(--teal)}.review-check span{font-size:13px;color:var(--ink);font-weight:500}.review-impact{background:#fff5e9;border:1px solid #e5c7a1;border-radius:12px;padding:18px;font-size:13px}.review-impact p{margin-bottom:0}.review-impact .review-check{margin-bottom:0}.review-feedback{border-left:3px solid var(--teal);background:#f1f6ef;padding:12px 16px;margin:18px 0;font-size:13px;overflow-wrap:anywhere}.review-feedback h3{font-size:14px;margin-top:0}.review-feedback p{margin:6px 0;white-space:pre-wrap}.review-party{border-top:1px solid var(--line);padding:18px 0}.review-party h3{margin:8px 0}.review-history{margin-top:24px}.review-event{padding:20px 0;border-top:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.review-event h3{font-size:16px;margin:0 0 8px}.review-event p{white-space:pre-wrap}.review-decision-actions .primary,.review-decision-actions .secondary{flex:1 1 190px}.primary:disabled{opacity:.5;cursor:not-allowed}.review-decision-actions .partner-revoke{background:#fff5ef;border-color:#e5c6b7;color:#843b2a}.review-grid .meter-identifier{font-size:13px}
@media(max-width:850px){.review-grid{grid-template-columns:minmax(0,1fr)}.review-entry{align-items:flex-start;flex-direction:column}.review-entry .secondary{width:100%;white-space:normal}}

/* Simplicity: one next step, optional details, comfortable touch targets. */
[hidden]{display:none!important}
.hint{font-size:12px}.note{font-size:13px}
.next-action{width:auto;max-width:100%;margin:8px 0;white-space:normal;line-height:1.5}
.next-step{margin:18px 0 8px!important}.households .card{min-width:0}
.household-simple{grid-template-columns:minmax(0,1fr);max-width:780px;margin:auto}
.household-simple .meter-panel{order:-1}
summary{cursor:pointer;font-weight:750;min-height:44px;padding:10px 0;line-height:1.5}
summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
.support-entry{margin-top:28px;border-top:1px solid var(--line);padding-top:12px;font-size:13px;color:var(--muted)}
.registration-options{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
.registration-options fieldset{border:0;margin:0;padding-top:12px}
.connection-details{font-size:12px;margin-top:14px}.connection-details .hint{margin-top:0;overflow-wrap:anywhere}
.selected-meter{background:var(--bg);border-radius:10px;padding:14px 16px;overflow-wrap:anywhere;font-size:14px}
.copy-code{margin-top:14px}.copy-status:empty{display:none}
.text-control{display:inline-block;background:none;border:0;color:var(--teal);text-decoration:underline;text-underline-offset:4px;font-size:13px;cursor:pointer;padding:10px 0;min-height:44px}
.status-pending{background:#edf0ed;color:#53625b}
@media(max-width:620px){.next-action{width:100%}.secondary{white-space:normal;line-height:1.5}.card{min-width:0}.hint{font-size:12px}}

/* V07: kurze Einwilligungen, ausreichend große Klickfläche und getrennte Zwecke. */
.consent-check{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-weight:450;cursor:pointer;padding:8px 0;min-height:44px}
.consent-check input[type=checkbox]{display:block;width:22px;height:22px;min-height:22px;flex:0 0 22px;padding:0;margin:2px 0 0;accent-color:var(--teal)}
.consent-check span{font-size:13px;font-weight:450;line-height:1.65;color:var(--ink)}
.consent-check a{font-weight:650}.registration-consents{margin-top:26px}.registration-consents .hint{margin-left:34px}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;max-width:1000px;margin:18px auto 0}
.legal-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.privacy-card{margin-top:22px}.privacy-card h2{margin-top:0;font-size:24px}.privacy-card p{font-size:14px}.privacy-card .secondary{max-width:100%;white-space:normal}.privacy-history{margin-top:24px;font-size:13px}.privacy-history li{margin:12px 0}
.legal-shell{max-width:820px}.legal-copy{font-size:15px}.legal-copy h2{font-size:23px;line-height:1.4;margin-top:34px;scroll-margin-top:28px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{line-height:1.8}.legal-copy address{font-style:normal;white-space:pre-line}.legal-copy dt{font-weight:750;margin-top:14px}.legal-copy dd{margin:0;overflow-wrap:anywhere}.legal-overview{padding:18px 22px;background:#e8f1eb;border-radius:12px;margin:0 0 26px}.legal-overview p{margin:6px 0}.legal-toc{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 30px}.legal-toc a{font-size:13px;min-height:32px}.legal-draft{background:#fff2d1;border:1px solid #d9bb72;border-radius:12px;padding:16px;margin-bottom:24px;font-size:14px}.legal-copy .legal-sources{font-size:12px}.legal-sources a{overflow-wrap:anywhere}
@media(max-width:620px){.registration-consents .hint{margin-left:0}.consent-check span{font-size:14px}.legal-links{gap:6px 18px}.privacy-card .secondary{width:100%}.legal-copy{font-size:14px}.legal-shell .card{padding:23px}.legal-copy h2{font-size:21px}}
