/* DORFER V14.17 – gezielte Verfeinerung, vorhandene Funktionen unverändert */
/* Header: nur die Startseite bekommt die großzügige Premium-Gestaltung. */
.dorfer-topbar.dorfer17-home-header{
 position:relative; min-height:130px; padding:25px clamp(19px,3.1vw,37px);border:1px solid #423d3e;
 border-radius:19px;background:radial-gradient(ellipse at 84% 18%,rgba(149,60,72,.33),transparent 42%),linear-gradient(115deg,#25272a 5%,#302c2e 56%,#3b2b30 100%);
 box-shadow:0 16px 32px rgba(47,33,37,.13),inset 0 1px rgba(255,255,255,.1);color:#fff;margin-bottom:27px;gap:18px;
}
.dorfer17-home-header:after{content:"";position:absolute;bottom:0;left:32px;right:32px;height:2px;border-radius:99px;background:linear-gradient(90deg,#aa5e68 0%,rgba(170,94,104,0) 85%);pointer-events:none}
.dorfer17-home-welcome{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.dorfer17-home-welcome .dorfer17-overline{font-size:10px;letter-spacing:.17em;font-weight:800;color:#e2c6cb;text-transform:uppercase}
.dorfer17-overline span{color:#c97f89;padding:0 5px}.dorfer17-overline .dorfer17-head-date{color:#c2babb;letter-spacing:.04em;text-transform:none;font-weight:600;margin-left:12px}
.dorfer17-home-welcome>strong{font-size:clamp(24px,2.5vw,34px);line-height:1.12;font-weight:760;color:#fff;letter-spacing:-.035em}
.dorfer17-home-welcome>small{font-size:12px;line-height:1.45;color:#d8cbcb}
.dorfer17-home-header .dorfer-top-actions{flex-shrink:0;gap:9px}
.dorfer17-home-header .dorfer-refresh,.dorfer17-home-header .dorfer17-help-trigger{border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.1)!important;color:white!important;box-shadow:none}
.dorfer17-home-header .dorfer-refresh svg,.dorfer17-home-header .dorfer17-help-trigger svg{stroke:currentColor}
.dorfer17-home-header .dorfer-profile-menu>summary{border:1px solid rgba(255,255,255,.20);border-radius:13px;background:rgba(255,255,255,.1);padding:6px 9px}
.dorfer17-home-header .dorfer-top-person b{color:#fff!important}.dorfer17-home-header .dorfer-top-person small{color:#e3cecf!important}
.dorfer17-home-header .dorfer-profile-menu>summary>.dorfer-icon{color:#eedbde}
.dorfer17-home-header .dorfer-profile-dropdown{color:#252629}
.dorfer17-compact-header{min-height:64px!important;border:1px solid #ede6e3;border-radius:13px;background:#f8f6f4;padding:11px 19px!important;margin-bottom:19px;box-shadow:0 3px 14px #32272b0a;gap:14px}
.dorfer17-page-context{display:grid;gap:2px;min-width:0;flex:1}.dorfer17-page-context>span{font-size:9px;letter-spacing:.1em;font-weight:750;color:#99817e}.dorfer17-page-context>strong{font-size:15px;color:#2e2c2b;line-height:1.35}
.dorfer17-help-trigger{width:43px;height:43px;display:grid;place-items:center;border:1px solid #dfd4d1;border-radius:11px;background:#fff;color:#763943;cursor:pointer;flex:none;transition:background .15s,border-color .15s}
.dorfer17-help-trigger:hover,.dorfer17-help-trigger:focus-visible{background:#f9edee;border-color:#a65d65}.dorfer17-help-trigger svg{width:23px;height:23px}
/* Bewusst nebeneinander auch bei schmalen Smartphones. */
.dorfer17-field-pair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0}
.dorfer17-postcode-pair{grid-template-columns:minmax(100px,.43fr) minmax(0,1fr)}
.dorfer17-field-pair .input-group{min-width:0}.dorfer17-field-pair input{width:100%;min-width:0}
/* Kundeneigene Geräte als aufklappbares Menü mit fünf tatsächlichen Geräte-Piktogrammen. */
.dorfer17-own-devices{border:1px solid #ded4d0;border-radius:14px;overflow:hidden;background:#fff;margin:16px 0 11px}
.dorfer17-own-trigger{list-style:none;display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;min-height:88px;background:linear-gradient(105deg,#fcf7f5,#fff);color:#463638}
.dorfer17-own-trigger::-webkit-details-marker{display:none}
.dorfer17-own-trigger .dorfer17-own-icon{width:45px;height:45px;border-radius:10px;background:#f4e6e5;color:#803d46;display:grid;place-items:center;flex:none}
.dorfer17-own-icon svg{height:29px;width:29px}
.dorfer17-own-trigger>span:nth-child(2){flex:1;display:grid;gap:4px;min-width:0}
.dorfer17-own-trigger small{color:#95676f;letter-spacing:.12em;font-size:10px;font-weight:800}
.dorfer17-own-trigger strong{font-size:15px;line-height:1.25}
.dorfer17-own-trigger em{font-size:12px;font-style:normal;color:#7a7472;line-height:1.35}
.dorfer17-own-trigger>svg{height:19px;width:19px;flex:none;transition:transform .15s}
.dorfer17-own-devices[open] .dorfer17-own-trigger>svg{transform:rotate(180deg)}
.dorfer17-own-content{padding:16px;border-top:1px solid #eae2df;background:#fff}
.dorfer17-own-content>p{color:#7b706d;font-size:12px;line-height:1.5;margin:0 0 13px}
.dorfer17-appliance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.dorfer17-appliance-tile{position:relative;min-width:0;min-height:105px;border:1.5px solid #e4ddda;background:#faf9f8;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:11px 6px;color:#554447;cursor:pointer}
.dorfer17-appliance-tile input{position:absolute;opacity:0;width:1px;height:1px}
.dorfer17-appliance-tile svg{width:30px;height:30px;flex:none}
.dorfer17-appliance-tile strong{font-size:12px;line-height:1.2}
.dorfer17-device-check{display:none;position:absolute;top:5px;right:6px;font-size:12px;font-weight:900}
.dorfer17-appliance-tile:has(input:checked){background:#853841;border-color:#853841;color:#fff;box-shadow:0 5px 12px #85384122}
.dorfer17-appliance-tile:has(input:checked) .dorfer17-device-check{display:block}
.dorfer17-appliance-tile:has(input:focus-visible){outline:3px solid #c28189;outline-offset:2px}
/* Auswahl "Kunden vor Ankunft": kein Select-Menü. */
.dorfer17-arrival{border:1px solid #e5dad7;border-radius:14px;padding:16px;background:#fbf9f8}
.dorfer17-arrival-heading{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.dorfer17-arrival-heading>svg{color:#8a444d;width:23px;height:23px;flex:none}
.dorfer17-arrival-heading>div{display:grid;gap:3px}.dorfer17-arrival-heading h4{font-size:15px;margin:0}.dorfer17-arrival-heading small{font-size:11px;color:#877976}
.dorfer17-arrival-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.dorfer17-arrival-choice{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:56px;padding:8px 5px;text-align:center;background:#fff;border:1.5px solid #e2d9d6;border-radius:10px;color:#57494b;cursor:pointer}
.dorfer17-arrival-choice strong{font-size:12px}.dorfer17-arrival-choice svg{width:17px;height:17px;flex:none}
.dorfer17-arrival-choice.chosen{background:#853841;color:#fff;border-color:#853841}
.dorfer17-arrival-choice:focus-visible{outline:3px solid #c28189;outline-offset:2px}
/* Hilfe-Dialog für schnelle Erklärung; vollständiges Handbuch wird nach Veröffentlichung erstellt. */
.dorfer17-help-dialog{max-width:520px;width:calc(100vw - 30px);padding:25px;border-radius:18px}
.dorfer17-help-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.dorfer17-help-head span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#95444d}
.dorfer17-help-head h3{font-size:23px;margin:6px 0 9px}
.dorfer17-help-head button{background:#f5f1ef;border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}
.dorfer17-help-head svg{width:19px}.dorfer17-help-dialog>p{font-size:14px;color:#605855;line-height:1.65}
.dorfer17-help-dialog details{border:1px solid #e7dbd8;border-radius:12px;padding:13px 14px;background:#faf8f7;margin:16px 0}
.dorfer17-help-dialog summary{cursor:pointer;font-weight:750;color:#44393a}
.dorfer17-help-dialog dt{font-size:13px;font-weight:800;margin-top:13px}
.dorfer17-help-dialog dd{font-size:12px;color:#77706d;margin:4px 0 0;line-height:1.5}
.dorfer17-help-note{font-size:11px!important;color:#8c7e7c!important}
@media(max-width:920px){.dorfer17-appliance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dorfer17-home-header .dorfer-top-person{display:none}}
@media(max-width:650px){.dorfer17-arrival-options{grid-template-columns:repeat(3,minmax(0,1fr))}.dorfer-topbar.dorfer17-home-header{padding:18px!important;min-height:115px;gap:10px}.dorfer17-home-header .dorfer-refresh{display:none!important}.dorfer17-home-header .dorfer-top-actions{gap:6px}.dorfer17-home-welcome>strong{font-size:22px}.dorfer17-overline .dorfer17-head-date{display:none}.dorfer17-compact-header{padding:10px 12px!important}.dorfer17-page-context>strong{font-size:13px}.dorfer17-help-trigger{height:39px;width:39px}}
@media(max-width:440px){.dorfer17-appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dorfer17-arrival-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dorfer17-field-pair{gap:8px}.dorfer17-postcode-pair{grid-template-columns:minmax(95px,.43fr) minmax(0,1fr)}.dorfer17-own-trigger{padding:13px;gap:10px}.dorfer17-own-trigger strong{font-size:13px}.dorfer17-home-header .dorfer-profile-menu>summary{padding:4px}.dorfer17-home-welcome>small{font-size:11px}}
/* Kundenunterlagen im Montagerücklauf: 3 PDFs direkt im Zugriff */
.dorfer17-customer-docs{background:linear-gradient(140deg,#fff 70%,#faf8f7);border:1px solid #e7dedb;border-radius:16px;padding:21px;margin:15px 0 8px;box-shadow:0 5px 19px #2e242609}
.dorfer17-customer-docs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px}
.dorfer17-customer-docs-head h3{font-size:21px;letter-spacing:-.03em;margin:4px 0}
.dorfer17-customer-docs-head p{font-size:12px;color:#7b7370;line-height:1.45;margin:0}
.dorfer17-doccount{border-radius:99px;padding:7px 11px;background:#f3e9d8;color:#92691c;font-size:11px;font-weight:800;white-space:nowrap}
.dorfer17-doccount.all{background:#e5f2e9;color:#29613d}
.dorfer17-customer-doc-rowset{display:grid;gap:9px}
.dorfer17-customer-doc-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #eee9e7;border-radius:12px;background:#fff;min-width:0}
.dorfer17-customer-doc-row.ready{border-color:#dbebdf}
.dorfer17-customer-doc-icon{display:grid;place-items:center;background:#f5eaeb;color:#883f49;border-radius:10px;width:41px;height:41px;flex:none}
.dorfer17-customer-doc-icon svg{width:23px;height:23px}
.dorfer17-customer-doc-label{flex:1;display:grid;gap:2px;min-width:0}.dorfer17-customer-doc-label b{font-size:14px}.dorfer17-customer-doc-label small{font-size:11px;line-height:1.4;color:#756c69}
.dorfer17-customer-doc-row>.btn{font-size:12px;white-space:nowrap;padding:9px 12px;display:flex;align-items:center;gap:4px}
.dorfer17-customer-doc-row>.btn svg{width:15px;height:15px}
.dorfer17-doc-missing{font-size:11px;font-weight:700;border-radius:7px;color:#8b6550;background:#fff0df;padding:6px 8px}
.dorfer17-customer-doc-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px}.dorfer17-customer-doc-footer small{font-size:11px;color:#777;line-height:1.5}
.dorfer17-customer-doc-footer .btn:disabled{opacity:.55;cursor:not-allowed}
.dorfer17-review-approve{margin:13px 0 18px;display:flex;justify-content:flex-end}
.dorfer17-sign-doclist{display:grid;gap:8px;margin:14px 0}.dorfer17-sign-doclist>div{display:flex;gap:12px;align-items:center;border:1px solid #e9e0dd;border-radius:11px;padding:12px;background:#faf8f7}
.dorfer17-sign-doclist svg{width:23px;height:23px;color:#883f49}.dorfer17-sign-doclist span{display:grid;gap:3px}.dorfer17-sign-doclist strong{font-size:13px}.dorfer17-sign-doclist small{font-size:11px;color:#857777}
.dorfer17-sign-consent{display:flex;gap:10px;align-items:flex-start;background:#f5f0ec;border:1px solid #e6dad3;border-radius:11px;padding:13px;margin:13px 0;font-size:13px;line-height:1.55;font-weight:600;cursor:pointer}
.dorfer17-sign-consent input{width:20px;height:20px;flex:none;accent-color:#873840}
@media(max-width:600px){.dorfer17-customer-docs{padding:14px}.dorfer17-customer-docs-head h3{font-size:18px}.dorfer17-customer-doc-row{flex-wrap:wrap;gap:8px}.dorfer17-customer-doc-label{flex-basis:calc(100% - 53px)}.dorfer17-customer-doc-row>.btn{flex:1;justify-content:center}.dorfer17-review-approve .btn{width:100%}}
