/* Schriften lokal eingebunden (keine Verbindung zu Google): Libre Caslon Display für Überschriften, Roboto für Text (beide SIL Open Font License, siehe fonts/) */
@font-face{font-family:"Roboto";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/roboto-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/roboto-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto";font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/roboto-latin-wght-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/roboto-latin-ext-wght-italic.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Caslon Display";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/libre-caslon-display-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Display";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/libre-caslon-display-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Schreibschrift „Modernline“ (von der Nutzerin bereitgestellt, 08.11.2026) */
@font-face{font-family:"Modernline";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/modernline.otf) format("opentype")}
/* Farbklaex CRM – übernommen aus prototype/index.html (endgültige Werte aus dem Stylesheet der Fotografin).
   Farben seit 12.11.2026 (neues Stylesheet, mit der Nutzerin abgestimmt): #889e8c Salbei, #3e5143 Tannengrün, #f6f3ef Papier, #e8eae3 Nebel, #9C5A3C Rost (Warnungen). Weiterhin: #E6E1D2 Creme. Oliv nur noch in Statusbadges und im Dunkelmodus. */
:root{--bg:#f6f3ef;--card:#fff;--text:#3e5143;--muted:#5f6661;--line:#DDD8C7;--accent:#889e8c;--accent2:#889e8c;--ad:#889e8c;--badge-ac:#566049;--chk:#3e5143;--link:#3e5143;--on:#fff;--btn-t:#fff;--ok:#4F7A52;--warn:#9C5A3C;--side:#3e5143;--beige:#E6E1D2;--beige-d:rgba(230,225,210,.6);--script:"Modernline","Brush Script MT",cursive;--btn-bg:#889e8c;--btn-fg:#f6f3ef;--btn-h:#3e5143;--btn-h-fg:#fff;--btn2-bg:#e8eae3;--btn2-fg:#3e5143;--btn2-bd:#e8eae3;--btn2-h:#889e8c;--btn2-h-fg:#f6f3ef;--nav-on:#889e8c;--nav-on-t:#fff;--side-t:#f6f3ef;--side-t-d:rgba(246,243,239,.6);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1d211c;--card:#272c25;--text:#ECE7D8;--muted:#A5AC9C;--line:#383e35;--accent:#959D8D;--ad:#B4BBAA;--badge-ac:#B4BBAA;--chk:#959D8D;--link:#B4BBAA;--btn-t:#1d221c;--ok:#8DBF93;--warn:#D1A48F;--btn-bg:#959D8D;--btn-fg:#1d221c;--btn-h:#8c9485;--btn-h-fg:#1d221c;--btn2-bg:#272c25;--btn2-fg:#ECE7D8;--btn2-bd:#383e35;--btn2-h:#2f352c;--btn2-h-fg:#ECE7D8;--nav-on:#959D8D;--nav-on-t:#1d221c;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#1d211c;--card:#272c25;--text:#ECE7D8;--muted:#A5AC9C;--line:#383e35;--accent:#959D8D;--ad:#B4BBAA;--badge-ac:#B4BBAA;--chk:#959D8D;--link:#B4BBAA;--btn-t:#1d221c;--ok:#8DBF93;--warn:#D1A48F;--btn-bg:#959D8D;--btn-fg:#1d221c;--btn-h:#8c9485;--btn-h-fg:#1d221c;--btn2-bg:#272c25;--btn2-fg:#ECE7D8;--btn2-bd:#383e35;--btn2-h:#2f352c;--btn2-h-fg:#ECE7D8;--nav-on:#959D8D;--nav-on-t:#1d221c;color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15.5px/1.5 "Roboto",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--link)}
code{font-size:13.5px;background:var(--bg);padding:1px 5px;border-radius:4px}
.app{display:flex;min-height:100vh}
main{flex:1;padding:26px 32px;max-width:1240px;min-width:0;margin:0 auto}
h1{font:500 calc(30px*var(--fz)) "Libre Caslon Display",Georgia,serif;letter-spacing:-.01em;margin:0 0 4px}
.sub{color:var(--muted);margin:0 0 20px}
.muted{color:var(--muted)}

/* Seitenleiste */
nav{width:230px;padding:22px 14px;background:var(--side);position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
nav .logo{font:400 calc(21px*var(--fz)) "Libre Caslon Display",Georgia,serif;letter-spacing:.16em;text-transform:lowercase;color:var(--side-t);display:flex;align-items:baseline;gap:2px;margin:0 8px 22px}
nav .logo span{font-family:var(--script);font-size:calc(40px*var(--fz));letter-spacing:0;text-transform:none;color:#B3BBAA;line-height:.7;margin-left:4px}
nav .hd{font-weight:600;font-size:calc(10px*var(--fz));letter-spacing:.12em;text-transform:uppercase;color:var(--side-t-d);margin:20px 12px 6px}
nav .logo + .hd{margin-top:6px}
nav button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;color:var(--side-t);padding:10px 12px;border-radius:4px;font:400 calc(14px*var(--fz)) "Roboto",system-ui,sans-serif;cursor:pointer;text-align:left;transition:background .15s}
nav button:hover{background:rgba(233,221,197,.1)}
nav button.on{background:var(--nav-on);color:var(--nav-on-t);font-weight:400}
nav{scrollbar-width:thin;scrollbar-color:rgba(230,225,210,.25) transparent}
nav button svg{flex:none}
nav button .grow{flex:1}
nav .chev{opacity:.6;transition:transform .2s}nav button.open .chev{transform:rotate(90deg)}
nav button.subnav{padding:7px 12px 7px 40px;font-size:calc(13px*var(--fz));margin:2px 0 0}
nav button.has-sub.open:not(.on){background:rgba(233,221,197,.08)}
nav .me{margin-top:auto;padding:18px 12px 0;color:var(--side-t-d);font-size:calc(12px*var(--fz))}
nav .me button{padding:6px 0;font-size:calc(13px*var(--fz));width:auto}
nav .me button:hover{background:none;text-decoration:underline}

/* Bausteine */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(20,30,24,.06)}
.btn{background:var(--btn-bg);color:var(--btn-fg);border:0;border-radius:4px;padding:8px 14px;font:inherit;font-weight:400;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--btn-h);color:var(--btn-h-fg)}
.btn.ghost{background:var(--btn2-bg);color:var(--btn2-fg);border:1px solid var(--btn2-bd);font-weight:400}
.btn.ghost:hover{background:var(--btn2-h);border-color:var(--btn2-h);color:var(--btn2-h-fg)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:disabled:hover{background:var(--btn-bg);color:var(--btn-fg)}.btn.ghost:disabled:hover{background:var(--btn2-bg);border-color:var(--btn2-bd);color:var(--btn2-fg)}
input,select,textarea{font:inherit;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:8px 10px;max-width:100%}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:99px;opacity:0;transition:.2s;pointer-events:none;z-index:50}
.toast.show{opacity:1}

.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:18px}
.stat b{display:block;font:600 calc(28px*var(--fz)) "Libre Caslon Display",Georgia,serif}.stat span{color:var(--muted);font-size:13.5px}
.two{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.bar .grow{flex:1}
.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:500;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
tr.row{cursor:pointer}tr.row:hover td{background:var(--bg)}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:13.5px;border:1px solid var(--line);color:var(--muted)}
.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.ac{color:var(--badge-ac);border-color:var(--accent2)}
.tl{list-style:none;margin:10px 0;padding:0}.tl li{padding:4px 0 4px 18px;position:relative;color:var(--muted)}
.tl li:before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:var(--line)}
.tl li.done{color:var(--text)}.tl li.done:before{background:var(--accent2)}

