/* Robin 27.09.2026: „Das Kunden Backend möchte ich in den Farben meines Logos, Hintergrund weiß und Akzente in corporate blau. Ich habe das Gefühl das wirkt seriöser.“ Corporate-Blau #47556A aus Robins Logo (Medien/Werbung Drucksachen/Logo.svg); immer hell, auch wenn das Gerät auf dunkel steht. */
:root{color-scheme:light;--paper:#ffffff;--surface:#ffffff;--tint:#f4f6f9;--ink:#1f2a38;--muted:#5d6878;--line:#dde2e8;--accent:#47556a;--accent-dark:#36424f;--on-accent:#ffffff;--soft:#eef1f5;--warm:#805219;--warm-bg:#fbedd7;--green:#286046;--green-bg:#e6efe8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Inter,"Segoe UI",Arial,sans-serif}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:clamp(27px,5vw,40px);line-height:1.18;letter-spacing:-1px;font-weight:500}h2{font-size:22px;font-weight:500;line-height:1.3}h3{font-size:16px;font-weight:600}strong{font-weight:600}small,.small{font-size:12px}.muted{color:var(--muted)}
.portal-header{max-width:1120px;margin:auto;padding:27px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:var(--on-accent)}.brand svg{width:26px;height:26px}.brand strong{font-size:19px;letter-spacing:1px}.brand small{display:block;text-transform:uppercase;letter-spacing:1.65px;font-size:10px;color:var(--muted)}.privacy-label{font-size:12px;color:var(--muted)}#portal-main{max-width:1068px;margin:auto;padding:13px 26px 35px;outline:none}.panel{padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--surface);min-width:0}.entry{max-width:600px;margin:35px auto 80px;padding:42px}.entry h1{margin-bottom:20px}.entry p{color:var(--muted)}.eyebrow{font-size:11px!important;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:13px!important}.test-banner{background:var(--warm-bg);color:var(--warm);border-radius:9px;padding:12px 16px;font-size:12px;margin:0 0 24px}.hero{padding:8px 0 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero p{color:var(--muted);margin-top:9px;font-size:13px}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:22px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}.badge{display:inline-block;border-radius:6px;background:var(--soft);padding:4px 9px;font-size:11px;font-weight:600}.badge.success,.decision-receipt{background:var(--green-bg);color:var(--green)}.status-lead{font-size:23px;font-weight:500;color:var(--accent);margin-bottom:9px}.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.steps li{font-size:10px;color:var(--muted);line-height:1.45;border-top:3px solid var(--line);padding-top:10px}.steps li.current{color:var(--ink);border-color:var(--accent);font-weight:600}.steps li.done{border-color:var(--green)}.facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.facts div{min-width:0}.facts dt{font-size:11px;color:var(--muted)}.facts dd{margin:2px 0 0;font-size:13px;overflow-wrap:anywhere}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px;line-height:1.4;text-decoration:none;text-align:center}.button:hover{background:var(--soft)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.subtle{background:transparent;border-color:transparent;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.actions>*{max-width:100%}.quote-line{padding:17px 0;border-top:1px solid var(--line)}.quote-line:first-child{border:0;padding-top:0}.line-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.line-heading strong{font-size:14px;font-weight:500}.amount{white-space:nowrap;font-weight:600}.line-meta{font-size:11px;color:var(--muted);margin-top:6px}.line-description{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.option-label{display:flex;gap:10px;align-items:start;cursor:pointer}.option-label input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}.option-label>span{min-width:0;flex:1}.optional-tag{font-size:10px;color:var(--warm);margin-bottom:5px;display:block}.total{padding-top:18px;border-top:1px solid var(--line);margin-top:8px}.total-main{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.total-main strong{font-size:26px;white-space:nowrap;font-weight:500}.total small{color:var(--muted);display:block;margin-top:6px}.note{font-size:13px;padding:14px;border-radius:8px;background:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:17px}.decision-confirm{padding-top:17px;margin-top:20px;border-top:1px solid var(--line)}.decision-confirm h3{margin-bottom:9px}.decision-receipt{border-radius:9px;padding:15px;margin-top:18px;font-size:13px}.message-list{display:grid;gap:14px;margin-bottom:20px;max-height:540px;overflow:auto;padding-right:3px}.message{padding:13px 15px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}.message.customer{margin-left:25px;background:var(--soft)}.message-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:11px;color:var(--muted);margin-bottom:7px}.message p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.field{display:grid;gap:7px;font-size:12px;font-weight:500}.field textarea{font-size:16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;width:100%;padding:12px;min-height:115px;resize:vertical}.error{background:var(--warm-bg);color:var(--warm);padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;max-width:calc(100% - 28px);width:max-content;border:1px solid var(--line);background:var(--surface);box-shadow:0 5px 25px #0002;border-radius:10px;padding:12px 20px;font-size:13px}.portal-footer{max-width:1068px;margin:auto;padding:15px 26px 35px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.history-item{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:12px}.empty{padding:17px 0;color:var(--muted);font-size:13px}.quote-header-text p{margin-top:5px}.quote-terms{margin-top:18px;font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
@media(max-width:760px){.layout{grid-template-columns:1fr}.portal-header{padding:20px}.privacy-label{max-width:105px;font-size:10px;text-align:right}#portal-main{padding:9px 18px 25px}.panel{padding:21px}.entry{padding:30px 23px;margin-top:22px}.hero{padding-bottom:23px}.hero h1{font-size:30px}.portal-footer{padding:12px 20px 28px}.total-main strong{font-size:24px}}
@media(max-width:390px){#portal-main{padding-left:12px;padding-right:12px}.portal-header{padding-left:16px;padding-right:16px}.panel{padding:18px}.facts{gap:13px}.steps{gap:5px}.steps li{font-size:9px}.hero{gap:10px}.hero h1{font-size:28px}.decision-confirm .actions{display:grid}.decision-confirm .actions .button{width:100%}.line-heading{gap:10px}.line-heading strong{font-size:13px}}

.line-heading>strong{min-width:0;flex:1;overflow-wrap:anywhere}.line-heading>.amount{flex:0 0 auto}

.legal-links{display:flex;flex-wrap:wrap;gap:0 18px}.legal-links a{display:inline-flex;align-items:center;min-height:44px}.portal-footer .legal-links{flex-basis:100%}.quote-legal{margin-top:8px;font-size:12px}

.invoice-document{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.invoice-notice{margin-top:9px}.invoice-document .button{overflow-wrap:anywhere}.invoice-document .line-heading{flex-wrap:wrap}
#hours-panel:empty{display:none}.hours-lines p{margin:6px 0 0;font-weight:600}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:14px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.scope-control{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:13px}.scope-control output{font-weight:600;min-width:46px;display:inline-block}.scope-control input{flex:1;min-width:0;accent-color:var(--accent)}.scope-chosen{font-size:12px;color:var(--accent);margin-top:8px;font-weight:600}
/* Corporate-Blau als Akzent: Streifen oben, Überschriften, Logo im Kopf; Hinweisflächen leicht getönt statt weiß auf weiß. */
body{border-top:5px solid var(--accent)}
h1,h2{color:var(--accent)}
.brand-logo{display:block;height:46px;width:auto;max-width:min(62vw,258px)}
.portal-header{border-bottom:1px solid var(--line)}
.note,.message,.field textarea{background:var(--tint)}
.button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
:focus-visible{outline-color:var(--accent)}
.portal-footer{border-top:1px solid var(--line);margin-top:10px;padding-top:18px}
