/* Schriften liegen im App-Ordner (kein Abruf bei Google, DSGVO) */
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* Grundeinstellungen */
html{-webkit-text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
  /* Layout: Kopfzeile mit Ansichten (Kalender / Anfragen / Einstellungen) + Formular; Schwarz-Gold, Gold als Akzent */
  :root{
    --bg:#0e0d0b; --surface:#19170f; --surface-2:#211e14;
    --fg:#f3efe3; --muted:#a69c82; --border:#2e2a1d;
    --accent:#d9b74a; --accent-fg:#1a1608; --accent-weak:#2a2412;
    --danger:#eca3a3; --danger-bg:#3f1b1b;
    --radius:12px; --shadow:0 1px 2px rgba(0,0,0,.45),0 6px 20px rgba(0,0,0,.35);
    --font-head:"Bricolage Grotesque",system-ui,sans-serif;
    --font-body:"Hanken Grotesk",system-ui,sans-serif;
    color-scheme:dark;
  }

  *{box-sizing:border-box}
  [hidden]{display:none!important}
  body{background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.5;font-size:15px}
  h1,h2,h3{font-family:var(--font-head);font-weight:600;margin:0;text-wrap:balance}
  button{font-family:inherit;font-size:inherit;cursor:pointer}
  input,select,textarea{font-family:inherit;font-size:inherit}

  .wrap{max-width:1040px;margin:0 auto;padding-block:0 48px;padding-left:16px;padding-right:16px}

  header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--border);padding-top:14px}
  .topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px}
  .brand{display:flex;align-items:baseline;gap:8px;margin-right:auto}
  .brand .logo{font-family:var(--font-head);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--accent)}
  .brand .tag{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
  .tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:999px;flex-wrap:wrap}
  .tab{border:0;background:transparent;color:var(--muted);padding:7px 15px;border-radius:999px;font-weight:500}
  .tab[aria-selected="true"]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}
  .btn{border:1px solid var(--border);background:var(--surface);color:var(--fg);padding:9px 16px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
  .btn.primary{background:var(--accent);color:var(--accent-fg);border-color:transparent}
  .btn.ghost{background:transparent}
  .btn:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

  main{padding-top:20px}

  /* Kalender */
  .calhead{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .calhead h2{font-size:20px;min-width:180px}
  .nav{display:flex;gap:6px}
  .iconbtn{border:1px solid var(--border);background:var(--surface);color:var(--fg);width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px}
  .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
  .dow{text-align:center;font-size:12px;color:var(--muted);font-weight:600;padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
  .cell{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:92px;padding:7px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--fg);transition:border-color .12s,transform .06s}
  .cell:hover{border-color:var(--accent)}
  .cell:active{transform:scale(.99)}
  .cell.empty{background:transparent;border:0;pointer-events:none}
  .cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
  .daynum{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
  .cell.today .daynum{color:var(--accent)}
  .chip{font-size:11px;line-height:1.3;padding:3px 6px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}

  /* Liste */
  .filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
  .filterbar select{background:var(--surface-2);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:7px 10px}
  .list{display:flex;flex-direction:column;gap:10px}
  .item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;text-align:left;color:var(--fg);box-shadow:var(--shadow)}
  .item:hover{border-color:var(--accent)}
  .datebox{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-2);border-radius:10px;padding:8px 0;min-width:70px}
  .datebox .d{font-family:var(--font-head);font-size:20px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
  .datebox .m{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
  .item .ttl{font-weight:600}
  .item .meta{display:block;font-size:13px;color:var(--muted);margin-top:2px}
  .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
  .pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
  .pill.ex{background:var(--accent-weak);color:var(--accent)}
  .empty-state{text-align:center;color:var(--muted);padding:48px 16px;border:1px dashed var(--border);border-radius:var(--radius)}

  /* Formular & Einstellungen */
  .formhead{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
  .formhead h2{font-size:22px;margin-right:auto}
  .group,.setcard,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin:0 0 16px;box-shadow:var(--shadow);min-width:0}
  .group > h3,.setcard h3,.card h3{font-family:var(--font-head);font-weight:600;font-size:15px;line-height:1.3;color:var(--accent);margin:0 0 16px;letter-spacing:.01em}
  .setcard h3{margin-bottom:6px}
  .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 14px;align-items:end}
  .fields3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px}
  .gsub{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:2px 0 8px}
  .divider{height:1px;background:var(--border);margin:16px 0}
  .field{display:flex;flex-direction:column;gap:5px;min-width:0}
  .field.wide{grid-column:1/-1}
  .field label,.slabel{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}
  .slabel{display:block;margin-bottom:4px}
  .field input,.field select,.field textarea,.ctl{background:var(--surface-2);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:9px 11px;width:100%}
  .field textarea{resize:vertical;min-height:84px}
  .field .hint{font-size:11.5px;color:var(--muted)}
  .routebtn{align-self:flex-start;margin-top:2px;font-size:13px;padding:7px 12px}
  .routebtn[aria-disabled="true"]{opacity:.45;pointer-events:none}
  .formactions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
  .err{background:var(--danger-bg);color:var(--danger);padding:8px 12px;border-radius:9px;font-size:13px;font-weight:600;margin-bottom:12px}
  .note{background:var(--accent-weak);color:var(--accent);border-radius:9px;padding:9px 12px;font-size:12.5px;margin-bottom:14px}
  .ok{color:var(--accent);font-size:13px;font-weight:600}

  .setcard p.desc{color:var(--muted);font-size:13px;margin:0 0 14px;max-width:70ch}
  .setrow{display:grid;gap:10px;align-items:start;margin-bottom:10px}
  .setrow.color{grid-template-columns:52px 1fr auto}
  .setrow.simple{grid-template-columns:1fr auto}
  .setrow.cfield{grid-template-columns:1fr 150px 170px auto}
  .setrow.pkg{grid-template-columns:1fr 130px auto}
  .setrow.prod{grid-template-columns:1fr 120px 140px auto}
  .setrow.tpl{grid-template-columns:1fr auto}
  .setrow.tasktpl{grid-template-columns:1fr 170px 120px auto}
  .setrow input,.setrow select{background:var(--surface-2);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:9px 11px;width:100%;height:40px}
  .setrow textarea{background:var(--surface-2);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:9px 11px;width:100%;min-height:110px;resize:vertical}
  .setrow input.swatch{padding:3px;cursor:pointer}
  .del{border:1px solid var(--border);background:transparent;color:var(--danger);border-radius:9px;padding:0 13px;height:40px;white-space:nowrap}
  .sub{grid-column:1/-1}
  .rowsep{border-bottom:1px dashed var(--border);padding-bottom:12px;margin-bottom:12px}

  .itemadd{display:flex;gap:10px;flex-wrap:wrap}
  .itemadd select{flex:1 1 220px;min-width:0}
  .setrow.itemrow{grid-template-columns:70px 110px minmax(0,1fr) auto;align-items:end;padding-bottom:12px;border-bottom:1px dashed var(--border);margin-bottom:12px}
  .setrow.itemrow .iname{grid-column:1/-1}
  .setrow.itemrow input,.setrow.itemrow select,.setrow.itemrow .del,.setrow.taskrow input,.setrow.taskrow .del{height:38px}
  .linetot{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}
  .kind{display:block;margin-bottom:3px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
  .setrow.taskrow{grid-template-columns:20px minmax(0,1fr) auto;gap:6px 8px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:10px}
  .setrow.taskrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
  .setrow.taskrow.done input[data-k="label"]{text-decoration:line-through;color:var(--muted)}
  .taskadd{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
  .taskadd .ctl{width:auto}
  .taskadd #newtask-label{flex:1 1 220px;min-width:0}
  .totals{margin:12px 0 0 auto;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px;max-width:340px}
  .totals>div{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}
  .totals>div span:last-child{font-variant-numeric:tabular-nums;color:var(--fg)}
  .totals .grand{font-weight:600;font-size:16px;border-top:1px solid var(--border);padding-top:6px;margin-top:2px}
  .totals .grand span{color:var(--accent)!important}
  .setrow.itemrow.vat{grid-template-columns:70px 110px 100px minmax(0,1fr) auto}
  .setrow.pkg.vat{grid-template-columns:1fr 130px 120px auto}
  .setrow.prod.vat{grid-template-columns:1fr 120px 120px 140px auto}
  .phint{font-size:11.5px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
  .check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;max-width:70ch}
  .check input{width:18px;height:18px;accent-color:var(--accent);margin-top:3px;flex:none}
  .check b{font-weight:600}
  .taxnote{font-size:12.5px;color:var(--muted)}
  .bigtext{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}

  /* Event-Ansicht wie bookitup: Seitenleiste | Spalte A | Spalte B | mitlaufende Kartenspalte */
  .wrap.wide{max-width:none}
  .ev{display:grid;grid-template-columns:210px minmax(0,1fr) minmax(0,1.4fr) 310px;grid-template-areas:"side a b aside";gap:16px;align-items:start}
  .ev-side{grid-area:side;position:sticky;top:calc(var(--hdr,70px) + 16px);display:flex;flex-direction:column;gap:14px}
  .ev-a{grid-area:a;min-width:0}
  .ev-b{grid-area:b;min-width:0}
  .ev-aside{grid-area:aside;position:sticky;top:calc(var(--hdr,70px) + 16px);max-height:calc(100vh - var(--hdr,70px) - 32px);overflow-y:auto;min-width:0;scrollbar-width:thin}
  .ev-aside .card:last-child{margin-bottom:0}
  .group,.card{scroll-margin-top:calc(var(--hdr,70px) + 16px)}
  .back{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}
  .back:hover{color:var(--accent)}
  .ev-when{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
  .ev-kind{font-size:12px;color:var(--muted)}
  .ev-date{font-family:var(--font-head);font-size:22px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}
  .ev-when .pill{margin-top:6px}
  .side-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--muted)}
  .side-total b{color:var(--accent);font-size:16px;font-variant-numeric:tabular-nums}
  .ev-nav{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 0}
  .ev-nav button{background:none;border:0;color:var(--fg);text-align:left;padding:7px 10px;border-radius:8px;font-weight:500}
  .ev-nav button:hover{background:var(--surface-2);color:var(--accent)}
  .ev-actions{display:flex;flex-direction:column;gap:8px}
  .ev-actions .btn{justify-content:center}
  .linkbtn{background:none;border:0;color:var(--accent);font-weight:600;padding:6px;font-size:13.5px}
  .linkbtn.danger{color:var(--danger)}
  .side-note{font-size:11.5px;color:var(--muted);margin:0}
  .fields2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
  .warn{background:var(--danger-bg);color:var(--danger);border-radius:9px;padding:10px 12px;font-size:13px;margin-bottom:14px}
  .warn b{display:block;margin-bottom:2px}
  .card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
  .card-h h3{margin:0}
  .mini{background:var(--accent-weak);color:var(--accent);border:1px solid transparent;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600}
  .mini:hover{border-color:var(--accent)}
  .cname{font-weight:600;font-size:15px}
  .csub{margin-top:1px}
  .cline{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.45;overflow-wrap:anywhere}
  .clabel{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px}
  .cdrive{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--accent);background:var(--accent-weak);border-radius:999px;padding:3px 10px}
  .clink{display:inline-block;margin-top:10px;color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}
  .cempty{color:var(--muted);font-size:13px;margin:0}
  .sel{user-select:all}
  .ccount{font-size:12px;color:var(--muted);font-weight:600}
  .setrow.taskrow input[data-k="label"]{border-color:transparent;background:transparent;padding-left:4px}
  .setrow.taskrow input[data-k="label"]:hover,.setrow.taskrow input[data-k="label"]:focus{border-color:var(--border);background:var(--surface-2)}
  .setrow.taskrow input[data-k="due"]{grid-column:2/4;height:32px!important;font-size:13px;padding:4px 9px}
  .setrow.taskrow .del{height:32px!important;padding:0 10px}
  .ev-aside .taskadd{flex-direction:column;margin-top:4px}
  .ev-aside .taskadd #newtask-label{flex:none;width:100%}
  .taskadd-row{display:flex;gap:8px;width:100%}
  .taskadd-row .ctl{flex:1;min-width:0}
  #f-notes{min-height:150px}
  .modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:16px}
  .modal-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.6);width:min(720px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:22px 24px}
  .modal-box > h3{font-family:var(--font-head);font-weight:600;font-size:18px;color:var(--accent);margin:0 0 16px}
  .modal-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  @media (max-width:1279px){
    .ev{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"side side" "a aside" "b aside"}
    .ev-side{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px}
    .ev-nav,.side-note{display:none}
    .ev-actions{flex-direction:row;flex-wrap:wrap;align-items:center;margin-left:auto}
  }
  @media (max-width:900px){
    .ev{grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "aside" "a" "b"}
    .ev-aside{position:static;max-height:none;overflow:visible}
    .fields2{grid-template-columns:1fr}
    .ev-actions{margin-left:0}
  }
  @media (max-width:680px){.fields3{grid-template-columns:1fr}.setrow:not(.taskrow):not(.prodrow):not(.pcatrow){grid-template-columns:1fr!important}.linetot{text-align:left}}
  @media (max-width:560px){
    .item{grid-template-columns:56px 1fr;}
    .item .pill{grid-column:2;justify-self:start}
    .cell{min-height:70px;padding:5px}
    .brand .tag{display:none}
  }

  /* Ladebildschirm & Anmeldung */
  .boot,.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}
  .boot-box,.auth-box{width:min(400px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:28px 26px}
  .boot-box{text-align:center}
  .boot-box p{color:var(--muted);margin:10px 0 0}
  .boot-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
  .auth-brand{font-family:var(--font-head);font-weight:600;font-size:20px;color:var(--accent);margin-bottom:18px}
  .auth-box h1{font-size:22px;margin:0 0 14px}
  .auth-box form{display:flex;flex-direction:column;gap:14px}
  .auth-box .linkbtn{align-self:flex-start;padding-left:0}
  .auth-submit{justify-content:center;margin-top:4px}
  .auth-submit:disabled{opacity:.6;cursor:progress}
  .auth-hint{color:var(--muted);font-size:13.5px;margin:-4px 0 0}
  .auth-msg{margin:0;background:var(--danger-bg);color:var(--danger);border-radius:9px;padding:9px 12px;font-size:13.5px}
  .auth-msg.ok{background:var(--accent-weak);color:var(--accent)}

  /* Logo (goldenes Bolle-Events-Logo mit transparentem Hintergrund) */
  .brand{align-items:center}
  .logo-img{display:block;height:38px;width:auto;max-width:min(240px,55vw)}
  .auth-logo{display:block;height:auto;width:min(260px,100%);margin:0 0 22px}
  .boot-box .auth-logo{margin:0 auto 16px}

  /* Kopfzeile: Speicherstatus & Abmelden */
  .userbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .savestate{font-size:12.5px;color:var(--muted);white-space:nowrap}
  .savestate::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5cbf86;margin-right:6px;vertical-align:middle}
  .savestate.busy::before{background:var(--accent)}
  .savestate.bad{color:var(--danger)}
  .savestate.bad::before{background:var(--danger)}
  .whoami{font-size:12.5px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  @media (max-width:760px){.whoami{display:none}}

  /* ===== Version 1.2: volle Breite, Kopfzeile in zwei Reihen, Startseite mit Überblick ===== */
  .wrap{max-width:none;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  @media (min-width:900px){.wrap{padding-left:32px;padding-right:32px}}
  #view-einstellungen{max-width:1040px;margin-inline:auto}

  /* Kopfzeile: Reihe 1 Logo + Konto, Reihe 2 Navigation + Neue Anfrage */
  header.top{padding-top:0}
  .topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0 10px}
  .logo-img{height:42px}
  .logout{height:40px;padding:0 16px}
  .logout .ico{display:none}
  .navbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:2px 0 16px}
  .navbar .tab{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 20px}
  .tab-ico{display:none}
  .newbtn{margin-left:auto;height:44px;padding:0 22px;font-size:15px}

  /* Startseite: Kalender links, Überblick rechts */
  .dash{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
  .cal-card{flex:999 1 560px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 22px 22px}
  .dash-side{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
  .dash-side .card{margin:0}
  .calhead{flex-wrap:wrap;margin-bottom:16px}
  .calhead h1{font-size:24px;margin:0 6px;min-width:0}
  .iconbtn{width:40px;height:40px;background:var(--surface-2)}
  .legend{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
  .lg{display:inline-flex;align-items:center;gap:6px}
  .lg-dot{width:9px;height:9px;border-radius:3px}
  #cal-dow{margin-bottom:8px}
  .grid{gap:8px}
  .cell{min-height:112px;padding:9px;border-radius:11px;background:#1d1b13;gap:5px;min-width:0}
  .cell.today{background:#211d10}
  .daynum{display:flex;align-items:center;gap:6px;font-size:13.5px}
  .today-tag{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
  .chips{display:flex;flex-direction:column;gap:4px;min-width:0}
  .chip{display:block;font-size:11.5px;padding:4px 7px}
  .chip.more{color:var(--muted);background:none;padding-left:2px}

  .badge{font-size:12.5px;font-weight:600;color:var(--accent-fg);background:var(--accent);border-radius:999px;padding:3px 11px;white-space:nowrap}
  .next-gig{background:#1b180d;border-color:#5a4b1d}
  .ng-row{display:flex;gap:14px;align-items:flex-start}
  .ng-info{min-width:0;display:flex;flex-direction:column;gap:3px}
  .ng-name{font-weight:600;font-size:17px}
  .ng-meta{font-size:13.5px;color:var(--muted)}
  .ng-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
  .ng-chips .cdrive{margin-top:0}
  .ctask{font-size:12px;font-weight:600;color:#f0ce84;background:#3e3214;border-radius:999px;padding:3px 10px}
  .ng-actions{display:flex;gap:10px;margin-top:16px}
  .ng-actions .btn{flex:1;justify-content:center;height:42px;text-decoration:none}
  .ng-actions .btn.ghost{border-color:#5a4b1d;color:var(--accent)}
  .dbox{flex:none;width:46px;display:flex;flex-direction:column;align-items:center;line-height:1.15}
  .dbox-wd,.dbox-m{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .dbox-wd{font-weight:600}
  .dbox-d{font-family:var(--font-head);font-weight:600;font-size:19px}
  .dbox.big{width:64px;padding:8px 0;border-radius:12px;background:var(--accent-weak)}
  .dbox.big .dbox-wd{color:var(--accent)}
  .dbox.big .dbox-d{font-size:26px}
  .glist{display:flex;flex-direction:column}
  .gitem,.ritem{display:flex;gap:12px;align-items:center;width:100%;min-width:0;padding:11px 0;border:0;border-top:1px solid var(--border);background:none;color:var(--fg);text-align:left}
  .gitem{cursor:pointer}
  .gitem:hover .gi-name{color:var(--accent)}
  .gi-main{flex:1;min-width:0;display:flex;flex-direction:column}
  .gi-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gi-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gi-meta .dot{flex:none;margin:0}
  .gitem .pill,.ritem .mini{flex:none}

  /* Handy: Navigation unten, runder Plus-Knopf, Kalender mit Punkten */
  @media (max-width:760px){
    .topbar{padding:12px 0 10px;gap:10px;flex-wrap:nowrap}
    .logo-img{height:32px}
    .userbox{flex-wrap:nowrap;gap:8px}
    .logout{width:44px;height:44px;padding:0;justify-content:center;border-radius:12px}
    .logout .ico{display:block}
    .logout-label{display:none}
    .navbar{position:fixed;left:0;right:0;bottom:0;z-index:30;gap:0;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#14130e;border-top:1px solid var(--border)}
    .navbar .tabs{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:none;padding:0;border-radius:0}
    .navbar .tab{flex-direction:column;justify-content:center;gap:3px;height:54px;padding:0;border-radius:10px;font-size:11.5px;background:none;box-shadow:none}
    .navbar .tab[aria-selected="true"]{color:var(--accent);background:none;box-shadow:none}
    .tab-ico{display:block}
    .newbtn{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:31;width:58px;height:58px;padding:0;margin:0;border-radius:50%;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.55)}
    .newbtn .ico{width:26px;height:26px}
    .newbtn-label{display:none}
    .wrap.wide .newbtn{display:none}
    .wrap{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
    main{padding-top:14px}

    /* Reihenfolge: Nächster Gig, Kalender, Kommende Gigs, Offene Anfragen */
    .dash{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:14px}
    .dash-side{display:contents}
    .next-gig{order:-1}
    .cal-card{padding:12px}
    .calhead{gap:8px;margin-bottom:8px}
    .calhead h1{order:-1;font-size:19px;margin:0 auto 0 4px}
    .legend{display:none}
    .iconbtn{width:44px;height:44px}
    #cal-today{height:44px;padding:0 12px}
    #cal-dow{margin-bottom:4px}
    .grid{gap:4px}
    .dow{font-size:11px}
    .cell{min-height:46px;height:46px;padding:0;align-items:center;justify-content:center;gap:4px;border:0;border-radius:10px}
    .cell.today{border:1px solid var(--accent);box-shadow:none}
    .today-tag{display:none}
    .chips{flex-direction:row;gap:3px;height:6px}
    .chip{width:6px;height:6px;padding:0;border-radius:50%;font-size:0;background:var(--c)!important}
    .chip.more{display:none}
    .card{padding:14px 16px}
  }

  /* Hinweisband in der Vorschau (/vorschau/) */
  .preview-banner{background:#3e3214;color:#f0ce84;font-size:13px;text-align:center;padding:7px 12px;border-radius:0 0 10px 10px}
  .preview-banner b{font-weight:600;text-transform:uppercase;letter-spacing:.06em}
  .preview-banner a{color:#f0ce84;font-weight:600;margin-left:6px}
  .auth-box .preview-banner,.boot-box .preview-banner{border-radius:9px;margin-bottom:16px}

  /* ===== Version 1.4: Anfrage mit Seiten (Details/Angebot), Klapp-Kacheln, Hervorhebung ===== */
  .ev{grid-template-columns:220px minmax(0,1fr) 320px;grid-template-areas:"side main aside"}
  .ev-main{grid-area:main;min-width:0}

  /* Seitenwahl Details / Angebot */
  .page-nav{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
  .page-nav button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--muted);font-weight:500;text-align:left}
  .page-nav button:hover{color:var(--fg)}
  .page-nav button.active{background:var(--accent-weak);color:var(--fg);font-weight:600}
  .page-nav button.active svg{color:var(--accent)}
  .pg-label{flex:1}
  .pg-total{font-size:12px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}

  /* Sprungmarken mit Gold-Markierung */
  .ev-nav{border:0;padding:0;gap:2px}
  .nav-cap{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 6px}
  .ev-nav button{display:flex;align-items:center;gap:10px;min-height:40px;color:#c9c1ab;transition:background-color .2s,color .2s}
  .nav-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#3a3527;transition:background-color .2s,box-shadow .2s}
  .ev-nav button.active{background:var(--accent-weak);color:var(--accent);font-weight:600}
  .ev-nav button.active .nav-dot{background:var(--accent);box-shadow:0 0 0 4px rgba(217,183,74,.2)}

  /* Details: Allgemein und Zeitplan gleich hoch, alles andere über die volle Breite */
  .det-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
  .det-grid > .group{margin:0}
  .span2{grid-column:1/-1}
  .tiles{display:flex;flex-direction:column;gap:16px}
  .tiles:empty{display:none}
  .tiles > .group{margin:0}
  #page-details .group{transition:border-color .25s,box-shadow .25s,background-color .25s}
  #page-details .group.is-selected{border-color:var(--accent);background:#1d1a0f;box-shadow:0 0 0 4px rgba(217,183,74,.12),0 18px 40px rgba(0,0,0,.35)}

  /* Ein- und ausklappbare Kacheln */
  .tile-head{display:flex;align-items:center;gap:12px;width:100%;min-height:32px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
  .tile-head h3{flex:1;margin:0;font-family:var(--font-head);font-weight:600;font-size:15px;line-height:1.3;color:var(--accent)}
  .tile-meta{font-size:12.5px;color:var(--muted)}
  .chev{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px}
  .chev::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .tile-head:hover .chev{border-color:var(--accent)}
  .tile.collapsed .chev::before{transform:translateX(-2px) rotate(-45deg)}
  .tile-body{margin-top:16px}
  .tile.collapsed .tile-body{display:none}

  /* Einstellungen: Katalog-Zeilen und Felder mit Kachel */
  .setrow.catrow{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .setrow.catrow .c-name{grid-column:span 2}
  .setrow.cfield{grid-template-columns:1fr 140px 160px 160px auto}

  /* Angebot */
  .offer{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 30px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px}
  .of-top{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--border)}
  .of-to-wrap{flex:1 1 260px;min-width:0}
  .of-sender{font-size:11.5px;color:var(--muted);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;margin-bottom:12px}
  .of-to{font-size:15.5px;line-height:1.55;margin-bottom:12px;min-height:3em}
  .of-meta{flex:0 1 360px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
  .of-title{grid-column:1/-1;margin:0 0 2px;font-family:var(--font-head);font-weight:600;font-size:32px;line-height:1.1;letter-spacing:-.01em;color:var(--accent)}
  .of-ev{grid-column:1/-1;font-size:13px;color:var(--muted)}
  .of-ev b{color:var(--fg);font-weight:600}
  .of-table{border:1px solid var(--border);border-radius:14px;overflow:hidden}
  .ol-headrow,.ol-row{display:grid;grid-template-columns:44px minmax(0,1fr) 76px 104px 116px 132px 116px 40px;gap:8px;align-items:start;padding:10px 12px}
  .of-table.vat .ol-headrow,.of-table.vat .ol-row{grid-template-columns:44px minmax(0,1fr) 76px 104px 116px 84px 132px 116px 40px}
  .ol-headrow{background:var(--surface-2);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .ol-headrow .th-tax{display:none}
  .of-table.vat .ol-headrow .th-tax{display:block}
  .ol-headrow .th-sum{text-align:right}
  .ol-row{border-top:1px solid var(--border)}
  .ol-row input,.ol-row select{width:100%;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:14px}
  .ol-row input[data-f="qty"],.ol-row input[data-f="price"],.ol-row input[data-f="disc"]{text-align:right;font-variant-numeric:tabular-nums}
  .ol-pos{padding-top:10px;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
  .ol-main{display:flex;flex-direction:column;gap:6px;min-width:0}
  .ol-main input[data-f="name"]{font-weight:600}
  .ol-sub{display:flex;gap:6px;min-width:0}
  .ol-sub input{flex:1;min-width:0;height:32px;font-size:13px;background:transparent}
  .ol-sub select{flex:0 0 160px;height:32px;font-size:12.5px}
  .ol-lab{display:none}
  .ol-cell{display:block;min-width:0}
  .ol-disc{display:flex;gap:4px}
  .ol-disc input{min-width:0}
  .ol-disc select{flex:0 0 52px;padding:0 6px}
  .ol-sum{padding-top:9px;text-align:right}
  .ol-total{font-weight:600;font-variant-numeric:tabular-nums}
  .ol-hidden{display:block;font-size:11px;color:var(--muted)}
  .ol-flags{display:flex;flex-wrap:wrap;gap:6px 14px}
  .ol-flag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer}
  .ol-flag input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
  .ol-row.is-opt{box-shadow:inset 3px 0 0 var(--accent)}
  .ol-row.is-opt .ol-flag:first-child{color:var(--accent);font-weight:600}
  .ol-row.is-off .ol-total{opacity:.5;text-decoration:line-through}
  .ol-row.is-hidden .ol-total,.ol-row.is-hidden input[data-f="price"]{opacity:.5}
  .ol-del{width:36px;height:38px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--danger)}
  .ol-del:hover{border-color:var(--danger)}
  .ol-cat{border-top:1px solid var(--border);background:rgba(217,183,74,.035)}
  .oc-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto 116px 40px;gap:8px;align-items:center;padding:12px}
  .oc-head .ol-pos{padding-top:0;color:var(--accent)}
  .oc-name{height:40px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--accent);font-family:var(--font-head);font-weight:600;font-size:16px;min-width:0}
  .oc-name:hover,.oc-name:focus{border-color:var(--border);background:var(--surface-2)}
  .oc-hide{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap;cursor:pointer}
  .oc-hide input{width:18px;height:18px;accent-color:var(--accent)}
  .oc-total{text-align:right;font-weight:600;font-size:15px;color:var(--accent);font-variant-numeric:tabular-nums}
  .ol-cat .ol-row{border-top:1px dashed var(--border)}
  .oc-add{margin:2px 12px 14px 64px;height:36px;padding:0 14px;border:1px dashed #3a3527;border-radius:999px;background:transparent;color:var(--accent);font-weight:600;font-size:13px}
  .oc-add:hover{border-color:var(--accent)}
  .ol-empty{padding:22px 16px;margin:0}
  .of-add{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .combo{position:relative;flex:1 1 360px;min-width:0}
  .combo svg{position:absolute;left:15px;top:14px;color:var(--muted);pointer-events:none}
  .combo input{width:100%;height:46px;padding:0 16px 0 44px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--fg)}
  .combo input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(217,183,74,.18)}
  .cb-drop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:360px;overflow-y:auto;padding:6px;background:#1b1912;border:1px solid #3a3527;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
  .cb-group{padding:10px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .cb-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 10px;border:0;border-radius:9px;background:none;color:var(--fg);text-align:left;font-size:14px}
  .cb-item:hover,.cb-item:focus{background:var(--accent-weak);outline:none}
  .cb-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cb-meta{font-size:12px;color:var(--muted);white-space:nowrap}
  .cb-price{font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
  .cb-empty{padding:12px 10px;font-size:13.5px;color:var(--muted)}
  .of-target{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:13px}
  .of-target button{width:28px;height:28px;border:0;background:none;color:var(--accent)}
  .of-bottom{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}
  .of-tip{flex:1 1 260px;margin:0;font-size:13px;color:var(--muted);max-width:52ch}
  .of-sum{flex:0 1 400px;margin-left:auto;border-radius:14px;background:var(--surface-2);overflow:hidden}
  .of-sum .totals{max-width:none;margin:0;padding:14px 18px;border-top:0}
  .of-gdisc{display:flex;flex-direction:column;gap:10px;padding:14px 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
  .gd-row{display:grid;grid-template-columns:minmax(0,1fr) 128px minmax(84px,auto);align-items:center;gap:10px}
  .gd-row label{font-size:14px;color:var(--fg)}
  .gd-amt{text-align:right;font-variant-numeric:tabular-nums;color:var(--fg);font-size:14px}
  .of-gdisc input,.of-gdisc select{height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);font:inherit;width:100%}
  .of-gdisc .field{margin:0}
  .totals .muted span{color:var(--muted)!important}
  .muted{color:var(--muted)}
  .of-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}


  @media (max-width:1279px){
    .ev{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"side side" "main aside"}
    .page-nav{flex-direction:row;padding:4px;border-radius:999px}
    .page-nav button{min-height:40px;border-radius:999px;padding:0 14px}
    .ev-side .ev-nav{display:flex;flex-direction:row;flex-basis:100%;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}
    .ev-side .ev-nav::-webkit-scrollbar{display:none}
    .ev-nav .nav-cap{display:none}
    .ev-nav button{flex:none;min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}
    .ev-nav button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}
    .ev-nav button.active .nav-dot{background:var(--accent-fg);box-shadow:none}
  }
  /* Die Positionstabelle richtet sich nach ihrer eigenen Breite (mit oder ohne rechte Spalte, Tablet, Handy) */
  .of-table{container-type:inline-size}
  @container (max-width:860px){
    .ol-headrow{display:none}
    .ol-row{grid-template-columns:32px minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(118px,1.5fr) minmax(0,1.1fr) 40px;gap:8px 10px;padding:12px}
    .of-table.vat .ol-row{grid-template-columns:32px minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) minmax(118px,1.5fr) minmax(0,1.1fr) 40px}
    .ol-pos{grid-column:1;grid-row:1}
    .ol-main{grid-column:2/-2;grid-row:1}
    .ol-row > .ol-del{grid-column:-2/-1;grid-row:1}
    .ol-row > .ol-cell{grid-row:2}
    .ol-row > .ol-cell:nth-child(3){grid-column:2}.ol-row > .ol-cell:nth-child(4){grid-column:3}.ol-row > .ol-cell:nth-child(5){grid-column:4}
    .ol-row > .ol-cell:nth-child(6){grid-column:5}.ol-row > .ol-cell:nth-child(7){grid-column:6}.ol-row > .ol-cell:nth-child(8){grid-column:7}
    .ol-lab{display:block;margin-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
    .ol-sum{padding-top:0}
    .ol-sum .ol-total{display:block;padding-top:9px}
    .oc-head{grid-template-columns:32px minmax(0,1fr) auto auto 40px}
    .oc-add{margin:2px 12px 14px 52px}
  }
  @container (max-width:540px){
    .ol-row,.of-table.vat .ol-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}
    .ol-pos{grid-column:1/-2;grid-row:1;align-self:center}
    .ol-main{grid-column:1/-1;grid-row:auto}
    .ol-row > .ol-cell{grid-row:auto}
    .ol-row > .ol-cell:nth-child(n){grid-column:auto}
    .ol-row > div.ol-cell:not(.ol-sum){grid-column:span 2}
    .ol-row > .ol-del{grid-column:-2/-1;grid-row:1;justify-self:end;width:44px;height:44px}
    .ol-row .ol-sub textarea{flex:none;width:100%}
    .ol-sum{text-align:left}
    .ol-sub{flex-direction:column}
    .ol-sub select{flex-basis:auto}
    .oc-head{display:flex;flex-wrap:wrap}
    .oc-name{flex:1 1 60%}
    .oc-head .ol-del{order:2}
    .oc-hide{order:3;flex:1 1 auto}
    .oc-total{order:4}
    .oc-add{margin:2px 14px 14px}
  }

  @container (max-width:640px){
    .of-table.vat .ol-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}
    .of-table.vat .ol-pos{grid-column:1/-2;grid-row:1;align-self:center}
    .of-table.vat .ol-main{grid-column:1/-1;grid-row:auto}
    .of-table.vat .ol-row > .ol-cell{grid-row:auto;grid-column:auto}
    .of-table.vat .ol-row > div.ol-cell:not(.ol-sum){grid-column:span 2}
    .of-table.vat .ol-row > .ol-del{grid-column:-2/-1;grid-row:1;justify-self:end;width:44px;height:44px}
    .of-table.vat .ol-sub{flex-direction:column}
    .of-table.vat .ol-sub select{flex-basis:auto}
    .of-table.vat .ol-sub textarea{flex:none;width:100%}
    .of-table.vat .ol-sum{text-align:left}
  }

  /* ===== Version 1.5 ===== */
  .ol-sub{align-items:flex-start}
  .ol-sub textarea{flex:1;min-width:0;height:32px;min-height:32px;padding:6px 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--fg);font:inherit;font-size:13px;line-height:1.45;resize:none;overflow:hidden}
  .ol-sub textarea:focus{background:var(--surface-2)}
  .setrow.catrow textarea{min-height:64px}
  .lbl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .pick-mini{height:32px;max-width:100%;padding:0 10px;border:1px solid transparent;border-radius:999px;background:var(--accent-weak);color:var(--accent);font:600 12.5px var(--font-body);cursor:pointer}
  .pick-mini:hover{border-color:var(--accent)}
  .field .pick-mini{width:auto;flex:0 1 auto;height:32px;margin-bottom:6px;padding:0 10px 0 12px;line-height:normal;background:var(--accent-weak);color:var(--accent);border-color:transparent}
  .lbl-row label{margin-bottom:6px}
  .num-info{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:var(--accent-weak);font-size:13px;line-height:1.7}
  .num-info code{padding:1px 6px;border-radius:6px;background:rgba(0,0,0,.3);color:var(--accent);font:600 12.5px var(--font-body)}
  .num-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
  .num-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
  .num-card h4{margin:0;font-family:var(--font-head);font-weight:600;font-size:15px}
  .num-card .field input,.num-card .field select{background:var(--surface)}
  .num-card input[data-nk="pattern"]{font-family:ui-monospace,Consolas,monospace;letter-spacing:.02em}
  .num-tokens{display:flex;flex-wrap:wrap;gap:6px}
  .num-tokens button{height:30px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--accent);font:600 12px var(--font-body)}
  .num-tokens button:hover{border-color:var(--accent)}
  .num-next{text-align:right;font-size:13px;color:var(--muted)}
  .num-next b{display:block;font-size:16px;color:var(--fg);font-variant-numeric:tabular-nums}

  /* ===== Version 1.6: Einstellungen mit Seitenmenü ===== */
  .set-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
  .set-nav{position:sticky;top:calc(var(--hdr,70px) + 16px);display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - var(--hdr,70px) - 32px);overflow-y:auto;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);scrollbar-width:thin}
  .set-nav .nav-cap{margin-top:10px;padding:12px 12px 6px;border-top:1px solid rgba(217,183,74,.28);color:var(--accent)}
  .set-nav .nav-cap:first-child{margin-top:0;padding-top:4px;border-top:0}
  .set-nav button{display:flex;align-items:center;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:none;color:#c9c1ab;font-weight:500;text-align:left;transition:background-color .2s,color .2s}
  .set-nav button:hover{background:var(--surface-2);color:var(--fg)}
  .set-nav button.active{background:var(--accent-weak);color:var(--accent);font-weight:600}
  .set-parent{display:flex;align-items:center;gap:4px}
  .set-parent > button[data-sec]{flex:1;min-width:0}
  .set-nav .set-toggle{flex:none;justify-content:center;width:34px;min-height:34px;padding:0}
  .set-toggle[hidden]{display:none}
  .set-toggle::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .set-toggle[aria-expanded="false"]::before{transform:translateX(-2px) rotate(-45deg)}
  .set-sub{display:flex;flex-direction:column;gap:1px;margin:0 0 4px 14px;padding-left:8px;border-left:1px solid var(--border)}
  .set-sub:empty,.set-sub.collapsed{display:none}
  .set-nav .set-sub button{min-height:32px;justify-content:space-between;gap:8px;font-size:13.5px}
  .sn-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sn-count{flex:none;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11.5px;font-weight:600;text-align:center}
  .set-nav button.active .sn-count{background:var(--accent);color:var(--accent-fg)}
  .set-pickwrap{display:none}
  .setrow.pcatrow{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
  .setrow.catrow.prodrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}
  .setrow.catrow.prodrow.vat{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr) auto}
  .setrow.catrow.prodrow .c-name{grid-column:auto}
  @media (max-width:700px){
    .setrow.catrow.prodrow,.setrow.catrow.prodrow.vat{grid-template-columns:repeat(2,minmax(0,1fr))}
    .setrow.catrow.prodrow .c-name{grid-column:1/-1}
  }
  .pc-count{font-size:12.5px;color:var(--muted);white-space:nowrap}
  .pcat-chips{display:flex;flex-wrap:wrap;gap:6px}
  .pchip{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font:500 13px var(--font-body);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
  .pchip:hover{border-color:var(--accent);color:var(--fg)}
  .pchip.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}
  .pchip.on::before{content:"✓ "}
  .set-main{min-width:0}
  .set-main .setcard{margin:0}
  @media (max-width:899px){
    .set-layout{grid-template-columns:minmax(0,1fr);gap:14px}
    .set-nav{display:none}
    .set-pickwrap{display:block}
    .set-pickwrap select{height:48px;font-weight:600;font-size:16px;background:var(--surface);border-color:var(--accent)}
  }
  /* ===== Version 1.9: Produkte und Pakete als aufklappbare Liste ===== */
  .cat-search{display:flex;align-items:center;gap:8px;max-width:420px;height:42px;margin:0 0 12px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted)}
  .cat-search:focus-within{border-color:var(--accent)}
  .cat-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--fg);font:inherit;outline:0}
  .cat-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
  .cat-item{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .2s,box-shadow .2s}
  .cat-item:hover{border-color:rgba(217,183,74,.45)}
  .cat-item.open{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,183,74,.12)}
  .ci-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto 20px;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 14px;border:0;border-radius:12px;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .ci-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
  .ci-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
  .ci-tags:empty{display:none}
  .ci-tag{padding:2px 9px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11.5px;font-weight:600;white-space:nowrap}
  .ci-price{min-width:150px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
  .ci-price small{margin-left:3px;font-size:12px;font-weight:500;color:var(--muted)}
  .ci-chev::before{content:"";display:block;width:8px;height:8px;margin:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .cat-item.open .ci-chev::before{border-color:var(--accent);transform:translateY(2px) rotate(-135deg)}
  .ci-body{padding:4px 16px 16px;border-top:1px solid var(--border)}
  .ci-sec{padding:14px 0 0}
  .ci-sec + .ci-sec{margin-top:14px;border-top:1px dashed var(--border)}
  .ci-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
  .ci-cap span{flex:1;font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
  .ci-del{height:30px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:none;color:var(--danger);font:500 12.5px var(--font-body);letter-spacing:0;text-transform:none}
  .ci-del:hover{border-color:var(--danger)}
  .ci-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
  .ci-grid.vat{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr)}
  .cat-item input,.cat-item select,.cat-item textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);font:inherit}
  .cat-item input,.cat-item select{height:40px}
  .cat-item textarea{min-height:84px;resize:vertical}
  .cat-item .ci-sec > .phint{margin-top:8px}
  @media (max-width:700px){
    .ci-head{grid-template-columns:minmax(0,1fr) auto 18px;gap:6px 10px;padding:12px}
    .ci-name{grid-column:1/3;grid-row:1;white-space:normal}
    .ci-chev{grid-column:3;grid-row:1}
    .ci-tags{grid-column:1;grid-row:2;justify-content:flex-start}
    .ci-price{grid-column:2/4;grid-row:2;min-width:0}
    .ci-grid,.ci-grid.vat{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ci-wide{grid-column:1/-1}
    .ci-body{padding:2px 12px 14px}
  }
  @media (prefers-reduced-motion:reduce){.set-nav button,.pchip,.set-toggle::before,.cat-item,.ci-chev::before{transition:none}}
  /* ===== Version 2.3: Anfrage-Ablauf ===== */
  .flow-card{border-color:rgba(217,183,74,.45)}
  .fn{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding:12px 14px;border-left:4px solid var(--accent);border-radius:10px;background:var(--surface-2)}
  .fn-lab{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .fn b{font-size:15px;line-height:1.3}
  .fn-due{font-size:13px;font-weight:600;color:var(--accent)}
  .fn.over{border-left-color:var(--danger)}
  .fn.over .fn-due{color:var(--danger)}
  .fn.none{border-left-color:var(--border)}
  #flow-body{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
  #flow-body:empty{display:none}
  .flow-row2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}
  .flow-acts{display:flex;flex-wrap:wrap;gap:8px}
  .flow-acts .btn{flex:1 1 auto}
  .flow-go{width:100%}
  .flow-hint{margin:0;font-size:13px;color:var(--muted)}
  .flow-sub{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
  .flow-steps{margin:0;padding:8px 0 0;list-style:none;border-top:1px solid var(--border)}
  .flow-steps li{position:relative}
  .flow-steps li:not(:last-child)::after{content:"";position:absolute;left:11px;top:calc(50% + 7px);height:calc(100% - 14px);width:2px;background:var(--border)}
  .flow-steps li.done::after{background:var(--accent)}
  .flow-steps button{position:relative;z-index:1;display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:4px 6px;border:0;border-radius:8px;background:none;color:var(--muted);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
  .flow-steps button:hover{background:var(--surface-2);color:var(--fg)}
  .fs-dot{flex:none;width:12px;height:12px;border:2px solid var(--border);border-radius:50%;background:var(--surface)}
  .flow-steps li.done .fs-dot{border-color:var(--accent);background:var(--accent)}
  .flow-steps li.done button{color:var(--fg)}
  .flow-steps li.cur .fs-dot{border-color:var(--accent);box-shadow:0 0 0 4px rgba(217,183,74,.22)}
  .flow-steps li.cur button{color:var(--accent);font-weight:600}
  .fs-name{flex:1;min-width:0}
  .fs-when{font-size:11.5px;color:var(--muted)}
  .flow-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:8px}
  .flow-foot .linkbtn{padding-left:0;padding-right:0}
  .flow-snooze{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:12px;border-radius:12px;background:var(--surface-2)}
  .flow-snooze .field input{background:var(--surface)}
  /* Startseite: Zu tun */
  .todo-card{order:-2}
  .tsec{margin:10px 0 2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .tsec:first-child{margin-top:0}
  .titem{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 0;border:0;border-top:1px solid var(--border);background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .tsec + .titem{border-top:0}
  .titem:hover .gi-name{color:var(--accent)}
  .ti-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent)}
  .titem.over .ti-dot{background:var(--danger)}
  .titem.task .ti-dot{border:2px solid var(--muted);background:transparent}
  .ti-due{flex:none;max-width:42%;font-size:12.5px;font-weight:600;text-align:right;color:var(--accent)}
  .titem.over .ti-due{color:var(--danger)}
  .ti-call{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:600;vertical-align:1px}
  /* Anfragen: Tafel */
  .fl-lab{font-size:13px;font-weight:600;color:var(--muted)}
  .lv-boardonly{display:inline-flex;align-items:center;gap:8px}
  .lv-boardonly[hidden]{display:none}
  .seg{display:inline-flex;padding:3px;margin-right:8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}
  .seg button{height:34px;padding:0 16px;border:0;border-radius:999px;background:none;color:var(--muted);font:600 13.5px var(--font-body);cursor:pointer}
  .seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-fg)}
  .board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;align-items:start;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}
  .board[hidden]{display:none}
  #view-liste.board-on{max-width:none}
  /* Liste: Seitenleiste mit Filtern + Monate */
  #view-liste:not(.board-on) .filterbar{max-width:1280px;margin-inline:auto}
  .lv-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start;max-width:1280px;margin:0 auto}
  .lv-side{position:sticky;top:calc(var(--hdr,70px) + 12px);max-height:calc(100vh - var(--hdr,70px) - 24px);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
  .lf-toggle{display:none}
  .lf-body{display:flex;flex-direction:column;gap:14px}
  .lf-sec{display:flex;flex-direction:column;gap:2px}
  .lf-sec .nav-cap{margin:0 8px 4px}
  .lf-sec > button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:0;border-radius:9px;background:none;color:var(--fg);font:inherit;font-size:14px;text-align:left;cursor:pointer}
  .lf-sec > button:hover,.lf-chk:hover{background:var(--surface-2)}
  .lf-sec > button.active{background:var(--accent-weak);color:var(--accent);font-weight:600}
  .lf-chk{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:9px;font-size:14px;color:var(--muted);cursor:pointer}
  .lf-chk.on{color:var(--fg)}
  .lf-chk input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--accent)}
  .lf-dot{flex:none;width:9px;height:9px;border-radius:50%}
  .lf-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .lf-reset{align-self:flex-start;padding-left:10px}
  .lf-on{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11.5px}
  .setrow.color.st-row{grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center}
  .st-show{white-space:nowrap;font-size:13.5px}
  @media (max-width:900px){
    .lv-layout{grid-template-columns:1fr;gap:14px}
    .lv-side{position:static;max-height:none;padding:0;border:0;background:none}
    .lf-toggle{display:flex;align-items:center;gap:6px;width:100%;height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--fg);font:600 14px var(--font-body);cursor:pointer}
    .lf-toggle::after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}
    .lv-side .lf-body{display:none;margin-top:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
    .lv-side.open .lf-body{display:flex}
  }
  @media (max-width:560px){.setrow.color.st-row{grid-template-columns:44px minmax(0,1fr) auto}.st-show{grid-column:1/-1}}
  /* Liste nach Monaten */
  .list{display:flex;flex-direction:column;gap:22px}
  .lm-group{display:flex;flex-direction:column;gap:8px}
  .lm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:0 4px 8px;border-bottom:2px solid var(--accent)}
  .lm-head h3{margin:0;font-size:22px}
  .lm-badge{padding:2px 10px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}
  .lm-sum{margin-left:auto;font-size:13.5px;color:var(--muted)}
  .lm-items{display:flex;flex-direction:column;gap:6px}
  .li-row{display:grid;grid-template-columns:64px minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1.3fr) 110px 118px;align-items:center;gap:16px;width:100%;padding:10px 16px 10px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .li-row:hover{border-color:var(--accent)}
  .li-row{box-shadow:inset 5px 0 0 var(--st,transparent);padding-left:15px}
  .li-hints{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
  .hint{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
  .hint b{font-size:11px}
  .hint.warn{background:rgba(224,169,46,.14);color:#e0a92e}
  .hint.bad{background:var(--danger-bg);color:var(--danger)}
  .li-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .li-row .datebox{min-width:0;padding:7px 0}
  .li-main{display:flex;flex-direction:column;gap:2px;min-width:0}
  .li-main .ttl{font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .li-main .meta{font-size:13px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .li-where,.li-next{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:var(--muted)}
  .li-where span,.li-next span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .li-step{color:var(--fg)}
  .li-tasks{color:var(--accent)}
  .li-sum{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
  .li-row .pill{justify-self:end}
  .lm-alert .lm-head{border-bottom-color:var(--danger)}
  .lm-alert .lm-badge{background:var(--danger-bg);color:var(--danger)}
  .lm-past{align-self:center;padding:10px 18px;border:1px dashed var(--border);border-radius:999px;background:none;color:var(--accent);font:600 13.5px var(--font-body);cursor:pointer}
  .lm-past span{color:var(--muted);font-weight:400}
  @media (max-width:1100px){
    .li-row{grid-template-columns:60px minmax(0,1.5fr) minmax(0,1.2fr) 100px 110px}
    .li-next{display:none}
  }
  @media (max-width:760px){
    .li-row{grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"d m p" "d w s";row-gap:4px;column-gap:12px;padding:10px 12px 10px 13px}
    .li-row .datebox{grid-area:d;align-self:start}
    .li-main{grid-area:m}
    .li-where{grid-area:w;flex-direction:row;flex-wrap:wrap;gap:0 8px}
    .li-sum{grid-area:s;align-self:end}
    .li-row .pill{grid-area:p;align-self:start}
    .lm-head h3{font-size:19px}
    .lm-sum{margin-left:0;flex-basis:100%}
  }
  .bcol{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);scroll-snap-align:start}
  .bcol header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);font-family:var(--font-head);font-size:14px;font-weight:600;color:var(--accent)}
  .bcount{min-width:24px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font:600 12px var(--font-body);text-align:center}
  .bcards{display:flex;flex-direction:column;gap:8px;padding:10px}
  .bcard{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;background:var(--surface-2);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .bcard:hover{border-color:var(--accent)}
  .bcard.over{border-left-color:var(--danger)}
  .bc-name{font-weight:600;line-height:1.3}
  .bc-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
  .bc-next{display:flex;flex-direction:column;margin-top:4px;padding-top:6px;border-top:1px dashed var(--border);font-size:12.5px}
  .bc-next span{font-weight:600;color:var(--accent)}
  .bcard.over .bc-next span{color:var(--danger)}
  .bc-next.muted{color:var(--muted)}
  .bempty{margin:2px;font-size:13px;color:var(--muted)}
  @media (max-width:700px){
    .board{grid-auto-columns:84%;margin:0 -16px;padding:0 16px 12px;scroll-padding:0 16px}
    .seg{margin-right:0}
  }
  @media (prefers-reduced-motion:reduce){.board{scroll-behavior:auto}}

  /* ===== Version 2.4: Kalender-Verbindung, Meet pro Call ===== */
  .flow-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:end}
  .flow-set label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .flow-set.four{grid-template-columns:repeat(4,minmax(0,1fr))}
  @media (max-width:1100px){.flow-set.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .flow-legend{margin:14px 0 0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--muted)}
  .flow-legend b{color:var(--fg);font-weight:600}
  .meet-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .meet-acts .btn{min-width:0;padding:0 8px;font-size:13px}
  .cal-link{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
  .cal-link input{width:100%;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);font:13px ui-monospace,Consolas,monospace}
  .chip.priv{border:1px dashed var(--c);background:transparent;color:var(--c)}
  .lg-dot.lg-priv{border:1.5px dashed var(--c);background:transparent}
  .cf-priv{display:flex;align-items:center;gap:6px}
  .cf-dot{flex:none;width:8px;height:8px;border-radius:50%}
  .pcal-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
  .pcal-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,2fr) auto;gap:6px 12px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
  .pcal-row .field input{background:var(--surface)}
  .pcal-row input[type=color]{width:100%;height:40px;padding:3px;cursor:pointer}
  .pcal-row .del{height:40px}
  .pc-state{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--muted)}
  .pc-state:empty{display:none}
  @media (max-width:700px){
    .pcal-row{grid-template-columns:64px minmax(0,1fr) auto}
    .pc-url{grid-column:1/-1;grid-row:2}
  }
  .li-stage{color:var(--accent);font-weight:600}
  .bc-status{align-self:flex-start;margin-top:2px;padding:2px 9px;font-size:11.5px}
  @media (max-width:700px){
    .flow-set{grid-template-columns:repeat(2,minmax(0,1fr))}
  }

  /* ===== Version 2.6: Feiertage, Tagesansicht, kein Zoom auf dem iPhone ===== */
  .hol{display:block;overflow:hidden;font-size:10.5px;font-weight:600;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;color:#e0a2a2}
  .cell.holiday .daynum{color:#e0a2a2}
  .cell.today.holiday .daynum{color:var(--accent)}
  .hol.spec{color:#c9b273;font-weight:500}
  .day-pill.spec{background:var(--accent-weak);color:var(--accent)}
  .hol-set{flex-direction:column;align-items:flex-start}
  .hol-set{display:flex;flex-wrap:wrap;gap:4px 24px}
  .hol-set .check{margin:0 0 6px}
  .hol-set .field{flex:none;width:min(280px,100%);margin-top:6px}
  .day-box{width:min(560px,100%);padding:20px 22px}
  .day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
  .day-head h3{margin:0;font-family:var(--font-head);font-size:19px;font-weight:600;color:var(--fg)}
  .day-head .iconbtn{flex:none}
  .day-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .day-sub:empty{display:none}
  .day-pill{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}
  .day-pill.today{background:var(--accent);color:var(--accent-fg)}
  .day-pill.holi{background:rgba(224,162,162,.15);color:#e0a2a2}
  .day-body{min-height:60px}
  .day-empty{padding:16px 0}
  .dv-item{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:11px 0;border:0;border-top:1px solid var(--border);background:none;color:var(--fg);font:inherit;text-align:left}
  button.dv-item{cursor:pointer}
  button.dv-item:hover b{color:var(--accent)}
  .tsec + .dv-item{border-top:0}
  .dv-time{flex:none;width:92px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent)}
  .dv-priv .dv-time{color:var(--muted)}
  .dv-main{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
  .dv-main b{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
  .dv-main > span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
  .dv-item .pill{flex:none}
  .day-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
  @media (max-width:700px){
    .day-modal{align-items:end;padding:0}
    .day-box{width:100%;max-height:86vh;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0}
    .dv-time{width:74px}
    .hol{display:none}
  }
  /* iPhone zoomt in Eingabefelder mit Schrift unter 16 px hinein: auf Touch-Geräten daher mindestens 16 px */
  @media (pointer:coarse){
    input,select,textarea{font-size:16px!important}
  }

  /* ===== Version 2.8: Dokumente ===== */
  .docs{display:flex;flex-direction:column;gap:22px;padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
  .doc-sec{display:flex;flex-direction:column;gap:12px}
  .doc-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
  .doc-h h2{margin:0;font-family:var(--font-head);font-size:20px;font-weight:600;color:var(--accent)}
  .doc-add{display:flex;flex-wrap:wrap;gap:8px}
  .doc-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px;border:1px dashed var(--border);border-radius:12px}
  .doc-empty p{flex:1 1 280px;margin:0;font-size:13.5px;color:var(--muted)}
  .doc-hint{margin:0;font-size:12.5px;color:var(--muted)}
  .doc-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface-2)}
  .doc-card.inv-draft{border-left-color:var(--muted)}
  .doc-card.inv-over{border-left-color:var(--danger)}
  .doc-card.inv-paid{border-left-color:#5cbf86}
  .dc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .dc-head > div{display:flex;flex-direction:column;gap:2px;min-width:0}
  .dc-head b{font-size:16px}
  .dc-head > div > span{font-size:13px;color:var(--muted)}
  .inv-over .dc-state{color:var(--danger);font-weight:600}
  .inv-paid .dc-state{color:#5cbf86;font-weight:600}
  .inv-open .dc-state{color:var(--accent);font-weight:600}
  .dc-sum{flex:none;font-family:var(--font-head);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
  .dc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px;align-items:end}
  .doc-card .field input,.doc-card .field select,.doc-card .field textarea{background:var(--surface)}
  .doc-card .ol-disc input,.doc-card .ol-disc select{height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);padding:0 10px}
  .dc-meta{margin:0;font-size:13px;color:var(--muted)}
  .dc-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .dt-grid{display:grid;grid-template-columns:1fr;gap:12px}
  .dt-tile{margin:0 0 14px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
  .dt-tile h4{margin:0 0 12px;font-family:var(--font-head);font-size:16px;font-weight:600}
  .dt-tile .field textarea,.dt-tile .setrow input,.dt-tile .setrow textarea{background:var(--surface)}
  .dt-sub2{margin-top:18px}
  .txr + .txr{margin-top:6px}
  .txr-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .txr-row:hover,.txr.open .txr-row{border-color:var(--accent)}
  .txr-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .txr-name{flex:none;max-width:40%;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
  .txr-std{flex:none;padding:1px 8px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:600}
  .txr-prev{flex:1;min-width:0;overflow:hidden;font-size:13px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}
  .txr-edit{display:none;flex-direction:column;gap:10px;padding:12px 2px 16px}
  .txr.open .txr-edit{display:flex}
  .txr-edit .field input,.txr-edit .field textarea{background:var(--surface)}
  .txr-edit textarea{min-height:110px;resize:vertical}
  .txr.open .dl-chev::before{transform:translateY(2px) rotate(-135deg)}
  .dt-tile > .btn{margin-top:10px}
  @media (max-width:560px){
    .txr-row{flex-wrap:wrap;gap:4px 10px}
    .txr-name{max-width:calc(100% - 110px)}
    .txr-row .dl-chev{order:2;margin-left:auto}
    .txr-prev{order:3;flex-basis:100%}
  }
  .dt-hint{margin:-6px 0 12px;font-size:12.5px;color:var(--muted)}
  .qa-checks{display:flex;flex-direction:column;gap:6px;padding:4px 0}
  .pd-checks div{margin:1px 0}
  @media (max-width:560px){.dt-tile{padding:14px 12px}}
  .pd-totals .pd-sub{font-weight:600}
  .pd-totals .pd-small{font-size:11px;color:#777}
  @media (max-width:700px){
    .docs{padding:16px 14px}
    .dt-grid{grid-template-columns:1fr}
    .dc-acts .btn{flex:1 1 auto}
    .page-nav{display:grid;flex:1 1 100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:14px}
    .page-nav button{flex-direction:column;justify-content:center;gap:0;min-width:0;min-height:50px;padding:4px 6px;border-radius:10px;font-size:13px;text-align:center}
    .page-nav button svg{display:none}
    .page-nav .pg-total{margin:0;font-size:11px;white-space:nowrap}
  }

  /* ===== Version 3.1: Design-Auswahl, PDF-Tab ===== */
  .dsel[hidden]{display:none}
  .dsel{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
  .dsel select{height:40px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}
  .doc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
  .doc-top p{margin:0;font-size:13px;color:var(--muted)}
  .pdf-name{font-weight:600;color:var(--fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.pdf-tab{background:#262626}

  /* ===== Version 3.2: mehrere Angebote ===== */
  .of-switch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
  .ofs-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font:inherit;text-align:left;cursor:pointer}
  .ofs-chip b{font-size:13.5px;color:var(--fg)}
  .ofs-chip span{font-size:12px;font-variant-numeric:tabular-nums}
  .ofs-chip:hover{border-color:rgba(217,183,74,.5)}
  .ofs-chip.on{border-color:var(--accent);background:var(--accent-weak)}
  .ofs-chip.on b{color:var(--accent)}
  .ofs-add{height:40px;padding:0 14px;border:1px dashed var(--border);border-radius:12px;background:none;color:var(--accent);font:600 13.5px var(--font-body);cursor:pointer}
  .ofs-add:hover{border-color:var(--accent)}
  .ofs-del{margin-left:auto}
  .ofs-hint{flex-basis:100%;margin:2px 0 0;font-size:12.5px;color:var(--muted)}
  .doc-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:12px;background:var(--surface-2)}
  .doc-row.sel{border-left-color:var(--accent)}
  .doc-row + .doc-row{margin-top:8px}
  .dr-main{display:flex;flex:1 1 200px;flex-direction:column;gap:1px;min-width:0}
  .dr-main b{font-size:15px}
  .dr-main span{font-size:12.5px;color:var(--muted)}
  .dr-badge{padding:3px 10px;border-radius:999px;background:rgba(92,191,134,.15);color:#5cbf86;font-size:12px;font-weight:600;white-space:nowrap}
  .dr-badge.exp{background:var(--danger-bg);color:var(--danger)}
  .dr-sum{min-width:90px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
  .dr-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
  .dr-acts .btn{height:36px;padding:0 12px;font-size:13px}
  @media (max-width:700px){
    .ofs-chip{flex:1 1 calc(50% - 4px)}
    .ofs-del{margin-left:0}
    .dr-sum{min-width:0;text-align:left}
  }

  /* ===== Version 3.3: Dokumente als kompakte Liste ===== */
  .dl{display:flex;flex-direction:column}
  .dl-head,.dl-row{display:grid;grid-template-columns:24px minmax(86px,130px) minmax(90px,1fr) 78px 92px minmax(118px,160px) 76px;align-items:center;gap:8px}
  .dl-head{padding:0 10px 8px;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
  .dl-head .r,.dl-sum{text-align:right}
  .dl-gh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 10px 6px;font-family:var(--font-head);font-size:14.5px;font-weight:600;color:var(--accent)}
  .dl-gh .linkbtn{padding:4px 0;font-size:13px}
  .dl-gh-acts{display:flex;gap:14px}
  .dl-item{border-radius:10px}
  .dl-item + .dl-item{margin-top:2px}
  .dl-item.open{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}
  .dl-row{min-height:46px;padding:6px 10px;border-radius:10px;cursor:pointer}
  .dl-row:hover{background:var(--surface-2)}
  .dl-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .dl-st{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;line-height:1}
  .dl-st.ok{background:rgba(92,191,134,.18);color:#5cbf86}
  .dl-st.open{background:var(--accent-weak);color:var(--accent)}
  .dl-st.bad{background:var(--danger-bg);color:var(--danger)}
  .dl-st.draft,.dl-st.doc{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}
  .dl-num{overflow:hidden;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis}
  .dl-title{overflow:hidden;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}
  .dl-date{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
  .dl-sum{font-weight:600;font-variant-numeric:tabular-nums}
  .dl-badge span{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
  .b-ok{background:rgba(92,191,134,.15);color:#5cbf86}
  .b-bad{background:var(--danger-bg);color:var(--danger)}
  .b-open{background:var(--accent-weak);color:var(--accent)}
  .b-muted{background:var(--surface-2);color:var(--muted)}
  .dl-acts{display:flex;align-items:center;justify-content:flex-end;gap:8px}
  .dl-pdf{height:30px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:600 12px var(--font-body);cursor:pointer}
  .dl-pdf:hover{border-color:var(--accent);color:var(--accent)}
  .dl-chev::before{content:"";display:block;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .dl-item.open .dl-chev::before{transform:translateY(2px) rotate(-135deg)}
  .dl-panel{display:flex;flex-direction:column;gap:12px;padding:6px 14px 16px 48px}
  .dl-panel .field input,.dl-panel .field select,.dl-panel .field textarea{background:var(--surface)}
  .dl-panel .ol-disc input,.dl-panel .ol-disc select{height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);padding:0 10px}
  .dl-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:10px;border:1px dashed var(--border);border-radius:10px;font-size:13px;color:var(--muted)}
  .dl-total{display:flex;justify-content:flex-end;gap:14px;padding:6px 10px;font-size:13px;color:var(--muted)}
  .dl-total b{color:var(--fg);font-variant-numeric:tabular-nums}
  .ofs-chip.acc{border-color:rgba(92,191,134,.6)}
  .ofs-acc{flex-basis:100%;margin:2px 0 0}
  .dl-absrc{align-items:center;gap:10px}
  .dl-absrc select{max-width:min(360px,52vw);height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--fg);font:500 13px var(--font-body)}
  @media (max-width:700px){.dl-gh{flex-wrap:wrap}.dl-absrc{flex-basis:100%;min-width:0}.dl-absrc select{flex:1;min-width:0;max-width:none}.dl-absrc .linkbtn{flex:none;white-space:nowrap}}
  @media (max-width:900px){
    .dl-head{display:none}
    .dl-row{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"st num sum" "st meta acts";row-gap:2px;padding:10px}
    .dl-st{grid-area:st;align-self:start;margin-top:2px}
    .dl-num{grid-area:num}
    .dl-sum{grid-area:sum}
    .dl-title,.dl-date{display:none}
    .dl-badge{grid-area:meta;min-width:0}
    .dl-acts{grid-area:acts}
    .dl-panel{padding:6px 12px 14px}
  }
  @media (prefers-reduced-motion:reduce){.dl-chev::before{transition:none}}

  /* Firmendaten in Kacheln */
  .co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
  .co-tile{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
  .co-tile h4{margin:0 0 2px;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--fg)}
  .co-tile .field input{background:var(--surface)}

  /* ===== Version 2.0: Dokument-Layout ===== */
  .vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
  .logo-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
  .logo-prev{display:grid;place-items:center;flex:0 1 320px;min-height:120px;padding:16px;border:1px dashed var(--border);border-radius:12px;background:#fff;color:#888;font-size:13px}
  .logo-prev img{max-width:100%;object-fit:contain}
  .logo-acts{display:flex;flex-direction:column;gap:12px;flex:1 1 260px;min-width:0}
  .logo-acts input[type=range]{width:100%;max-width:320px;accent-color:var(--accent)}
  .design-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
  .dpick{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .dpick:hover{border-color:rgba(217,183,74,.5)}
  .dpick.on{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,183,74,.15)}
  .dpick b{font-size:14px}.dpick small{font-size:12px;color:var(--muted)}
  .dthumb{position:relative;display:block;width:100%;aspect-ratio:1/1.1;margin-bottom:6px;border-radius:6px;background:#fff;overflow:hidden}
  .dthumb i{position:absolute;display:block;border-radius:2px}
  .dthumb i:nth-child(1){top:9%;width:30%;height:8%;background:#cfcfcf}
  .dthumb i:nth-child(2){top:24%;left:10%;width:50%;height:6%;background:var(--pa)}
  .dthumb i:nth-child(3){top:38%;left:10%;right:10%;height:5%;background:#ddd}
  .dthumb i:nth-child(4){top:48%;left:10%;right:10%;height:34%;background:repeating-linear-gradient(#fff 0 9%,#ececec 9% 12%)}
  .t-klassisch i:nth-child(1){right:10%}
  .t-klassisch i:nth-child(3){background:var(--pa);height:1.5%;top:43%}
  .t-modern{box-shadow:inset 6px 0 0 var(--pa)}
  .t-modern i:nth-child(1){left:14%}
  .t-modern i:nth-child(3){background:var(--pa)}
  .t-modern i:nth-child(4){background:repeating-linear-gradient(#fff 0 9%,#f1f1f1 9% 18%)}
  .t-elegant i:nth-child(1){left:35%}
  .t-elegant i:nth-child(2){left:30%;width:40%;height:4%;top:25%}
  .t-elegant i:nth-child(3){height:1px;background:var(--pa);top:40%}
  .accent-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .swatch-btn{width:38px;height:38px;border:2px solid var(--border);border-radius:50%;background:var(--sw);cursor:pointer}
  .swatch-btn.on{border-color:var(--fg);box-shadow:0 0 0 3px rgba(217,183,74,.35)}
  .swatch-custom{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
  .swatch-custom input{width:44px;height:38px;padding:2px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}

  /* ===== PDF-Ansicht ===== */
  body.pdf-open{overflow:hidden}
  #pdf-view{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:#262626}
  #pdf-view[hidden]{display:none}
  .pdf-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--border)}
  .pdf-sp{flex:1}
  .pdf-design{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
  .pdf-design select{height:40px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}
  .pdf-scroll{flex:1;overflow:auto;padding:24px 16px 40px;-webkit-overflow-scrolling:touch}
  .pdf-fit{margin:0 auto;position:relative}
  .pdf-page{--pa:#b8902f;position:absolute;top:0;left:0;display:flex;flex-direction:column;width:210mm;min-height:297mm;padding:0 20mm 10mm 25mm;background:#fff;color:#1f1f1f;font:13px/1.5 var(--font-body);box-shadow:0 12px 40px rgba(0,0,0,.45);transform-origin:top left}
  .pdf-page *{box-sizing:border-box}
  /* DIN 5008 Form B (alle Maße ab Blattrand): Briefkopf 45 mm, Anschriftfeld 20/45 mm, 85 × 45 mm, Infoblock ab 125 mm */
  .pd-head{position:relative;flex:none;height:98mm;margin:0 -20mm 0 -25mm}
  .pd-brand{position:absolute;top:10mm;left:25mm;right:20mm;height:28mm;display:flex;align-items:center;justify-content:flex-end}
  .pd-logo{max-width:100%;max-height:28mm;object-fit:contain}
  .pd-addr{position:absolute;top:45mm;left:20mm;width:85mm;height:45mm}
  .pd-sender{position:absolute;left:5mm;right:0;top:12.2mm;height:5mm;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ccc;font-size:7pt;line-height:5mm;color:#888}
  .pd-to{position:absolute;left:5mm;right:0;top:19mm;bottom:0;overflow:hidden;font-size:10.5pt;line-height:1.45}
  .pd-info{position:absolute;top:57.2mm;left:125mm;right:20mm;min-height:32.8mm;display:flex;align-items:center}
  .pd-info .pd-meta{width:100%}
  .pd-mark{position:absolute;left:0;height:0;border-top:.25mm solid #b5b5b5}
  .pd-m1{top:105mm;width:5mm}.pd-m2{top:148.5mm;width:8mm}.pd-m3{top:210mm;width:5mm}
  .pd-coname{font-family:var(--font-head);font-size:26px;font-weight:600;color:var(--pa)}
  .pd-meta{border-collapse:collapse;font-size:11px;line-height:1.5}
  .pd-meta th{padding:1px 12px 1px 0;font-weight:500;color:#777;text-align:left;vertical-align:top;white-space:nowrap}
  .pd-meta td{padding:1px 0;text-align:right;font-weight:600;vertical-align:top}
  .pd-title{margin:0 0 6px;font-family:var(--font-head);font-size:17px;font-weight:600;line-height:1.3;color:#1f1f1f}
  .pd-subject{margin-bottom:16px;color:#444}
  .pd-text{margin-bottom:18px;white-space:normal}
  .pd-table{width:100%;margin-bottom:6px;border-collapse:collapse}
  .pd-table th{padding:8px 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;color:#555;border-bottom:2px solid var(--pa)}
  .pd-table td{padding:9px 6px;vertical-align:top;border-bottom:1px solid #e6e6e6}
  .pd-table .r{text-align:right;white-space:nowrap}
  .pd-pos{width:42px;color:#777}
  .pd-desc{margin-top:2px;font-size:11.5px;color:#666}
  .pd-cat td{padding-top:14px;font-weight:600;color:var(--pa);border-bottom:1px solid #d6d6d6}
  .pd-cat .pd-pos{color:var(--pa)}
  .pd-totals{display:flex;flex-direction:column;gap:3px;width:340px;margin:10px 0 26px auto}
  .pd-totals > div{display:flex;justify-content:space-between;gap:16px}
  .pd-totals > div span:last-child{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}
  .pd-grand{margin-top:4px;padding-top:6px;border-top:2px solid var(--pa);font-size:15px;font-weight:700}
  .pd-note{margin:6px 0 0;font-size:11px;color:#777}
  .pd-footer{display:flex;gap:14px;margin-top:auto;padding-top:12px;border-top:1px solid #ddd;font-size:7pt;line-height:1.5;color:#777}
  .pd-footer{justify-content:space-between}
  /* Druck-Rahmen (siehe docHtml): am Bildschirm unsichtbar, der Inhalt liegt direkt in der Seite */
  .pd-print,.pd-print>thead,.pd-print>tbody,.pd-print>tfoot,.pd-pr,.pd-pc{display:contents}
  .pd-sp{display:none}
  .pd-footer > div{flex:0 1 auto;min-width:0}
  /* Modern: Akzentstreifen, farbige Tabellenköpfe */
  .d-modern{box-shadow:inset 10px 0 0 var(--pa),0 12px 40px rgba(0,0,0,.45)}
  .d-modern .pd-title{padding-bottom:4px;border-bottom:2px solid var(--pa);display:inline-block}
  .d-modern .pd-table th{background:var(--pa);color:#fff;border:0}
  .d-modern .pd-table tbody tr.pd-line:nth-child(even) td{background:#f6f6f6}
  .d-modern .pd-table td{border-bottom:0}
  .d-modern .pd-cat td{background:#efefef;color:#1f1f1f}
  .d-modern .pd-grand{padding:8px 10px;border:0;border-radius:6px;background:var(--pa);color:#fff}
  .d-modern .pd-info{padding:2.5mm 4mm;border-radius:2mm;background:#f4f4f4}
  /* Elegant: zentriert, feine Linien, Serifenschrift */
  .d-elegant .pd-brand{justify-content:center;top:8mm;height:30mm;padding-bottom:3mm;border-bottom:1px solid var(--pa)}
  .d-elegant .pd-title,.d-elegant .pd-coname{font-family:Georgia,"Times New Roman",serif;font-weight:400}
  .d-elegant .pd-title{text-align:center;font-size:16px;letter-spacing:.14em;text-transform:uppercase}
  .d-elegant .pd-subject{text-align:center;font-style:italic;font-weight:400;font-family:Georgia,"Times New Roman",serif;font-size:15px}
  .d-elegant .pd-table th{border-bottom:1px solid var(--pa);color:var(--pa);font-weight:500}
  .d-elegant .pd-table td{border-bottom:1px solid #eee}
  .d-elegant .pd-cat td{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:14px}
  .d-elegant .pd-grand{border-top:1px solid var(--pa);border-bottom:3px double var(--pa);padding-bottom:6px;font-family:Georgia,"Times New Roman",serif}
  .d-elegant .pd-footer{justify-content:center;text-align:center;border-top:1px solid var(--pa)}

  @media (max-width:700px){
    .pdf-bar .btn{padding:0 14px}
    .pdf-sp{display:none}
    #pdf-print{flex:1 1 100%}
    .gd-row{grid-template-columns:minmax(0,1fr) 120px;row-gap:6px}
    .gd-amt{grid-column:1/-1}
    .gd-amt:empty{display:none}
    .design-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .dpick{padding:8px}
    .dpick small{display:none}
    .dpick b{font-size:12.5px}
  }

  .fresh-btn{border-color:var(--danger);color:var(--danger)}
  /* Dokument-Vorlagen: Übersicht */
  .tp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
  .tp-top h3{margin:0 0 6px}
  .tp-top > div{flex:1 1 420px;min-width:0}
  .tp-top .btn{flex:none}
  .tp-row{display:flex;align-items:center;gap:8px;border-radius:10px}
  .tp-row:hover{background:var(--surface-2)}
  .tp-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .tp-main b{font-size:14.5px;font-weight:600}
  .tp-main span{font-size:12.5px;color:var(--muted)}
  .tp-std{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11px;font-style:normal;font-weight:600;vertical-align:2px}
  .tp-acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px;padding-right:6px}
  .tp-acts .linkbtn{font-size:12.5px}
  .tp-go{padding:0 14px;color:var(--muted);font-size:18px}
  .tp-empty{padding:4px 10px 8px;font-size:13px;color:var(--muted)}
  .tp-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}
  .tp-crumb .linkbtn{padding-left:0}
  .tp-sp{flex:1}
  .tp-meta{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:6px}
  .tde-box .tp-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  @media (max-width:640px){.tp-meta,.tde-box .tp-meta{grid-template-columns:1fr}}
  .tp-ph{margin:8px 0 2px}
  .tp-ph code,.doc-hint code{padding:1px 5px;border-radius:5px;background:var(--surface-2);font-size:12px}
  @media (max-width:640px){
    .tp-row{flex-wrap:wrap;gap:0}
    .tp-acts{width:100%;justify-content:flex-start;padding:0 0 6px 4px}
    .tp-top .btn{width:100%;justify-content:center}
  }
  /* Baukasten */
  .bk-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
  .bk{border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
  .bk-h{display:flex;align-items:center;gap:6px;padding:8px 10px}
  .bk-ico{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--accent-weak);color:var(--accent);font-weight:700;font-size:14px}
  .bk-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:2px 4px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .bk-t b{font-size:14px;font-weight:600}
  .bk-t span{overflow:hidden;font-size:12.5px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}
  .bk-ib{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font:600 14px var(--font-body);cursor:pointer}
  .bk-ib:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
  .bk-ib.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}
  .bk-ib:disabled{opacity:.3;cursor:default}
  .bk-b{display:flex;flex-direction:column;gap:10px;padding:2px 12px 14px 46px}
  .bk.folded .bk-b{display:none}
  .bk .field input,.bk .field select,.bk .field textarea{background:var(--surface)}
  .bk textarea[data-bk="text"]{min-height:130px;resize:vertical;line-height:1.5}
  .bk-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 4px}
  .bk-tools button{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:600 13px var(--font-body);cursor:pointer}
  .bk-tools button:hover{border-color:var(--accent);color:var(--accent)}
  .bk-tools button.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}
  .bk-tools .sep{width:1px;height:22px;margin:0 4px;background:var(--border)}
  .bk-tools select{width:auto;max-width:100%;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px}
  .bk-q{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
  .bk-q .field input,.bk-q .field select{height:40px;background:var(--surface-2)}
  .bk-qgrid{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(0,1.6fr) minmax(140px,1fr);gap:8px 10px;align-items:end}
  .bk-wide{grid-column:1/-1}
  .bk-qacts{flex:none;align-self:flex-end;display:flex;gap:4px;padding-bottom:4px}
  .bk-qhead{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
  .bk-qadd{align-self:flex-start;padding-left:0}
  .bk-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 4px;font-size:13px;color:var(--muted)}
  .bk-add > span{width:100%;font-weight:600}
  @media (max-width:1000px){.bk-qgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
  @media (max-width:560px){
    .bk-b{padding-left:12px}
    .bk-h{flex-wrap:wrap}
    .bk-t{flex-basis:calc(100% - 40px)}
    .bk-h .bk-ib{margin-left:auto}
    .bk-h .bk-ib + .bk-ib{margin-left:0}
    .bk-q{flex-direction:column}
    .bk-qgrid{width:100%;grid-template-columns:1fr}
    .bk-qacts{align-self:flex-start;padding-bottom:0}
    .bk-qhead{grid-template-columns:1fr}
  }
  /* Neue Vorlage, Dokument im Event bearbeiten */
  .nt-box{width:min(440px,100%);display:flex;flex-direction:column;gap:12px}
  .nt-box h3{margin:0}
  .tde-box{width:min(1040px,100%)}
  .tde-head{position:sticky;top:-22px;z-index:2;display:flex;align-items:center;gap:8px;margin:-6px 0 8px;padding:6px 0 10px;background:var(--surface);border-bottom:1px solid var(--border)}
  .tde-head h3{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  /* Fragebogen im Event ausfüllen */
  .qa-sec{display:flex;flex-direction:column;gap:6px}
  .qa-sec .gsub{margin:6px 0 2px}
  .qa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 12px;align-items:start}
  .qa-grid .wide{grid-column:1/-1}
  .qa-grid label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .qa-help{font-size:12px;color:var(--muted)}
  /* Event löschen */
  .del-box{width:min(560px,100%);display:flex;flex-direction:column;gap:10px}
  .del-box h3{margin:0}
  .del-lead{margin:0;color:var(--muted)}
  .del-lead b{color:var(--fg)}
  .del-docs{margin:0;padding:10px 14px 10px 30px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:13.5px;max-height:180px;overflow:auto}
  .del-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;cursor:pointer}
  .del-opt:has(input:checked){border-color:var(--accent);background:var(--accent-weak)}
  .del-opt input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
  .del-opt span{display:flex;flex-direction:column;gap:2px}
  .del-opt small{font-size:12.5px;color:var(--muted)}
  .del-warn{margin:0;padding:10px 12px;border-radius:10px;background:var(--danger-bg);color:var(--danger);font-size:13px}
  /* Archiv */
  .ar-search{max-width:420px;margin-bottom:12px}
  .ar-list{display:flex;flex-direction:column;gap:6px}
  .ar-item{border:1px solid var(--border);border-radius:12px}
  .ar-item.open{background:var(--surface-2)}
  .ar-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto 20px;align-items:center;gap:14px;width:100%;padding:10px 14px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
  .ar-name{display:flex;flex-direction:column;min-width:0}
  .ar-name b,.ar-name small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .ar-name small,.ar-date,.ar-count{font-size:13px;color:var(--muted)}
  .ar-item.open .dl-chev::before{transform:translateY(2px) rotate(-135deg)}
  .ar-panel{display:flex;flex-direction:column;gap:6px;padding:0 14px 14px}
  .ar-doc{display:grid;grid-template-columns:minmax(0,1fr) 90px 100px auto;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--border);font-size:13.5px}
  .ar-doc .r{text-align:right;font-variant-numeric:tabular-nums}
  @media (max-width:560px){
    .ar-row{grid-template-columns:minmax(0,1fr) auto 20px}
    .ar-count{display:none}
    .ar-doc{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
    .ar-doc span:nth-child(2){grid-row:2}
    .ar-doc .r{grid-row:2;grid-column:2}
    .ar-doc .dl-pdf{grid-row:1;grid-column:2}
  }
  /* Kontaktbuch */
  .ct-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
  .ct-side{position:sticky;top:calc(var(--hdr,70px) + 12px);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
  .ct-pickwrap{display:none}
  .ct-groups{display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 300px);overflow:auto}
  .ct-groups button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:0;border-radius:9px;background:none;color:var(--fg);font:inherit;font-size:14px;text-align:left;cursor:pointer}
  .ct-groups button:hover{background:var(--surface-2)}
  .ct-groups button.active{background:var(--accent-weak);color:var(--accent);font-weight:600}
  .ct-groups .nav-cap{margin:10px 10px 4px}
  .ct-main{min-width:0;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
  .ct-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
  .ct-head h2{font-size:20px}
  .ct-head span{font-size:13px;color:var(--muted)}
  .ct-headrow,.ct-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) minmax(110px,.8fr) minmax(0,1.2fr);gap:12px;align-items:center}
  .ct-headrow{padding:0 12px 8px;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
  .ct-row{width:100%;min-height:54px;padding:8px 12px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--fg);font:inherit;font-size:14px;text-align:left;cursor:pointer}
  .ct-row:hover{background:var(--surface-2)}
  .ct-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .ct-name{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0}
  .ct-name b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}
  .ct-name small{flex-basis:100%;font-size:12.5px;color:var(--muted)}
  .ct-kind{padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600;box-shadow:inset 0 0 0 1px var(--border)}
  .ct-kind.is-firma{background:rgba(90,154,240,.14);color:#7fb0f5;box-shadow:none}
  .ct-mail,.ct-tel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted)}
  .ct-grp{display:flex;flex-wrap:wrap;gap:4px}
  .ct-grp i{padding:1px 8px;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:11.5px;font-style:normal;font-weight:600}
  @media (max-width:900px){
    .ct-layout{grid-template-columns:1fr}
    .ct-side{position:static;padding:12px}
    .ct-groups{display:none}
    .ct-pickwrap{display:flex}
    .ct-side{display:grid;grid-template-columns:1fr 1fr;align-items:end}
  }
  @media (max-width:640px){
    .ct-side{grid-template-columns:1fr}
    .ct-main{padding:14px 12px}
    .ct-headrow{display:none}
    .ct-row{grid-template-columns:1fr;gap:3px;padding:12px 4px}
    .ct-mail:empty,.ct-tel:empty,.ct-grp:empty{display:none}
  }
  /* Kontakt anlegen / bearbeiten */
  .ct-box{width:min(720px,100%)}
  .ct-boxhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
  .ct-boxhead h3{margin:0}
  .ct-box .gsub{margin-top:16px}
  .ct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:end}
  .ct-grid .span2,.ct-grid .wide{grid-column:1/-1}
  .ct-name3{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) 160px}
  .ct-more{margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
  .ct-more summary{cursor:pointer;font-weight:600;color:var(--accent);font-size:13.5px}
  .ct-more[open] summary{margin-bottom:10px}
  .ct-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .ct-chip{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font:600 12.5px var(--font-body);cursor:pointer}
  .ct-chip.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}
  .ct-newgrp{display:inline-flex;gap:6px;align-items:center}
  .ct-newgrp input{width:150px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:13px}
  .ct-err{margin:10px 0 0;color:var(--danger);font-size:13.5px}
  @media (max-width:640px){
    .ct-grid,.ct-name3{grid-template-columns:1fr 1fr}
    .ct-name3 .field:first-child{grid-column:1/-1}
  }
  /* Kontaktbuch im Event */
  .ec-book{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:6px 0 4px;padding:12px;border:1px dashed var(--border);border-radius:12px}
  .ec-book .field{flex:1 1 240px}
  .ec-book .btn{height:42px}
  .ec-linked{margin:0 0 6px;font-size:12.5px;color:var(--accent)}
  .ec-linked:empty{display:none}
  /* Kundenportal im Event */
  .pt-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:14px 0 4px;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:var(--surface-2)}
  .pt-box.is-off{border-left-color:var(--danger)}
  .pt-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:1 1 320px;min-width:0}
  .pt-h b{font-family:var(--font-head);font-size:15px}
  .pt-h > span:last-child{flex-basis:100%;font-size:13px;color:var(--muted)}
  .pt-h .b-ok,.pt-h .b-bad{padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600}
  .pt-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1 1 100%}
  .pt-link input{flex:1 1 260px;min-width:0;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);font:13px var(--font-body)}
  .pt-link .btn{height:40px;text-decoration:none}
  .pt-opts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 18px;flex:1 1 100%}
  .pt-opts .field{width:180px}
  .pt-opts .field input{background:var(--surface)}
  .dl-share{margin-top:2px;font-size:13.5px}
  .dl-share small{color:var(--muted)}
  .b-web{margin-left:4px;background:rgba(90,154,240,.16);color:#7fb0f5}
  /* PDF: optionale Positionen */
  .pd-optbox{margin:4px 0 10px;break-inside:avoid}
  .pd-optbox .pd-bh{margin-top:6px}
  .pd-box{font-size:13px}
  .pd-unsel td{color:#8a8a8a}
  .pd-unsel b{font-weight:500}
  .pd-optnote{margin:4px 0 0;font-size:11px;color:#777}
  /* PDF: Bausteine */
  .pd-blk{margin:0 0 8px}
  .pd-blk p{margin:0}
  .pd-blk .pd-gap{height:.75em}
  .pd-blk ul,.pd-blk ol{margin:2px 0 4px;padding-left:20px}
  .pd-blk h3{margin:8px 0 2px;font-size:13px;font-weight:600}
  .pd-bh{margin:14px 0 4px;font-family:var(--font-head);font-size:14px;font-weight:600;color:#1f1f1f;break-after:avoid}
  .d-modern .pd-bh{color:var(--pa)}
  .d-elegant .pd-bh{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--pa)}
  .al-center{text-align:center}.al-right{text-align:right}.al-justify{text-align:justify}
  .pd-muted{color:#888}
  .pd-plain{margin-bottom:12px}
  .pd-sign{display:grid;grid-template-columns:1fr 1fr;gap:12mm 14mm;margin:14mm 0 6mm;break-inside:avoid}
  .pd-sign > div{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#666}
  .pd-sl{height:8mm;border-bottom:1px solid #555}
  .pd-break{height:0;margin:8mm 0;border-top:1px dashed #ccc}
  .pd-qs{margin:0 0 8px}
  .pd-qdesc{margin:0 0 6px;font-size:12px;font-style:italic;color:#666}
  .pd-q{padding:6px 0 8px;border-bottom:1px solid #eee;break-inside:avoid}
  .pd-ql{font-weight:600}
  .pd-qh{font-size:11px;color:#777}
  .pd-qa{margin-top:2px}
  .pd-wl{height:7mm;border-bottom:1px solid #c4c4c4}
  .pd-opts{color:#444}
  /* Drucken: nur das Dokument */
  @media print{
    /* Seite ohne Rand: oben 18 mm und unten der Platz für die Fußzeile kommen aus dem Druck-Rahmen (pd-print), der sich auf jeder Seite wiederholt */
    @page{size:A4;margin:0}
    :root{color-scheme:light}
    html,body{background:#fff!important}
    body.pdf-open > *:not(#pdf-view){display:none!important}
    body.pdf-open{overflow:visible}
    #pdf-view{position:static;display:block;background:#fff}
    .pdf-bar{display:none}
    .pdf-scroll{padding:0;overflow:visible}
    .pdf-fit{width:auto!important;height:auto!important}
    .pdf-page{position:static;width:210mm;min-height:0;padding:0 20mm 0 25mm;box-shadow:none;transform:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .pd-print{display:table;width:100%;border-collapse:collapse}
    .pd-print>thead{display:table-header-group}.pd-print>tbody{display:table-row-group}.pd-print>tfoot{display:table-footer-group}
    .pd-pr{display:table-row}.pd-pc{display:table-cell;padding:0}
    .pd-sp{display:block}.pd-sp-top{height:18mm}.pd-sp-bot{height:calc(var(--fh,22mm) + 14mm)}
    /* erste Seite: Briefkopf beginnt ganz oben (DIN 5008), nicht unter dem 18-mm-Abstand der Folgeseiten */
    .pd-pc>.pd-head{margin-top:-18mm}
    /* Fußzeile fest 10 mm über der Unterkante, auf jeder Seite */
    .pd-footer{position:fixed;left:25mm;right:20mm;bottom:10mm;margin:0}
    .d-modern{box-shadow:none}
    .d-modern::before{content:"";position:fixed;left:0;top:0;bottom:0;width:10px;background:var(--pa)}
    .pd-table tr{break-inside:avoid}
    .pd-totals,.pd-footer{break-inside:avoid}
    .pd-break{height:0;margin:0;border:0;break-after:page}
  }
  @media (max-width:900px){
    .ev{grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "aside" "main"}
    .ev.on-offer{grid-template-areas:"side" "main" "aside"}
    .det-grid{grid-template-columns:1fr}
    .offer{padding:18px 16px}
    .of-meta{flex-basis:100%}
  }
  @media (max-width:680px){
    .setrow.catrow .c-name{grid-column:auto}
  }
  @media (prefers-reduced-motion:reduce){
    #page-details .group,.ev-nav button,.nav-dot,.chev::before{transition:none}
  }