/* Masken */
.modal{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.mbox{background:var(--card);border-radius:10px;padding:22px;width:100%;max-width:560px;max-height:100%;overflow:auto}
.fg{display:grid;gap:10px 12px;grid-template-columns:1fr 1fr}.fg .w{grid-column:1/-1}
.fg label{display:block;font-size:13.5px;color:var(--muted);margin-bottom:3px}.fg input,.fg select,.fg textarea{width:100%}
textarea{resize:vertical}
@media(max-width:520px){.fg{grid-template-columns:1fr}}

/* Preislisten und Kategorien */
.pkg{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:15px 0;border-bottom:1px solid var(--line)}.pkg:last-child{border:0}
.pkg-h{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.pkg-h b{font-size:15.5px}.pkg-p{font:600 15.5px "Libre Caslon Display",Georgia,serif;color:var(--ad)}
.pkg-m{display:flex;gap:4px 18px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}.pkg-i{grid-column:1;margin:4px 0 0;color:var(--muted);font-size:13.5px}
.pkg-a{grid-column:2;grid-row:1 / span 3;display:flex;gap:8px;align-items:center}
@media(max-width:600px){.pkg{grid-template-columns:1fr}.pkg-a{grid-column:1;grid-row:auto;margin-top:8px}}
.cat{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:4px 6px 4px 14px;margin:0 6px 6px 0}
.cat button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:13.5px;padding:2px 8px;border-radius:99px}.cat button:hover{background:var(--line)}
.cat button svg{display:block}
.pkg-g{font-size:13.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:20px 0 6px}

/* Vollbild (Kundenansicht) und Links */
.full{min-height:100vh;background:var(--bg)}
.pre{position:sticky;top:0;z-index:3;background:var(--text);color:var(--bg);padding:8px 14px;display:flex;justify-content:space-between;align-items:center;font-size:13.5px}
.pre button{background:none;border:1px solid currentColor;color:inherit;border-radius:4px;padding:3px 10px;cursor:pointer}
.link{display:flex;gap:8px;align-items:center;background:var(--mint);border:1px dashed var(--accent);border-radius:10px;padding:8px 12px;margin:10px 0;word-break:break-all}
.chk{display:inline-flex;gap:6px;align-items:center;margin-right:10px}.chk input{width:auto;accent-color:var(--chk)}
.docs{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center}
.att{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:0 0 14px}

/* Vertragspapier (aus dem Prototyp, Farben der PDF-Vorlage bewusst beibehalten) */
.cd{background:#fff;color:#3a423c;border:1px solid var(--line);border-radius:6px;margin-top:14px;font-size:calc(12.5px*var(--fz));line-height:1.55;overflow:hidden}
.cd *{box-sizing:border-box}
.cd-page{padding:0 0 22px;border-bottom:10px solid #d9dcd8}.cd-page:last-child{border:0}
.cd-h{display:flex;justify-content:flex-end;padding:16px 28px 12px}.cd-h img{height:48px;width:auto}
.cd-band{background:#e6eae4;padding:0 28px 14px;margin-bottom:12px}
.cd-title{display:inline-block;background:#5e7b64;color:#fff;font-weight:400;font-size:clamp(19px,4.6vw,38px);letter-spacing:.02em;padding:0 8px;margin:0 0 10px -8px;line-height:1.3}
.cd-s{display:inline-block;background:#5e7b64;color:#fff;letter-spacing:.16em;text-transform:uppercase;font-size:calc(11.5px*var(--fz));padding:2px 8px;margin:16px 0 8px 20px}
.cd-pad{padding:0 28px}.cd-pad p,.cd-band p{margin:6px 0}
.cd-g{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.cd-g3{grid-template-columns:1fr 1fr 2fr}.cd-g3.cd-pad{padding:0 28px}
.cd .f label{display:block;font-size:calc(11.5px*var(--fz));color:#6a726c;padding:2px 6px 0}
.cd input:not([type=checkbox]),.cd textarea{width:100%;font:inherit;color:#2a2f2b;background:rgba(136,158,140,.16);border:0;border-bottom:1px solid #8a968c;border-radius:0;padding:7px 8px;min-width:0}
.cd input:not([type=checkbox]):not(.sigin):not(.inl){height:34px}
/* Nur Felder, die noch ausgefüllt werden können, sind grün hinterlegt; gesperrte Felder und der
   abgeschlossene (unterschriebene) Vertrag zeigen nur die Unterlinie (Wunsch der Nutzerin, 10.11.2026) */
.cd input[readonly],.cd textarea[readonly],.cd fieldset:disabled input:not([type=checkbox]):not([type=radio]),.cd fieldset:disabled textarea,.cd fieldset:disabled select{background:transparent}.cd input:disabled,.cd textarea:disabled{opacity:1;color:#2a2f2b}
.cd-r{display:grid;grid-template-columns:170px 1fr;gap:6px 14px;padding:8px 28px}.cd-l{color:#2f5a3d;font-weight:500}.cd-l small{font-weight:400;color:#555}
.cd-c label{display:flex;gap:9px;align-items:flex-start;padding:2px 0;cursor:pointer}.cd-c input{width:15px;height:15px;margin-top:3px;flex:none;accent-color:#5e7b64}
.cd input.inl{display:inline-block;width:160px;padding:2px 6px;height:auto}
.cd-km{display:flex;gap:8px;align-items:center}.cd-km input{width:110px}
.cd-sig{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:34px 28px 6px;align-items:end}.cd-sig .line{border-bottom:1px solid #6a726c;height:38px}.cd-sig span{font-size:calc(11.5px*var(--fz));color:#6a726c}
.cd .sigin{font-style:italic;font-size:calc(18px*var(--fz));height:38px;background:transparent!important;border-bottom:1px solid #6a726c!important}
.cd .sg-tabs{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.cd .sg-tabs button,.cd .sg-clear{font:inherit;font-size:calc(11.5px*var(--fz));background:#fff;color:#3a423c;border:1px solid #b9c2ba;border-radius:99px;padding:3px 12px;cursor:pointer}
.cd .sg-tabs button.on{background:#5e7b64;color:#fff;border-color:#5e7b64}
.cd .sigpad{display:block;width:100%;height:auto;aspect-ratio:600/150;border-bottom:1px solid #6a726c;background:rgba(136,158,140,.1);touch-action:none;cursor:crosshair}
.cd .cd-c label + label{margin-top:4px}
.cd-early{margin-top:10px;background:#f3f0e6;border-left:3px solid #9C5A3C;padding:8px 10px}
.cd .sigimg{display:block;width:100%;height:auto;border-bottom:1px solid #6a726c}
.cd .sigtxt{font-style:italic;font-size:calc(20px*var(--fz));border-bottom:1px solid #6a726c;padding:4px 8px;min-height:38px}
.cd-band:has(>.cd-title:first-child){margin-top:26px}
.cd-band>.cd-title:first-child{display:block;width:fit-content;margin:-.65em 0 12px -8px;position:relative;z-index:1}
.cd-band:has(>.cd-s:first-child){margin-top:20px}
.cd-band>.cd-s:first-child{display:block;width:fit-content;margin:-11px 0 8px -8px;position:relative;z-index:1}
.cd-wrap{max-width:860px;margin:0 auto;padding:16px}
@media(max-width:600px){.cd-g,.cd-g3,.cd-sig,.cd-r{grid-template-columns:1fr}.cd-pad,.cd-band,.cd-r,.cd-sig,.cd-g3.cd-pad{padding-left:16px;padding-right:16px}}

/* Formulare (aus dem Prototyp) */
.overlay{position:fixed;inset:0;z-index:25;overflow:auto;background:var(--bg)}
.td{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.td:last-child{border:0}
.td .btn{margin-left:6px}
/* Dashboard und Workflows (aus dem Prototyp) */
.today{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.today:last-child{border:0}
.today input{width:18px;height:18px;accent-color:var(--chk)}
.pipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;margin-top:12px}
.pi{background:var(--bg);border-radius:10px;padding:10px 12px}.pi b{display:block;font:600 calc(22px*var(--fz)) "Libre Caslon Display",Georgia,serif;color:var(--gtitle)}.pi span{font-size:13.5px;color:var(--muted)}
.td-act{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.td-act .btn{margin:0;padding:5px 10px;font-size:13.5px;text-decoration:none}
.db-soon{margin-top:8px}.db-soon summary{cursor:pointer;padding:6px 0;font-size:13.5px}
.wf-t td{vertical-align:top;padding:6px}.wf-t select,.wf-t input:not([type=checkbox]){width:100%}
.cd .it{font-size:calc(11px*var(--fz));font-style:italic;color:#5f665f}
.cd-gn{display:grid;grid-template-columns:repeat(var(--n,1),1fr);gap:6px 22px}
.fb{padding:8px 28px}.fb p{margin:0}.fb.bg-band{background:#e6eae4;padding:12px 28px}.fb.bg-cream{background:#ece7d8;padding:12px 28px}
.cd .fta{width:100%;min-height:70px;font:inherit;color:#2a2f2b;background:rgba(136,158,140,.16);border:0;border-bottom:1px solid #8a968c;border-radius:0;padding:7px 8px;resize:vertical}
.cd .cd-c input[type=radio]{width:15px;height:15px;margin-top:3px;flex:none;accent-color:#889e8c;background:none;border:0;padding:0}
.fb.tt{margin-top:26px;padding-top:12px}
.fb.tt .cd-title{display:block;width:fit-content;margin:calc(-12px - .65em) 0 4px -8px;position:relative;z-index:1}
.fb .cd-s{margin:0 0 0 -8px}
.fb.tts{margin-top:18px;padding-top:12px}
.fb.tts .cd-s{display:block;width:fit-content;margin:-23px 0 2px -8px;position:relative;z-index:1}
.fgrid{display:grid;grid-template-columns:repeat(var(--n,1),1fr);gap:10px}
.fit{background:var(--bg);border-radius:10px;padding:10px;display:grid;gap:6px}.fit input:not([type=checkbox]),.fit select{width:100%}
.fbk{margin-bottom:12px}.fbk textarea{width:100%}.frow{display:flex;gap:8px;align-items:center;margin-bottom:6px}.frow input{flex:1}
.fl{font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 0 -2px}.fl:first-child{margin-top:0}
.fit .ftitle{font-weight:500;font-size:15.5px;border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--card));padding:9px 10px}
.grip{cursor:grab;touch-action:none;color:var(--muted);padding:5px 6px;border-radius:4px;display:inline-flex;user-select:none;margin-right:-4px}.grip:hover{background:var(--line);color:var(--text)}.grip:active{cursor:grabbing}
.fbk.dragging{opacity:.45}.fbk.drop-before{box-shadow:0 -4px 0 0 var(--accent)}.fbk.drop-after{box-shadow:0 4px 0 0 var(--accent)}body.dragging-b{user-select:none;cursor:grabbing}
@media(max-width:760px){.fgrid{grid-template-columns:1fr}}
@media(max-width:600px){.cd-gn{grid-template-columns:repeat(min(var(--n,1),2),1fr)}.fb,.fb.bg-band,.fb.bg-cream{padding-left:16px;padding-right:16px}}
@media(max-width:420px){.cd-gn{grid-template-columns:1fr}}

/* Galerien – Verwaltung */
/* Buchhaltung */
.seg{display:inline-flex;background:var(--side);border-radius:4px;padding:4px;gap:4px}
.seg button{font:inherit;font-size:13.5px;font-weight:400;border:0;background:none;padding:5px 13px;border-radius:4px;cursor:pointer;color:var(--side-t);white-space:nowrap;transition:background .15s}.seg button:hover:not(.on):not(:disabled){background:rgba(255,255,255,.12)}
.seg button.on{background:var(--nav-on);color:var(--nav-on-t)}
.seg > label{color:var(--side-t);font-size:13.5px;padding:5px 13px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.seg > label:has(input:checked){background:var(--nav-on);color:var(--nav-on-t)}
.acc-t td{vertical-align:top}.acc-t td,.acc-t th{padding:9px 10px}
.acc-konto{font-variant-numeric:tabular-nums;font-weight:600;color:var(--gtitle)}
.acc-amt{text-align:right;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.acc-amt.einnahme,b.einnahme{color:var(--ok)}.acc-amt.ausgabe,b.ausgabe{color:var(--warn)}
.acc-off td{opacity:.55}
.acc-due{border-left:4px solid var(--st-a);margin-bottom:14px}
.acc-due-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);flex-wrap:wrap}.acc-due-row:first-of-type{margin-top:6px}
.acc-receipts{margin-top:14px}.acc-rec{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.acc-rec a,.acc-rec>span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:170px;align-items:end;margin-top:12px}
.acc-mon{display:flex;flex-direction:column;align-items:center;height:100%;gap:4px}.acc-mon small{color:var(--muted);font-size:calc(11px*var(--fz))}
.acc-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}
.acc-bars>.acc-bar{width:42%;max-width:18px;border-radius:4px 4px 0 0;min-height:1px}.acc-bars>.acc-bar.einnahme,.acc-key.einnahme{background:var(--ok)}.acc-bars>.acc-bar.ausgabe,.acc-key.ausgabe{background:var(--st-b)}
.acc-todo{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.acc-todo:hover span{text-decoration:underline}
.acc-months{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.acc-mchips{display:flex;flex-wrap:wrap;gap:6px}
.acc-mchip{font:inherit;font-size:13.5px;border:1px dashed var(--st-a);background:var(--st-a-bg);color:var(--st-a);border-radius:99px;padding:4px 11px;cursor:pointer}
.acc-mchip.done{border:1px solid transparent;background:var(--st-g-bg);color:var(--st-g)}
.acc-dl{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.acc-dl.done{opacity:.55}
.acc-dl-date{text-align:right;font-size:13.5px;white-space:nowrap}.acc-late{color:var(--warn);font-weight:600}
.acc-groups{display:grid;gap:10px;margin-top:10px}
.acc-gbar{display:block;height:6px;border-radius:99px;background:var(--bg);margin-top:4px;overflow:hidden}.acc-gbar span{display:block;height:100%;background:var(--accent);border-radius:99px}
.acc-acclist{margin-top:8px}.acc-acclist div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line)}
/* Bank */
.bank-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:6px 14px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.bank-row:first-child{border-top:0}
.bank-date{font-size:13.5px}
.bank-txt{display:flex;flex-direction:column;min-width:0}.bank-txt .muted{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bank-sug{font-size:13.5px;color:var(--ok);margin-top:3px}
.bank-amt{text-align:right;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.bank-amt.einnahme{color:var(--ok)}.bank-amt.ausgabe{color:var(--warn)}
.bank-act{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bank-act .btn{padding:5px 11px;font-size:13.5px}
@media(max-width:700px){.bank-row{grid-template-columns:1fr auto}.bank-date{grid-column:1/3}.bank-act{grid-column:1/3}}
/* Abschlüsse */
.acc-mchip.cur{outline:2px solid var(--side);outline-offset:1px}
.acc-mchip:disabled{opacity:.4;cursor:default}
.acc-check{border-top:1px solid var(--line)}.acc-check:first-of-type{margin-top:8px}
.acc-check summary{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer;list-style:none}
.acc-check summary::-webkit-details-marker{display:none}
.acc-cicon{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600}
.acc-cicon.ok{background:var(--st-g-bg);color:var(--st-g)}.acc-cicon.warn{background:var(--st-a-bg);color:var(--st-a)}
.acc-citems{margin:0 0 10px 34px}
.acc-q{display:flex;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.acc-q:first-of-type{margin-top:8px}
.acc-q .seg button{font-size:13.5px;padding:5px 12px}
/* Konten: zweispaltig, je Bereich eine Karte */
.acc-kgrid{columns:2 380px;column-gap:14px}
.acc-kgroup{break-inside:avoid;margin:0 0 14px;padding:14px 16px}
.acc-ktitle{display:block;font:500 15.5px "Libre Caslon Display",Georgia,serif;color:var(--gtitle);margin-bottom:6px}
.acc-krow{display:flex;align-items:center;gap:10px;padding:7px 4px;border-top:1px solid var(--line);border-radius:4px}
.acc-krow:hover{background:var(--bg)}
.acc-krow input{width:auto;accent-color:var(--chk);margin:0}
.acc-krow.sub{padding-left:28px}.acc-krow.sub .acc-knr{background:transparent;border:1px solid var(--line)}
.acc-krow.off .acc-knr,.acc-krow.off .acc-kname{opacity:.45}
.acc-knr{flex:none;font-variant-numeric:tabular-nums;font-weight:600;font-size:13.5px;color:var(--gtitle);background:var(--mint);border-radius:4px;padding:2px 7px;min-width:46px;text-align:center}
.acc-kname{flex:1;min-width:0}.acc-kname small{display:block;color:var(--muted);font-size:13.5px}
.acc-kedit{border:0;background:none;color:var(--muted);cursor:pointer;font-size:15.5px;padding:2px 6px;border-radius:4px;opacity:0;transition:opacity .15s}
.acc-krow:hover .acc-kedit,.acc-kedit:focus-visible{opacity:1}
@media(hover:none){.acc-kedit{opacity:1}}
.acc-kform{margin:6px 0}
.acc-key{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px}
/* Rechnungen */
.inv-items td{padding:4px 6px;vertical-align:middle}.inv-items input{width:100%}
.inv-items th{text-align:left;font-weight:500;font-size:13.5px;color:var(--muted);padding:4px 6px}.inv-items td.num{text-align:right;white-space:nowrap}
/* Popup „Neue Rechnung“ (breiter wegen der Positionstabelle) */
.mbox:has(.im-sum){max-width:780px}
.im-h{font-size:17px;margin:20px 0 6px}
.im-sum{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.im-disc{display:flex;align-items:center;gap:8px}.im-disc label{margin:0}.im-disc input{width:90px}.im-disc select{width:auto}
.im-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;font-size:18px}
.im-texts{margin-top:14px}.im-texts summary{cursor:pointer;color:var(--accent)}
.im-choice{display:flex;flex-direction:column;gap:10px}
/* Vorschau verkleinert: ganze A4-Seite im Seitenverhältnis, nicht breiter als 620 px */
.inv-prev-card{padding:0;overflow:hidden;max-width:620px}.inv-prev{display:block;width:100%;aspect-ratio:210/297;height:auto;border:0}
.bar a.btn{text-decoration:none}
.sub .inv-badge{margin-left:8px;display:inline-block;vertical-align:middle}
.inv-prev p{padding:18px}
.invt td,.invt th{white-space:nowrap}.invt td:nth-child(2){white-space:normal}
/* Galerie-Dashboard */
.gkpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:26px}
.gkpi{display:flex;gap:14px;align-items:center;background:var(--card);border-radius:10px;padding:16px 18px;text-decoration:none;color:var(--text);border:1px solid transparent;transition:border-color .15s}
.gkpi:hover{border-color:var(--accent2)}
.gkpi-ic{flex:none;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--side)}
.gkpi b{display:block;font:600 calc(28px*var(--fz))/1.1 "Libre Caslon Display",Georgia,serif;color:var(--gtitle)}.gkpi span span{color:var(--muted);font-size:13.5px}
.gkpi.st-auswahl .gkpi-ic{background:var(--st-a-bg);color:var(--st-a)}
.gkpi.st-warn .gkpi-ic{background:var(--st-b-bg);color:var(--st-b)}
.gsec{font:500 calc(19px*var(--fz)) "Libre Caslon Display",Georgia,serif;color:var(--gtitle);margin:0 0 12px}
.grecent{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.grecent-card{background:var(--card);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;border:1px solid transparent;transition:border-color .15s}
.grecent-card:hover{border-color:var(--accent2)}
.grecent-img{aspect-ratio:3/2;background:var(--beige);overflow:hidden}.grecent-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.grecent-card:hover .grecent-img img{transform:scale(1.03)}
.grecent-txt{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.grecent-txt b{color:var(--gtitle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grecent-txt .muted{font-size:13.5px}
.grecent-ev{font-size:13.5px;color:var(--ad);background:var(--mint);border-radius:99px;padding:2px 9px;align-self:flex-start;margin-top:6px}
.gcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.gcol-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.gcol-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--side)}
.gcol-n{background:var(--bg);border-radius:99px;padding:1px 10px;font-size:13.5px;color:var(--muted)}
.gcol-row{display:flex;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}
.gcol-row:hover b{text-decoration:underline}.gcol-row b{color:var(--gtitle)}.gcol-row .gl-thumb{width:60px;height:40px;flex:none}
.gcol-info{text-align:right;font-size:13.5px;white-space:nowrap}
@media(max-width:1000px){.grecent{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gkpis,.gcols{grid-template-columns:1fr}}
.glist-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.glist-tools input{min-width:220px}
.glist td{vertical-align:middle}
/* Galerietitel im Tannengrün der Seitenleiste (im dunklen Modus hell, damit lesbar) */
:root{--gtitle:#3e5143}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gtitle:var(--text)}}
:root[data-theme="dark"]{--gtitle:var(--text)}
.glist td b,.ghead-txt h1{color:var(--gtitle)}
.gl-thumb{width:72px;height:48px;background:var(--beige);overflow:hidden}.gl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gcover{height:110px;border-radius:10px;margin-bottom:10px;background:var(--bg);overflow:hidden}.gcover img{width:100%;height:100%;object-fit:cover;display:block}
.chip{display:inline-block;background:var(--bg);border-radius:4px;padding:1px 8px;margin:2px;font-size:13.5px}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--line);border-radius:10px;padding:22px 14px;margin:12px 0;cursor:pointer;text-align:center;transition:.15s}
.drop:hover,.drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.prog{display:block;width:100%;max-width:360px;height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:8px}.prog span{display:block;height:100%;background:var(--accent);transition:width .2s}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:10px}
.pg{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg)}
.pg img{width:100%;height:100%;object-fit:cover;display:block}
.pg small{position:absolute;left:0;right:0;bottom:0;padding:10px 6px 3px;font-size:13.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg[data-cover]{cursor:pointer}.pg[data-cover]:hover{outline:2px solid var(--accent2)}.pg.on{outline:3px solid var(--accent);outline-offset:-3px}.pg.sel{outline:3px solid var(--accent);outline-offset:-3px}
.pg-del{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;cursor:pointer;font-size:13.5px}
.pg-badge{position:absolute;top:4px;left:4px;background:var(--accent2);color:#f6f3ef;font-size:13.5px;padding:1px 7px;border-radius:99px}
.pg .heart{position:absolute;right:6px;top:4px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}
/* Helles Grün für Menüleiste, Linkfeld und E-Mail-Kopf (Wunsch der Nutzerin) */
/* = das Grün der aktiven Menüpunkte (#6C7463), stark aufgehellt */
:root{--mint:#DADDD6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--mint:#353b32}}
:root[data-theme="dark"]{--mint:#353b32}
/* Scrollleiste immer einplanen, damit der Inhalt beim Wechseln der Reiter nicht seitlich springt */
html{scrollbar-gutter:stable}

/* Galerie-Status: Entwurf grau, Auswahl offen gelb, Auswahl erhalten blau, In Bearbeitung orange, Ausgeliefert grün */
:root{--st-e:#7b7f78;--st-e-bg:#ecebe6;--st-a:#8a6a00;--st-a-bg:#fbefc4;--st-r:#2f5f8f;--st-r-bg:#dde9f6;--st-b:#a4521b;--st-b-bg:#fbe3d0;--st-g:#3f6e43;--st-g-bg:#dcebd9}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--st-e:#c4c7c0;--st-e-bg:#3a3d38;--st-a:#f1d377;--st-a-bg:#4a3f17;--st-r:#a9c8ea;--st-r-bg:#233548;--st-b:#f0b48a;--st-b-bg:#4b2f1c;--st-g:#a6d3a4;--st-g-bg:#26392a}}
:root[data-theme="dark"]{--st-e:#c4c7c0;--st-e-bg:#3a3d38;--st-a:#f1d377;--st-a-bg:#4a3f17;--st-r:#a9c8ea;--st-r-bg:#233548;--st-b:#f0b48a;--st-b-bg:#4b2f1c;--st-g:#a6d3a4;--st-g-bg:#26392a}
.badge.st-entwurf{color:var(--st-e);background:var(--st-e-bg);border-color:transparent}
.badge.st-auswahl{color:var(--st-a);background:var(--st-a-bg);border-color:transparent}
.badge.st-erhalten{color:var(--st-r);background:var(--st-r-bg);border-color:transparent}
.badge.st-bearbeitung{color:var(--st-b);background:var(--st-b-bg);border-color:transparent}
.badge.st-geliefert{color:var(--st-g);background:var(--st-g-bg);border-color:transparent}

/* Einzelne Galerie: Kopf mit Titelbild, Reiter */
.backlink{display:inline-block;color:var(--muted);text-decoration:none;font-size:15.5px}.backlink:hover{color:var(--text);text-decoration:none}
.ghead{display:flex;gap:18px;align-items:center;margin:16px 0 18px}
.ghead-cover{position:relative;flex:0 0 auto;height:92px;width:138px;border-radius:10px;overflow:hidden;border:0;padding:0;background:var(--beige);cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit;font-size:13.5px}
.ghead-txt{flex:1}
.ghead-act{display:flex;gap:8px;flex:0 0 auto;align-self:center}
.ghead-act .btn{text-decoration:none;display:inline-flex;align-items:center}
.ghead-act .btn.ghost{background:var(--btn2-bg);box-shadow:0 1px 2px rgba(45,52,44,.06)}.ghead-act .btn.ghost:hover{background:var(--btn2-h)}
.ghead-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ghead-edit{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 6px;font-size:13.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .15s}
.ghead-cover:hover .ghead-edit,.ghead-cover:focus-visible .ghead-edit{opacity:1}
.ghead-txt{min-width:0}
.ghead-txt h1{margin:0 0 4px;overflow-wrap:anywhere;line-height:1.2}
.ghead-sub{margin:0 0 8px;color:var(--muted);font-size:15.5px}.ghead-sub a{color:inherit}
.ghead-meta{margin:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:15.5px}
/* Reiterleiste: Oliv mit weißer Schrift; aktiv wie das Hauptmenü (Tannengrün, Creme-Schrift) */
.gtabs{display:flex;gap:4px;background:var(--side);border-radius:4px;padding:4px;margin:0 0 16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.gtabs::-webkit-scrollbar{display:none}
.gtabs button{font:inherit;font-size:13.5px;font-weight:400;background:none;border:0;border-radius:4px;color:var(--side-t);padding:5px 13px;cursor:pointer;white-space:nowrap;transition:background .15s}
.gtabs button:hover{background:rgba(255,255,255,.12)}
.gtabs button.on{background:var(--nav-on);color:var(--nav-on-t)}
.gtabs button span{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.2);color:inherit;font-size:13.5px;font-weight:400;margin-left:2px}
.pgrid.small{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
.tpl-row{display:flex;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.tpl-edit{border:1px solid var(--line);border-radius:10px;padding:14px;margin:8px 0}
.gwelcome{max-width:680px;margin:0 auto 26px;text-align:center;font-size:calc(16px*var(--fz));line-height:1.6}
@media(max-width:900px){.ghead{flex-wrap:wrap}.ghead-act{width:100%;justify-content:flex-end}}
@media(max-width:600px){.ghead-cover{height:72px;width:108px}.ghead-txt h1{font-size:calc(24px*var(--fz))}.ghead-edit{opacity:1}}
/* Verschicken: Formular links, Vorschau der E-Mail rechts */
.gsend{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:1000px){.gsend{grid-template-columns:1fr}}
.mailprev{position:sticky;top:16px}
.mailprev-box{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:10px;background:var(--card)}
.mailprev-head{background:var(--mint);padding:10px 14px;font-size:13.5px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}
.mailprev-head span{color:var(--muted)}.mailprev-head b{overflow-wrap:anywhere}
.mailprev-body{padding:16px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px;line-height:1.6;min-height:120px}
.mailprev-body:empty::before{content:"Noch kein Text.";color:var(--muted)}

.ftabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ftabs button{font:inherit;font-size:13.5px;background:var(--card);color:var(--text,inherit);border:1px solid var(--line);border-radius:99px;padding:5px 14px;cursor:pointer}
.ftabs button span{opacity:.6;margin-left:2px}
.ftabs button.on{background:var(--accent);color:var(--btn-t);border-color:var(--accent)}
.ftabs .ftabs-add{border-style:dashed;color:var(--muted)}
/* Kundengalerie: Ordner als zentrierte Menüleiste (wie die Reiter in der Verwaltung), Downloads als Textlinks */
.pubbar{display:flex;justify-content:center;margin:0 0 22px}
.pubbar .gtabs{display:inline-flex;max-width:100%;margin:0}
.flink{color:var(--link);font-weight:600;text-decoration:none;padding:4px 2px;border-bottom:1px solid transparent}
.flink:hover{border-bottom-color:currentColor}
.lb-link{color:#fff;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(255,255,255,.5);padding:2px 0}
.lb-link:hover{border-bottom-color:#fff}
.logo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px;align-items:start}
@media(max-width:800px){.logo-layout{grid-template-columns:1fr}}
.hero-mini{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,#7c8a73,#3e5143);color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.stage-title{display:flex;flex-direction:column;align-items:center;gap:4px}
.stage-title span{font-family:var(--script);font-size:calc(30px*var(--fz));line-height:1.2}
.stage-logo{display:block;width:auto;max-width:60%}
.stage-corner{position:absolute;display:flex}.stage-corner .stage-logo{max-width:90px}
.stage-arrow{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:calc(16px*var(--fz));opacity:.8}
/* Logo-Positionen: dieselben Klassen gelten in der Vorschau und in der Kundengalerie */
.pos-tl{top:6%;left:4%}.pos-tc{top:6%;left:50%;transform:translateX(-50%)}.pos-tr{top:6%;right:4%}
.pos-bl{bottom:6%;left:4%}.pos-br{bottom:6%;right:4%}
.wm-defaults{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
.wm-list{display:grid;gap:8px}.wm-item{display:flex;gap:12px;align-items:center}
.wm-prev{width:120px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#d9dcd8 0 25%,#f3f4f2 0 50%) 0 0/14px 14px}
.wm-prev img{max-width:110px;max-height:48px}
.fg input[type=range]{padding:0}

/* Galerien – Kundenansicht (aus dem Prototyp) */
.hero{min-height:calc(100vh - 0px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:24px;text-shadow:0 2px 14px rgba(0,0,0,.35);background-size:cover;background-position:center;position:relative}
.hero h2{font-family:var(--script);font-weight:400;font-size:clamp(54px,12vw,112px);line-height:1.3;margin:14px 0;width:88vw;max-width:1150px;white-space:nowrap;padding:0 .3em}
.hero-brand{display:block;max-width:min(420px,70vw);width:auto;margin-bottom:6px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25))}
.hero-corner{position:absolute;margin:0;max-width:40vw;object-fit:contain}
.hero .hero-corner.pos-tl,.hero .hero-corner.pos-tc,.hero .hero-corner.pos-tr{top:calc(28px + env(safe-area-inset-top,0px))}
.hero .hero-corner.pos-tl,.hero .hero-corner.pos-bl{left:clamp(16px,3vw,40px)}
.hero .hero-corner.pos-tr,.hero .hero-corner.pos-br{right:clamp(16px,3vw,40px)}
.hero .hero-corner.pos-bl,.hero .hero-corner.pos-br{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
@media(max-width:600px){.hero-brand{max-height:22vw}}
.hero-down{position:absolute;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);color:#fff;opacity:.85;display:flex;padding:6px;filter:drop-shadow(0 1px 6px rgba(0,0,0,.4));animation:hero-bob 2.4s ease-in-out infinite}
.hero-down:hover{opacity:1}
.pre + .hero{min-height:calc(100vh - 36px)}
@keyframes hero-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
@media (prefers-reduced-motion:reduce){.hero-down{animation:none}}
.wrap{margin:0 auto;padding:26px clamp(14px,2.5vw,40px) 120px}
.mas{columns:280px;column-gap:10px}
.ph{break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;cursor:zoom-in;background:var(--line)}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ph:hover img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.ph img{transition:none}.ph:hover img{transform:none}}
.ph.sel{outline:4px solid var(--accent);outline-offset:-4px}
.ph .heart{position:absolute;right:8px;top:6px;background:rgba(0,0,0,.28);border:0;border-radius:50%;width:32px;height:32px;line-height:32px;text-align:center;cursor:pointer;padding:0;font-size:calc(18px*var(--fz));color:#fff;text-shadow:none}
.ph .heart.on{background:var(--accent)}
.foot{position:fixed;left:0;right:0;bottom:0;z-index:4;background:var(--card);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.foot .btn{text-decoration:none}
.lb{position:fixed;inset:0;z-index:40;background:rgba(12,18,13,.97);display:flex;align-items:center;justify-content:center;color:#fff}
.lb-bg{position:absolute;inset:0}
.lb-img{position:relative;aspect-ratio:var(--r);height:min(72vh,calc(86vw / var(--r)));width:auto;max-width:86vw;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.4);touch-action:pan-y;user-select:none}
.lb-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 0;font-size:13.5px;letter-spacing:.06em;pointer-events:none}
.lb-x,.lb-n{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.lb-x{width:38px;height:38px;font-size:calc(16px*var(--fz))}
.lb-n{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:calc(30px*var(--fz));line-height:1;padding-bottom:4px}.lb-n:hover,.lb-x:hover{background:rgba(255,255,255,.22)}
.lb-p{left:14px}.lb-nx{right:14px}
.lb-bot{position:absolute;left:0;right:0;bottom:0;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));pointer-events:none}.lb-bot>*{pointer-events:auto}
.lb-b{text-decoration:none}.lb-i{font-size:13.5px;opacity:.85}
@media(max-width:600px){.lb-n{width:38px;height:38px;font-size:calc(24px*var(--fz))}.lb-p{left:6px}.lb-nx{right:6px}}

/* Anmeldung und Einrichtung */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--side)}
.login-box{width:100%;max-width:380px;padding:28px}
.login-box h1{font-size:calc(24px*var(--fz));margin:0 0 14px}
.login-box label{display:block;margin:12px 0 0;font-size:13.5px;color:var(--muted)}
.login-box input{display:block;width:100%;margin-top:4px}
.login-box .btn{width:100%;margin-top:18px;padding:10px 14px}
.login-logo{font:400 calc(21px*var(--fz)) "Libre Caslon Display",Georgia,serif;letter-spacing:.16em;color:var(--muted);margin-bottom:18px}
.login-logo span{font-family:var(--script);font-size:calc(40px*var(--fz));letter-spacing:0;color:var(--accent2);line-height:.7;margin-left:4px}
.note{border-radius:10px;padding:8px 12px;margin:10px 0}
.note.ok{background:color-mix(in srgb,var(--ok) 12%,var(--card));color:var(--ok)}
.note.err{background:color-mix(in srgb,var(--warn) 12%,var(--card));color:var(--warn)}
.note:empty{display:none}

@media(max-width:760px){
  .app{flex-direction:column}
  main{width:100%;max-width:100%;margin:0} /* sonst bestimmen breite Tabellen die Seitenbreite (Handy) */
  /* Handy: Leiste oben mit Burger-Button, Menü als Seitenleiste von links (Wunsch der Nutzerin) */
  .mbar{display:flex;position:sticky;top:0;z-index:40}
  nav{position:fixed;top:0;left:0;bottom:0;width:min(290px,84vw);height:100%;z-index:60;transform:translateX(-105%);transition:transform .22s ease;box-shadow:4px 0 24px rgba(0,0,0,.25)}
  body.menu-open nav{transform:none}
  body.menu-open .mback{display:block}
  body.menu-open{overflow:hidden}
  nav .mclose{display:flex}
  main{padding:16px}
  .two{grid-template-columns:1fr}
}

/* ---- Workflows als Zeitleiste ---------------------------------------------------------- */
.wf-line{position:relative;margin:18px 0 4px;padding-left:4px}
.wf-line::before{content:"";position:absolute;left:23px;top:14px;bottom:30px;width:2px;background:var(--line)}
.wf-start{position:relative;display:inline-block;margin-left:2px;padding:5px 12px;border-radius:999px;background:var(--mint);color:var(--side);font-size:13.5px;font-weight:600}
:root[data-theme="dark"] .wf-start{color:var(--text)}
.wf-node{position:relative;display:flex;align-items:flex-start;gap:14px}
.wf-ico{flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent2);color:#f6f3ef;display:flex;align-items:center;justify-content:center;margin-top:10px;position:relative;z-index:1;box-shadow:0 0 0 4px var(--card)}
.wf-card{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:var(--card);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.wf-card:hover,.wf-card:focus-visible{border-color:var(--accent2);box-shadow:0 2px 10px rgba(45,52,44,.08);outline:none}
.wf-k{font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.wf-ti{font-weight:600;margin-top:2px}
.wf-sub{font-size:13.5px;margin-top:2px}
.wf-when{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:13.5px;color:var(--muted)}
.wf-when svg{width:14px;height:14px}
.wf-when .badge{margin-left:4px}
.wf-tools{flex:none;display:flex;flex-direction:column;gap:4px;margin-top:6px;opacity:.55;transition:opacity .15s}
.wf-node:hover .wf-tools,.wf-tools:focus-within{opacity:1}
.wf-tools .btn{padding:3px 9px;line-height:1.2}
.wf-add{position:relative;height:34px;display:flex;align-items:center;padding-left:9px}
.wf-add button{width:28px;height:28px;border-radius:50%;border:1px dashed var(--accent2);background:var(--card);color:var(--muted);font-size:calc(17px*var(--fz));line-height:1;cursor:pointer;position:relative;z-index:1;opacity:.6;transition:opacity .15s,background .15s}
.wf-add button:hover,.wf-add button:focus-visible{opacity:1;background:var(--mint);color:var(--side);border-style:solid}
.wf-rs{display:flex;flex-wrap:wrap;gap:8px}
.wf-r{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:15.5px}
.wf-r:has(input:checked){border-color:var(--side);background:var(--mint)}
.wf-r:has(input:disabled){opacity:.45;cursor:not-allowed}
@media (max-width:640px){.wf-tools{flex-direction:row;position:absolute;right:8px;top:-2px}.wf-card{padding-right:12px}}

/* Schriftgröße: Inhalt etwas größer, das Menü links bleibt unverändert */
:root{--fz:1.08}
nav{--fz:1;font-size:13.5px}
/* Kundenliste importieren: Vorschau */
.ci-prev{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:10px}
.ci-prev table{margin:0}.ci-prev th{position:sticky;top:0;background:var(--card);z-index:1}
.ci-prev td{vertical-align:top;white-space:normal}.ci-prev td:last-child{min-width:190px}.ci-prev tr.ci-skip td{opacity:.55}
/* ---- Kundenansicht ------------------------------------------------------------------------ */
.cgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.ccol{display:flex;flex-direction:column;gap:14px;min-width:0}
.cinfo{margin-top:8px}
.cinfo-r{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--line)}
.cinfo-r:first-child{border-top:0}
.cinfo-r > span{color:var(--muted)}
.cinfo-r > div{overflow-wrap:anywhere}
.cinfo-s{font-size:13.5px}
.canimal{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.canimal:first-of-type{border-top:0;padding-top:0}
.canimal .cinfo{margin-top:2px}
.cjob{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.cjob:first-of-type{border-top:0}
.cjob-i{flex:none;width:36px;height:36px;border-radius:10px;background:var(--mint);color:var(--side);display:flex;align-items:center;justify-content:center}
:root[data-theme="dark"] .cjob-i{color:var(--text)}
.cjob-g{font-size:13.5px}
.cdoc{padding:8px 0;border-top:1px solid var(--line)}
.cdoc:first-of-type{border-top:0}
.cdoc-r{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:4px 0}
.cdoc-r.row{cursor:pointer;border-top:1px solid var(--line);padding:8px 0}
.csales{display:flex;gap:10px;margin:10px 0 8px}
.csales > div{flex:1;background:var(--bg);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.csales b{font-size:calc(18px*var(--fz))}.csales span{color:var(--muted);font-size:13.5px}
.cmail{border-top:1px solid var(--line)}
.cmail summary{display:flex;gap:14px;align-items:center;padding:10px 0;cursor:pointer;list-style:none}
.cmail summary::-webkit-details-marker{display:none}
.cmail-d{flex:none;width:150px;color:var(--muted);font-size:13.5px}
.cmail-b{white-space:pre-wrap;font:inherit;margin:0 0 12px;padding:12px 14px;background:var(--bg);border-radius:10px}
details.mx{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
details.mx summary{cursor:pointer;font-weight:600}
details.mx .fg{margin-top:8px}
.an-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr auto;gap:6px;margin-top:8px}
.an-row input{min-width:0}
@media (max-width:860px){.cgrid{grid-template-columns:1fr}.an-row{grid-template-columns:1fr 1fr}.cinfo-r{grid-template-columns:100px minmax(0,1fr)}.cmail-d{width:auto}}
/* Kartentitel im ganzen CRM in Libre Caslon Display (Kennzahl-Karten ausgenommen) */
main .card:not(.stat) > b:first-child,main .card:not(.stat) > .bar:first-child > b:first-child{font:500 calc(17px*var(--fz))/1.3 "Libre Caslon Display",Georgia,serif;color:var(--gtitle)}
.cv .canimal > b{font-family:"Libre Caslon Display",Georgia,serif;font-weight:500}
/* Datumskachel bei Aufträgen (Kundenansicht) */
.caltile{flex:none;width:52px;height:56px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gtitle);line-height:1}
.caltile b{font:400 calc(24px*var(--fz))/1 "Libre Caslon Display",Georgia,serif}
.caltile span{font-size:calc(10.5px*var(--fz));letter-spacing:.14em;margin-top:5px;padding-left:.14em}
.caltile.is-empty{color:var(--muted)}
/* Phase „Rechnung“: lila; Phase in der Kundenansicht rechtsbündig */
:root{--st-p:#6b4a8f;--st-p-bg:#ece3f5}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--st-p:#cbb2e8;--st-p-bg:#352a45}}
:root[data-theme="dark"]{--st-p:#cbb2e8;--st-p-bg:#352a45}
.badge.st-rechnung{color:var(--st-p);background:var(--st-p-bg);border-color:transparent}
.cjob > .grow{flex:1;min-width:0}
.cjob > .badge{flex:none;margin-left:auto;align-self:center}
/* Link „Alle … →“ in den Karten der Kundenansicht */
.call{font-size:13.5px;color:var(--muted);text-decoration:none;white-space:nowrap}
.call:hover{color:var(--gtitle);text-decoration:underline}
.bar + .cdoc,.bar + .cjob{border-top:0}

/* Auftragszeile in der Kundenansicht: ganze Zeile klickbar */
.cjob{cursor:pointer;margin:0 -10px;padding:10px;border-radius:10px;transition:background .15s}
.cjob + .cjob{border-top-color:transparent}
.cjob:hover,.cjob:focus-visible{background:var(--bg);outline:none}
.cjob:hover .caltile,.cjob:focus-visible .caltile{background:var(--card);border-color:var(--accent2)}
.cjob .caltile{transition:background .15s,border-color .15s}
.cjob-t{color:var(--gtitle)}
.cjob:hover .cjob-t{text-decoration:underline;text-underline-offset:3px}
/* ---- Auftrags-Status: weitere Farben ---------------------------------------------------- */
:root{--st-t:#1f6b66;--st-t-bg:#d7ece9;--st-d:#F1EEE4;--st-d-bg:#6C7463}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--st-t:#9fd6cf;--st-t-bg:#1f3a37}}
:root[data-theme="dark"]{--st-t:#9fd6cf;--st-t-bg:#1f3a37}
.badge.st-gebucht{color:var(--st-t);background:var(--st-t-bg);border-color:transparent}
.badge.st-done{color:var(--st-d);background:var(--st-d-bg);border-color:transparent}

/* ---- Auftragsliste ------------------------------------------------------------------------ */
.jlist{padding:8px 20px}
.jlist .cjob{margin:0 -12px;padding:10px 12px}

.caltile.is-empty b{color:var(--muted)}
/* ---- Einstellbare Status-Farben (stc-*) ------------------------------------------------- */
.stc-grau{--c:#63675f;--cb:#ecebe6;--cd:#8a8e86}.stc-tuerkis{--c:#1f6b66;--cb:#d7ece9;--cd:#2f8f88}.stc-blau{--c:#2f5f8f;--cb:#dde9f6;--cd:#3d78b3}
.stc-lila{--c:#6b4a8f;--cb:#ece3f5;--cd:#8a63b5}.stc-rosa{--c:#9a3d6b;--cb:#f8e1ec;--cd:#c25389}.stc-rot{--c:#a23a2e;--cb:#f8dcd7;--cd:#c84b3c}
.stc-orange{--c:#a4521b;--cb:#fbe3d0;--cd:#d67a35}.stc-gelb{--c:#8a6a00;--cb:#fbefc4;--cd:#d4a514}.stc-gruen{--c:#3f6e43;--cb:#dcebd9;--cd:#5a9a5f}
.stc-oliv{--c:#F1EEE4;--cb:#6C7463;--cd:#6C7463}.stc-braun{--c:#7a5534;--cb:#efe3d6;--cd:#9c6f45}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stc-grau{--c:#c4c7c0;--cb:#3a3d38}:root:not([data-theme="light"]) .stc-tuerkis{--c:#9fd6cf;--cb:#1f3a37}:root:not([data-theme="light"]) .stc-blau{--c:#a9c8ea;--cb:#233548}:root:not([data-theme="light"]) .stc-lila{--c:#cbb2e8;--cb:#352a45}:root:not([data-theme="light"]) .stc-rosa{--c:#f0b3d0;--cb:#45263a}:root:not([data-theme="light"]) .stc-rot{--c:#f2aca2;--cb:#4a2421}:root:not([data-theme="light"]) .stc-orange{--c:#f0b48a;--cb:#4b2f1c}:root:not([data-theme="light"]) .stc-gelb{--c:#f1d377;--cb:#4a3f17}:root:not([data-theme="light"]) .stc-gruen{--c:#a6d3a4;--cb:#26392a}:root:not([data-theme="light"]) .stc-oliv{--c:#1d211c;--cb:#959D8D}:root:not([data-theme="light"]) .stc-braun{--c:#dcbb9a;--cb:#3f3024}}
:root[data-theme="dark"] .stc-grau{--c:#c4c7c0;--cb:#3a3d38}:root[data-theme="dark"] .stc-tuerkis{--c:#9fd6cf;--cb:#1f3a37}:root[data-theme="dark"] .stc-blau{--c:#a9c8ea;--cb:#233548}:root[data-theme="dark"] .stc-lila{--c:#cbb2e8;--cb:#352a45}:root[data-theme="dark"] .stc-rosa{--c:#f0b3d0;--cb:#45263a}:root[data-theme="dark"] .stc-rot{--c:#f2aca2;--cb:#4a2421}:root[data-theme="dark"] .stc-orange{--c:#f0b48a;--cb:#4b2f1c}:root[data-theme="dark"] .stc-gelb{--c:#f1d377;--cb:#4a3f17}:root[data-theme="dark"] .stc-gruen{--c:#a6d3a4;--cb:#26392a}:root[data-theme="dark"] .stc-oliv{--c:#1d211c;--cb:#959D8D}:root[data-theme="dark"] .stc-braun{--c:#dcbb9a;--cb:#3f3024}
.badge[class*="stc-"]{color:var(--c);background:var(--cb);border-color:transparent}
/* ---- Auftrags-Status einstellen (Workflows) -------------------------------------------- */
.stg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 4px}
.stg-arrow{color:var(--muted);font-size:13.5px}
.stg-done{font-size:13.5px;margin-left:-2px}
.stg-auto{margin-top:8px}.stg-auto summary{cursor:pointer}.stg-auto ul{margin:8px 0 0;padding-left:18px}.stg-auto li{margin:4px 0}
.stg-list{display:flex;flex-direction:column;gap:6px}
.stg-row{display:grid;grid-template-columns:auto minmax(140px,1.4fr) minmax(100px,.8fr) minmax(90px,1fr) auto 90px auto;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--bg)}
.stg-row input:not([type=checkbox]),.stg-row select{min-width:0;width:100%}
.stg-mv{display:flex;gap:2px}.stg-mv .btn,.stg-row > .btn{padding:4px 9px;line-height:1.2}
.stg-prev{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stg-row .chk{margin:0;white-space:nowrap;font-size:13.5px}
.stg-n{font-size:13.5px;text-align:right}
.stg-auto-edit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px 14px;align-items:center}
.stg-auto-edit label{color:var(--text)}
@media (max-width:900px){.stg-row{grid-template-columns:auto 1fr 1fr;}.stg-row .stg-prev,.stg-row .stg-n{display:none}.stg-auto-edit{grid-template-columns:1fr}.stg-auto-edit select{margin-bottom:6px}}
/* ---- Auftragsansicht -------------------------------------------------------------------- */
.jinfo-r{grid-template-columns:130px minmax(0,1fr) auto;align-items:center}
.jact{display:flex;gap:6px;justify-content:flex-end}
.jact .btn,.jmenu > summary.btn{padding:5px 12px;font-size:13.5px}
.jall .jinfo-r{padding:11px 0;align-items:start}.jall .jinfo-r > span{padding-top:2px}
.jsub{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 0}
button.badge.jbadge{cursor:pointer;font:inherit;font-size:13.5px}
button.badge.jbadge:hover{filter:brightness(.95)}
.jmini{padding:2px 9px !important;font-size:13.5px !important;margin-left:6px}
.jmenu{position:relative;display:inline-block}
.jmenu > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.jmenu > summary::-webkit-details-marker{display:none}
.jmenu > summary::after{content:"▾";margin-left:6px;font-size:.8em;opacity:.7}
.jmenu-b{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(45,52,44,.16);padding:6px;display:flex;flex-direction:column}
.jmenu-b button{font:inherit;text-align:left;background:none;border:0;border-radius:4px;padding:8px 10px;cursor:pointer;color:var(--text)}
.jmenu-b button:hover{background:var(--bg)}
.jmenu-h{font-size:13.5px;margin:4px 10px 4px}
.jstage{position:relative;display:inline-flex;align-items:center;border-radius:99px;background:var(--cb);color:var(--c)}
.jstage select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;font-size:15.5px;padding:8px 34px 8px 16px;border-radius:99px;cursor:pointer}
.jstage::after{content:"▾";position:absolute;right:14px;pointer-events:none;font-size:.8em}
.jstage select:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.jstage option{color:var(--text);background:var(--card)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jpkgs{display:flex;flex-direction:column;gap:8px}
.jpkg{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer}
.jpkg:has(input:checked){border-color:var(--side);background:var(--mint)}
.jpkg > span{display:flex;flex-direction:column;gap:2px}
.jwed{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.jwed-h{grid-column:1/-1;margin:0;font-weight:600}
@media (max-width:860px){.jinfo-r{grid-template-columns:100px minmax(0,1fr)}.jact{grid-column:1/-1;justify-content:flex-start}}
/* ---- Online-Buchung: Verwaltung ---------------------------------------------------------- */
.bkcard{margin-bottom:14px}
.bkreq{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--st-a-bg,#fbefc4);margin-top:6px}
.bkreq a{color:inherit}
.bkdays{display:flex;flex-direction:column;gap:6px}
.bkday{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--bg)}
.bkday input[type=date]{width:150px}.bkday input[type=time]{width:110px}
.bknum{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px}.bknum input{width:76px}
.bkn{margin-left:auto;font-size:13.5px}
.bkday .btn{padding:4px 9px}
.bkpkgs{display:flex;flex-direction:column;gap:2px}
.bkbanner{display:flex;gap:10px;align-items:center;padding:14px 16px;border-radius:10px;background:var(--st-a-bg,#fbefc4);color:var(--st-a,#8a6a00);margin:0 0 14px}
.bkbanner .btn.ghost{background:var(--btn2-bg)}
.bkcount{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:#d4a514;color:#fff;font-size:13.5px;margin-left:4px}
.glink{display:flex;gap:8px;align-items:center}.glink input{flex:1;min-width:0;background:var(--mint)}

/* ---- Online-Buchung: Kundenseite ---------------------------------------------------------- */
.bkpub{max-width:720px}
.bkpub .card{margin-bottom:14px}
.bkpub-k{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:13.5px;margin:30px 0 4px}
.bkpub-h{text-align:center;font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;color:var(--gtitle);margin:0 0 12px}
.bkpub-intro{white-space:pre-wrap;text-align:center;margin:0 auto 10px;max-width:560px}
.bkpub-place{text-align:center;margin:0 0 20px}
.bkpub-s{font-family:"Libre Caslon Display",Georgia,serif;font-weight:500;font-size:calc(18px*var(--fz));color:var(--gtitle);margin:0 0 12px}
.bkpub-day{padding:10px 0;border-top:1px solid var(--line)}.bkpub-day:first-of-type{border-top:0;padding-top:0}
.bkpub-date{margin:0 0 8px;font-weight:600}
.bkpub-slots{display:flex;flex-wrap:wrap;gap:8px}
.bkslot{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.bkslot:hover{border-color:var(--accent2)}
.bkslot.on{background:var(--side);border-color:var(--side);color:var(--beige)}
.bkhp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bkpub-done{text-align:center;padding:30px 20px}
.bkreq-t{flex:1;min-width:0}

/* Online-Buchung: Titelbild */
.bkcover-edit{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px;border:1px dashed var(--line);border-radius:10px}
.bkcover-edit img{width:220px;height:124px;object-fit:cover;border-radius:10px;display:block}
.bkpub-hero{width:100%;height:clamp(220px,42vh,460px);overflow:hidden;background:var(--beige)}
.bkpub-hero img{width:100%;height:100%;object-fit:cover;display:block}
.bkpub-hero + .bkpub .bkpub-k{margin-top:26px}
/* ---- Buchungsseite im Stil von AGB/Widerruf: Kopf in Oliv, Karten ragen hinein ---------- */
.bkpage{min-height:100vh;background:var(--bg)}
.bkh{position:relative;overflow:hidden;background:var(--side);color:var(--beige);text-align:center;padding:34px 16px 82px}
.bkh-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.bkh.has-cover::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(75,84,74,.80),rgba(75,84,74,.86))}
.bkh.has-cover{padding-top:46px;padding-bottom:110px}
.bkh-in{position:relative;z-index:2}
.bkh-logo{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:18px;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.bkh-logo img{display:block;height:40px;width:auto}
.bkh-k{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--beige-d)}
.bkh h1{font:400 clamp(30px,6vw,46px)/1.15 "Libre Caslon Display",Georgia,serif;margin:8px 0 2px;color:var(--beige)}
.bkh p{margin:0;font:italic 400 clamp(17px,3vw,21px)/1.3 "Libre Caslon Display",Georgia,serif;color:#B3BBAA}
.bkh.has-cover p{color:#d6dbcf}
.bkmain{max-width:780px;margin:-52px auto 0;padding:0 16px 48px;position:relative;z-index:3}
.bkmain .card{border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin-bottom:16px;box-shadow:0 8px 30px rgba(20,30,24,.08)}
.bkintro{white-space:pre-wrap;font-size:15.5px;line-height:1.65}
.bkfoot{text-align:center;color:var(--muted);font-size:13.5px;line-height:1.8;margin:22px 0 0}
.bkfoot a{color:inherit}
@media(max-width:600px){.bkmain .card{padding:20px 18px}}
/* Einstellungen → Allgemein */
.co-logo{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px}
.co-logo > img{max-width:200px;max-height:80px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.co-logo > div{flex:1;min-width:200px}
/* ---- Preislisten: Kategorie-Überschriften in Libre Caslon Display; Preisseiten -------------------- */
.pkg-g{font-family:"Libre Caslon Display",Georgia,serif !important;font-weight:500 !important;font-size:calc(19px*var(--fz)) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--gtitle) !important}
.ppitem{padding:12px 0;border-top:1px solid var(--line)}.ppitem:first-of-type{border-top:0}
.ppitem-t{margin-bottom:8px}
.ppitem .glink{flex-wrap:wrap}.ppitem .glink input{min-width:220px}
.ppcat{font:500 calc(24px*var(--fz))/1.2 "Libre Caslon Display",Georgia,serif;color:var(--gtitle);margin:26px 0 12px;text-align:center}
.pppkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:8px}
.pppkg{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 20px;box-shadow:0 8px 30px rgba(20,30,24,.08);display:flex;flex-direction:column}
.pppkg-h{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pppkg-h b{font:500 calc(18px*var(--fz)) "Libre Caslon Display",Georgia,serif;color:var(--gtitle)}
.pppkg-p{font:500 calc(26px*var(--fz)) "Libre Caslon Display",Georgia,serif;color:var(--text)}.pppkg-p small{font-size:.55em;color:var(--muted)}
.pppkg-i{margin:12px 0 0;color:var(--muted);text-align:center;font-size:15.5px}
.pppkg-d{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:14px 0 18px;font-size:15.5px}
.pppkg-d dt{color:var(--muted)}.pppkg-d dd{margin:0;text-align:right}
.pppkg .btn{margin-top:auto;text-align:center;text-decoration:none}
.ppask{text-align:center}.ppask .btn{text-decoration:none;display:inline-block}
.pppkg-l{list-style:none;margin:14px 0 18px;padding:0;text-align:center;font-size:15.5px}
.pppkg-l li{padding:6px 0;border-top:1px dashed var(--line)}.pppkg-l li:first-child{border-top:0}
/* ---- Galerien: Outline-Icons, Raster für die Auswahl, Paket-Hinweis ---------------------- */
.gkpi-ic,.gkpi.st-auswahl .gkpi-ic,.gkpi.st-warn .gkpi-ic{background:none;color:var(--gtitle);border:1.5px solid var(--line)}
.gkpi-ic svg{fill:none !important;stroke:currentColor}
.rast{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.rast .ph{aspect-ratio:1/1;margin:0}
@media(max-width:600px){.rast{grid-template-columns:repeat(2,1fr);gap:6px}}
.gpkg{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;text-align:center;margin:0 auto 18px;padding:12px 18px;max-width:720px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:15.5px}
.gpkg b{font-family:"Libre Caslon Display",Georgia,serif;color:var(--gtitle)}
/* ---- Verträge: Kopf, Vorlagen, Unterschrift --------------------------------------------- */
.kbar{margin-bottom:14px}.kbar .link{margin:0 0 10px}
.ktpl{display:flex;align-items:center;gap:8px;margin-right:14px;color:var(--muted)}.ktpl select{width:auto}
.ksig{min-height:90px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px dashed var(--line);border-radius:10px;padding:10px}
.ksig img{max-height:90px;max-width:100%}
.ktsec{padding:10px;border-radius:10px;background:var(--bg);margin-bottom:10px}
.ktsec textarea{width:100%;min-height:110px}
.ktsec .btn{padding:4px 9px}
.kted{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.kprev{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;pointer-events:none;font-size:.92em}
.cd-sig img.sigown{width:auto;height:auto;max-height:70px;max-width:100%;object-fit:contain;display:block;margin:0 0 -4px;border-bottom:0}
@media(max-width:1000px){.kted{grid-template-columns:1fr}.kprev{position:static;max-height:none}}
/* Galerien → Statistik */
.stk small{display:block;color:var(--muted);font-size:13.5px;margin-top:4px}
.sttab td,.sttab th{white-space:nowrap}
.stbar{width:120px}.stbar span{display:block;height:8px;border-radius:99px;background:var(--accent2)}
/* ---- Kommunikation → Postfach ------------------------------------------------------------ */
.ibwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.ibwrap.has-cur{grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr)}
.iblist{padding:6px;max-height:calc(100vh - 260px);overflow:auto}
.ibrow{padding:10px 12px;border-radius:10px;cursor:pointer;border-bottom:1px solid var(--line)}
.ibrow:last-child{border-bottom:0}
.ibrow:hover,.ibrow:focus-visible{background:var(--bg);outline:none}
.ibrow.on{background:var(--mint)}
.ibrow-t{display:flex;justify-content:space-between;gap:8px}.ibrow-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.ibrow.new .ibrow-t b{font-weight:600;color:var(--gtitle)}
.ibrow-t .muted{flex:none;font-size:13.5px}
.ibrow-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 6px}
.ibrow-m{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ibread{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.ibread select{width:auto}
.ibread-h{font:500 calc(20px*var(--fz))/1.3 "Libre Caslon Display",Georgia,serif;color:var(--gtitle);margin:4px 0 6px}
.ibtext{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:10px;padding:14px 16px;font-size:15.5px;line-height:1.6}
.ibatt{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 16px}
.ibatt-i{display:inline-flex;align-items:center;gap:8px}.ibatt-i a{overflow-wrap:anywhere}
.btn.ibatt-b{padding:3px 10px;font-size:13.5px}
.ibback{display:none}
@media(max-width:900px){.ibwrap.has-cur{grid-template-columns:1fr}.ibwrap.has-cur .iblist{display:none}.ibread{position:static;max-height:none}.ibback{display:inline}}
/* ---- Handy: Leiste mit Burger-Button ----------------------------------------------------- */
.mbar{display:none;align-items:center;gap:12px;background:var(--side);color:var(--side-t);padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}
.mbar .logo{font:400 calc(19px*var(--fz)) "Libre Caslon Display",Georgia,serif;letter-spacing:.16em;text-transform:lowercase;color:var(--side-t);display:flex;align-items:baseline;gap:2px}
.mbar .logo span{font-family:var(--script);font-size:calc(34px*var(--fz));letter-spacing:0;text-transform:none;color:#B3BBAA;line-height:.7;margin-left:4px}
.mbar .mtitle{flex:1;min-width:0;text-align:right;font-size:13.5px;color:var(--side-t-d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.burger{flex:none;width:42px;height:42px;border:0;border-radius:4px;background:rgba(246,243,239,.12);color:var(--side-t);display:flex;align-items:center;justify-content:center;cursor:pointer}
.burger:hover,.burger:focus-visible{background:rgba(246,243,239,.22);outline:none}
.mback{display:none;position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.4)}
nav .mclose{display:none;position:absolute;top:14px;right:12px;width:36px;height:36px;padding:0;border-radius:4px;align-items:center;justify-content:center;background:rgba(230,225,210,.12)}
@media (prefers-reduced-motion:reduce){nav{transition:none}}@media(max-width:760px){.mbar{display:flex}nav .mclose{display:flex}nav .logo{margin-right:48px}}

/* ---- Feste Schriftstufen (Wunsch der Nutzerin, 09.11.2026), Menü ausgenommen -------------
   Seitenüberschrift 32 px · Blocküberschrift 24 px · Text 15,5 px · Untertitel 13,5 px · Tabellenkopf 11,5 px */
main h1{font-size:32px}
main .card:not(.stat) > b:first-child,main .card:not(.stat) > .bar:first-child > b:first-child,.pkg-g{font-size:24px !important;line-height:1.25}
.mbox h1{font-size:24px !important}
main th,.sttab th{font-size:11.5px}
/* Creme-Buttons werden weiß (z. B. neben einem farbigen Button oben auf der Seite) */
.btn.ghost{background:var(--btn2-bg)}
.btn.ghost:hover{background:var(--btn2-h)}
/* Handy: Vorlagen-Zeilen umbrechen, Beträge in Kennzahlen nicht zerreißen */
.tpl-row{flex-wrap:wrap}.tpl-row > .grow{min-width:180px}
.stat b{white-space:nowrap}
@media(max-width:760px){.stat b{font-size:24px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
/* Auftragsmaske: Abschnitte je Formular-Art */
.jsec{margin-top:12px}
.jsec-h{margin:0 0 4px;font-weight:600}
.jani .an-row{margin-top:6px}
#j_wed{padding-top:12px;border-top:1px solid var(--line)}
.jsec[hidden],[hidden].fg{display:none !important}

.jan-row{grid-template-columns:1fr 1fr auto !important;padding:8px 0;border-top:1px dashed var(--line)}
.jan-row:first-child{border-top:0}
.jan-row > :nth-child(3){grid-column:1;grid-row:2}.jan-row > :nth-child(4){grid-column:2;grid-row:2}
.jan-row > :nth-child(5){grid-column:3;grid-row:1/3;align-self:center}
/* Formulargenerator: geteilte Ansicht */
.fbtools{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--bg);padding:10px 0;margin-bottom:6px;border-bottom:1px solid var(--line)}
.fbtools .btn{padding:6px 11px}
.fbtools-l{font-size:13.5px;color:var(--muted);margin-right:4px}
.fbsplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:20px;align-items:start}
.fbopts{margin-bottom:12px}
.fbleft,.fbright{min-width:0}
.fblist{padding:8px}
.fbrow{margin:0 0 4px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.fbrow.open{border-color:var(--accent)}
.fbrow-h{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:10px;min-height:40px}
.fbrow-h:hover{background:var(--bg)}
.fbrow-h:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fbrow-t{font-weight:600;white-space:nowrap}
.fbrow-s{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13.5px}
.fbrow-a{display:flex;gap:2px;flex-shrink:0}
.fbrow-a .btn{padding:3px 8px;min-width:0}
.fbrow-b{padding:4px 12px 12px;border-top:1px solid var(--line)}
.fbrow-b > .card{box-shadow:none;border:0;padding:8px 0 0;margin:0}
.fbright{position:sticky;top:64px}
.fbprev-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.fbprev{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:calc(100vh - 110px);overflow:auto;zoom:.62}
@media(max-width:900px){
  .fbsplit{grid-template-columns:minmax(0,1fr)}
  .fbrow-b .fgrid{grid-template-columns:1fr !important}
  .fbright{position:static}
  .fbprev{max-height:70vh;zoom:.55}
}
@media(max-width:760px){
  .fbtools{top:56px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .fbtools .btn{white-space:nowrap}
}

/* Generator: Elemente nebeneinander (Breite 1/3, 1/2, 2/3), Fett-Knopf, Vertragsbausteine */
.fbl{display:flex;align-items:stretch}
.fbc{flex:0 0 calc(var(--w,1) * 100%);max-width:calc(var(--w,1) * 100%);min-width:0;display:flex;flex-direction:column}
.fbc>.fb{flex:1}
.fbl .fbc+.fbc>.fb{padding-left:10px}
.fbl .fbc:not(:last-child)>.fb{padding-right:10px}
.fb>.cd-r{padding:0}
.fb>.cd-sig{padding-left:0;padding-right:0;padding-top:24px}
.fb>.cd-r+.cd-r{margin-top:12px}
.cd-blocks .fbt-k_checks{padding-top:16px}
.cd-blocks .fbt-k_esign{padding-top:10px}
.fbl .cd-r{grid-template-columns:minmax(90px,40%) 1fr}
.fbtb{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.fbbold{padding:3px 12px;min-width:0;font-size:15.5px}
.fbhint{font-size:13.5px}
.fbrow.kb .fbrow-t{color:var(--accent)}
.fbtools select{width:auto;padding:6px 10px}
@media(max-width:600px){
  .fbl{display:block}
  .fbc{max-width:none}
  .fbl .fbc+.fbc>.fb{padding-left:16px}
  .fbl .fbc:not(:last-child)>.fb{padding-right:16px}
}
.fb.tt.bg-band+.fb.bg-band,.fb.tt.bg-cream+.fb.bg-cream{padding-top:0}
.cd-blocks .fbt-k_usage .cd-r p{margin:1em 0 0}.fb>.cd-r+.cd-r{margin-top:16px}
.cd-blocks .fbt-k_tier.tts{margin-top:24px}.fbt-k_tier.tts>.cd-s{margin-bottom:8px}
.fbc.narrow .cd-r{grid-template-columns:1fr;gap:4px}.fbc .cd-km{flex-wrap:wrap}

/* Eigenes Logo im Menü (Einstellungen → Allgemein) */
.logo.logo-img{display:block}
.logo.logo-img img{display:block;max-width:100%;max-height:60px;width:auto;height:auto}
.mbar .logo.logo-img img{max-height:34px;max-width:160px}
.co-menulogo{background:var(--side);padding:16px 14px 0;border-radius:10px;width:200px;flex-shrink:0}
.co-menulogo .logo{margin:0 0 16px}

/* Freier Vertragsgenerator: Felder mit Beschriftung links, Anzeige-Felder, feste Teile über der Unterschrift */
.cd-blocks .cd-km input:not(.short):not([type=checkbox]):not([type=radio]),.cd-blocks .cd-km .fta{flex:1;width:auto;min-width:160px}
.cd-blocks .cd-km input.short{width:130px}
.cd .fshow{font-size:13.5px;color:#6a726c;padding:2px 0}
.cd-km.cd-info{min-height:0}
.fb>.cd-r:empty{display:none}
.fbt-sig>.cd-fixed{padding-top:8px}
.fbt-sig>.cd-sig{padding-left:0;padding-right:0;padding-top:24px}
.fb .cd-r>.cd-l:empty{min-height:0}
.frow select{width:auto;max-width:220px}

.cd-blocks .fb.fbt-fields{padding-top:4px;padding-bottom:4px}
.cd-blocks .fb.bg-band+.fb.bg-band:not(.tt):not(.tts),.cd-blocks .fb.bg-cream+.fb.bg-cream:not(.tt):not(.tts){padding-top:2px}
.fb>.cd-r.cd-rinfo{margin-top:-4px}.cd-rinfo .fshow{font-size:11.5px}

/* Rechtstexte bearbeiten (Verträge → Vorlagen) */
.lgsplit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-bottom:30px}
.lgtext{width:100%;min-height:70vh;font:14px/1.55 ui-monospace,Consolas,monospace;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--card);resize:vertical}
.lghelp{position:sticky;top:16px}
.lghelp table{width:100%;margin-top:8px;border-collapse:collapse}
.lghelp td{padding:6px 4px;border-top:1px solid var(--line);vertical-align:top;font-size:13.5px}
.lghelp code{font-size:12.5px;white-space:nowrap}
@media(max-width:900px){.lgsplit{grid-template-columns:1fr}.lghelp{position:static}}

/* Kundenansicht Vertrag/Fragebogen: Kopf wie AGB/Buchungsseite */
.pubdoc .bkmain{max-width:860px}
.pubdoc-s{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 24px;margin:0 0 16px;text-align:center;box-shadow:0 8px 30px rgba(20,30,24,.08)}
.pubdoc .att{margin-bottom:16px}
.pub-jump{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.pub-jump a{color:var(--beige);text-decoration:none;border:1px solid rgba(230,225,210,.35);border-radius:99px;padding:6px 14px;font-size:13px}.pub-jump a:hover{background:rgba(230,225,210,.12)}
.fbshow select{max-width:340px}.fbrow-b .bar{flex-wrap:wrap}

/* ---- Generator (09.11.2026): links Dokument, rechts Elemente/Einstellungen ---- */
.fbx{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start;margin-bottom:30px}
.fbx-doc{min-width:0}
.fbx-doc .cd input,.fbx-doc .cd textarea,.fbx-doc .cd select,.fbx-doc .cd label,.fbx-doc .cd canvas,.fbx-doc .cd .sg-tabs{pointer-events:none}
.fbx-side{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:10px}
.fbx-sheet{display:none}
.fbx-tabs{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.fbx-tabs button{flex:1;border:0;background:none;padding:8px 6px;border-radius:99px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--muted)}
.fbx-tabs button.on{background:var(--bg);color:var(--text);font-weight:600}
.fbx-body{padding:12px 16px 16px}
.fbx-body input:not([type=checkbox]):not([type=radio]),.fbx-body select,.fbx-body textarea{width:100%}
.fbx-body .fl{display:block;margin:12px 0 4px}
.fbx-body .chk{display:flex;margin-top:8px}
.fbx-hint{font-size:13.5px;margin:4px 0 8px}
.fbx-pg{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
.fbx-it{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:7px 8px;border-radius:4px;text-align:left;font:inherit;cursor:pointer;color:var(--text)}
.fbx-it:hover,.fbx-it:focus-visible{background:var(--bg)}
.fbx-ic{width:28px;height:28px;flex-shrink:0;border:1px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);background:var(--card)}
.fbx-sn{display:flex;align-items:center;gap:6px;padding:8px 0;border-top:1px solid var(--line)}
.fbx-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.fbx-k{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fbx-w{display:flex;gap:4px;flex-wrap:wrap}
.fbx-w button,.cvb-bar button{border:0;border-radius:4px;padding:6px 10px;font:inherit;font-size:13.5px;background:var(--bg);color:var(--text);cursor:pointer}
.fbx-w button.on{background:var(--side);color:var(--beige)}
.fbx-vis{margin-top:14px;padding-top:4px;border-top:1px solid var(--line)}
.fbx-vis .frow{display:flex;gap:6px;margin-bottom:6px}
.fbx-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.fbx-del{color:#a3423a}
/* Dokument links: Blöcke anwählbar */
.cvb{position:relative;cursor:pointer;outline:1px dashed transparent;outline-offset:-1px}
.cvb:hover{outline-color:#b9c2b7}
.cvb.on{outline:2px solid var(--accent);outline-offset:-2px;z-index:3}
.cv-badge{position:absolute;top:4px;right:6px;font-size:11px;color:#6b4f99;background:#efe9f7;border-radius:6px;padding:1px 6px;pointer-events:none}
.cvb-bar{position:absolute;bottom:100%;right:0;display:flex;gap:2px;background:var(--side);border-radius:4px 4px 0 0;padding:3px;z-index:5}
.cvb-bar button{background:transparent;color:var(--beige);padding:4px 8px;font-size:12.5px}
.cvb-bar button.on{background:rgba(237,230,214,.25)}
.cvb-bar .grip{color:var(--beige);cursor:grab;padding:4px 6px}
.fbx-doc .fbt-space{min-height:14px}
.cv-space{position:absolute;inset:2px;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--muted);border:1px dashed #cfd5cd;border-radius:4px;pointer-events:none}
.cvg{margin:10px 8px;border:1px dashed #b9c2b7;border-radius:10px;position:relative}
.cvg.on{border:2px solid var(--accent)}
.cvg-h{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(136,158,140,.12);border-radius:9px 9px 0 0;cursor:pointer;font-size:13.5px}
.cvg-h .grip{cursor:grab;color:var(--muted)}
.cvg-t{border:0;background:none;cursor:pointer;font:inherit;color:var(--text);padding:0 4px}
.cvg-act{margin-left:auto;display:flex;gap:4px}
.cvg-act button{border:0;background:var(--card);border-radius:4px;padding:2px 8px;cursor:pointer}
.cvg-empty{padding:16px;color:var(--muted);font-size:13.5px}
.cv-empty{padding:30px;text-align:center}
#fb_canvas .drop-before{box-shadow:0 -4px 0 0 var(--accent)}
#fb_canvas .drop-after{box-shadow:0 4px 0 0 var(--accent)}
#fb_canvas .dragging{opacity:.45}
@media(max-width:900px){
  .fbx{grid-template-columns:1fr}
  .fbx-doc{padding-bottom:80px}
  .fbx-side{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:62vh;border-radius:10px 10px 0 0;z-index:35;box-shadow:0 -10px 30px rgba(20,30,24,.18)}
  .fbx-sheet{display:flex;justify-content:space-between;width:100%;border:0;background:var(--side);color:var(--beige);padding:12px 16px;font:inherit;border-radius:10px 10px 0 0;cursor:pointer;position:sticky;top:0;z-index:3}
  .fbx:not(.has-sel):not(.sheet-open) .fbx-side>:not(.fbx-sheet){display:none}
  .fbx-tabs,.fbx-head{top:46px}
}
.fbx .linkbtn{border:0;background:none;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.fbx-add{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:6px 10px}.fbx-add summary{cursor:pointer;font-weight:600;padding:4px 0}
/* Griff in der Ecke des angewählten Blocks, Leiste über dem Dokument (09.11.2026: bei 1/3 und 1/4 war die Leiste abgeschnitten) */
.fbx-docw{min-width:0}
.cvb-grip{position:absolute;top:2px;left:2px;z-index:6;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--side);color:var(--beige);border-radius:4px;cursor:grab;font-size:14px;touch-action:none}
.cvb-grip:active{cursor:grabbing}
.fbx-tb{position:sticky;top:0;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:var(--side);color:var(--beige);border-radius:4px;padding:6px 8px;margin-bottom:8px;box-shadow:0 6px 18px rgba(20,30,24,.15)}
.fbx-tb b{font-weight:600;margin:0 8px 0 4px;font-size:13.5px}
.fbx-tbw{display:flex;gap:2px;flex-wrap:wrap}
.fbx-tb button{border:0;border-radius:4px;padding:5px 9px;font:inherit;font-size:13px;background:transparent;color:var(--beige);cursor:pointer}
.fbx-tb button.on,.fbx-tb button:hover{background:rgba(237,230,214,.22)}
@media(max-width:760px){.fbx-tb{top:56px}}
#fb_canvas .drop-left{box-shadow:-4px 0 0 0 var(--accent)}#fb_canvas .drop-right{box-shadow:4px 0 0 0 var(--accent)}
.fbgrp{min-width:0}.fbc>.fbgrp,.fbc>.cvg{flex:1}.fbl .cvg{margin:10px 4px}#fb_canvas .drop-into{outline:3px solid var(--accent);outline-offset:-3px}
/* Farbige Status-Labels überall: 12px und kleiner Punkt davor (Wunsch der Nutzerin, 09.11.2026) */
.badge[class*="stc-"],.badge[class*=" st-"]{font-size:12px !important;display:inline-flex;align-items:center;gap:6px;line-height:1.5}
.badge[class*="stc-"]::before,.badge[class*=" st-"]::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
/* Grauer Hilfstext überall 13,5 px (Wunsch der Nutzerin, 09.11.2026) */.muted{font-size:13.5px !important}
/* Alle Labels 12 px und gefüllt statt nur Kontur (Wunsch der Nutzerin, 09.11.2026) */
.badge{font-size:12px !important;background:#ecebe6;color:#5b6058;border-color:transparent !important}
.badge.ok{background:#dcebd9;color:#3f6e43}
.badge.warn{background:#fbe3d0;color:#a4521b}
.badge.ac{background:#efe9de;color:var(--badge-ac)}
.badge.b-check::before{content:"✓";font-weight:600;margin-right:5px}
.ghead-pub{margin:6px 0 0}
.cinfo-r>span:first-child{min-width:0;overflow-wrap:anywhere;hyphens:auto}

/* Fettes überall SemiBold 600 statt Bold 700 (Wunsch der Nutzerin, 09.11.2026) */b,strong,th{font-weight:600}
/* Buttontexte 13 px in Großbuchstaben, nicht fett (Wunsch der Nutzerin, 12.11.2026) */.btn{font-size:13px !important}
/* Auftrag „Alles zum Shooting“: Überschrift fett 15,5 px mit Icon, Inhalt darunter 13,5 px */
.jall{margin-top:6px}
.jall-r{padding:12px 0;border-top:1px solid var(--line)}
.jall-r:first-child{border-top:0}
.jall-h{display:flex;align-items:center;gap:10px;font-size:15.5px}
.jall-h b{font-weight:600}
.jall-ic{width:20px;height:20px;flex:none;color:var(--accent)}
.jall-h .btn{padding:5px 12px}
.jall-c{font-size:13.5px;margin:4px 0 0 30px;line-height:1.5}
.jall-c .jsub{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:4px 0}
.jall-h .grow{flex:1}
/* Alle h1 in 40 px (Wunsch der Nutzerin, 09.11.2026) */h1{font-size:40px !important}
body h1,body .mbox h1,body main h1{font-size:40px !important}
/* h1 nach Fenstergröße: im CRM 40 px, klein 32 px; im Kopf der eigenen Seiten (AGB, Buchung, Vertrag …) 50 px, am Handy 40 px */
@media(max-width:760px){body h1,body .mbox h1,body main h1{font-size:32px !important}}
body .bkh h1,body .wr-hero h1{font-size:50px !important}
@media(max-width:760px){body .bkh h1,body .wr-hero h1{font-size:40px !important}}
/* Auftragsseite (09.11.2026): Textlinks mit Pfeil statt Buttons, Pfeil rückt beim Hovern leicht nach rechts */
.jlink{border:0;background:none;padding:2px 0;font:inherit;font-size:14.5px;color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;list-style:none}
.jlink::-webkit-details-marker{display:none}
.jlink::marker{content:""}
.jlink .jarr{display:inline-block;transition:transform .18s ease}
.jlink:hover .jarr,.jlink:focus-visible .jarr{transform:translateX(4px)}
.jlink:hover{color:var(--text)}
.jmenu summary.jlink::after{content:none !important}
.jall-r{padding:12px 0}
.jall-h{margin:0}
.jall-c{margin:1px 0 0 30px}
.jall-i{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0}
.jall-i>span{min-width:0}
.jall-i .badge{flex:none;margin-left:auto}
.jall-x{margin-top:4px}
/* Auftrag „Termin“: Beschriftung links fett, Werte rechts 13,5 px */.jterm .cinfo-r>span:first-child{font-weight:600;color:var(--text)}.jterm .cinfo-r>div,.jterm .cinfo-r>div .muted{font-size:13.5px}
.jterm .cinfo-r{grid-template-columns:150px minmax(0,1fr)}.jterm .cinfo-r>span:first-child{overflow-wrap:normal;hyphens:manual}
/* Status auf der Auftragsseite wie ein Label (.badge) unter dem Kopf, weiterhin zum Ändern anklickbar */
.jstage.jstage-b::before{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:currentColor;pointer-events:none}
.jstage.jstage-b select{font-size:12px;font-weight:400;padding:2px 24px 2px 22px;line-height:1.5}
.jstage.jstage-b::after{right:9px;font-size:9px}
.ghead-sub .jstage-b{margin-left:8px;vertical-align:middle}/* Allgemeiner Link / Einreichungen (09.11.2026) */
.navcnt{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--beige);color:var(--side);font-size:11px;font-weight:600;margin-left:6px}
.fbx-pub{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fbx-pub .frow{display:flex;gap:6px;margin:6px 0}
.pubdsi{margin:16px 0 0}
.pubdsi .chk{align-items:flex-start;gap:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sub-create{margin:0 0 14px}
.cm-list{margin:12px 0 0;padding-left:18px}.cm-list li{margin:4px 0}
.jold{margin:10px 0 4px}.seg{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px}.ku-uses{display:flex;flex-wrap:wrap;gap:4px 16px}

/* Altes Shooting: Felder für neue Aufträge aus-, Preis/Bilder einblenden */
.jnew[hidden],.jlegf[hidden],.w[hidden]{display:none !important}
/* Pflichtfelder */
.req-star{color:var(--warn);margin-left:2px}
/* Galerie-Mail: Headline in der Schmuckschrift und Foto (10.11.2026) */
.gm-photo{display:flex;align-items:center;gap:12px;margin-top:4px}.gm-photo img{width:120px;height:80px;object-fit:cover;border-radius:8px;display:block}
.gm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin-top:10px;max-height:260px;overflow:auto}
.gm-grid button{border:2px solid transparent;border-radius:8px;padding:0;background:none;cursor:pointer;aspect-ratio:1;overflow:hidden}
.gm-grid button.on{border-color:var(--accent)}.gm-grid img{width:100%;height:100%;object-fit:cover;display:block}
.mailprev-hl{font-family:var(--script);font-size:32px;line-height:1.3;text-align:center;padding:18px 14px 6px;color:var(--text)}
.mailprev-img{display:block;width:calc(100% - 28px);margin:8px 14px 0;border-radius:4px}
.mailprev-hl{white-space:nowrap;overflow:hidden}
.mailprev-c{text-align:center}
.mailprev-btn{display:inline-block;margin:12px 0;padding:11px 26px;border-radius:4px;background:#889e8c;color:#f6f3ef;font-weight:600}
.tp-color{display:flex;gap:8px;align-items:center}.tp-color input[type=color]{width:56px;height:40px;padding:2px;border-radius:4px}
/* ---- Texteditor (Ausrichtung, fett, Farbe), 10.11.2026 ---- */
.rte{border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}
.rte:focus-within{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(136,158,140,.25)}
.rte-tb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--bg)}
.rte-tb button{font:inherit;font-size:13.5px;min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.rte-tb button:hover{background:var(--card);border-color:var(--line)}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.rte-tb .rte-sw{min-width:22px;width:22px;height:22px;padding:0;border-radius:50%;background:var(--sw);border:2px solid var(--card);box-shadow:0 0 0 1px var(--line)}
.rte-pick{display:inline-flex;width:26px;height:26px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px var(--line);cursor:pointer;background:conic-gradient(#e66,#ec6,#6c6,#6ce,#66e,#e6e,#e66)}
.rte-pick input{opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}
.rte-ed{padding:10px 12px;outline:none;line-height:1.6;font-size:15.5px;max-height:60vh;overflow:auto}
.rte-ed p,.rich p{margin:0}
.rte-off .rte-tb{display:none}.rte-off .rte-ed{pointer-events:none;opacity:.65;background:var(--bg)}
.bkintro.rich,.gwelcome.rich{white-space:normal}
.gwelcome.rich p:not([style]){text-align:left}
/* Preisseite: Titelbild zusätzlich mittig in einem Bogen mit feinem Rahmen (Wunsch der Nutzerin, 10.11.2026).
   Abstand zum Rahmen hängt an der Bogenbreite (--aw), damit Bild und Rahmen gemeinsam wachsen/schrumpfen. */
.pp-arch{--aw:min(340px,72vw);position:relative;z-index:2;width:var(--aw);aspect-ratio:7/10;margin:28px auto 0;padding:calc(var(--aw) * .07);border:1.5px solid #CDB89A;border-radius:999px 999px 0 0;box-sizing:border-box}
.pp-arch img{display:block;width:100%;height:100%;object-fit:cover;border-radius:999px 999px 0 0}
.pp-down{position:relative;z-index:2;display:inline-flex;margin-top:18px;padding:6px;color:#fff;opacity:.85;filter:drop-shadow(0 1px 6px rgba(0,0,0,.4));animation:pp-bob 2.4s ease-in-out infinite}
.pp-down:hover{opacity:1}
@keyframes pp-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.pp-down{animation:none}}
/* Logo im Kopf der Kundenseiten: Menü-Logo ohne weißen Hintergrund; Desktop oben links, Handy mittig (10.11.2026) */
.bkh-logo{background:none;box-shadow:none;padding:0;border-radius:0}
.bkh-logo img{height:auto;max-height:56px;max-width:220px}
@media(min-width:761px){.bkh-logo{position:absolute;top:-22px;left:12px;margin:0}}
@media(max-width:760px){.bkh-logo img{max-height:36px;max-width:150px}}
.btn.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding-left:11px;padding-right:11px}
.glink .grow{flex:1}
.glink a.btn{text-decoration:none}
/* Preisseite im Listen-Stil (10.11.2026): Überschrift in Großbuchstaben mit Linie, Name – Strichlinie – Preis */
.pplist{padding:26px 28px}
.ppsec + .ppsec{margin-top:34px}
.ppl-cat{font:400 26px/1.2 "Libre Caslon Display",Georgia,serif;text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px;padding-bottom:10px;border-bottom:1.5px solid var(--text);color:var(--text)}
.ppl{padding:9px 0}
.ppl-h{display:flex;align-items:baseline;gap:14px}
.ppl-n{font-size:18px;color:var(--text)}
.ppl-dots{flex:1;min-width:24px;border-bottom:1.5px dashed var(--accent2);transform:translateY(-5px)}
.ppl-p{font-size:18px;color:var(--text);white-space:nowrap}.ppl-p small{font-size:13.5px;color:var(--muted)}
.ppl-d{margin:4px 0 0;font-size:14.5px;line-height:1.5;color:var(--muted)}
@media(max-width:520px){.pplist{padding:20px 16px}.ppl-n,.ppl-p{font-size:16px}.ppl-cat{font-size:22px}}
/* Karten (.card) im hellen Modus in warmem Off-White #F9F7F2 (Wunsch der Nutzerin, 10.11.2026); im Dunkelmodus unverändert */
:root{--cardbg:#fcfbfa}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cardbg:var(--card)}}
:root[data-theme="dark"]{--cardbg:var(--card)}
.card,.mbox{background:var(--cardbg)} /* Popups (.mbox) ebenfalls, 10.11.2026 */
.mailprev-arch{--aw:min(300px,calc(100% - 28px));margin:16px auto 6px}
/* Zwei Bögen in der Mail-Vorschau (12.11.2026): 270 px breit wie in der Mail, der vordere rechts unten versetzt */
.mailprev-two{position:relative;width:min(270px,calc(100% - 28px));aspect-ratio:270/276;margin:16px auto 6px}
.mailprev-two .mailprev-arch{--aw:61.7%;position:absolute;margin:0}
.mailprev-two .back{left:0;top:0;z-index:1}
.mailprev-two .front{right:0;bottom:0;z-index:2;background:#f6f3ef}
.gm-photo + .gm-photo{margin-top:8px}
.gm-ph0{display:flex;align-items:center;justify-content:center;width:120px;height:80px;border:1px dashed var(--line);border-radius:8px;font-size:12.5px;text-align:center}
/* Kundenansicht wie Auftrag „Termin“: Beschriftung links fett, Werte rechts 13,5 px (10.11.2026) */
.cv .cinfo-r>span:first-child{font-weight:600;color:var(--text);overflow-wrap:normal;hyphens:manual}
.cv .cinfo-r>div,.cv .cinfo-r>div .muted{font-size:13.5px}
.cv .cinfo-r{grid-template-columns:150px minmax(0,1fr)}
/* Kundenansicht „Tier“: Name größer, Angaben darunter insgesamt kleiner (10.11.2026) */
.canimal > b{display:block;font-size:21px;line-height:1.3;margin-bottom:2px}
.cv .canimal .cinfo-r{padding:4px 0;grid-template-columns:110px minmax(0,1fr)}
.cv .canimal .cinfo-r>span:first-child{font-size:13px}
.cv .canimal .cinfo-r>div,.cv .canimal .cinfo-r>div .muted{font-size:13px}
/* Postfach (10.11.2026): Liste und Lesefenster gleich hoch (Bildschirmhöhe), Auswahl per Checkbox */
.ibwrap{align-items:stretch}
.iblist,.ibread{height:calc(100vh - 24px);max-height:none;overflow:auto;position:sticky;top:12px}
.iblist{padding:0 6px 6px}
.ibsel{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 6px;margin:0 0 4px;background:var(--cardbg);border-bottom:1px solid var(--line);flex-wrap:wrap}
.ibsel .btn{padding:6px 12px;font-size:13.5px}
.ibrow{display:flex;gap:10px;align-items:flex-start}
.ibrow-c{flex:1;min-width:0}
.ibchk{display:inline-flex;align-items:center;padding:2px 0 0;cursor:pointer;flex:none}
.ibchk input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--chk)}
.ibrow.sel{background:var(--bg)}
@media(max-width:900px){.ibread{position:static;height:auto}.iblist{height:calc(100vh - 24px)}}
/* Postfach: HTML-Ansicht im abgeschotteten Rahmen, Umschalter HTML/Text (10.11.2026) */
.ibhtml{display:block;width:100%;height:calc(100vh - 230px);min-height:320px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ibview{display:inline-flex;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:2px;margin:0 0 8px}
.ibview button{font:inherit;font-size:13px;border:0;background:none;color:var(--muted);padding:4px 12px;border-radius:4px;cursor:pointer}
.ibview button.on{background:var(--cardbg);color:var(--text);box-shadow:0 1px 2px rgba(20,30,24,.08)}
/* Auftragsliste: nächstes To-do in der Zeile hinter Kategorie und Termin, mit Abstand; Pfeil, überfällig braun (11.11.2026) */
.jtodo{display:inline-flex;align-items:baseline;gap:6px;margin-left:28px;max-width:100%;min-width:0;vertical-align:baseline}
.jtodo-a{color:var(--accent2);flex:none}
.jtodo-t{font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jtodo.late .jtodo-a{color:var(--warn)}
/* E-Mail-Vorlagen: Editor links, Vorschau rechts (11.11.2026) */
.mt-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start;margin:4px 0 10px}
.mt-split .mt-prev{position:sticky;top:12px;margin:0}
.mt-photo{display:flex;align-items:center;justify-content:center}.mt-photo span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:999px 999px 0 0;background:var(--bg);color:var(--muted);font-size:13px}
@media(max-width:1000px){.mt-split{grid-template-columns:1fr}.mt-split .mt-prev{position:static}}
/* Auftrag anlegen: Kunde suchen mit Vorschlägen (11.11.2026) */
.csearch{position:relative}
.csearch-l{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--cardbg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(20,30,24,.14);max-height:280px;overflow:auto;padding:4px}
.csearch-l button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;background:none;font:inherit;padding:7px 10px;border-radius:4px;cursor:pointer;color:var(--text)}
.csearch-l button .muted{font-size:12.5px}
.csearch-l button.on,.csearch-l button:hover{background:var(--bg)}
.mbox.mbox-wide{max-width:1000px}
.seg.seg-full{display:grid;grid-template-columns:1fr 1fr;width:100%}.seg.seg-full button{text-align:center;white-space:normal}
/* Rechnungspopup: gleiche Größe bei „Neu erstellen“ und „Hochladen“, Reiter ohne Umbruch (Desktop) */
.mbox.mbox-inv{max-width:680px;height:min(900px,100%)}
@media(min-width:700px){.seg.seg-full button{white-space:nowrap}}
.acc-miss{display:inline-flex;align-items:center;gap:5px;color:#B23A2E;background:color-mix(in srgb,#B23A2E 13%,transparent);border-radius:99px;padding:3px 10px 3px 8px;font-size:13.5px;white-space:nowrap;margin-top:2px}
.acc-bel{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.acc-doc{display:inline-flex;align-items:center;gap:3px;border:0;cursor:pointer;color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent);border-radius:99px;padding:5px 7px;font:inherit;font-size:12px;flex:0 0 auto}.acc-doc:hover{background:color-mix(in srgb,var(--ok) 26%,transparent)}
.mbox.mbox-doc{display:flex;flex-direction:column;height:min(1000px,100%)}.mbox-doc .bar{flex:0 0 auto}
.mbox-doc .acc-docprev{flex:1 1 auto;min-height:0;height:auto;aspect-ratio:auto}.acc-docimg{display:block;flex:1 1 auto;min-height:0;max-width:100%;object-fit:contain;margin:0 auto;border-radius:8px}
.rcp-amt{width:110px;text-align:right;font-variant-numeric:tabular-nums}
.lr-steps{margin:0;padding-left:20px;font-size:13.5px;line-height:1.6}
/* Kundengalerie: Begrüßung als Popup bei jedem Öffnen (12.11.2026) */
.gw-modal{position:fixed;inset:0;z-index:60;background:rgba(62,81,67,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.gw-box{background:var(--card);border-radius:10px;padding:24px 22px 18px;width:100%;max-width:460px;max-height:85vh;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.gw-box .gwelcome{margin:0;font-size:14px;line-height:1.55}.gw-box .rt-h{font-size:1.45em;margin:.2em 0 .15em}
.gw-act{display:flex;justify-content:center;margin-top:20px}
/* Überschrift im Texteditor und in formatierten Texten (12.11.2026) */
.rt-h,.rte-ed h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:500;font-size:1.6em;line-height:1.25;margin:.35em 0 .2em;letter-spacing:-.01em}
.rte-tb [data-rteh2]{font-family:"Libre Caslon Display",Georgia,serif;font-size:17px;font-weight:600}
/* Kundengalerie: Kommentare zu Bildern (12.11.2026) */
.ph .pcom{position:absolute;right:46px;top:6px;background:rgba(0,0,0,.28);border:0;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#fff}
.ph .pcom.on{background:var(--accent)}
.lb-com{display:inline-flex;align-items:center;gap:6px}.lb-com.on{background:var(--accent);color:var(--btn-t)}
.pc-modal{z-index:70}
.pc-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pc-head img{width:64px;height:64px;object-fit:cover;border-radius:8px}
#pc_text{width:100%;box-sizing:border-box;resize:vertical}
.pc-read{white-space:pre-wrap;margin:0}
.pg .pg-com{position:absolute;left:6px;top:6px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--btn-t);display:flex;align-items:center;justify-content:center}.pg .pg-com svg{width:14px;height:14px}
.pc-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.pc-row:first-of-type{border-top:0;margin-top:6px}
.pc-row img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:0 0 auto}.pc-row p{margin:4px 0 2px;white-space:pre-wrap}
/* Auswahlgalerie: Markierung Ja/Vielleicht/Nein (12.11.2026): Leiste im Stil der gtabs, Ergebnis als zarter Kreis */
.plseg{display:inline-flex;gap:4px;background:var(--side);border-radius:4px;padding:4px;font-size:13.5px}
.plseg button{font:inherit;font-size:1em;font-weight:400;background:none;border:0;border-radius:4px;color:var(--side-t);padding:.45em .9em;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background .15s}
.plseg button:hover:not(.on){background:rgba(255,255,255,.12)}
.plseg button.on{background:var(--nav-on);color:var(--nav-on-t)}
.pl-i{font-style:normal;font-weight:700}.pl-i.pl-ja{color:#a6d3a4}.pl-i.pl-vielleicht{color:#f1d377}.pl-i.pl-nein{color:#f2aca2}
.plseg.pfbar{display:flex;width:max-content;max-width:100%;flex-wrap:nowrap;margin:0 auto 18px;box-sizing:border-box}
.lb-lab{max-width:100%;box-sizing:border-box}
.foot > span{white-space:nowrap;max-width:100%;overflow:hidden}
.ph .plc{position:absolute;left:8px;top:6px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;opacity:.92;pointer-events:none}
.plc.pl-ja{background:#dcebd9;color:#3f6e43}.plc.pl-vielleicht{background:#fbefc4;color:#8a6a00}.plc.pl-nein{background:#f8dcd7;color:#a23a2e}
@media(max-width:600px){.plseg button{padding:.45em .65em}.plseg{gap:2px}}
/* ---- Guides (12.11.2026) ---- */
/* Überschriften laut Wunsch: 1 Serifenschrift grün, 2 serifenlos in Kapitälchen blassgrün, 3 fett grün */
.gd h1{font:400 clamp(26px,4.5vw,32px)/1.2 "Libre Caslon Display",Georgia,serif;color:#5E7B64;margin:18px 0 10px}
.gd h2{font:600 17px/1.4 "Roboto",sans-serif;font-variant:small-caps;letter-spacing:.08em;text-transform:lowercase;color:#889e8c;margin:20px 0 6px}
.gd h3{font:700 15.5px/1.4 "Roboto",sans-serif;color:#5E7B64;margin:14px 0 4px}
.gd p{margin:0 0 10px;line-height:1.65}
.gd ul{margin:6px 0 12px;padding-left:20px;line-height:1.65}
.gd ul li::marker{color:#889e8c}
.gd ul li{padding-left:8px}
.gd figure{margin:16px 0}
.gd figure img{display:block;width:100%;height:auto;border-radius:12px}
.gd figcaption{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}
/* Öffentliche Seite */
.gd-arch,.pp-k + .pp-arch{margin-top:8px}
.bkh-k.gd-k,.bkh-k.pp-k{margin:18px 0 18px} /* steht über dem Bild (12.11.2026) */
.gd-intro{margin:0;text-align:center;line-height:1.6}
.gd-toc h2{font:600 13px/1 "Roboto",sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#889e8c;margin:0 0 12px;text-align:center}
.gd-toc ol{list-style:none;margin:0;padding:0}
.gd-toc li a{display:flex;align-items:baseline;gap:14px;padding:10px 4px;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.gd-toc li:first-child a{border-top:0}
.gd-toc li a b{font:400 22px/1 "Libre Caslon Display",Georgia,serif;color:#5E7B64;min-width:30px}
.gd-toc li a span{flex:1}.gd-toc li a i{font-style:normal;color:#889e8c}
.gd-chap{scroll-margin-top:16px}
.gd-chap-k{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#889e8c;margin-bottom:4px}
.gd .gd-chap-t{margin-top:0}
.gd-back{display:inline-block;margin-top:8px;font-size:13px;color:var(--muted)}
/* CRM: Liste */
.gd-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.gd-row:first-child{border-top:0}
.gd-row-main{flex:1;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}
.gd-row-main img,.gd-row-ph{width:48px;height:48px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:var(--line)}
/* CRM: Editor */
.gd-cols{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}
@media(max-width:1000px){.gd-cols{grid-template-columns:1fr}}
.gd-side .card{margin-bottom:14px}
.gd-cover-prev{display:block;width:100%;max-width:150px;aspect-ratio:7/10;object-fit:cover;border-radius:999px 999px 0 0;margin:8px auto}
.gd-chap-ed{margin-bottom:14px}
.gd-chap-title{width:100%;box-sizing:border-box;font:400 22px/1.3 "Libre Caslon Display",Georgia,serif;color:#5E7B64;margin-bottom:10px}
.gd-tb{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:5px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--bg)}
.gd-tb button{font:inherit;font-size:13.5px;border:0;background:none;border-radius:4px;padding:5px 10px;cursor:pointer;color:var(--text)}
.gd-tb button:hover{background:var(--line)}
.gd-tb .gd-h1b{font:400 16px "Libre Caslon Display",Georgia,serif;color:#5E7B64}
.gd-tb .gd-h2b{font-variant:small-caps;letter-spacing:.06em;color:#889e8c;font-weight:600}
.gd-tb .gd-h3b{font-weight:700;color:#5E7B64}
.gd-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.gd-ed{border:1px solid var(--line);border-radius:0 0 10px 10px;background:var(--card);padding:14px 16px;min-height:180px;outline:none}
.gd-ed:focus{border-color:var(--accent)}
.gd-ed > :first-child{margin-top:0}
/* To-do-Aktionen als Symbole (12.11.2026): gleiche Größe wie Haken und Kreuz; Kreuz blass rostig */
.td-act .btn.td-ic{padding:6px 9px;line-height:0;display:inline-flex;align-items:center;justify-content:center}
.td-act .btn.td-ic svg{pointer-events:none}
.td-act .btn.td-skip{color:#b9866e}
.td-act .btn.td-skip:hover{background:#9C5A3C;border-color:#9C5A3C;color:#f6f3ef}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td-act .btn.td-skip{color:#D1A48F}}
:root[data-theme="dark"] .td-act .btn.td-skip{color:#D1A48F}
/* Reiter und Umschalter mit Linie (12.11.2026, Variante B): kein Hintergrund, Salbei-Linie darunter,
   Hover macht die Linie unter dem Reiter dicker, aktiver Reiter mit dicker Salbei-Linie und gefüllter Zahl */
:is(.seg,.gtabs,.plseg){background:none;border-radius:0;padding:0;gap:2px;border-bottom:1px solid var(--accent2)}
:is(.seg,.gtabs,.plseg) > :is(button,label){position:relative;background:none;border-radius:0;color:var(--text);padding:8px 14px 10px;transition:color .15s}
:is(.seg,.gtabs,.plseg) > :is(button,label)::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:0;background:var(--accent2);transition:height .15s}
:is(.seg,.gtabs,.plseg) > button:hover:not(.on):not(:disabled),:is(.seg,.gtabs,.plseg) > label:hover{background:none}
:is(.seg,.gtabs,.plseg) > button:hover::after,:is(.seg,.gtabs,.plseg) > label:hover::after{height:3px}
:is(.seg,.gtabs,.plseg) > button.on,.seg > label:has(input:checked){background:none;color:var(--text);font-weight:500}
:is(.seg,.gtabs,.plseg) > button.on::after,.seg > label:has(input:checked)::after{height:3px}
.gtabs button span{background:var(--btn2-bg);color:var(--btn2-fg);font-size:12px;line-height:1.6;margin-left:4px}
.gtabs button.on span{background:var(--accent2);color:var(--btn-fg)}
/* Foto-Vollansicht (Lightbox): Markieren-Umschalter behält die frühere Variante (Wunsch der Nutzerin, 12.11.2026) */
.plseg.lb-lab{background:var(--side);border-radius:4px;padding:4px;gap:4px;border-bottom:0}
.plseg.lb-lab > button{color:var(--side-t);padding:.45em .9em;border-radius:4px;font-weight:400;transition:background .15s}
.plseg.lb-lab > button::after{content:none}
.plseg.lb-lab > button:hover:not(.on):not(:disabled){background:rgba(255,255,255,.12)}
.plseg.lb-lab > button.on{background:var(--nav-on);color:var(--nav-on-t);font-weight:400}
/* Symbol-Knöpfe auch außerhalb der To-dos (Formularliste, 12.11.2026) */
.btn.td-ic{padding:6px 9px;line-height:0;display:inline-flex;align-items:center;justify-content:center}
.btn.td-ic svg{pointer-events:none}
.btn.td-skip{color:#b9866e}
.btn.td-skip:hover{background:#9C5A3C;border-color:#9C5A3C;color:#f6f3ef}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.td-skip{color:#D1A48F}}
:root[data-theme="dark"] .btn.td-skip{color:#D1A48F}
.pkg-a:has(.td-ic){gap:4px}
/* Vorhandene Symbol-Knöpfe in derselben Zeile gleich groß wie die neuen */
:has(> .td-ic) > .btn.icon-btn{padding:6px 9px;line-height:0}
:has(> .td-ic) > .btn.icon-btn svg{width:16px;height:16px}
/* Titel von Vertrag und Formularen: Roboto Thin, 30 pt, Großbuchstaben (12.11.2026); auf schmalen Bildschirmen kleiner */
.cd-title{font-weight:100;font-size:min(30pt,7.4vw);text-transform:uppercase;letter-spacing:.02em}
/* Vertrag und Formulare (12.11.2026): Fließtext Roboto Light 9 pt, Fettes Medium, Feldbezeichnungen Regular,
   Abschnittsüberschriften Roboto Light 10 pt in Großbuchstaben */
.cd{font-weight:300;font-size:calc(9pt*var(--fz))}
.cd b,.cd strong{font-weight:500}
.cd-l{font-weight:400}
.cd-s{font-weight:300;font-size:calc(10pt*var(--fz));text-transform:uppercase}
/* ---- Online-Buchung: Verfügbarkeit abfragen (13.11.2026) ---- */
.bkmode{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.bkmode label{flex:1;min-width:220px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;gap:10px;cursor:pointer;background:var(--card)}
.bkmode label.on{border-color:var(--side);box-shadow:0 0 0 1px var(--side)}
.bkmode input{width:auto;margin-top:3px}
.bkmode small{display:block;color:var(--muted);font-size:13px;margin-top:2px;line-height:1.4}
#bk_note{width:100%;box-sizing:border-box}
.pbc-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.pbc-h b{font:400 22px/1 "Libre Caslon Display",Georgia,serif;color:#5E7B64}
.pbc-h button{border:0;background:none;font-size:22px;line-height:1;color:var(--text);cursor:pointer;padding:4px 12px;border-radius:8px}
.pbc-h button:disabled{color:var(--line);cursor:default}
.pbc{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;max-width:420px;margin:0 auto}
.pbc-wd{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 0 6px}
.pbc-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;color:#b9b6ac;position:relative;font-family:inherit;border:1.5px solid transparent;background:none;padding:0}
.pbc-d.av{color:var(--text);border-color:#CDB89A;cursor:pointer;font-weight:600}
.pbc-d.av:hover{background:var(--bg)}
.pbc-d.sel,.pbc-d.sel:hover{background:var(--side);border-color:var(--side);color:var(--beige)}
.pbc-leg{display:flex;gap:16px;justify-content:center;font-size:12.5px;color:var(--muted);margin:10px 0 0}
.pbc-leg i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-2px;margin-right:5px}
.pbc-leg i.av{border:1.5px solid #CDB89A}.pbc-leg i.sel{background:var(--side)}
.pbd{border-top:1px solid var(--line);padding:12px 0 4px;margin-top:12px}
.pbd .bkpub-date{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pbd-x{border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;padding:0}
.pbd-or{font-size:11.5px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:12px 0 6px}
.pbchk{display:inline-flex;align-items:center;gap:8px}
.pbchk .bx{width:15px;height:15px;border:1.5px solid currentColor;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}
.pb-info{background:var(--bg);border-radius:10px;padding:10px 12px;margin:0 0 8px;line-height:1.5}
#pb_note{width:100%;box-sizing:border-box}
.bkreqcard{margin-bottom:14px;border-left:0}
.bkreq-l{list-style:none;margin:10px 0 0;padding:0}
.bkreq-l li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.bkreq-l li:first-child{border-top:0}
.bkreq-l .bkfx-t{width:auto}
.bkreq-i{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 12px;font-size:14px;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.bkreq-i span:nth-child(odd){font-weight:600}
@media(max-width:520px){.bkreq-i{grid-template-columns:1fr}}
/* Workflow-Schritt: Anzahl + Einheit (13.11.2026) */
.wf-amt{display:flex;gap:8px;align-items:center}.wf-amt select{width:auto}

/* ---- Bereiche (14.11.2026, docs/BEREICHE.md) ------------------------------------------------
   Farbklaex: wie oben. Physio: das alte Farbklaex-Schema. Privat: „Heller Salbei“ mit HELLER Seitenleiste,
   damit man auf einen Blick sieht, in welchem Bereich man ist. */
:root[data-bereich="physio"]{--bg:#F1EEE4;--text:#4B544A;--muted:#646a60;--line:#DDD8C7;--accent:#959D8D;--accent2:#959D8D;--ad:#6C7463;--chk:#4B544A;--link:#4B544A;--side:#4B544A;--side-t:#E6E1D2;--side-t-d:rgba(230,225,210,.6);--btn-bg:#6C7463;--btn-fg:#F1EEE4;--btn-h:#4B544A;--btn-h-fg:#fff;--btn2-bg:#e4e3da;--btn2-fg:#4B544A;--btn2-bd:#e4e3da;--btn2-h:#959D8D;--btn2-h-fg:#fff;--nav-on:#959D8D;--nav-on-t:#fff;--mint:#DADDD6;--gtitle:#4B544A}
:root[data-bereich="privat"]{--bg:#FAF8F0;--text:#3F4A35;--muted:#626c58;--line:#E2E1D1;--accent:#8FA275;--accent2:#8FA275;--ad:#7C8F62;--chk:#3F4A35;--link:#3F4A35;--side:#CDD5B8;--side-t:#3F4A35;--side-t-d:rgba(63,74,53,.62);--btn-bg:#7C8F62;--btn-fg:#FAF8F0;--btn-h:#3F4A35;--btn-h-fg:#fff;--btn2-bg:#ECEFE2;--btn2-fg:#3F4A35;--btn2-bd:#ECEFE2;--btn2-h:#8FA275;--btn2-h-fg:#fff;--nav-on:#8FA275;--nav-on-t:#fff;--mint:#E4E9D6;--gtitle:#3F4A35}
/* Dunkelmodus: die hellen Bereichsfarben oben dürfen die dunklen Grundfarben nicht überschreiben,
   deshalb hier die dunklen Werte noch einmal mit den Bereichsakzenten */
@media (prefers-color-scheme:dark){
  :root[data-bereich="physio"]:not([data-theme="light"]),:root[data-bereich="privat"]:not([data-theme="light"]){--bg:#1d211c;--card:#272c25;--text:#ECE7D8;--muted:#A5AC9C;--line:#383e35;--accent:#959D8D;--accent2:#959D8D;--ad:#B4BBAA;--chk:#959D8D;--link:#B4BBAA;--btn-bg:#959D8D;--btn-fg:#1d221c;--btn-h:#8c9485;--btn-h-fg:#1d221c;--btn2-bg:#272c25;--btn2-fg:#ECE7D8;--btn2-bd:#383e35;--btn2-h:#2f352c;--btn2-h-fg:#ECE7D8;--nav-on:#959D8D;--nav-on-t:#1d221c;--mint:#353b32;--gtitle:var(--text)}
  :root[data-bereich="physio"]:not([data-theme="light"]){--side:#3a4139}
  :root[data-bereich="privat"]:not([data-theme="light"]){--side:#B4BD9C;--side-t:#26301E;--side-t-d:rgba(38,48,30,.65);--nav-on:#6E8156;--nav-on-t:#fff;--accent:#A9B98F;--accent2:#A9B98F;--ad:#BCCAA3;--chk:#A9B98F;--link:#BCCAA3;--btn-bg:#A9B98F;--btn-h:#BCCAA3}
}
:root[data-bereich="physio"][data-theme="dark"],:root[data-bereich="privat"][data-theme="dark"]{--bg:#1d211c;--card:#272c25;--text:#ECE7D8;--muted:#A5AC9C;--line:#383e35;--accent:#959D8D;--accent2:#959D8D;--ad:#B4BBAA;--chk:#959D8D;--link:#B4BBAA;--btn-bg:#959D8D;--btn-fg:#1d221c;--btn-h:#8c9485;--btn-h-fg:#1d221c;--btn2-bg:#272c25;--btn2-fg:#ECE7D8;--btn2-bd:#383e35;--btn2-h:#2f352c;--btn2-h-fg:#ECE7D8;--nav-on:#959D8D;--nav-on-t:#1d221c;--mint:#353b32;--gtitle:var(--text)}
:root[data-bereich="physio"][data-theme="dark"]{--side:#3a4139}
:root[data-bereich="privat"][data-theme="dark"]{--side:#B4BD9C;--side-t:#26301E;--side-t-d:rgba(38,48,30,.65);--nav-on:#6E8156;--nav-on-t:#fff;--accent:#A9B98F;--accent2:#A9B98F;--ad:#BCCAA3;--chk:#A9B98F;--link:#BCCAA3;--btn-bg:#A9B98F;--btn-h:#BCCAA3}
/* Helle Seitenleiste (Privat): Hover- und Bedienflächen dunkel statt hell abtönen */
:root[data-bereich="privat"] nav button:hover{background:rgba(63,74,53,.08)}
:root[data-bereich="privat"] nav button.has-sub.open:not(.on){background:rgba(63,74,53,.06)}
:root[data-bereich="privat"] nav{scrollbar-color:rgba(63,74,53,.25) transparent}
:root[data-bereich="privat"] .burger,:root[data-bereich="privat"] nav .mclose{background:rgba(63,74,53,.1)}
:root[data-bereich="privat"] .burger:hover,:root[data-bereich="privat"] .burger:focus-visible{background:rgba(63,74,53,.18)}
/* Bereichsname unter dem Schriftzug im Menü und auf der Anmeldeseite */
.bereich-tag{display:block;font:500 11px/1.2 "Roboto",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--side-t-d);margin:-14px 8px 18px}
.login .bereich-tag{color:var(--muted);margin:-8px 0 14px}

/* ---- Sammelportal „Alle Bereiche“ (Stufe 2, 14.11.2026) ---------------------------------- */
.bchip{display:inline-block;padding:1px 9px;border-radius:99px;font-size:12.5px;font-weight:500;line-height:1.6;vertical-align:middle}
.bchip small{font-weight:400;opacity:.8;font-size:11.5px}
.bchip.b-farbklaex{background:#dfe6df;color:#3e5143}
.bchip.b-physio{background:#e3e1d6;color:#4B544A}
.bchip.b-privat{background:#e7ecd8;color:#4d5c3d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bchip.b-farbklaex{background:#2e3a31;color:#c9d6cc}:root:not([data-theme="light"]) .bchip.b-physio{background:#36392f;color:#d6d3c4}:root:not([data-theme="light"]) .bchip.b-privat{background:#353f2b;color:#d3ddbd}}
:root[data-theme="dark"] .bchip.b-farbklaex{background:#2e3a31;color:#c9d6cc}:root[data-theme="dark"] .bchip.b-physio{background:#36392f;color:#d6d3c4}:root[data-theme="dark"] .bchip.b-privat{background:#353f2b;color:#d3ddbd}
.al-chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.al-row .bank-date{display:flex;flex-direction:column;gap:2px}
.al-row.sel{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.al-fremd{font-size:13.5px;color:var(--warn);margin-top:3px}
.al-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.al-kpis button.stat{cursor:pointer;text-align:left;font:inherit;color:inherit;border:1px solid var(--line)}
.al-filter{margin:6px 0 10px;flex-wrap:wrap;gap:8px}
.al-filter select,.al-filter input[type=search]{width:auto}
.al-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;position:sticky;top:8px;z-index:5}
.al-bulk select{width:auto}
.al-rule{margin:4px 0 12px;border:1px solid var(--accent)}
/* Konto-Badges je Bank (Wunsch der Nutzerin, 14.11.2026): N26 dunkelgrün, Kontist lila, Commerzbank gelb, PayPal drei Blautöne */
/* leicht transparent (Wunsch der Nutzerin) */
.badge.bk-n26{background:rgba(46,94,69,.78);color:#fff;border-color:transparent}
.badge.bk-kontist{background:rgba(107,79,163,.78);color:#fff;border-color:transparent}
.badge.bk-commerzbank{background:rgba(242,194,48,.72);color:#3a2e00;border-color:transparent}
.badge.bk-paypal1{background:rgba(0,48,135,.78);color:#fff;border-color:transparent}
.badge.bk-paypal2{background:rgba(31,122,224,.78);color:#fff;border-color:transparent}
.badge.bk-paypal3{background:rgba(169,210,245,.8);color:#0b2e55;border-color:transparent}
/* Dokumente und Fristen (Stufe 3, 14.11.2026) */
button.chip.dk-tag{border:0;cursor:pointer;font:inherit;font-size:13px;color:var(--text)}
button.chip.dk-tag.on{background:var(--nav-on);color:var(--nav-on-t)}
.badge.bald{color:#8a6a00;background:#fbefc4;border-color:transparent}
/* Private Ausgaben (Stufe 4, 14.11.2026) */
.sp-bars{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.sp-bar{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr auto 44px;gap:10px;align-items:center;background:none;border:0;padding:4px 0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.sp-bar:hover .sp-name{text-decoration:underline}
.sp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-track{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.sp-track span{display:block;height:100%;background:var(--accent);border-radius:99px}
.sp-bar b{font-variant-numeric:tabular-nums;white-space:nowrap}.sp-bar small{text-align:right}
.sp-months{flex-wrap:wrap}
.acc-t tr.on td{font-weight:600}
@media(max-width:600px){.sp-bar{grid-template-columns:1fr auto;}.sp-track{grid-column:1/3;order:3}.sp-bar small{display:none}}
/* Physio (Stufe 5, 14.11.2026) */
.ph-row{cursor:pointer}.ph-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.ph-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ph-day{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:110px;display:flex;flex-direction:column;gap:4px}
.ph-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ph-dh{font-size:12.5px;color:var(--muted);font-weight:600}
.ph-chip{font:inherit;font-size:12px;text-align:left;border:0;border-radius:4px;padding:3px 6px;background:color-mix(in srgb,var(--accent) 22%,var(--card));color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-chip.st-erledigt{background:color-mix(in srgb,var(--ok) 20%,var(--card))}.ph-chip.st-abgesagt{text-decoration:line-through;opacity:.7}
.ph-add{margin-top:auto;font:inherit;border:1px dashed var(--line);background:none;border-radius:4px;color:var(--muted);cursor:pointer;padding:2px}
.ph-add:hover{border-color:var(--accent);color:var(--text)}
.ph-items{display:flex;flex-direction:column;gap:6px}
.ph-item{display:grid;grid-template-columns:minmax(0,1fr) 70px 100px 36px;gap:6px;align-items:center}
.ph-ihead{font-size:12.5px;color:var(--muted)}
@media(max-width:700px){.ph-week{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-item{grid-template-columns:minmax(0,1fr) 54px 80px 36px}}
.al-chk input[type=checkbox]{width:auto;margin:0;flex:none}
.ph-chip.k-training{border-left:3px solid var(--ad)}.ph-kind{margin-bottom:2px}
/* Fenster über der Kopfleiste am Handy (.mbar z-index 40), 14.11.2026 */
.modal{z-index:60}
.toast{z-index:80}
.ph-finding{width:100%;min-height:260px;font:inherit;line-height:1.5}
.btn.ph-sure{background:var(--warn);color:#fff;border-color:var(--warn)}
/* Physio: Zwischenüberschriften wie die Seitenüberschrift in Serif (Wunsch der Nutzerin, 15.11.2026) */
:root[data-bereich="physio"] main h2{font:500 calc(23px*var(--fz)) "Libre Caslon Display",Georgia,serif;letter-spacing:-.01em}
/* Zurück-Link: Pfeil gleitet beim Darüberfahren nach links (15.11.2026) */
.backlink .arr{display:inline-block;transition:transform .2s ease}
.backlink:hover .arr,.backlink:focus-visible .arr{transform:translateX(-5px)}
@media (prefers-reduced-motion:reduce){.backlink .arr{transition:none}}
/* Physio: Termin-Ansicht und Pferde-Verlauf (15.11.2026) */
.ph-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 18px}
.ph-hrow{padding:10px 0;border-top:1px solid var(--line)}.ph-hrow:first-child{border-top:0;padding-top:0}
/* Physio-Übersicht am Handy: unter „Heute“ nur Name, Preis und „Bezahlt“ (15.11.2026) */
@media(max-width:700px){
  .ph-today .bank-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
  .ph-today .bank-date,.ph-today .bank-txt .muted,.ph-today .bank-act .badge{display:none}
  .ph-today .bank-act{grid-column:auto;justify-content:flex-end}
}
