:root{--primary:#7F6CFF;--accent:#E0EF4C;--ink:#11131a;--muted:#667085;--line:#E5E7EF;--soft:#FAFBFD;--paper:#fff;--dark:#171923;--danger:#b42318;--ok:#067647}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#FAFBFD;color:var(--ink);font-size:14px}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#11131a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.brand strong{display:block;font-size:16px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout{display:block;text-decoration:none;color:#222;padding:11px 12px;border-radius:12px;font-weight:700}.sidebar nav a:hover{background:#f2f1ff;color:#3523c9}.logout{position:absolute;bottom:24px;left:24px;right:24px;color:#777;border:1px solid var(--line);text-align:center}.main{padding:28px;max-width:1280px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:900;margin:0 0 6px}.page-head h1{margin:0;font-size:28px;letter-spacing:-.04em}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(17,19,26,.04)}.card h3{margin:0 0 8px;font-size:16px}.card p{margin:0;color:var(--muted);line-height:1.5}.big-link{text-decoration:none;color:inherit}.big-link:hover .card{border-color:rgba(127,108,255,.45);box-shadow:0 14px 34px rgba(127,108,255,.12)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat .num{font-size:28px;font-weight:900;letter-spacing:-.04em}.stat .label{font-size:12px;color:var(--muted);font-weight:800}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.input,select,textarea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font:inherit;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(127,108,255,.10)}.btn{border:1px solid var(--line);background:#fff;color:#111;border-radius:12px;padding:10px 13px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;gap:7px;align-items:center}.btn:hover{border-color:var(--primary)}.btn.primary{background:#11131a;color:#fff;border-color:#11131a}.btn.accent{background:var(--accent);border-color:var(--accent);color:#111}.btn.danger{color:var(--danger)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.table th{background:#171923;color:#fff;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:12px}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;border-radius:999px;padding:5px 8px;background:#F2F4F7;font-size:12px;font-weight:800;color:#344054}.badge.ok{background:#ECFDF3;color:#067647}.badge.warn{background:#FFFAEB;color:#B54708}.split{display:grid;grid-template-columns:420px 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.panel h2{font-size:18px;margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.full{grid-column:1/-1}.positions{display:grid;gap:10px}.position{border:1px solid var(--line);border-radius:14px;padding:12px;background:#FAFBFD}.position-head{display:grid;grid-template-columns:1fr 70px 120px auto;gap:8px;align-items:center}.rich{min-height:95px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;line-height:1.55;outline:none}.rich:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(127,108,255,.10)}.notice{background:#fbffe3;border:1px solid #edf7a6;border-radius:14px;padding:12px;color:#333;line-height:1.5}.muted{color:var(--muted)}.savebar{position:sticky;bottom:0;background:rgba(250,251,253,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px;margin:18px -28px -28px;display:flex;justify-content:flex-end;gap:10px}.doc-sheet{background:#fff;color:#111;max-width:820px;margin:0 auto;border:1px solid #dfe3ec;border-radius:6px;padding:42px 46px;font-size:12px;line-height:1.5}.doc-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #11131a;padding-bottom:16px;margin-bottom:28px}.doc-company{font-size:16px;font-weight:900;letter-spacing:-.02em}.doc-sub{font-size:11px;color:#555;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.doc-addr{font-size:10px;color:#777;margin-top:4px}.doc-logo{max-width:150px;max-height:70px;object-fit:contain}.doc-grid{display:grid;grid-template-columns:1fr 260px;gap:24px;margin-bottom:24px}.sender-line{font-size:9px;color:#777;border-bottom:1px solid #ddd;margin-bottom:8px;padding-bottom:3px}.meta{background:#F7F8FB;border:1px solid #EAECF0;border-radius:8px;padding:11px}.meta div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.meta span{color:#666;font-size:10px;text-transform:uppercase;font-weight:800}.doc-title{font-size:24px;margin:0 0 12px;color:#11131a}.salutation{margin:0 0 18px}.pos-table{width:100%;border-collapse:collapse;margin-bottom:14px}.pos-table th{background:#11131a;color:#fff;text-align:left;padding:8px;font-size:10px;text-transform:uppercase}.pos-table th:not(:first-child),.pos-table td.num{text-align:right}.pos-table td{border-bottom:1px solid #E5E7EF;padding:8px;vertical-align:top}.desc-html{margin-top:3px;color:#333}.sum-table{margin-left:auto;width:330px;border-collapse:collapse}.sum-table td{padding:6px 8px;border-bottom:1px solid #E5E7EF}.sum-table td:last-child{text-align:right}.sum-table .gross td{background:#11131a;color:#fff;font-weight:900;border-bottom:0;padding:10px 8px}.business-note,.notes-render{border-left:3px solid #11131a;background:#FAFBFD;padding:12px 14px;margin:18px 0;line-height:1.6}.closing{margin-top:26px}.signature-name{font-weight:900}.doc-footer{border-top:2px solid #11131a;margin-top:26px;padding-top:8px;font-size:9px;color:#666;display:grid;gap:2px}.customer-page{max-width:980px;margin:24px auto;padding:0 16px}.customer-actions{max-width:820px;margin:16px auto;display:flex;gap:10px;justify-content:flex-end}.accept-box{max-width:820px;margin:16px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.accept-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(17,19,26,.08)}.login-card h1{margin:0 0 8px;font-size:26px}.login-card p{color:var(--muted);line-height:1.5}.error{background:#fff1f3;border:1px solid #ffd0d5;color:#b42318;border-radius:12px;padding:10px;margin:10px 0}.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px;padding:10px;margin:10px 0}@media print{body{background:#fff}.sidebar,.page-head,.toolbar,.savebar,.customer-actions,.accept-box,.no-print{display:none}.app{display:block}.main{padding:0;max-width:none}.doc-sheet{border:0;padding:0;max-width:none}.doc-top,.pos-table th,.sum-table .gross td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pos-table thead{display:table-header-group}.pos-table tr{break-inside:avoid;page-break-inside:avoid}.business-note,.notes-render,.closing,.sum-table{break-inside:avoid;page-break-inside:avoid}@page{size:A4;margin:14mm}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.logout{position:static;margin-top:20px}.cards,.stats,.split{grid-template-columns:1fr}.doc-grid,.accept-grid{grid-template-columns:1fr}.main{padding:18px}.savebar{margin:18px -18px -18px}.position-head{grid-template-columns:1fr}}

.linkbox{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.attachments,.attachments-admin{border:1px solid #E5E7EF;background:#FAFBFD;border-radius:12px;padding:12px;margin:16px 0}.attachments h3,.attachments-admin h3{margin:0 0 8px;font-size:14px}.attachments ul{margin:0;padding-left:18px}.attachments a{color:#11131a;font-weight:700}.attachment-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #E5E7EF;padding:8px 0;font-size:13px}.attachment-row:first-of-type{border-top:0}.signature-pad{width:100%;height:180px;border:1px solid #D0D5DD;border-radius:12px;background:#fff;touch-action:none}.signature-preview{max-width:340px;border:1px solid #E5E7EF;border-radius:12px;background:#fff;margin-top:10px}.desc-html table,.notes-render table{width:100%;border-collapse:collapse;margin:8px 0}.desc-html td,.desc-html th,.notes-render td,.notes-render th{border:1px solid #E5E7EF;padding:6px}
@media print{.attachments{border:0;background:transparent;padding:0}.signature-preview{max-width:260px}}

.preview-actions{justify-content:flex-start;margin-bottom:14px}.preview-actions form{margin:0}
@media print{.preview-actions,.notice.no-print{display:none}}
.customer-suggest-wrap{position:relative}.suggestions{display:none;position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(17,19,26,.12);overflow:hidden;margin-top:4px}.suggestion-item{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer}.suggestion-item:hover{background:#f7f6ff}.suggestion-item strong{display:block}.suggestion-item span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.settings-preview-img{display:block;max-width:180px;max-height:80px;object-fit:contain;border:1px solid var(--line);border-radius:12px;padding:8px;margin-top:8px;background:#fff}.settings-preview-icon{display:block;width:42px;height:42px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:6px;margin-top:8px;background:#fff}
.brand-logo{width:48px;max-height:48px;object-fit:contain;border-radius:10px;background:#fff}.preview-actions .btn.primary{background:#11131a;color:#fff;border-color:#11131a}

/* KI-/Markdown-Formatierung im Editor und fertigen Dokument */
.rich h2,.rich h3,.rich h4,.notes-render h2,.notes-render h3,.notes-render h4,.desc-html h2,.desc-html h3,.desc-html h4{margin:14px 0 7px;line-height:1.25;color:#11131a;letter-spacing:-.02em}.rich h2,.notes-render h2,.desc-html h2{font-size:17px;border-bottom:1px solid #E5E7EF;padding-bottom:5px}.rich h3,.notes-render h3,.desc-html h3{font-size:14px}.rich h4,.notes-render h4,.desc-html h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:#344054}.rich p,.notes-render p,.desc-html p{margin:0 0 9px}.rich ul,.rich ol,.notes-render ul,.notes-render ol,.desc-html ul,.desc-html ol{margin:6px 0 12px 18px;padding:0}.rich li,.notes-render li,.desc-html li{margin:3px 0;line-height:1.55}.rich hr,.notes-render hr,.desc-html hr{border:0;border-top:1px solid #D0D5DD;margin:16px 0}.notes-render strong,.desc-html strong{font-weight:900}.notes-render{font-size:12px}.notes-render>h2:first-child,.notes-render>h3:first-child,.notes-render>p:first-child{margin-top:0}
.confirm-box{display:flex;gap:10px;align-items:flex-start;border:1px solid #D0D5DD;background:#FAFBFD;border-radius:12px;padding:12px;margin:12px 0;line-height:1.45;font-weight:700}.confirm-box input{margin-top:2px}.notice ul{margin:8px 0 0 18px;padding:0}.settings-preview-img{max-width:180px;max-height:80px;display:block;margin-top:8px}.settings-preview-icon{width:42px;height:42px;object-fit:contain;display:block;margin-top:8px}.brand-logo{max-width:46px;max-height:46px;object-fit:contain}
.userbox{margin-top:16px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:inherit;font-size:13px}.userbox span{display:block;opacity:.72;margin-top:3px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.small{padding:5px 9px;font-size:12px}.btn.danger,.btn.small.danger{border-color:#b42318;color:#b42318;background:#fff}.btn.danger:hover{background:#fff4f2}.login-logo{display:block;max-width:180px;max-height:70px;object-fit:contain;margin:0 auto 14px}

.payment-stats .num.small{font-size:22px;white-space:nowrap}.mini-form{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}.mini-form label{display:block;margin-top:8px;font-size:12px;color:#667085}.payment-public-note{margin:14px 0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafbfd;color:#344054}.attachments-admin ul{margin-left:20px}.internal-only{background:#fffdf3;border-color:#ece2aa}

/* Final mobile and production hardening */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,rgba(127,108,255,.16),transparent 32%),linear-gradient(135deg,#FAFBFD 0%,#eef1f8 100%)}
.login-logo{display:block;max-width:190px;max-height:82px;object-fit:contain;margin:0 auto 18px}.brand-logo{max-width:54px;max-height:42px;object-fit:contain}.userbox{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px}.userbox strong{display:block;color:#11131a}.settings-preview-img{max-width:220px;max-height:90px;object-fit:contain;display:block;margin-top:8px}.settings-preview-icon{width:40px;height:40px;object-fit:contain;display:block;margin-top:8px}.suggestions{position:absolute;z-index:30;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(17,19,26,.12);overflow:hidden;display:none;left:0;right:0;top:100%;margin-top:4px}.customer-suggest-wrap{position:relative}.suggestion-item{display:block;width:100%;background:#fff;border:0;text-align:left;padding:10px 12px;cursor:pointer}.suggestion-item:hover{background:#f5f3ff}.suggestion-item span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.split-allocation{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-allocation input[type=range]{width:100%;accent-color:var(--primary)}.payment-public-note ul{margin:8px 0 0 18px}.signature-pad{width:100%;height:180px;border:1px solid var(--line);border-radius:12px;background:#fff;touch-action:none}.signature-preview{max-width:360px;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.linkbox{display:flex;gap:8px}.attachments-admin{border:1px solid var(--line);border-radius:14px;padding:12px;background:#FAFBFD}.attachment-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.attachment-row:last-child{border-bottom:0}
@media(max-width:760px){body{font-size:15px}.sidebar{padding:16px}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar nav a,.logout{padding:10px;font-size:13px}.brand{margin-bottom:16px}.main{padding:14px}.page-head{display:block}.page-head h1{font-size:24px}.toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.toolbar .btn,.toolbar .input,.toolbar select{width:100%;justify-content:center}.cards,.stats{grid-template-columns:1fr}.panel{padding:14px;border-radius:16px}.form-grid,.split-allocation{grid-template-columns:1fr}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border-radius:14px}.table td{white-space:normal;min-width:120px}.table td:last-child{min-width:360px}.position-head{grid-template-columns:1fr}.savebar{position:sticky;bottom:0;display:grid;grid-template-columns:1fr;gap:8px}.savebar .btn{width:100%;justify-content:center}.doc-sheet{max-width:100%;padding:24px 18px;border-radius:0;border-left:0;border-right:0;font-size:12px}.doc-top{display:block}.doc-logo{margin-top:12px;max-width:170px}.doc-grid{grid-template-columns:1fr}.sum-table{width:100%}.customer-actions{display:grid;grid-template-columns:1fr}.accept-box{padding:14px}.accept-grid{grid-template-columns:1fr}.linkbox{display:grid;grid-template-columns:1fr}.login-card{padding:24px;border-radius:18px}.customer-page{margin:10px auto;padding:0 10px}.doc-title{font-size:21px}.pos-table{font-size:11px}.pos-table th,.pos-table td{padding:6px}}

.internal-split-card{margin:0 0 16px;padding:12px;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(180deg,#fff,#FAFBFD);display:grid;grid-template-columns:minmax(150px,190px) minmax(240px,1fr) minmax(150px,190px);gap:14px;align-items:center;box-shadow:0 8px 24px rgba(16,24,40,.05)}
.split-person>span{display:block;font-size:12px;font-weight:900;color:#111827;margin-bottom:6px;letter-spacing:-.01em}.split-right>span{text-align:right}.split-money{height:42px;display:flex;align-items:center;border:1px solid #d0d5dd;border-radius:12px;background:#fff;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.split-money input{border:0;outline:0;width:100%;height:100%;padding:0 9px;background:#fff;font-size:15px;font-weight:800;text-align:right;color:#111827}.split-money b{height:100%;min-width:34px;display:flex;align-items:center;justify-content:center;background:#f2f4f7;border-left:1px solid #e5e7eb;color:#475467;font-size:14px}.split-money:focus-within{border-color:#7F6CFF;box-shadow:0 0 0 3px rgba(127,108,255,.12)}.split-slider-wrap{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.split-caption{text-align:center;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#344054;margin-bottom:7px}.split-slider{width:100%;accent-color:#7F6CFF;cursor:pointer}.split-hint{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#667085;margin-top:4px}.split-note{grid-column:1/-1;width:100%;height:36px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:0 12px;font-size:13px;outline:0;color:#344054}.split-note:focus{border-color:#7F6CFF;box-shadow:0 0 0 3px rgba(127,108,255,.12)}
.position{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;margin-bottom:12px}.positions{margin-top:12px}@media(max-width:980px){.internal-assign-line{grid-template-columns:1fr 1fr}.assign-title{grid-column:1/-1;padding-bottom:0}.note-inline{grid-column:1/-1}}@media(max-width:640px){.internal-assign-line{grid-template-columns:1fr}}
@media(max-width:760px){.internal-split-card{grid-template-columns:1fr;gap:10px}.split-right>span{text-align:left}.split-slider-wrap{order:2}.split-left{order:1}.split-right{order:3}.split-note{order:4;grid-column:auto}.split-caption{text-align:left}.split-hint{font-size:10px}}


/* FINAL: Interne Zuordnung exakt horizontal: links interne Seite, Mitte Regler, rechts aktiver Firma */
.internal-split-card{
  margin:0 0 14px ;
  padding:14px 16px ;
  border:1px solid #e4e7ec ;
  border-radius:16px ;
  background:#fff ;
  display:grid ;
  grid-template-columns:170px minmax(260px,1fr) 170px ;
  gap:18px ;
  align-items:center ;
  box-shadow:0 8px 22px rgba(16,24,40,.045) ;
  overflow-x:auto ;
  min-width:0 ;
}
.internal-split-card::before{
  content:'Interne Zuordnung';
  grid-column:1/-1;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#667085;
  margin-bottom:-2px;
}
.split-person{min-width:150px ;}
.split-person>span{
  display:block ;
  font-size:13px ;
  font-weight:900 ;
  color:#111827 ;
  margin:0 0 6px ;
  letter-spacing:-.01em ;
}
.split-right>span{text-align:right ;}
.split-money{
  height:38px ;
  display:grid ;
  grid-template-columns:1fr 34px ;
  align-items:center ;
  border:1px solid #d0d5dd ;
  border-radius:12px ;
  background:#fff ;
  overflow:hidden ;
  box-shadow:none ;
}
.split-money input{
  width:100% ;
  height:100% ;
  border:0 ;
  outline:0 ;
  padding:0 9px ;
  text-align:right ;
  font-size:15px ;
  font-weight:800 ;
  color:#111827 ;
  background:#fff ;
}
.split-money b{
  height:100% ;
  min-width:34px ;
  display:flex ;
  align-items:center ;
  justify-content:center ;
  background:#f8fafc ;
  border-left:1px solid #e4e7ec ;
  color:#475467 ;
  font-size:14px ;
}
.split-slider-wrap{
  min-width:260px ;
  display:grid ;
  grid-template-rows:auto auto ;
  align-items:center ;
  align-self:center ;
}
.split-caption{display:none ;}
.split-slider{
  width:100% ;
  accent-color:#7F6CFF ;
  cursor:pointer ;
  margin:18px 0 4px ;
}
.split-hint{
  display:flex ;
  justify-content:space-between ;
  color:#98a2b3 ;
  font-size:10px ;
  font-weight:800 ;
  margin-top:0 ;
}
.split-note{
  grid-column:1/-1 ;
  width:100% ;
  height:34px ;
  border:1px solid #e4e7ec ;
  border-radius:10px ;
  background:#fcfcfd ;
  padding:0 10px ;
  font-size:12px ;
  color:#475467 ;
  outline:0 ;
}
@media(max-width:760px){
  .internal-split-card{
    grid-template-columns:150px minmax(230px,1fr) 150px ;
    gap:12px ;
    overflow-x:auto ;
    -webkit-overflow-scrolling:touch ;
  }
  .split-note{min-width:560px ;}
  .split-right>span{text-align:right ;}
}


/* 20260610 FIX: interne Zuordnung als echte horizontale Leiste + Gesamtbetrag */
.internal-split-card{
  width:100% ;
  margin:0 0 18px ;
  padding:16px 18px ;
  border:1px solid #E5E7EF ;
  border-radius:18px ;
  background:#fff ;
  display:grid ;
  grid-template-columns:180px minmax(320px,1fr) 180px ;
  grid-template-areas:
    "title title title"
    "left slider right"
    "note note note" ;
  align-items:center ;
  gap:10px 22px ;
  box-shadow:0 10px 28px rgba(17,19,26,.045) ;
  overflow:visible ;
}
.internal-split-card::before{
  content:'Interne Zuordnung' ;
  grid-area:title ;
  display:block ;
  margin:0 0 2px ;
  font-size:12px ;
  line-height:1.2 ;
  text-transform:uppercase ;
  letter-spacing:.08em ;
  font-weight:900 ;
  color:#667085 ;
}
.split-left{grid-area:left ;}
.split-slider-wrap{grid-area:slider ;min-width:0 ;display:grid ;align-items:center ;gap:7px ;}
.split-right{grid-area:right ;}
.split-note{grid-area:note ;min-width:0 ;}
.split-person>span{
  display:block ;
  margin:0 0 7px ;
  font-size:13px ;
  font-weight:900 ;
  color:#11131a ;
}
.split-right>span{text-align:right ;}
.split-money{
  width:100% ;
  height:42px ;
  display:grid ;
  grid-template-columns:1fr 36px ;
  border:1px solid #D0D5DD ;
  border-radius:12px ;
  background:#fff ;
  overflow:hidden ;
}
.split-money input{
  border:0 ;
  outline:0 ;
  background:#fff ;
  width:100% ;
  height:100% ;
  padding:0 10px ;
  text-align:right ;
  font-size:15px ;
  font-weight:800 ;
  color:#11131a ;
}
.split-money b{
  display:flex ;
  align-items:center ;
  justify-content:center ;
  border-left:1px solid #E5E7EF ;
  background:#F7F8FB ;
  color:#475467 ;
  font-size:14px ;
}
.split-caption{display:none ;}
.split-total{
  text-align:center ;
  font-size:13px ;
  font-weight:900 ;
  color:#11131a ;
  background:#FAFBFD ;
  border:1px solid #EEF1F6 ;
  border-radius:999px ;
  padding:6px 10px ;
  justify-self:center ;
  min-width:220px ;
}
.split-slider{
  width:100% ;
  min-width:260px ;
  margin:0 ;
  accent-color:#7F6CFF ;
  cursor:pointer ;
}
.split-hint{
  display:flex ;
  justify-content:space-between ;
  color:#98A2B3 ;
  font-size:10px ;
  font-weight:800 ;
  margin:0 ;
}
.split-note{
  width:100% ;
  height:36px ;
  border:1px solid #E5E7EF ;
  border-radius:12px ;
  background:#FCFCFD ;
  padding:0 12px ;
  font-size:12px ;
  color:#475467 ;
  outline:0 ;
}
@media(max-width:820px){
  .internal-split-card{
    grid-template-columns:150px minmax(260px,1fr) 150px ;
    min-width:620px ;
    overflow-x:auto ;
  }
  .panel{overflow-x:auto ;}
}

/* Long-document PDF layout inspired by clean multi-page invoice exports */
.doc-sheet-long{position:relative;overflow:visible;padding:54px 46px 46px;max-width:820px;border-color:#e3e7ef;box-shadow:0 18px 55px rgba(17,19,26,.05)}
.doc-head-block{margin-bottom:28px}.doc-brand-row{display:grid;grid-template-columns:170px minmax(0,1fr) 215px;gap:26px;align-items:start}.doc-brand-left{min-height:90px;display:flex;align-items:center}.doc-sheet-long .doc-logo{max-width:160px;max-height:86px}.doc-brand-main{padding-top:4px}.doc-sheet-long .doc-company{font-size:20px;line-height:1.15}.doc-sheet-long .doc-sub{margin-top:8px;letter-spacing:.02em;text-transform:none;color:#444}.doc-sheet-long .doc-addr{font-size:12px;line-height:1.65;color:#555}.doc-docdata{text-align:right;text-transform:uppercase;font-size:11px;font-weight:800;color:#555}.doc-kind{font-size:12px;margin-bottom:12px}.doc-number{font-size:16px;color:#333;margin-bottom:18px}.doc-docdata dl{margin:0;display:grid;gap:10px}.doc-docdata dt{font-size:10px;color:#555}.doc-docdata dd{margin:3px 0 0;font-size:13px;color:#333;text-transform:none}.doc-recipient-block{margin:12px 0 18px}.doc-label{font-size:10px;text-transform:uppercase;color:#555;font-weight:900;margin-bottom:10px;letter-spacing:.04em}.doc-sheet-long .recipient{font-size:13px;line-height:1.65}.doc-sheet-long .doc-title{font-size:24px;margin:12px 0 8px;letter-spacing:-.03em}.doc-sheet-long .salutation{margin-bottom:18px;color:#333}.pos-table-compact{margin:12px 0 24px}.pos-table-compact th{background:#11131a;padding:10px 12px}.pos-table-compact td{padding:12px;border-bottom:1px solid #e1e5ee}.pos-table-compact th:first-child,.pos-table-compact td:first-child{width:58%}.document-content{margin-top:8px}.document-content>h2{font-size:17px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #d7dce6}.flow-content{font-size:12.2px;line-height:1.58;color:#222}.flow-content h1,.flow-content h2,.flow-content h3,.flow-content h4{break-after:avoid;page-break-after:avoid;color:#11131a;line-height:1.25}.flow-content h1{font-size:21px;margin:20px 0 10px}.flow-content h2{font-size:16px;margin:18px 0 9px}.flow-content h3{font-size:13.5px;margin:14px 0 7px;text-transform:none}.flow-content h4{font-size:12.5px;margin:12px 0 6px;color:#333}.flow-content p{margin:0 0 9px}.flow-content ul,.flow-content ol{margin:6px 0 12px 18px;padding:0}.flow-content li{margin:3px 0;padding-left:2px;break-inside:avoid;page-break-inside:avoid}.flow-content hr{border:0;border-top:1px solid #d4dae5;margin:18px 0}.doc-content-section{break-inside:auto;page-break-inside:auto}.long-desc>*:first-child{margin-top:0}.long-desc>*:last-child{margin-bottom:0}.payment-final-block{display:grid;grid-template-columns:1fr 330px;gap:24px;border-top:1px solid #d7dce6;margin-top:24px;padding-top:24px}.payment-info h2{font-size:18px;margin:0 0 18px}.payment-info h3{font-size:11px;text-transform:uppercase;margin:0 0 8px;color:#555;letter-spacing:.04em}.payment-info p{line-height:1.6}.payment-summary .sum-table{width:100%}.payment-public-note{margin-top:12px;background:#FAFBFD;border:1px solid #EAECF0;border-radius:0;padding:11px;line-height:1.55}.notes-render{border-left:0;border-top:1px solid #d7dce6;background:transparent;padding:16px 0;margin:22px 0}.doc-sheet-long .closing{margin-top:24px}.doc-sheet-long .doc-footer{font-size:9px;color:#666;border-top:1px solid #11131a;padding-top:8px;margin-top:24px}.keep-together{break-inside:avoid;page-break-inside:avoid}

@media print{
  @page{size:A4;margin:12mm 12mm 14mm}
  html,body{background:#fff}
  .doc-sheet-long{max-width:none;width:100%;border:0;border-radius:0;box-shadow:none;padding:26mm 0 14mm;margin:0;font-size:11px;line-height:1.45}
  .doc-brand-row{grid-template-columns:45mm 1fr 48mm;gap:10mm}.doc-sheet-long .doc-logo{max-width:42mm;max-height:22mm}.doc-sheet-long .doc-company{font-size:17px}.doc-sheet-long .doc-addr{font-size:10.5px}.doc-docdata{font-size:9.5px}.doc-docdata dd{font-size:11px}.doc-sheet-long .doc-title{font-size:20px;margin-top:8mm}.doc-sheet-long .salutation{font-size:11px}
  .pos-table-compact{font-size:10.5px}.pos-table-compact thead{display:table-header-group}.pos-table-compact tr{break-inside:avoid;page-break-inside:avoid}.pos-table-compact th,.pos-table-compact td{padding:7px 8px}
  .document-content>h2{font-size:15px}.flow-content{font-size:10.8px;line-height:1.42}.flow-content h1{font-size:16px}.flow-content h2{font-size:13px;margin-top:12px}.flow-content h3{font-size:11.5px}.flow-content h4{font-size:11px}.flow-content p{margin-bottom:6px}.flow-content ul,.flow-content ol{margin-top:4px;margin-bottom:8px}.flow-content li{margin:2px 0}.flow-content h1,.flow-content h2,.flow-content h3,.flow-content h4{orphans:3;widows:3;break-after:avoid;page-break-after:avoid}.flow-content p,.flow-content li{orphans:3;widows:3}.payment-final-block{break-inside:avoid;page-break-inside:avoid;grid-template-columns:1fr 78mm;gap:8mm;margin-top:10mm;padding-top:8mm}.payment-info h2{font-size:15px}.sum-table{font-size:10.5px}.closing,.doc-footer,.attachments,.notes-render{break-inside:avoid;page-break-inside:avoid}.doc-footer{font-size:8.2px}.doc-top{border-bottom:0}.business-note{break-inside:avoid;page-break-inside:avoid}
}

@media(max-width:760px){.doc-sheet-long{padding:38px 18px 28px}.doc-brand-row{grid-template-columns:1fr;gap:12px}.doc-docdata{text-align:left;background:#FAFBFD;border:1px solid #EAECF0;border-radius:12px;padding:12px}.payment-final-block{grid-template-columns:1fr}}


/* PRINT REFINEMENT 2026-06-10: sauberere Mehrseiten-Ausgabe */
@media print{
  html, body{background:#fff;margin:0;padding:0;width:210mm;color:#111}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .app,.main,.customer-page{display:block;max-width:none;margin:0;padding:0;background:#fff}
  .sidebar,.page-head,.toolbar,.savebar,.customer-actions,.accept-box,.no-print,.preview-actions,.notice.no-print{display:none}
  .doc-sheet,.doc-sheet-long{width:182mm;max-width:none;margin:0 auto;padding:0;border:0;border-radius:0;box-shadow:none;font-size:10.5pt;line-height:1.45;background:#fff}
  .doc-head-block{margin:0 0 9mm 0;break-inside:avoid;page-break-inside:avoid}
  .doc-brand-row{display:grid;grid-template-columns:38mm 1fr 48mm;gap:7mm;align-items:start}
  .doc-brand-left{min-height:22mm;align-items:flex-start}
  .doc-sheet-long .doc-logo,.doc-logo{max-width:36mm;max-height:22mm;object-fit:contain}
  .doc-company{font-size:14pt;line-height:1.15;letter-spacing:-.02em}
  .doc-sub{font-size:8pt;margin-top:2mm;color:#444;line-height:1.25}
  .doc-addr{font-size:8pt;line-height:1.45;color:#555;margin-top:2mm}
  .doc-docdata{text-align:right;font-size:8pt;color:#555;text-transform:uppercase}
  .doc-kind.doc-kind-badge{font-size:10pt;margin-bottom:2mm;font-weight:900;color:#fff;-webkit-text-fill-color:#fff}
  .doc-number{font-size:11pt;margin-bottom:5mm;color:#222;font-weight:900}
  .doc-docdata dl{gap:2.5mm}
  .doc-docdata dt{font-size:7.3pt;color:#666}
  .doc-docdata dd{font-size:9pt;margin-top:.8mm;color:#222;text-transform:none}
  .doc-recipient-block{margin:8mm 0 6mm 0;break-inside:avoid;page-break-inside:avoid}
  .sender-line{font-size:7pt;margin-bottom:2mm;padding-bottom:1mm}
  .doc-label{font-size:7.5pt;margin-bottom:2mm;color:#555;letter-spacing:.05em}
  .recipient{font-size:9.5pt;line-height:1.45}
  .doc-title{font-size:16pt;line-height:1.2;margin:4mm 0 3mm;break-after:avoid;page-break-after:avoid}
  .salutation{font-size:9.5pt;margin:0 0 5mm;break-after:avoid;page-break-after:avoid}
  .items-section{break-inside:avoid;page-break-inside:avoid;margin-bottom:6mm}
  .pos-table,.pos-table-compact{width:100%;border-collapse:collapse;margin:0 0 6mm;font-size:9pt;break-inside:avoid;page-break-inside:avoid}
  .pos-table thead,.pos-table-compact thead{display:table-header-group}
  .pos-table th,.pos-table-compact th{padding:2.4mm 2.7mm;font-size:7.5pt;background:#11131a;color:#fff;text-transform:uppercase;letter-spacing:.03em}
  .pos-table td,.pos-table-compact td{padding:2.8mm 2.7mm;border-bottom:1px solid #d9dde7;vertical-align:top}
  .pos-table tr,.pos-table-compact tr{break-inside:avoid;page-break-inside:avoid}
  .document-content{margin-top:2mm;break-inside:auto;page-break-inside:auto}
  .document-content>h2{font-size:12pt;margin:0 0 5mm;padding-bottom:2mm;border-bottom:1px solid #d7dce6;break-after:avoid;page-break-after:avoid}
  .flow-content{font-size:9.4pt;line-height:1.42;color:#222}
  .flow-content h1,.flow-content h2,.flow-content h3,.flow-content h4{color:#111;line-height:1.22;break-after:avoid;page-break-after:avoid;orphans:3;widows:3}
  .flow-content h1{font-size:14pt;margin:6mm 0 2.5mm}
  .flow-content h2{font-size:11.5pt;margin:5mm 0 2mm}
  .flow-content h3{font-size:10.2pt;margin:4mm 0 1.6mm}
  .flow-content h4{font-size:9.5pt;margin:3.2mm 0 1.4mm;color:#333}
  .flow-content p{margin:0 0 2.4mm;orphans:3;widows:3}
  .flow-content ul,.flow-content ol{margin:1.5mm 0 3mm 5mm;padding:0;break-inside:auto;page-break-inside:auto}
  .flow-content li{margin:1mm 0;padding-left:1mm;break-inside:avoid;page-break-inside:avoid;orphans:2;widows:2}
  .flow-content hr{border:0;border-top:1px solid #d4dae5;margin:5mm 0}
  .doc-content-section{break-inside:auto;page-break-inside:auto}
  .payment-final-block{display:grid;grid-template-columns:1fr 70mm;gap:8mm;margin-top:8mm;padding-top:6mm;border-top:1px solid #d7dce6;break-inside:avoid;page-break-inside:avoid}
  .payment-info h2{font-size:12pt;margin:0 0 4mm;break-after:avoid;page-break-after:avoid}
  .payment-info h3{font-size:7.6pt;margin:0 0 2mm;color:#555;text-transform:uppercase;letter-spacing:.04em}
  .payment-info p{font-size:9pt;line-height:1.45;margin:0 0 2.5mm}
  .sum-table{width:100%;font-size:9pt;border-collapse:collapse;break-inside:avoid;page-break-inside:avoid}
  .sum-table td{padding:2mm 2.4mm;border-bottom:1px solid #d9dde7}
  .sum-table .gross td{background:#11131a;color:#fff;font-weight:900;border-bottom:0;padding:2.6mm 2.4mm}
  .payment-public-note{font-size:8.7pt;line-height:1.42;margin-top:3mm;padding:2.6mm;border:1px solid #e1e5ee;background:#fafbfd;break-inside:avoid;page-break-inside:avoid}
  .notes-render,.attachments,.closing,.doc-footer{break-inside:avoid;page-break-inside:avoid}
  .notes-render{font-size:9pt;margin:6mm 0;padding:4mm 0;border-top:1px solid #d7dce6;background:transparent;border-left:0}
  .closing{font-size:9.5pt;margin-top:8mm}
  .doc-footer{font-size:7.2pt;line-height:1.35;margin-top:7mm;padding-top:2mm;border-top:1px solid #11131a;color:#555;display:grid;gap:.8mm}
  @page{size:A4;margin:13mm 14mm 13mm 14mm}
}

/* HARD PRINT FIX 2026-06-10: Kunden-PDF ohne überlappende Streifen/Extras */
@media print{
  /* Nur das eigentliche Dokument drucken – keine fremden Widgets/Listen/Browser-UI-Elemente aus der Seite */
  .customer-page > :not(.doc-sheet):not(.doc-sheet-long),
  .main > :not(.doc-sheet):not(.doc-sheet-long),
  .app > :not(.main),
  .preview-actions,
  .customer-actions,
  .accept-box,
  .notice,
  .toolbar,
  .sidebar,
  .savebar,
  .no-print{display:none;}

  html,body{margin:0;padding:0;background:#fff;width:auto;min-width:0;}
  .app,.main,.customer-page{display:block;margin:0;padding:0;max-width:none;width:auto;background:#fff;}

  /* Browser druckt Kopf-/Fußzeilen bei aktivierter Option trotzdem. Dieses Layout vermeidet aber eigene Überlagerungen. */
  @page{size:A4;margin:16mm 15mm 17mm 15mm;}

  .doc-sheet,
  .doc-sheet-long{
    width:180mm;
    max-width:180mm;
    margin:0 auto;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:visible;
    background:#fff;
    color:#111;
    font-size:9.6pt;
    line-height:1.42;
  }

  .doc-head-block{margin:0 0 8mm;break-inside:avoid;page-break-inside:avoid;}
  .doc-brand-row{display:grid;grid-template-columns:36mm 1fr 48mm;gap:7mm;align-items:start;}
  .doc-brand-left{min-height:18mm;align-items:flex-start;}
  .doc-logo{max-width:34mm;max-height:18mm;object-fit:contain;}
  .doc-company{font-size:13pt;line-height:1.12;font-weight:900;}
  .doc-sub{font-size:7.5pt;line-height:1.25;color:#555;margin-top:1.5mm;}
  .doc-addr{font-size:7.5pt;line-height:1.35;color:#555;margin-top:1.5mm;}
  .doc-docdata{font-size:7.4pt;text-align:right;color:#555;text-transform:uppercase;}
  .doc-kind.doc-kind-badge{font-size:9.2pt;font-weight:900;margin-bottom:1.8mm;color:#fff;-webkit-text-fill-color:#fff;}
  .doc-number{font-size:10pt;font-weight:900;margin-bottom:4mm;color:#222;}
  .doc-docdata dl{gap:2.1mm;}
  .doc-docdata dt{font-size:6.9pt;color:#667085;}
  .doc-docdata dd{font-size:8.3pt;margin:.7mm 0 0;color:#222;text-transform:none;font-weight:800;}

  .doc-recipient-block{margin:6mm 0 5mm;break-inside:avoid;page-break-inside:avoid;}
  .sender-line{font-size:6.8pt;margin-bottom:1.8mm;padding-bottom:1mm;color:#777;border-bottom:1px solid #ddd;}
  .doc-label{font-size:7pt;margin-bottom:1.8mm;color:#555;letter-spacing:.04em;}
  .recipient{font-size:8.7pt;line-height:1.38;}
  .doc-title{font-size:15pt;line-height:1.18;margin:3.5mm 0 2.5mm;break-after:avoid;page-break-after:avoid;}
  .salutation{font-size:8.8pt;line-height:1.42;margin:0 0 4.5mm;}

  .items-section{break-inside:avoid;page-break-inside:avoid;margin-bottom:5mm;}
  .pos-table,.pos-table-compact{width:100%;margin:0 0 5mm;font-size:8.4pt;border-collapse:collapse;}
  .pos-table th,.pos-table-compact th{font-size:6.9pt;padding:2.1mm 2.4mm;background:#11131a;color:#fff;}
  .pos-table td,.pos-table-compact td{font-size:8.4pt;padding:2.5mm 2.4mm;border-bottom:1px solid #d9dde7;vertical-align:top;}
  .pos-table th:first-child,.pos-table-compact th:first-child,.pos-table td:first-child,.pos-table-compact td:first-child{width:56%;}
  .pos-table tr,.pos-table-compact tr{break-inside:avoid;page-break-inside:avoid;}

  .document-content{margin-top:1mm;}
  .document-content>h2{font-size:11pt;margin:0 0 4mm;padding-bottom:1.8mm;border-bottom:1px solid #d7dce6;}
  .flow-content{font-size:8.55pt;line-height:1.36;color:#222;}
  .flow-content h1,.flow-content h2,.flow-content h3,.flow-content h4{line-height:1.18;color:#111;break-after:avoid;page-break-after:avoid;orphans:3;widows:3;}
  .flow-content h1{font-size:12.5pt;margin:5mm 0 2mm;}
  .flow-content h2{font-size:10.2pt;margin:4.4mm 0 1.8mm;}
  .flow-content h3{font-size:9.3pt;margin:3.6mm 0 1.4mm;}
  .flow-content h4{font-size:8.8pt;margin:3mm 0 1.2mm;}
  .flow-content p{margin:0 0 2mm;orphans:3;widows:3;}
  .flow-content ul,.flow-content ol{margin:1.2mm 0 2.4mm 4.5mm;padding:0;}
  .flow-content li{margin:.7mm 0;padding-left:.9mm;break-inside:avoid;page-break-inside:avoid;orphans:2;widows:2;}
  .flow-content hr{border:0;border-top:1px solid #d4dae5;margin:4mm 0;}

  .payment-final-block{display:grid;grid-template-columns:1fr 64mm;gap:7mm;margin-top:7mm;padding-top:5mm;border-top:1px solid #d7dce6;break-inside:avoid;page-break-inside:avoid;}
  .payment-info h2{font-size:11pt;margin:0 0 3.5mm;}
  .payment-info h3{font-size:7pt;margin:0 0 1.8mm;color:#555;text-transform:uppercase;}
  .payment-info p{font-size:8.4pt;line-height:1.38;margin:0 0 2.2mm;}
  .sum-table{width:100%;font-size:8.3pt;break-inside:avoid;page-break-inside:avoid;}
  .sum-table td{padding:1.8mm 2mm;border-bottom:1px solid #d9dde7;}
  .sum-table .gross td{background:#11131a;color:#fff;font-weight:900;padding:2.3mm 2mm;}
  .payment-public-note{font-size:8.1pt;line-height:1.36;margin-top:2.6mm;padding:2.3mm;background:#fafbfd;border:1px solid #e1e5ee;}
  .notes-render,.attachments,.closing,.doc-footer{break-inside:avoid;page-break-inside:avoid;}
  .closing{font-size:8.8pt;margin-top:7mm;}
  .doc-footer{font-size:6.8pt;line-height:1.28;margin-top:6mm;padding-top:1.8mm;border-top:1px solid #11131a;color:#555;display:grid;gap:.7mm;}
}

/* 20260610: interne Buchhaltungszuteilung nur Admin änderbar */
.internal-split-readonly{
  margin:0 0 16px;
  padding:10px 12px;
  border:1px solid #E5E7EB;
  border-radius:14px;
  background:#FAFBFD;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  color:#344054;
  font-size:13px;
}
.internal-split-readonly strong{color:#11131a}
.internal-split-readonly span{white-space:nowrap}
@media(max-width:720px){.internal-split-readonly{display:block}.internal-split-readonly span{display:block;margin-top:4px;white-space:normal}}


/* Stats + interne Buchhaltung polish */
.stats-wide{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat.warning{border-color:#fedf89;background:#fffcf5}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title-row h2{margin:0 0 4px}.two-col{grid-template-columns:1.15fr .85fr;gap:18px}.compact-table td,.compact-table th{padding:8px 10px}.internal-stats-panel{border-color:#e9d7fe;background:linear-gradient(180deg,#fff,#fbfaff)}.internal-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.internal-card{border-color:#e9d7fe;background:#fff}.internal-card .label{color:#6941c6}.internal-accounting-panel{background:linear-gradient(180deg,#fff,#FAFBFD);border-color:#e5e7eb}.internal-accounting-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.internal-mini-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.04)}.internal-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f2f4f7}.internal-card-head span{font-weight:900;color:#111827}.internal-card-head strong{font-size:17px;color:#111827;white-space:nowrap}.internal-mini-card label{display:block;margin:10px 0 5px;font-size:12px;font-weight:800;color:#667085}.money-field{display:grid;grid-template-columns:1fr 38px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;overflow:hidden}.money-field input{height:40px;border:0;outline:0;padding:0 10px;text-align:right;font-size:15px;font-weight:800}.money-field b{display:flex;align-items:center;justify-content:center;background:#f8fafc;border-left:1px solid #e5e7eb;color:#475467}.internal-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.internal-readonly-grid>div{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px}.internal-readonly-grid span{display:block;font-size:12px;color:#667085;font-weight:800}.internal-readonly-grid strong{display:block;font-size:18px;margin:4px 0 8px}.internal-files{margin-top:16px}.file-list{display:flex;gap:8px;flex-wrap:wrap}.file-pill{display:inline-flex;flex-direction:column;gap:2px;border:1px solid #d0d5dd;border-radius:999px;padding:8px 12px;background:#fff;text-decoration:none;color:#111827;font-weight:800;font-size:12px}.file-pill span{font-weight:500;color:#667085;font-size:10px}
@media(max-width:980px){.stats-wide,.internal-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.internal-accounting-grid,.internal-readonly-grid{grid-template-columns:1fr}}
@media(max-width:640px){.stats-wide,.internal-stats-grid{grid-template-columns:1fr}}


/* Zahlungseingänge verwalten */
.payment-history-list{display:grid;gap:10px;margin-top:12px}
.payment-receipt-row{display:grid;grid-template-columns:135px 135px 1fr 1.4fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border,#d8dde7);border-radius:14px;background:#fff}
.payment-receipt-row label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;color:#596273}
.payment-receipt-row label span{font-weight:700;color:#293241}
.payment-receipt-row .input{height:38px}
.payment-receipt-row .receipt-actions{display:flex;gap:8px;align-items:end}
.receipt-delete-form{display:flex;justify-content:flex-end;margin-top:-6px;margin-bottom:6px}
.payment-record-form{border-top:1px solid var(--border,#d8dde7);padding-top:14px}
.mark-paid-form .btn.success{background:#173d2f;color:#fff;border-color:#173d2f}
@media(max-width:900px){.payment-receipt-row{grid-template-columns:1fr 1fr}.payment-receipt-row .wide{grid-column:1/-1}.payment-receipt-row .receipt-actions{grid-column:1/-1}.receipt-delete-form{justify-content:flex-start}}

/* CRM-Erweiterung */
.pipeline-grid{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.pipeline-col{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;min-height:180px}
.pipeline-col h3{font-size:13px;margin:0 0 10px;color:#111827;display:flex;justify-content:space-between;align-items:center}
.crm-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:10px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.crm-card strong{display:block;font-size:13px;color:#111827;margin-bottom:3px}.crm-card span{display:block;font-size:12px;color:#4b5563}.crm-card small{display:block;font-size:11px;color:#6b7280;margin-top:4px}.row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.btn.small{padding:4px 8px;font-size:11px;border-radius:8px}.crm-inline-form{display:grid;grid-template-columns:220px 1fr 160px 150px auto;gap:8px;align-items:end}.customer-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.customer-hero h2{margin:0;font-size:24px}.customer-facts{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.customer-facts span{display:block;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;font-size:11px;color:#6b7280}.customer-facts strong{font-size:13px;color:#111827}.note-card{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px;margin:10px 0}.note-card small{color:#6b7280}.note-card p{margin:6px 0 0}.muted{color:#6b7280}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2ff;color:#3730a3;padding:2px 8px;font-size:11px;font-weight:700}
@media(max-width:900px){.pipeline-grid{grid-template-columns:repeat(7,260px)}.crm-inline-form{grid-template-columns:1fr}.customer-hero{display:block}.customer-facts{grid-template-columns:1fr 1fr;margin-top:12px}}

.business-switch select{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:800}.business-unit-grid .toolbar{gap:10px;flex-wrap:wrap}.timeline-list{display:grid;gap:10px;margin-top:12px}.timeline-row{display:grid;grid-template-columns:160px 160px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.timeline-row strong{font-weight:900}.timeline-row span{color:#111;font-weight:800}.timeline-row small{color:var(--muted);line-height:1.4}.logs-table small{color:var(--muted)}.badge.error{background:#fff1f3;color:#b42318}.badge.warning{background:#fffaeb;color:#b54708}.badge.security{background:#eef4ff;color:#3538cd}.gtb-extra{background:#fbfcff;border:1px solid var(--line);margin:14px 0;padding:14px;border-radius:16px}@media(max-width:760px){.timeline-row{grid-template-columns:1fr}.logs-table{font-size:12px}.business-switch{width:100%}.business-switch select{width:100%}}
.gtb-extra{display:none}.gtb-extra.is-active{display:block}

/* 20260610 LAYOUT FIX v6: Kundenakte/Sidebar stabilisieren */
html,body{width:100%;max-width:100%;overflow-x:hidden;}
.app{display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;max-width:100%;align-items:start;}
.sidebar{width:260px;min-width:260px;max-width:260px;overflow-y:auto;overflow-x:hidden;z-index:5;}
.sidebar nav{padding-bottom:82px;}
.sidebar nav a{white-space:normal;line-height:1.25;}
.main{min-width:0;max-width:100%;overflow-x:hidden;}
.grid,.panel,.card,.table,.timeline-list,.timeline-row{min-width:0;max-width:100%;}
.panel{overflow-x:auto;}
.customer-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.25fr);gap:16px;align-items:stretch;}
.customer-hero>div:first-child{min-width:0;}
.customer-hero>.card{grid-column:1/-1;box-shadow:none;background:#fbfcff;}
.customer-hero h2{word-break:break-word;overflow-wrap:anywhere;}
.customer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;}
.customer-facts span{min-width:0;overflow-wrap:anywhere;}
.customer-detail-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;margin-top:18px;align-items:start;}
.customer-detail-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:start;}
.customer-log{overflow-x:hidden;}
.customer-log .timeline-row,.offer-log .timeline-row{grid-template-columns:150px 180px minmax(0,1fr);}
.customer-log .timeline-row small,.offer-log .timeline-row small{overflow-wrap:anywhere;word-break:break-word;}
@media(max-width:1120px){
  .customer-hero,.customer-detail-main,.customer-detail-secondary{grid-template-columns:1fr;}
  .customer-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .app{display:block;}
  .sidebar{width:100%;min-width:0;max-width:none;height:auto;position:relative;}
  .sidebar nav{padding-bottom:0;}
  .logout{position:static;margin-top:16px;}
  .main{width:100%;padding:18px;}
}
@media(max-width:640px){
  .customer-facts{grid-template-columns:1fr;}
  .customer-log .timeline-row,.offer-log .timeline-row{grid-template-columns:1fr;}
}



/* Kunden anlegen: aufgeräumtes Formular */
.customers-layout{display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);gap:20px;align-items:start;max-width:100%;}
.customer-form-panel{padding:0;overflow:hidden;background:#f8fafc;border:1px solid #e5e7eb;}
.customer-form-panel .form-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 20px 16px;background:#fff;border-bottom:1px solid #e5e7eb;}
.customer-form-panel .form-head h2{margin:2px 0 4px;font-size:22px;letter-spacing:-.02em;}
.customer-create-form{display:grid;gap:14px;padding:16px;}
.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.04);min-width:0;}
.form-card-primary{border-color:#d9e2f0;}
.form-card h3{margin:0 0 12px;font-size:15px;color:#111827;}
.form-card-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.form-card-title-row h3{margin:0 0 4px;}
.form-grid{display:grid;gap:12px;}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.form-grid .span-2{grid-column:1/-1;}
.customer-create-form .field{margin:0;min-width:0;}
.customer-create-form label{display:block;margin:0 0 6px;font-size:12px;font-weight:900;color:#344054;}
.customer-create-form .input,.customer-create-form select,.customer-create-form textarea{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:10px 12px;font-size:14px;outline:none;box-shadow:none;}
.customer-create-form textarea{resize:vertical;line-height:1.45;}
.customer-create-form .input:focus,.customer-create-form select:focus,.customer-create-form textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.10);}
.gtb-form-card{background:linear-gradient(180deg,#fff,#fbf7ff);border-color:#e9d5ff;}
.gtb-extra{display:none;}
.gtb-extra.is-active{display:block;}
.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;}
.sticky-actions{position:sticky;bottom:0;background:rgba(248,250,252,.94);backdrop-filter:blur(6px);border-top:1px solid #e5e7eb;margin:2px -16px -16px;padding:14px 16px;z-index:5;}
.customers-list-panel{min-width:0;overflow:hidden;}
.customer-search{margin-bottom:14px;}
.table-scroll{max-width:100%;overflow-x:auto;border:1px solid #e5e7eb;border-radius:16px;background:#fff;}
.table-scroll .table{margin:0;min-width:980px;}
.customers-table td,.customers-table th{vertical-align:top;}
.customers-table .row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:220px;}
.customers-table .row-actions form{display:inline;margin:0;}
@media(max-width:1180px){.customers-layout{grid-template-columns:1fr}.customer-form-panel{max-width:760px}.customers-list-panel{width:100%;}}
@media(max-width:680px){.customer-form-panel .form-head{display:block}.form-grid.two{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.customer-create-form{padding:12px}.form-card{padding:14px;border-radius:16px}.sticky-actions{margin:2px -12px -12px;padding:12px}.form-actions{display:grid}.form-actions .btn{width:100%;text-align:center}.customers-layout{gap:14px}}

/* 20260610 MOBILE OPTIMIERUNG v8: global stabil und touchfreundlich */
:root{--mobile-safe:12px;}
img,svg,canvas,video{max-width:100%;height:auto;}
input,select,textarea,button{font-size:16px;max-width:100%;}
.table,.list-table{max-width:100%;}
.table th,.table td,.list-table th,.list-table td{overflow-wrap:anywhere;word-break:normal;}
.row-actions{min-width:0;}
.row-actions .btn,.toolbar .btn,.customer-actions .btn{white-space:normal;justify-content:center;text-align:center;}

@media(max-width:900px){
  body{font-size:15px;background:#f6f7fb;}
  .app{display:block;min-height:100dvh;width:100%;overflow-x:hidden;}
  .sidebar{position:sticky;top:0;width:100%;min-width:0;max-width:none;height:auto;max-height:42dvh;padding:12px;border-right:0;border-bottom:1px solid var(--line);overflow-y:auto;box-shadow:0 8px 24px rgba(15,23,42,.08);}
  .brand{margin-bottom:10px;gap:10px;}
  .brand-mark{width:36px;height:36px;border-radius:12px;}
  .brand-logo{max-width:44px;max-height:36px;}
  .brand strong{font-size:14px;}
  .brand span{font-size:10px;}
  .sidebar nav{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .sidebar nav a{flex:0 0 auto;min-height:42px;padding:10px 12px;border:1px solid #e5e7eb;background:#fff;scroll-snap-align:start;white-space:nowrap;font-size:13px;}
  .userbox{margin-top:8px;padding-top:8px;font-size:11px;}
  .logout{position:static;display:inline-flex;justify-content:center;width:100%;margin-top:10px;}
  .main{padding:14px;width:100%;max-width:100%;overflow-x:hidden;}
  .page-head{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;margin-bottom:14px;}
  .page-head h1{font-size:23px;line-height:1.15;overflow-wrap:anywhere;}
  .eyebrow{font-size:10px;margin-bottom:4px;}
  .business-switch,.business-switch select{width:100%;}
  .cards,.stats,.stats-wide,.internal-stats-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .card,.panel,.form-card,.accept-box{border-radius:16px;padding:14px;}
  .toolbar{display:grid;grid-template-columns:1fr;gap:8px;width:100%;}
  .toolbar .input,.toolbar select,.toolbar .btn{width:100%;}
  .btn{min-height:42px;padding:10px 12px;align-items:center;}
  .btn.small{min-height:36px;padding:7px 10px;font-size:12px;}
  .form-grid,.form-grid.two,.accept-grid,.two-col,.internal-accounting-grid,.internal-readonly-grid{grid-template-columns:1fr;}
  .split,.customers-layout,.customer-detail-main,.customer-detail-secondary,.customer-hero{grid-template-columns:1fr;display:grid;gap:14px;}
  .customers-layout{gap:14px;}
  .customer-form-panel{max-width:none;width:100%;}
  .customer-form-panel .form-head{padding:16px 14px 12px;}
  .customer-form-panel .form-head h2{font-size:21px;}
  .customer-create-form{padding:12px;gap:12px;}
  .sticky-actions{position:sticky;bottom:0;margin:4px -12px -12px;padding:12px;}
  .form-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .form-actions .btn{width:100%;}
  .customers-list-panel,.table-scroll,.panel{min-width:0;width:100%;max-width:100%;}
  .table-scroll,.panel:has(.table),.panel:has(.list-table){overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .table-scroll .table,.table,.list-table{min-width:760px;}
  .logs-table{min-width:840px;}
  .customers-table{min-width:900px;}
  .compact-table{min-width:780px;}
  .pipeline-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;}
  .pipeline-col{flex:0 0 82vw;max-width:360px;min-width:260px;scroll-snap-align:start;}
  .crm-inline-form{grid-template-columns:1fr;}
  .customer-facts{grid-template-columns:1fr 1fr;}
  .timeline-row,.customer-log .timeline-row,.offer-log .timeline-row{grid-template-columns:1fr;gap:5px;}
  .payment-receipt-row{grid-template-columns:1fr;}
  .payment-receipt-row .receipt-actions{display:grid;width:100%;}
  .savebar{position:sticky;bottom:0;margin:14px -14px -14px;padding:12px;justify-content:stretch;display:grid;grid-template-columns:1fr;}
  .savebar .btn{width:100%;}
  .doc-sheet{max-width:100%;padding:22px 16px;border-radius:12px;overflow-x:auto;}
  .doc-top{display:grid;grid-template-columns:1fr;gap:12px;}
  .doc-grid{grid-template-columns:1fr;gap:14px;}
  .sum-table{width:100%;margin-left:0;}
  .pos-table{min-width:640px;}
  .customer-page{padding:0 10px;margin:10px auto;}
  .customer-actions{display:grid;grid-template-columns:1fr;max-width:none;margin:10px 0;}
  .signature-pad{width:100%;height:auto;min-height:140px;}
}

@media(max-width:560px){
  .main{padding:10px;}
  .sidebar{padding:10px;max-height:46dvh;}
  .cards,.stats,.stats-wide,.internal-stats-grid,.customer-facts{grid-template-columns:1fr;}
  .page-head h1{font-size:21px;}
  .card,.panel,.form-card,.accept-box{padding:12px;border-radius:14px;}
  .customer-form-panel .form-head{padding:14px 12px 10px;}
  .customer-create-form{padding:10px;}
  .customer-create-form .input,.customer-create-form select,.customer-create-form textarea,.input,select,textarea{min-height:44px;width:100%;}
  .form-card-title-row{display:block;}
  .badge{white-space:normal;text-align:center;}
  .pipeline-col{flex-basis:88vw;}
  .table-scroll .table,.table,.list-table{min-width:700px;}
  .logs-table{min-width:760px;}
  .customers-table{min-width:820px;}
  .doc-sheet{padding:18px 12px;font-size:11px;}
  .doc-title{font-size:20px;}
  .meta div{display:grid;grid-template-columns:1fr;gap:2px;}
}

@media(max-width:390px){
  .sidebar nav a{font-size:12px;padding:9px 10px;}
  .btn{font-size:14px;}
  .page-head h1{font-size:19px;}
  .pipeline-col{flex-basis:92vw;}
}

/* Multi-Firma UI v10 */
:root{--brand-primary:#12395b;--brand-accent:#d99a28;--surface:#ffffff;--soft:#f5f7fb;--line:#dfe6ef;--text:#132033;--muted:#667085;}
.sidebar{background:linear-gradient(180deg,var(--brand-primary),#0b1728);color:#fff;box-shadow:12px 0 30px rgba(15,23,42,.12)}
.sidebar nav a{color:rgba(255,255,255,.86);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.3)}
.brand{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px}.brand-mark{background:var(--brand-accent);color:#111827;-webkit-text-fill-color:#111827}.brand span{color:rgba(255,255,255,.72)}.userbox{color:#fff;border-top-color:rgba(255,255,255,.18)}.logout{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
.page-head{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.page-head h1{color:var(--brand-text,var(--brand-primary));-webkit-text-fill-color:var(--brand-text,var(--brand-primary))}.eyebrow{color:var(--brand-text,var(--brand-primary));-webkit-text-fill-color:var(--brand-text,var(--brand-primary));letter-spacing:.08em}.btn.primary,.button.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}.btn.accent{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-on,#111);-webkit-text-fill-color:var(--brand-accent-on,#111)}.badge{border-color:color-mix(in srgb,var(--brand-accent) 45%,#fff);background:var(--brand-soft,color-mix(in srgb,var(--brand-accent) 12%,#fff));color:var(--brand-text,var(--brand-primary));-webkit-text-fill-color:var(--brand-text,var(--brand-primary))}
.home-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:22px;align-items:stretch;background:radial-gradient(circle at top right,color-mix(in srgb,var(--brand-accent) 16%,#fff),transparent 45%),linear-gradient(135deg,#fff,#f8fafc)}
.home-hero h2{font-size:clamp(26px,4vw,42px);line-height:1.05;margin:6px 0 8px;color:var(--brand-primary)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.company-switch-cards{display:grid;gap:10px}.company-switch-card{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);background:#fff;border-radius:16px;text-decoration:none;color:var(--text);box-shadow:0 10px 24px rgba(15,23,42,.05)}.company-switch-card.active{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 14%,transparent)}.company-switch-card img{width:52px;height:42px;object-fit:contain}.company-switch-card b{display:grid;place-items:center;width:52px;height:42px;border-radius:12px;background:var(--brand-primary);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}.company-switch-card span{font-weight:700;font-size:13px;line-height:1.2}
.branch-panel{border-left:5px solid var(--brand-accent)}.department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:12px}.department-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--text);background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:14px}.department-card:hover{border-color:var(--brand-primary);background:#fff}.department-card span{color:var(--muted);font-size:13px}.company-settings-card{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff,#f8fafc)}.company-settings-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.company-settings-head img{width:70px;height:50px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px}.company-settings-head b{display:grid;place-items:center;width:70px;height:50px;border-radius:14px;background:var(--brand-primary);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}.company-settings-head h3{margin:0;color:var(--brand-primary)}
.customer-form-panel .form-card{border:1px solid var(--line);background:#fff}.form-card-primary{box-shadow:0 14px 30px rgba(15,23,42,.06)}.gtb-form-card{display:none}.gtb-form-card.is-active{display:block}.customer_department_pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--soft);border:1px solid var(--line)}
.doc-company{color:var(--brand-primary)}.doc-footer{border-top-color:var(--brand-primary)}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}.company-switch-cards{grid-template-columns:1fr}.hero-actions{display:grid}.hero-actions .btn{width:100%}}
@media(max-width:560px){.page-head{padding:14px}.home-hero h2{font-size:26px}.company-settings-card{padding:14px}.company-settings-head{align-items:flex-start}.department-grid{grid-template-columns:1fr}.company-switch-card{grid-template-columns:44px 1fr}.company-switch-card img,.company-switch-card b{width:44px;height:38px}}

/* v11 Zeiterfassung */
.panel-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-headline h2{margin:0}.time-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.time-summary-grid>div{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.09);border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.time-summary-grid span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.time-summary-grid strong{font-size:24px;color:var(--brand-primary,#12395b)}.running-timer-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(217,154,40,.35);background:linear-gradient(135deg,rgba(217,154,40,.13),rgba(18,57,91,.05));border-radius:18px;padding:16px;margin:14px 0}.running-timer-card h3{margin:0 0 6px}.live-timer{font-size:34px;color:var(--brand-primary,#12395b);font-variant-numeric:tabular-nums}.time-start-form{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:16px;margin:14px 0}.manual-time{margin:16px 0;border:1px dashed rgba(15,23,42,.2);border-radius:16px;padding:12px 14px;background:#fbfdff}.manual-time summary{cursor:pointer;font-weight:700;color:var(--brand-primary,#12395b)}.manual-time form{margin-top:14px}.checkline{display:flex;align-items:center;gap:8px;font-weight:600}.time-table td,.time-table th{vertical-align:top}.time-table strong[data-is-running="1"]{color:#b45309;font-variant-numeric:tabular-nums}.inline-form{display:inline}.filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filter-row label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#334155}.filter-row select,.manual-time select{min-height:42px;border:1px solid #dbe3ef;border-radius:10px;padding:8px 10px;background:#fff}.time-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.hero-time-summary{margin:0;grid-template-columns:minmax(96px,.85fr) minmax(128px,1fr) minmax(190px,1.45fr)}.field-wide{grid-column:1/-1}
@media (max-width: 820px){.panel-headline,.running-timer-card{flex-direction:column;align-items:stretch}.time-summary-grid,.time-hero{grid-template-columns:1fr}.live-timer{font-size:28px}.time-start-form,.manual-time{padding:12px}.filter-row{align-items:stretch}.filter-row label,.filter-row .btn{width:100%}}
/* V12 Zugangsdaten-Tresor */
.vault-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:18px;align-items:stretch}
.vault-warning{background:rgba(12,26,44,.08);border:1px solid rgba(12,26,44,.12);border-radius:16px;padding:16px;line-height:1.45}
.vault-warning code,.vault-secret{white-space:normal;word-break:break-all}
.vault-form .field-wide{grid-column:1/-1}
.vault-table details,.credential-panel details{cursor:pointer}
.vault-table summary,.credential-panel summary{font-weight:700;color:var(--brand-primary)}
.vault-secret{display:block;margin-top:8px;padding:10px;border-radius:10px;background:#f6f7f9;border:1px solid #e7e9ee}
.credential-panel{border:1px solid rgba(217,154,40,.22)}
@media(max-width:760px){.vault-hero{grid-template-columns:1fr}.vault-form{grid-template-columns:1fr}.vault-table td{min-width:160px}}

/* V13 Premium UI / Sidebar Redesign */
:root{
  --ui-radius:20px;
  --ui-shadow:0 18px 55px rgba(15,23,42,.10);
  --ui-shadow-soft:0 10px 30px rgba(15,23,42,.07);
  --ui-bg:#f3f6fb;
  --ui-card:#ffffff;
  --ui-border:rgba(148,163,184,.22);
}
body{
  background:
    radial-gradient(circle at 15% 0%, color-mix(in srgb,var(--brand-primary,#12395b) 9%, transparent), transparent 30%),
    linear-gradient(180deg,#f8fafc 0%,#eef3f9 100%);
  color:#132033;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.app{
  grid-template-columns:292px minmax(0,1fr);
  min-height:100dvh;
}
.sidebar{
  width:292px;
  min-width:292px;
  max-width:292px;
  height:100dvh;
  padding:18px 16px;
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-right:0;
  background:
    radial-gradient(circle at 30% 0%, color-mix(in srgb,var(--brand-accent,#d99a28) 22%, transparent), transparent 35%),
    linear-gradient(180deg, color-mix(in srgb,var(--brand-primary,#12395b) 94%, #111827) 0%, #07111f 100%);
  box-shadow:18px 0 50px rgba(15,23,42,.20);
}
.sidebar:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 22%,rgba(255,255,255,.035));
}
.brand{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:76px;
  padding:12px;
  margin:0 0 16px;
  border-radius:24px;
  background:rgba(255,255,255,.105);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 14px 34px rgba(0,0,0,.12);
  backdrop-filter:blur(18px);
}
.brand-logo,.brand .brand-logo{
  width:52px;
  height:52px;
  max-width:52px;
  max-height:52px;
  border-radius:18px;
  object-fit:contain;
  background:#fff;
  padding:7px;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.brand-mark{
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--brand-accent,#d99a28),#fff4b8);
  color:#101828;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.brand strong{
  color:#fff;
  font-size:14px;
  line-height:1.15;
  letter-spacing:-.02em;
  white-space:normal;
}
.brand span{
  color:rgba(255,255,255,.66);
  font-size:11px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sidebar nav{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:3px 3px 110px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.25) transparent;
}
.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}
.sidebar nav a{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  min-height:42px;
  gap:9px;
  padding:6px 9px;
  border-radius:15px;
  border:1px solid transparent;
  background:transparent;
  color:rgba(255,255,255,.76);
  font-size:13px;
  font-weight:760;
  text-decoration:none;
  line-height:1.18;
  transition:background .16s ease, color .16s ease, transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.sidebar nav a:hover{
  transform:translateX(3px);
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
}
.sidebar nav a.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));
  border-color:rgba(255,255,255,.28);
  box-shadow:0 12px 28px rgba(0,0,0,.18), inset 3px 0 0 var(--brand-accent,#d99a28);
}
.sidebar nav a.active:after{
  content:"";
  position:absolute;
  right:10px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--brand-accent,#d99a28);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent,#d99a28) 22%, transparent);
}
.nav-ico{
  display:grid;
  place-items:center;
  width:34px;
  height:30px;
  border-radius:12px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:14px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.sidebar nav a.active .nav-ico,
.sidebar nav a:hover .nav-ico{
  background:var(--brand-accent,#d99a28);
  color:#111827;
}
.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:14px;}
.userbox{
  position:absolute;
  left:16px;
  right:16px;
  bottom:72px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.095);
  color:#fff;
  backdrop-filter:blur(14px);
  box-shadow:0 10px 24px rgba(0,0,0,.11);
}
.userbox strong{display:block;font-size:13px;color:#fff;line-height:1.15}.userbox span{display:block;margin-top:3px;color:rgba(255,255,255,.65);font-size:11px}
.logout{
  position:absolute;
  left:16px;
  right:16px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:850;
  text-decoration:none;
  transition:background .16s ease, transform .16s ease;
}
.logout:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.main{
  max-width:none;
  width:100%;
  min-width:0;
  padding:26px clamp(18px,2.3vw,34px);
}
.page-head{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  padding:20px 22px;
  background:
    radial-gradient(circle at right top, color-mix(in srgb,var(--brand-accent,#d99a28) 18%, transparent), transparent 38%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.92));
  border:1px solid rgba(148,163,184,.22);
  box-shadow:var(--ui-shadow-soft);
}
.page-head h1{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.055em;margin:0;color:var(--brand-text,var(--brand-primary,#12395b));-webkit-text-fill-color:var(--brand-text,var(--brand-primary,#12395b))}.page-head .muted{font-size:13px;margin-top:6px}
.card,.panel,.form-card,.company-settings-card,.accept-box,.time-start-form,.manual-time,.running-timer-card,.vault-warning{
  border-color:rgba(148,163,184,.22);
  box-shadow:0 12px 34px rgba(15,23,42,.055);
}
.card:hover,.panel:hover,.form-card:hover{box-shadow:0 16px 42px rgba(15,23,42,.08)}
.btn{
  border-radius:14px;
  min-height:40px;
  box-shadow:0 6px 15px rgba(15,23,42,.05);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08)}
.input,select,textarea{border-radius:14px;min-height:40px;border-color:rgba(148,163,184,.35)}
.table{box-shadow:0 12px 34px rgba(15,23,42,.05);border-color:rgba(148,163,184,.24)}.table th{background:linear-gradient(135deg,var(--brand-primary,#12395b),#101828)}
.business-switch select{min-width:230px;background:#fff;border-color:rgba(148,163,184,.32);box-shadow:0 8px 18px rgba(15,23,42,.06)}

@media(max-width:1020px){
  .app{grid-template-columns:1fr;}
  .sidebar{
    width:100%;
    min-width:0;
    max-width:none;
    height:auto;
    max-height:none;
    position:sticky;
    top:0;
    z-index:50;
    padding:10px 12px;
    overflow:visible;
    border-radius:0 0 24px 24px;
    box-shadow:0 16px 36px rgba(15,23,42,.20);
  }
  .brand{
    min-height:58px;
    grid-template-columns:42px minmax(0,1fr);
    margin-bottom:9px;
    padding:8px;
    border-radius:18px;
  }
  .brand-logo,.brand .brand-logo,.brand-mark{width:42px;height:42px;border-radius:14px;}
  .brand strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{display:none;}
  .sidebar nav{
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 2px 8px;
    scrollbar-width:none;
  }
  .sidebar nav::-webkit-scrollbar{display:none}
  .sidebar nav a{
    flex:0 0 auto;
    display:flex;
    grid-template-columns:none;
    min-height:40px;
    padding:7px 10px;
    border-radius:999px;
    white-space:nowrap;
  }
  .sidebar nav a:hover{transform:none;}
  .sidebar nav a.active{box-shadow:0 8px 18px rgba(0,0,0,.18);inset:auto;}
  .sidebar nav a.active:after{display:none;}
  .nav-ico{width:28px;height:26px;border-radius:999px;font-size:12px}.nav-label{padding-right:0;}
  .userbox,.logout{display:none;}
  .main{padding:16px 12px;}
}
@media(max-width:640px){
  .page-head{display:grid;gap:12px;padding:14px;border-radius:20px;}
  .business-switch select{width:100%;min-width:0;}
  .main{padding:12px 10px;}
  .brand{margin-bottom:8px;}
  .sidebar nav a{font-size:12px;padding:7px 9px;}
  .nav-ico{display:none;}
  .card,.panel,.form-card,.company-settings-card{border-radius:18px;}
}

/* V14 Sidebar Scroll/Fix: Desktop sidebar bleibt sichtbar, Navigation scrollt intern sauber */
@media (min-width:1021px){
  html,body{min-height:100%;}
  .app{grid-template-columns:292px minmax(0,1fr);align-items:start;}
  .sidebar{
    position:sticky;
    top:0;
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .sidebar .brand{flex:0 0 auto;}
  .sidebar nav{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    padding:3px 3px 132px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .userbox,.logout{flex:0 0 auto;}
}

/* Mobile: Navigation bleibt oben sichtbar und horizontal scrollbar */
@media (max-width:1020px){
  .sidebar{
    position:sticky;
    top:0;
    z-index:999;
    overflow:hidden;
  }
  .sidebar nav{
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
}


/* V15: Karten-Icons + mehr Abstand + Sidebar Feinschliff */
:root{
  --card-gap-lg:22px;
  --card-pad-lg:22px;
  --card-icon-size:48px;
}
.grid{gap:var(--card-gap-lg);}
.cards{gap:22px;}
.stats{gap:18px;margin-bottom:22px;}
.panel{padding:22px;margin-bottom:22px;}
.card{padding:var(--card-pad-lg);border-radius:22px;}
.card h3{font-size:17px;margin-bottom:10px;line-height:1.22;}
.card p{font-size:13.5px;line-height:1.62;}
.big-link{display:block;height:100%;}
.big-link .card{
  position:relative;
  min-height:168px;
  padding:22px 22px 22px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb,var(--brand-accent,#d99a28) 14%, transparent), transparent 30%),
    linear-gradient(180deg,#fff,#f8fafc);
}
.big-link .card:before{
  content:"•";
  display:grid;
  place-items:center;
  width:var(--card-icon-size);
  height:var(--card-icon-size);
  margin-bottom:12px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 76%, #111827));
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 12px 26px color-mix(in srgb,var(--brand-primary,#12395b) 22%, transparent);
}
.big-link .card:after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:96px;
  height:96px;
  border-radius:999px;
  background:color-mix(in srgb,var(--brand-primary,#12395b) 6%, transparent);
  pointer-events:none;
}
.cards .big-link:nth-child(1) .card:before{content:"👥";}
.cards .big-link:nth-child(2) .card:before{content:"▦";}
.cards .big-link:nth-child(3) .card:before{content:"✎";}
.cards .big-link:nth-child(4) .card:before{content:"€";}
.cards .big-link:nth-child(5) .card:before{content:"◷";}
.cards .big-link:nth-child(6) .card:before{content:"≡";}
.cards .big-link:nth-child(7) .card:before{content:"⚙";}
.big-link:hover .card{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--brand-primary,#12395b) 28%, #cbd5e1);
  box-shadow:0 22px 50px rgba(15,23,42,.12);
}
.big-link:hover .card:before{
  background:linear-gradient(135deg,var(--brand-accent,#d99a28),#fff1a8);
  color:#111827;
}
.stat{
  position:relative;
  min-height:116px;
  padding-left:78px;
  overflow:hidden;
}
.stat:before{
  content:"";
  position:absolute;
  left:20px;
  top:22px;
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--brand-primary,#12395b) 10%, #fff);
  color:var(--brand-primary,#12395b);
  font-size:19px;
  font-weight:900;
  border:1px solid color-mix(in srgb,var(--brand-primary,#12395b) 12%, transparent);
}
.stats .stat:nth-child(1):before{content:"A";}
.stats .stat:nth-child(2):before{content:"R";}
.stats .stat:nth-child(3):before{content:"👥";}
.stats .stat:nth-child(4):before{content:"!";}
.stats .stat:nth-child(5):before{content:"◌";}
.stats .stat:nth-child(6):before{content:"↺";}
.stats .stat:nth-child(7):before{content:"◷";}
.stat .num{line-height:1;margin-top:2px;}
.stat .label{margin-top:8px;line-height:1.25;}
.department-grid{gap:16px;margin-top:16px;}
.department-card{
  position:relative;
  min-height:108px;
  padding:18px 18px 18px 72px;
  border-radius:20px;
  justify-content:center;
}
.department-card:before{
  content:"◎";
  position:absolute;
  left:18px;
  top:20px;
  width:38px;
  height:38px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:var(--brand-primary,#12395b);
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 20px color-mix(in srgb,var(--brand-primary,#12395b) 18%, transparent);
}
.department-card:nth-child(1):before{content:"•";}
.department-card:nth-child(2):before{content:"TN";font-size:12px;}
.department-card:nth-child(3):before{content:"FB1";font-size:11px;}
.department-card:nth-child(4):before{content:"FB2";font-size:11px;}
.department-card:nth-child(5):before{content:"FB4";font-size:11px;}
.department-card strong{line-height:1.25;}
.company-switch-cards{gap:14px;}
.company-switch-card{padding:15px;border-radius:20px;}
.home-hero{gap:24px;margin-bottom:24px;}
/* Sidebar: etwas luftiger, klarere Klickflächen */
.sidebar{padding:20px 17px;}
.sidebar nav{gap:7px;padding:5px 3px 118px;}
.sidebar nav a{min-height:46px;padding:7px 10px;border-radius:17px;}
.nav-ico{width:36px;height:32px;border-radius:13px;}
.brand{margin-bottom:18px;}
.userbox{bottom:76px;}
.main{padding:30px clamp(20px,2.6vw,40px);}
.page-head{margin-bottom:26px;}
.table-scroll{margin-top:6px;}
@media(max-width:1020px){
  .sidebar nav{gap:9px;padding:0 2px 10px;}
  .sidebar nav a{min-width:max-content;min-height:42px;}
  .main{padding:18px 14px 26px;}
  .cards,.stats{gap:14px;}
  .big-link .card{min-height:152px;}
  .stat{padding-left:68px;}
  .stat:before{left:16px;top:18px;}
}
@media(max-width:680px){
  :root{--card-pad-lg:17px;--card-gap-lg:14px;--card-icon-size:42px;}
  .cards,.stats{grid-template-columns:1fr;}
  .panel{padding:16px;margin-bottom:16px;}
  .card{border-radius:18px;}
  .big-link .card{min-height:auto;padding:18px;}
  .big-link .card:before{width:42px;height:42px;border-radius:15px;margin-bottom:10px;font-size:19px;}
  .stat{min-height:94px;padding-left:68px;}
  .stat:before{width:38px;height:38px;border-radius:14px;}
  .department-card{min-height:92px;padding:16px 16px 16px 64px;}
  .department-card:before{left:16px;top:18px;width:34px;height:34px;border-radius:13px;}
}

/* V16 Sidebar Command Center: Firmenumschalter, Gruppen, Badges, Schnellaktionen, einklappbar */
@media (min-width:901px){
  .app{grid-template-columns:292px minmax(0,1fr);}
  body.sidebar-collapsed .app{grid-template-columns:92px minmax(0,1fr);}
  .sidebar-command{width:292px;min-width:292px;max-width:292px;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.18),transparent 34%),linear-gradient(180deg,var(--brand-primary),#07111f 72%,#050b14);border-right:0;box-shadow:18px 0 46px rgba(15,23,42,.18);overflow:hidden;}
  body.sidebar-collapsed .sidebar-command{width:92px;min-width:92px;max-width:92px;padding:14px 10px;}
  .sidebar-collapse{position:absolute;right:12px;top:12px;width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.10);color:#fff;font-weight:900;cursor:pointer;z-index:3;}
  .sidebar-collapse:hover{background:rgba(255,255,255,.18)}
  .premium-brand{flex:0 0 auto;margin:0;padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 14px 34px rgba(0,0,0,.18);min-height:88px;}
  .premium-brand .brand-logo,.premium-brand .brand-mark{width:48px;height:48px;min-width:48px;border-radius:17px;background:#fff;color:var(--brand-primary);object-fit:contain;padding:4px;}
  .brand-copy{min-width:0}.brand-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58);margin-bottom:4px;font-weight:900}.premium-brand strong{color:#fff;font-size:14px;line-height:1.15;max-width:174px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.premium-brand em{display:block;font-style:normal;color:rgba(255,255,255,.66);font-size:11px;line-height:1.3;margin-top:3px;max-width:174px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sidebar-company-switch{flex:0 0 auto;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.07);display:grid;gap:7px}.sidebar-company-switch label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55);font-weight:900}.sidebar-company-switch select{width:100%;min-width:0;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);color:#fff;font-weight:800;padding:9px 10px}.sidebar-company-switch select option{color:#111;background:#fff}
  .sidebar-quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;flex:0 0 auto}.sidebar-quick-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:12px;font-weight:900;border-radius:15px;padding:10px 7px;background:linear-gradient(135deg,var(--brand-accent),rgba(255,255,255,.16));border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 22px rgba(0,0,0,.13)}.sidebar-quick-actions a:hover{transform:translateY(-1px);filter:brightness(1.06)}
  .sidebar-command nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;gap:5px;padding:2px 4px 8px;margin:0 -4px;scrollbar-width:thin;}
  .nav-group{margin:14px 10px 6px}.nav-group span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.45)}
  .sidebar-command nav a{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:6px 9px;border-radius:17px;color:rgba(255,255,255,.82);background:transparent;border:1px solid transparent;text-decoration:none;font-weight:800;box-shadow:none;transition:background .16s ease, transform .16s ease, border-color .16s ease;color-scheme:dark;}
  .sidebar-command nav a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12);transform:translateX(2px);color:#fff;}
  .sidebar-command nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));border-color:rgba(255,255,255,.25);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18);}
  .sidebar-command nav a.active:after{content:"";position:absolute;left:-4px;top:12px;bottom:12px;width:4px;border-radius:99px;background:var(--brand-accent);box-shadow:0 0 18px var(--brand-accent)}
  .sidebar-command .nav-ico{width:36px;height:34px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.11);color:#fff;font-size:15px;line-height:1;border:1px solid rgba(255,255,255,.10);}
  .sidebar-command nav a.active .nav-ico,.sidebar-command nav a:hover .nav-ico{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.22);}
  .sidebar-command .nav-label{padding-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .nav-badge{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--brand-accent);color:#08111e;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:1000;box-shadow:0 8px 18px rgba(0,0,0,.18)}
  .sidebar-today{flex:0 0 auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:20px;padding:12px;color:#fff}.sidebar-today strong{display:block;font-size:12px;margin-bottom:8px}.sidebar-today ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.sidebar-today li{font-size:12px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:7px}.sidebar-today li span{min-width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:900}
  .premium-userbox{flex:0 0 auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:19px;padding:12px;margin:0;color:#fff;}.premium-userbox strong{display:block;color:#fff}.premium-userbox span,.premium-userbox small{display:block;color:rgba(255,255,255,.62);font-size:11px;margin-top:2px}.sidebar-command .logout{position:static;flex:0 0 auto;margin:0;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.76);min-height:42px;}
  body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .sidebar-company-switch,body.sidebar-collapsed .sidebar-quick-actions,body.sidebar-collapsed .nav-group,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .nav-badge,body.sidebar-collapsed .sidebar-today,body.sidebar-collapsed .premium-userbox span,body.sidebar-collapsed .premium-userbox small,body.sidebar-collapsed .logout{display:none;}
  body.sidebar-collapsed .premium-brand{padding:10px;justify-content:center;min-height:68px;}body.sidebar-collapsed .premium-brand .brand-logo,body.sidebar-collapsed .premium-brand .brand-mark{width:44px;height:44px;min-width:44px;}body.sidebar-collapsed .sidebar-command nav a{grid-template-columns:1fr;justify-items:center;padding:7px;}body.sidebar-collapsed .sidebar-command .nav-ico{width:42px;height:38px;}body.sidebar-collapsed .premium-userbox{display:flex;justify-content:center;}body.sidebar-collapsed .premium-userbox strong{font-size:0;}body.sidebar-collapsed .premium-userbox strong:before{content:'👤';font-size:18px;}
}
@media (max-width:900px){
  .sidebar-collapse{display:none}.sidebar-command{background:linear-gradient(135deg,var(--brand-primary),#0b1728);color:#fff}.premium-brand{padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.10)}.brand-copy .brand-kicker,.brand-copy em{display:none}.sidebar-company-switch{display:none}.sidebar-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;margin:8px 0}.sidebar-quick-actions a{text-decoration:none;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:10px;text-align:center;font-weight:900;font-size:12px}.nav-group{display:none}.nav-badge{margin-left:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--brand-accent);color:#111;font-size:11px;font-weight:900}.sidebar-today{display:none}.premium-userbox{display:none}.sidebar-command .logout{display:none}.sidebar-command nav a{display:flex;align-items:center;gap:7px}.sidebar-command nav a .nav-ico{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:rgba(0,0,0,.12);border-radius:999px;font-size:12px}.sidebar-command nav a .nav-label{white-space:nowrap;}
}

/* V17: Sidebar Entklemmung / saubere Command-Center-Struktur
   Problem in V16: verschachtelte Scrollbereiche (.sidebar + nav) konnten auf Desktop klemmen.
   Fix: genau EIN Scrollcontainer: die Sidebar selbst. Nav scrollt nicht mehr separat. */
@media (min-width:901px){
  html,body{
    min-height:100%;
    overflow-x:hidden;
  }
  .app{
    align-items:start;
    min-height:100dvh;
    width:100%;
    overflow:visible;
  }
  .sidebar.sidebar-command{
    position:sticky;
    top:0;
    align-self:start;
    height:100dvh;
    max-height:100dvh;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:18px 16px 18px;
    gap:12px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.34) transparent;
  }
  .sidebar.sidebar-command::-webkit-scrollbar{width:8px;}
  .sidebar.sidebar-command::-webkit-scrollbar-track{background:transparent;}
  .sidebar.sidebar-command::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.28);
    border-radius:999px;
    border:2px solid transparent;
    background-clip:padding-box;
  }
  .sidebar.sidebar-command:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.42);background-clip:padding-box;}

  /* Kein zweiter Scrollcontainer im Menü. Dadurch reagiert das Mausrad sauber. */
  .sidebar.sidebar-command nav{
    flex:0 0 auto;
    min-height:auto;
    max-height:none;
    overflow:visible;
    padding:4px 0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:5px;
  }

  .premium-brand,
  .sidebar-company-switch,
  .sidebar-quick-actions,
  .sidebar-today,
  .premium-userbox,
  .sidebar-command .logout{
    flex:0 0 auto;
  }

  .sidebar-command nav a{
    width:100%;
    min-width:0;
    transform:none;
  }
  .sidebar-command nav a:hover{
    transform:none;
  }
  .sidebar-command nav a:active{
    transform:scale(.992);
  }
  .nav-group{
    margin:15px 8px 6px;
  }

  /* Unten nicht festkleben. Alles bleibt Teil desselben Scrollflows. */
  .premium-userbox{
    margin-top:10px;
  }
  .sidebar-command .logout{
    margin-top:0;
  }

  /* Collapsed: auch hier nur Sidebar selbst scrollt. */
  body.sidebar-collapsed .sidebar.sidebar-command{
    overflow-y:auto;
    overflow-x:hidden;
    padding:14px 10px;
  }
  body.sidebar-collapsed .sidebar.sidebar-command nav{
    overflow:visible;
    gap:7px;
  }
  body.sidebar-collapsed .sidebar-collapse{
    right:8px;
    top:8px;
  }
}

/* Kleine Notebook-Höhen: Sidebar verdichten, damit nichts gequetscht wirkt. */
@media (min-width:901px) and (max-height:820px){
  .sidebar.sidebar-command{gap:9px;padding-top:14px;padding-bottom:14px;}
  .premium-brand{min-height:72px;padding:12px;border-radius:20px;}
  .premium-brand .brand-logo,.premium-brand .brand-mark{width:42px;height:42px;min-width:42px;}
  .premium-brand em{display:none;}
  .sidebar-company-switch{padding:9px;}
  .sidebar-quick-actions a{padding:8px 6px;}
  .sidebar-today{padding:10px;}
  .sidebar-today li{font-size:11px;}
  .sidebar-command nav a{min-height:42px;border-radius:15px;}
  .sidebar-command .nav-ico{height:31px;width:33px;}
  .nav-group{margin:11px 8px 4px;}
}
@media (min-width:901px) and (max-height:690px){
  .sidebar-today{display:none;}
  .sidebar-company-switch label{display:none;}
}

/* Mobile bleibt Topbar, aber ohne vertikales Klemmen. */
@media (max-width:900px){
  .sidebar.sidebar-command{
    height:auto;
    max-height:none;
    overflow:visible;
    position:sticky;
    top:0;
    z-index:999;
  }
  .sidebar.sidebar-command nav{
    display:flex;
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    padding:2px 2px 10px;
    margin:0;
  }
}


/* V18 FINAL SIDEBAR CLEANUP
   Ziel: keine klemmende/überlappende Sidebar mehr.
   Fix: klare Flex-Spalten, nur NAV scrollt, Userbox/Heute/Logout bleiben im Flow. */
@media (min-width:901px){
  .app{
    grid-template-columns:300px minmax(0,1fr);
    min-height:100vh;
    align-items:stretch;
    overflow:visible;
  }
  body.sidebar-collapsed .app{
    grid-template-columns:96px minmax(0,1fr);
  }

  aside.sidebar.sidebar-command{
    position:sticky;
    top:0;
    height:100vh;
    max-height:100vh;
    width:300px;
    min-width:300px;
    max-width:300px;
    padding:18px 16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    overflow:hidden;
    background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.18),transparent 32%),linear-gradient(180deg,var(--brand-primary,#12395b),#081421 72%,#050b14);
    border:0;
    box-shadow:18px 0 46px rgba(15,23,42,.18);
  }
  body.sidebar-collapsed aside.sidebar.sidebar-command{
    width:96px;
    min-width:96px;
    max-width:96px;
    padding:14px 10px;
  }

  /* Collapse-Button: nicht mehr als weißer Fullwidth-Button rendern */
  .sidebar-command .sidebar-collapse{
    all:unset;
    position:absolute;
    top:12px;
    right:12px;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:15px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    z-index:10;
    box-shadow:none;
  }
  .sidebar-command .sidebar-collapse:hover{background:rgba(255,255,255,.18);}

  .sidebar-command .premium-brand{
    position:relative;
    flex:0 0 auto;
    margin:0;
    padding:16px 48px 16px 14px;
    min-height:86px;
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.15);
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
    box-shadow:0 14px 34px rgba(0,0,0,.16);
    overflow:hidden;
  }
  .sidebar-command .premium-brand .brand-logo,
  .sidebar-command .premium-brand .brand-mark{
    width:48px;height:48px;min-width:48px;
    border-radius:17px;background:#fff;color:var(--brand-primary,#12395b);
    object-fit:contain;padding:4px;
  }
  .sidebar-command .brand-copy{min-width:0;display:block;}
  .sidebar-command .brand-copy strong,
  .sidebar-command .brand-copy em,
  .sidebar-command .brand-copy .brand-kicker{
    max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }

  .sidebar-command .sidebar-company-switch,
  .sidebar-command .sidebar-quick-actions,
  .sidebar-command .sidebar-today,
  .sidebar-command .premium-userbox,
  .sidebar-command .logout{
    position:static;
    left:auto;right:auto;bottom:auto;top:auto;
    flex:0 0 auto;
    width:100%;
    margin:0;
  }

  .sidebar-command .sidebar-company-switch{
    padding:11px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.075);
    display:grid;
    gap:7px;
  }
  .sidebar-command .sidebar-company-switch label{
    font-size:10px;text-transform:uppercase;letter-spacing:.12em;
    color:rgba(255,255,255,.58);font-weight:900;
  }
  .sidebar-command .sidebar-company-switch select{
    width:100%;min-width:0;border-radius:14px;
    border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);
    color:#fff;font-weight:850;padding:9px 10px;
  }
  .sidebar-command .sidebar-company-switch select option{color:#111;background:#fff;}

  .sidebar-command .sidebar-quick-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .sidebar-command .sidebar-quick-actions a{
    display:flex;align-items:center;justify-content:center;text-align:center;
    min-height:38px;padding:8px 6px;border-radius:15px;
    text-decoration:none;color:#fff;font-size:12px;font-weight:900;
    background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent,#d99a28) 82%,#fff 0%),rgba(255,255,255,.14));
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 10px 22px rgba(0,0,0,.13);
  }

  /* Das ist der einzige Scrollbereich. So bleibt oben/unten stabil. */
  .sidebar-command nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:4px 4px 8px;
    margin:0 -4px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.32) transparent;
    overscroll-behavior:contain;
  }
  .sidebar-command nav::-webkit-scrollbar{width:8px;}
  .sidebar-command nav::-webkit-scrollbar-track{background:transparent;}
  .sidebar-command nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px;border:2px solid transparent;background-clip:padding-box;}

  .sidebar-command .nav-group{
    flex:0 0 auto;
    margin:13px 9px 5px;
    padding:0;
  }
  .sidebar-command .nav-group:first-child{margin-top:2px;}
  .sidebar-command .nav-group span{
    display:block;font-size:10px;font-weight:950;text-transform:uppercase;
    letter-spacing:.14em;color:rgba(255,255,255,.46);
  }
  .sidebar-command nav a{
    flex:0 0 auto;
    width:100%;min-width:0;
    display:grid;grid-template-columns:36px minmax(0,1fr) auto;
    align-items:center;gap:10px;
    min-height:44px;padding:6px 9px;border-radius:16px;
    color:rgba(255,255,255,.82);background:transparent;border:1px solid transparent;
    text-decoration:none;font-weight:850;box-shadow:none;transform:none;
  }
  .sidebar-command nav a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12);color:#fff;transform:none;}
  .sidebar-command nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));border-color:rgba(255,255,255,.24);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18);}
  .sidebar-command nav a.active:after{content:"";position:absolute;left:-4px;top:12px;bottom:12px;width:4px;border-radius:99px;background:var(--brand-accent,#d99a28);}
  .sidebar-command .nav-ico{width:36px;height:34px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.11);color:#fff;font-size:15px;line-height:1;border:1px solid rgba(255,255,255,.10);}
  .sidebar-command .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:0;}
  .sidebar-command .nav-badge{min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#08111e;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:950;}

  .sidebar-command .sidebar-today{
    border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.075);
    border-radius:18px;padding:10px 12px;color:#fff;
  }
  .sidebar-command .sidebar-today strong{display:block;font-size:12px;margin:0 0 7px;}
  .sidebar-command .sidebar-today ul{list-style:none;padding:0;margin:0;display:grid;gap:5px;}
  .sidebar-command .sidebar-today li{font-size:12px;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .sidebar-today li span{min-width:21px;height:21px;border-radius:999px;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:900;}

  .sidebar-command .premium-userbox{
    border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.085);
    border-radius:18px;padding:11px 12px;color:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,.10);
  }
  .sidebar-command .premium-userbox strong{display:block;color:#fff;font-size:13px;line-height:1.15;}
  .sidebar-command .premium-userbox span,
  .sidebar-command .premium-userbox small{display:block;color:rgba(255,255,255,.64);font-size:11px;margin-top:2px;}
  .sidebar-command .logout{
    display:flex;align-items:center;justify-content:center;
    min-height:40px;border-radius:15px;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.78);
    text-decoration:none;font-weight:850;padding:9px 12px;
  }

  body.sidebar-collapsed .sidebar-command .brand-copy,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch,
  body.sidebar-collapsed .sidebar-command .sidebar-quick-actions,
  body.sidebar-collapsed .sidebar-command .nav-group,
  body.sidebar-collapsed .sidebar-command .nav-label,
  body.sidebar-collapsed .sidebar-command .nav-badge,
  body.sidebar-collapsed .sidebar-command .sidebar-today,
  body.sidebar-collapsed .sidebar-command .premium-userbox span,
  body.sidebar-collapsed .sidebar-command .premium-userbox small,
  body.sidebar-collapsed .sidebar-command .logout{display:none;}

  body.sidebar-collapsed .sidebar-command .premium-brand{padding:10px;justify-content:center;min-height:68px;}
  body.sidebar-collapsed .sidebar-command nav a{grid-template-columns:1fr;justify-items:center;padding:7px;}
  body.sidebar-collapsed .sidebar-command .nav-ico{width:42px;height:38px;}
  body.sidebar-collapsed .sidebar-command .premium-userbox{display:flex;align-items:center;justify-content:center;padding:10px;}
  body.sidebar-collapsed .sidebar-command .premium-userbox strong{font-size:0;}
  body.sidebar-collapsed .sidebar-command .premium-userbox strong:before{content:'👤';font-size:18px;}
}

@media (min-width:901px) and (max-height:790px){
  aside.sidebar.sidebar-command{gap:9px;padding-top:14px;padding-bottom:14px;}
  .sidebar-command .premium-brand{min-height:72px;padding-top:12px;padding-bottom:12px;border-radius:20px;}
  .sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark{width:42px;height:42px;min-width:42px;}
  .sidebar-command .premium-brand em{display:none;}
  .sidebar-command .sidebar-company-switch{padding:9px;}
  .sidebar-command .sidebar-quick-actions a{min-height:34px;padding:7px 5px;font-size:11px;}
  .sidebar-command nav a{min-height:40px;border-radius:14px;}
  .sidebar-command .nav-ico{width:32px;height:30px;}
  .sidebar-command .nav-group{margin:10px 8px 4px;}
  .sidebar-command .sidebar-today{padding:9px 10px;}
}
@media (min-width:901px) and (max-height:680px){
  .sidebar-command .sidebar-today{display:none;}
  .sidebar-command .sidebar-company-switch label{display:none;}
}


/* V19 SIDEBAR HARD RESET
   echter Fix gegen: violette Quicklinks, klemmende Sidebar, Überlappung unten,
   doppelte/konkurrierende ältere Sidebar-Regeln. Diese Regeln stehen absichtlich am Dateiende. */
:root{--sidebar-w:320px;--sidebar-w-collapsed:96px;}
.sidebar-command, .sidebar-command *{box-sizing:border-box;}
.sidebar-command a,
.sidebar-command a:link,
.sidebar-command a:visited,
.sidebar-command a:hover,
.sidebar-command a:active{text-decoration:none;}

@media (min-width:901px){
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr);align-items:stretch;min-height:100vh;}
  body.sidebar-collapsed .app{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr);}

  aside.sidebar.sidebar-command{
    width:var(--sidebar-w);min-width:var(--sidebar-w);max-width:var(--sidebar-w);
    height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
    position:sticky;top:0;left:0;
    display:flex;flex-direction:column;gap:14px;
    padding:18px 18px 16px;margin:0;
    overflow:hidden;
    border:0;
    color:#fff;
    background:
      radial-gradient(circle at 18% 0%,rgba(255,255,255,.18),transparent 31%),
      linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);
    box-shadow:18px 0 46px rgba(15,23,42,.20);
  }

  body.sidebar-collapsed aside.sidebar.sidebar-command{
    width:var(--sidebar-w-collapsed);min-width:var(--sidebar-w-collapsed);max-width:var(--sidebar-w-collapsed);
    padding:14px 10px;gap:12px;
  }

  .sidebar-command .sidebar-collapse{
    all:unset;position:absolute;top:12px;right:12px;z-index:20;
    width:30px;height:30px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);
    color:#fff;font-size:14px;font-weight:900;line-height:1;
    cursor:pointer;box-shadow:none;
  }
  .sidebar-command .sidebar-collapse:hover{background:rgba(255,255,255,.20);}

  .sidebar-command .premium-brand{
    flex:0 0 auto;margin:0;min-height:92px;
    padding:16px 48px 16px 16px;border-radius:26px;
    display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;
    background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.075));
    border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 38px rgba(0,0,0,.16);
    overflow:hidden;
  }
  .sidebar-command .premium-brand .brand-logo,
  .sidebar-command .premium-brand .brand-mark{
    width:58px;height:58px;min-width:58px;border-radius:20px;
    background:#fff;color:var(--brand-primary,#12395b);object-fit:contain;padding:5px;
  }
  .sidebar-command .brand-copy{min-width:0;overflow:hidden;display:block;}
  .sidebar-command .brand-copy strong{display:block;color:#fff;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .brand-copy .brand-kicker{display:block;color:rgba(255,255,255,.64);font-size:10px;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .brand-copy em{display:block;color:rgba(255,255,255,.88);font-size:13px;line-height:1.25;white-space:normal;max-height:36px;overflow:hidden;}

  .sidebar-command .sidebar-company-switch{
    flex:0 0 auto;display:grid;gap:7px;margin:0;padding:0;background:transparent;border:0;
  }
  .sidebar-command .sidebar-company-switch label{display:block;color:rgba(255,255,255,.88);font-size:13px;font-weight:900;letter-spacing:0;text-transform:none;margin:0;}
  .sidebar-command .sidebar-company-switch select{
    width:100%;min-width:0;max-width:100%;height:48px;
    border-radius:17px;border:1px solid rgba(255,255,255,.28);background:#fff;color:#101828;
    font-size:16px;font-weight:900;padding:0 42px 0 14px;box-shadow:0 10px 22px rgba(0,0,0,.12);
  }

  .sidebar-command .sidebar-quick-actions{
    flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
    width:100%;margin:0;padding:0;line-height:1;
  }
  .sidebar-command .sidebar-quick-actions a,
  .sidebar-command .sidebar-quick-actions a:link,
  .sidebar-command .sidebar-quick-actions a:visited{
    display:flex;align-items:center;justify-content:center;text-align:center;
    min-height:38px;padding:9px 6px;border-radius:15px;
    background:linear-gradient(135deg,var(--brand-accent,#d99a28),#f4b23a);
    border:1px solid rgba(255,255,255,.24);color:#081421;
    font-size:12px;font-weight:950;text-decoration:none;text-shadow:none;
    box-shadow:0 10px 22px rgba(0,0,0,.16);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .sidebar-command .sidebar-quick-actions a:hover{filter:brightness(1.05);transform:none;color:#081421;}

  .sidebar-command nav{
    flex:1 1 auto;min-height:0;max-height:none;
    overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
    display:flex;flex-direction:column;gap:6px;
    width:calc(100% + 8px);margin:0 -4px;padding:2px 4px 10px;
    scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent;
    background:transparent;border:0;
  }
  .sidebar-command nav::-webkit-scrollbar{width:8px;}
  .sidebar-command nav::-webkit-scrollbar-track{background:transparent;}
  .sidebar-command nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.30);border-radius:999px;border:2px solid transparent;background-clip:padding-box;}

  .sidebar-command .nav-group{display:block;flex:0 0 auto;margin:12px 8px 4px;padding:0;}
  .sidebar-command .nav-group:first-child{margin-top:0;}
  .sidebar-command .nav-group span{display:block;color:rgba(255,255,255,.66);font-size:12px;font-weight:900;letter-spacing:.01em;text-transform:none;}

  .sidebar-command nav a,
  .sidebar-command nav a:link,
  .sidebar-command nav a:visited{
    position:relative;flex:0 0 auto;width:100%;min-width:0;
    display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;
    min-height:48px;padding:7px 12px;border-radius:18px;
    color:rgba(255,255,255,.88);background:transparent;border:1px solid transparent;
    font-size:14px;font-weight:900;text-decoration:none;box-shadow:none;transform:none;
  }
  .sidebar-command nav a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.15);color:#fff;}
  .sidebar-command nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.23),rgba(255,255,255,.10));border-color:rgba(255,255,255,.25);color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.18);}
  .sidebar-command nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 99px 99px 0;background:var(--brand-accent,#d99a28);}
  .sidebar-command nav a.active:after{content:"";position:absolute;right:13px;width:12px;height:12px;border-radius:999px;background:var(--brand-accent,#d99a28);box-shadow:0 0 0 6px rgba(217,154,40,.14);}
  .sidebar-command .nav-ico{width:42px;height:38px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.13);color:#fff;font-size:16px;border:1px solid rgba(255,255,255,.12);line-height:1;}
  .sidebar-command .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:18px;}
  .sidebar-command .nav-badge{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#081421;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:950;}

  .sidebar-command .sidebar-today,
  .sidebar-command .premium-userbox,
  .sidebar-command .logout{position:static;left:auto;right:auto;top:auto;bottom:auto;width:100%;margin:0;flex:0 0 auto;}
  .sidebar-command .sidebar-today{display:block;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:18px;padding:10px 12px;color:#fff;overflow:hidden;}
  .sidebar-command .sidebar-today strong{display:block;font-size:12px;line-height:1.2;margin:0 0 7px;color:#fff;}
  .sidebar-command .sidebar-today ul{list-style:none;padding:0;margin:0;display:grid;gap:5px;}
  .sidebar-command .sidebar-today li{min-width:0;font-size:12px;line-height:1.25;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .sidebar-today li span{min-width:21px;height:21px;border-radius:999px;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:900;}
  .sidebar-command .premium-userbox{display:block;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.085);border-radius:18px;padding:11px 12px;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.10);}
  .sidebar-command .premium-userbox strong{display:block;color:#fff;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .premium-userbox span,.sidebar-command .premium-userbox small{display:block;color:rgba(255,255,255,.64);font-size:11px;line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .logout{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.82);text-decoration:none;font-weight:900;padding:9px 12px;}

  body.sidebar-collapsed .sidebar-command .brand-copy,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch,
  body.sidebar-collapsed .sidebar-command .sidebar-quick-actions,
  body.sidebar-collapsed .sidebar-command .nav-group,
  body.sidebar-collapsed .sidebar-command .nav-label,
  body.sidebar-collapsed .sidebar-command .nav-badge,
  body.sidebar-collapsed .sidebar-command .sidebar-today,
  body.sidebar-collapsed .sidebar-command .premium-userbox span,
  body.sidebar-collapsed .sidebar-command .premium-userbox small,
  body.sidebar-collapsed .sidebar-command .logout{display:none;}
  body.sidebar-collapsed .sidebar-command .premium-brand{grid-template-columns:1fr;padding:10px;justify-items:center;min-height:70px;}
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-logo,
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-mark{width:48px;height:48px;min-width:48px;}
  body.sidebar-collapsed .sidebar-command nav{width:100%;margin:0;padding:0;}
  body.sidebar-collapsed .sidebar-command nav a{grid-template-columns:1fr;justify-items:center;padding:7px;}
  body.sidebar-collapsed .sidebar-command .nav-ico{width:44px;height:40px;}
  body.sidebar-collapsed .sidebar-command .premium-userbox{display:flex;align-items:center;justify-content:center;padding:10px;}
  body.sidebar-collapsed .sidebar-command .premium-userbox strong{font-size:0;}
  body.sidebar-collapsed .sidebar-command .premium-userbox strong:before{content:'👤';font-size:18px;}
}

@media (min-width:901px) and (max-height:820px){
  aside.sidebar.sidebar-command{gap:10px;padding-top:14px;padding-bottom:14px;}
  .sidebar-command .premium-brand{min-height:76px;padding-top:12px;padding-bottom:12px;border-radius:22px;}
  .sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark{width:46px;height:46px;min-width:46px;}
  .sidebar-command .brand-copy em{display:none;}
  .sidebar-command .sidebar-company-switch select{height:44px;font-size:15px;}
  .sidebar-command .sidebar-quick-actions a{min-height:34px;font-size:11px;padding:7px 5px;}
  .sidebar-command nav a{min-height:42px;border-radius:15px;padding-top:5px;padding-bottom:5px;}
  .sidebar-command .nav-ico{width:36px;height:33px;}
  .sidebar-command .nav-group{margin:9px 8px 3px;}
}
@media (min-width:901px) and (max-height:700px){
  .sidebar-command .sidebar-today{display:none;}
  .sidebar-command .sidebar-company-switch label{display:none;}
}

@media (max-width:900px){
  .app{display:block;}
  aside.sidebar.sidebar-command{position:sticky;top:0;height:auto;max-height:none;width:100%;min-width:0;max-width:none;padding:10px;z-index:50;overflow:hidden;display:grid;gap:8px;background:linear-gradient(135deg,var(--brand-primary,#12395b),#081421);color:#fff;}
  .sidebar-command .sidebar-collapse,.sidebar-command .sidebar-company-switch,.sidebar-command .sidebar-today,.sidebar-command .premium-userbox,.sidebar-command .logout{display:none;}
  .sidebar-command .premium-brand{min-height:54px;margin:0;padding:9px 12px;border-radius:18px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);overflow:hidden;}
  .sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark{width:38px;height:38px;min-width:38px;border-radius:14px;background:#fff;object-fit:contain;padding:4px;}
  .sidebar-command .brand-copy em,.sidebar-command .brand-copy .brand-kicker{display:none;}
  .sidebar-command .brand-copy strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-command .sidebar-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;}
  .sidebar-command .sidebar-quick-actions a{display:flex;align-items:center;justify-content:center;min-height:36px;border-radius:14px;background:var(--brand-accent,#d99a28);color:#081421;text-decoration:none;font-size:12px;font-weight:950;}
  .sidebar-command nav{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:0 0 6px;margin:0;min-height:0;}
  .sidebar-command .nav-group{display:none;}
  .sidebar-command nav a{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:38px;border-radius:14px;padding:7px 10px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none;font-weight:900;}
  .sidebar-command nav a.active{background:rgba(255,255,255,.18);}
  .sidebar-command .nav-ico{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(0,0,0,.16);}
  .sidebar-command .nav-label{white-space:nowrap;}
}


/* V20 inline fallback duplicate */

@media (min-width:901px){
html,body{overflow-x:hidden}.app{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh;align-items:stretch}.main{min-width:0}body.sidebar-collapsed .app{grid-template-columns:88px minmax(0,1fr)}
aside.sidebar.sidebar-command{box-sizing:border-box;position:sticky;top:0;left:0;width:320px;min-width:320px;max-width:320px;height:100vh;height:100dvh;max-height:100dvh;padding:16px;margin:0;display:flex;flex-direction:column;gap:12px;overflow:hidden;color:#fff;background:linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);border:0;box-shadow:18px 0 46px rgba(15,23,42,.20)}
body.sidebar-collapsed aside.sidebar.sidebar-command{width:88px;min-width:88px;max-width:88px;padding:14px 10px}
.sidebar-command *{box-sizing:border-box}.sidebar-command a,.sidebar-command a:visited,.sidebar-command a:hover{text-decoration:none}.sidebar-command .sidebar-collapse{all:unset;position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;z-index:10;font-weight:900}
.sidebar-command .premium-brand{margin:0;flex:0 0 auto;min-height:82px;padding:13px 44px 13px 13px;border-radius:22px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);overflow:hidden}.sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark{width:52px;height:52px;min-width:52px;border-radius:17px;background:#fff;object-fit:contain;padding:5px}.sidebar-command .brand-copy{min-width:0;overflow:hidden}.sidebar-command .brand-copy .brand-kicker{display:block;color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 2px}.sidebar-command .brand-copy strong{display:block;color:#fff;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-command .brand-copy em{display:block;color:rgba(255,255,255,.82);font-size:12px;line-height:1.25;max-height:32px;overflow:hidden;font-style:normal}
.sidebar-command .sidebar-company-switch{display:grid;gap:6px;flex:0 0 auto;margin:0;padding:0;background:transparent;border:0}.sidebar-command .sidebar-company-switch label{display:block;color:#fff;font-size:13px;font-weight:900;margin:0}.sidebar-command .sidebar-company-switch select{appearance:auto;width:100%;height:44px;min-width:0;border-radius:15px;border:1px solid rgba(255,255,255,.28);background:#fff;color:#101828;font-size:15px;font-weight:800;padding:0 12px;box-shadow:none}
.sidebar-command .sidebar-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:0 0 auto;width:100%;margin:0;padding:0}.sidebar-command .sidebar-quick-actions a,.sidebar-command .sidebar-quick-actions a:link,.sidebar-command .sidebar-quick-actions a:visited{display:flex;align-items:center;justify-content:center;text-align:center;height:36px;min-height:36px;padding:0 6px;border-radius:14px;background:var(--brand-accent,#d99a28);color:#071421;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:950;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}
.sidebar-command nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:5px;margin:0 -4px;padding:2px 4px 8px;background:transparent;border:0}.sidebar-command nav::-webkit-scrollbar{width:7px}.sidebar-command nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}.sidebar-command .nav-group{display:block;margin:10px 8px 4px;padding:0;flex:0 0 auto}.sidebar-command .nav-group:first-child{margin-top:0}.sidebar-command .nav-group span{display:block;color:rgba(255,255,255,.65);font-size:12px;font-weight:900;text-transform:none;letter-spacing:0}.sidebar-command nav a,.sidebar-command nav a:link,.sidebar-command nav a:visited{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 11px;border-radius:16px;background:transparent;border:1px solid transparent;color:rgba(255,255,255,.88);font-size:14px;font-weight:900;text-decoration:none;line-height:1.1}.sidebar-command nav a.active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.20);color:#fff}.sidebar-command nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:99px;background:var(--brand-accent,#d99a28)}.sidebar-command .nav-ico{width:38px;height:34px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.13);color:#fff;font-size:15px;line-height:1}.sidebar-command .nav-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-command .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:99px;background:var(--brand-accent,#d99a28);color:#071421;-webkit-text-fill-color:#071421;font-size:11px;font-weight:950;padding:0 6px}
.sidebar-command .sidebar-today,.sidebar-command .premium-userbox,.sidebar-command .logout{position:static;left:auto;right:auto;top:auto;bottom:auto;width:100%;margin:0;flex:0 0 auto}.sidebar-command .sidebar-today{display:block;padding:9px 11px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;overflow:hidden}.sidebar-command .sidebar-today strong{display:block;font-size:12px;margin:0 0 6px}.sidebar-command .sidebar-today ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sidebar-command .sidebar-today li{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.78)}.sidebar-command .premium-userbox{display:block;padding:10px 11px;border-radius:16px;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.14);color:#fff}.sidebar-command .premium-userbox strong,.sidebar-command .premium-userbox span,.sidebar-command .premium-userbox small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-command .premium-userbox strong{font-size:13px;color:#fff}.sidebar-command .premium-userbox span,.sidebar-command .premium-userbox small{font-size:11px;color:rgba(255,255,255,.64);margin-top:2px}.sidebar-command .logout{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.82);font-weight:900;text-decoration:none}
body.sidebar-collapsed .sidebar-command .brand-copy,body.sidebar-collapsed .sidebar-command .sidebar-company-switch,body.sidebar-collapsed .sidebar-command .sidebar-quick-actions,body.sidebar-collapsed .sidebar-command .nav-group,body.sidebar-collapsed .sidebar-command .nav-label,body.sidebar-collapsed .sidebar-command .nav-badge,body.sidebar-collapsed .sidebar-command .sidebar-today,body.sidebar-collapsed .sidebar-command .premium-userbox span,body.sidebar-collapsed .sidebar-command .premium-userbox small,body.sidebar-collapsed .sidebar-command .logout{display:none}body.sidebar-collapsed .sidebar-command .premium-brand{grid-template-columns:1fr;justify-items:center;padding:10px;min-height:66px}body.sidebar-collapsed .sidebar-command .premium-brand .brand-logo,body.sidebar-collapsed .sidebar-command .premium-brand .brand-mark{width:46px;height:46px;min-width:46px}body.sidebar-collapsed .sidebar-command nav{margin:0;padding:0}body.sidebar-collapsed .sidebar-command nav a{grid-template-columns:1fr;justify-items:center;padding:6px}body.sidebar-collapsed .sidebar-command .nav-ico{width:42px;height:38px}body.sidebar-collapsed .sidebar-command .premium-userbox{display:flex;align-items:center;justify-content:center;padding:10px}body.sidebar-collapsed .sidebar-command .premium-userbox strong{font-size:0}body.sidebar-collapsed .sidebar-command .premium-userbox strong:before{content:'👤';font-size:18px}
}
@media (min-width:901px) and (max-height:760px){.sidebar-command .premium-brand{min-height:70px;padding-top:10px;padding-bottom:10px}.sidebar-command .brand-copy em{display:none}.sidebar-command .sidebar-company-switch label{display:none}.sidebar-command .sidebar-today{display:none}.sidebar-command nav a{min-height:40px}.sidebar-command .nav-ico{height:31px;width:35px}}
@media (max-width:900px){.app{display:block}aside.sidebar.sidebar-command{position:sticky;top:0;width:100%;height:auto;max-height:none;padding:10px;display:grid;gap:8px;overflow:hidden;background:linear-gradient(135deg,var(--brand-primary,#12395b),#081421)}.sidebar-command .sidebar-collapse,.sidebar-command .sidebar-company-switch,.sidebar-command .sidebar-today,.sidebar-command .premium-userbox,.sidebar-command .logout{display:none}.sidebar-command .premium-brand{min-height:54px;margin:0;padding:9px 12px;border-radius:18px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);overflow:hidden}.sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark{width:38px;height:38px;min-width:38px;border-radius:14px;background:#fff;object-fit:contain;padding:4px}.sidebar-command .brand-copy em,.sidebar-command .brand-copy .brand-kicker{display:none}.sidebar-command .brand-copy strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-command .sidebar-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0}.sidebar-command .sidebar-quick-actions a{display:flex;align-items:center;justify-content:center;min-height:36px;border-radius:14px;background:var(--brand-accent,#d99a28);color:#081421;text-decoration:none;font-size:12px;font-weight:950}.sidebar-command nav{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:0 0 6px;margin:0}.sidebar-command .nav-group{display:none}.sidebar-command nav a{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:38px;border-radius:14px;padding:7px 10px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none;font-weight:900}.sidebar-command .nav-ico{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(0,0,0,.16)}}


/* === Accessibility hardening v23 === */
:root{--a11y-focus:var(--brand-accent,#d99a28);--a11y-text:#101828;--a11y-muted:#475467;--a11y-border:#cbd5e1}
html{scroll-padding-top:24px}body{color:var(--a11y-text)}
.skip-link{position:absolute;left:16px;top:10px;z-index:99999;transform:translateY(-180%);background:#fff;color:#071421;border:3px solid var(--a11y-focus);border-radius:12px;padding:10px 14px;font-weight:950;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.22)}.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:where(a,button,input,select,textarea,[tabindex],.rich,[contenteditable="true"]):focus-visible{outline:4px solid var(--a11y-focus);outline-offset:3px;box-shadow:0 0 0 7px rgba(217,154,40,.24)}
button,[type="button"],[type="submit"],a.btn,.btn,.sidebar-command nav a,.sidebar-quick-actions a{min-height:44px;min-width:44px}
input,select,textarea,.input{font-size:16px;border-color:var(--a11y-border)}
input::placeholder,textarea::placeholder{color:#667085;opacity:1}.muted,.hint,small{color:var(--a11y-muted)}.sidebar-command .muted,.sidebar-command small,.sidebar-command .brand-kicker{color:rgba(255,255,255,.78)}.sidebar-command nav a{color:#fff}.sidebar-command .nav-group span{color:rgba(255,255,255,.82)}
.card,.panel,.stat-card,.kpi-card{border-color:#d0d7e2}.danger,.btn.danger{color:#fff;background:#b42318}.success,.btn.success{color:#fff;background:#027a48}
.rich[contenteditable="true"]{min-height:44px}.table-wrap,.responsive-table{overflow:auto}.table-wrap:focus-visible,.responsive-table:focus-visible{outline:4px solid var(--a11y-focus);outline-offset:4px}caption{font-weight:950;text-align:left;padding:8px 0;color:#101828}.nav-ico[aria-hidden="true"]{speak:none}.a11y-status{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:99999;background:#071421;color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 14px 40px rgba(0,0,0,.28)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.001ms}}
@media (forced-colors:active){.sidebar-command,.card,.btn,input,select,textarea{forced-color-adjust:auto}.nav-ico,.nav-badge{border:1px solid CanvasText}}

/* V24 FIX: Dokument-Summenblock barrierefrei lesbar.
   Vorher wurde .sum-table .gross td durch das Firmenfarben-Override auf
   dunkle Schrift gesetzt. Ergebnis: dunkelblauer Text auf dunklem Hintergrund. */
.doc-sheet .sum-table .gross td,
.customer-page .sum-table .gross td,
.sum-table .gross td{
  background:var(--brand-primary,#12395b);
  color:var(--brand-on,#ffffff);
  -webkit-text-fill-color:var(--brand-on,#ffffff);
  font-weight:900;
}
.doc-sheet .sum-table .gross td *,
.customer-page .sum-table .gross td *,
.sum-table .gross td *{
  color:var(--brand-on,#ffffff);
  -webkit-text-fill-color:var(--brand-on,#ffffff);
}
@media print{
  .doc-sheet .sum-table .gross td,
  .customer-page .sum-table .gross td,
  .sum-table .gross td{
    background:var(--brand-primary,#12395b);
    color:#ffffff;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .doc-sheet .sum-table .gross td *,
  .customer-page .sum-table .gross td *,
  .sum-table .gross td *{
    color:#ffffff;
  }
}

/* ==========================================================
   V26 Dokument-Zahlungsblock sauberer CSS-Reset
   Repariert .payment-summary / .sum-table in Vorschau, Kunde und Druck.
   ========================================================== */
.doc-sheet .payment-summary,
.customer-page .payment-summary,
.payment-summary{
  width:100% ;
  margin:30px 0 0 ;
  padding:0 ;
  display:flex ;
  justify-content:flex-end ;
  align-items:flex-start ;
  clear:both ;
}
.doc-sheet .payment-summary .sum-table,
.customer-page .payment-summary .sum-table,
.payment-summary .sum-table{
  width:min(100%, 420px) ;
  margin:0 ;
  border-collapse:separate ;
  border-spacing:0 ;
  table-layout:fixed ;
  background:#fff ;
  border:1px solid #E1E6EF ;
  border-radius:16px ;
  overflow:hidden ;
  box-shadow:0 10px 26px rgba(15,23,42,.06) ;
  color:#101828 ;
}
.doc-sheet .payment-summary .sum-table tbody,
.customer-page .payment-summary .sum-table tbody,
.payment-summary .sum-table tbody{
  width:100% ;
}
.doc-sheet .payment-summary .sum-table tr,
.customer-page .payment-summary .sum-table tr,
.payment-summary .sum-table tr{
  background:#fff ;
}
.doc-sheet .payment-summary .sum-table td,
.customer-page .payment-summary .sum-table td,
.payment-summary .sum-table td{
  padding:13px 18px ;
  border:0 ;
  border-bottom:1px solid #E5EAF2 ;
  background:transparent ;
  color:#101828 ;
  font-size:15px ;
  line-height:1.35 ;
  vertical-align:middle ;
}
.doc-sheet .payment-summary .sum-table td:first-child,
.customer-page .payment-summary .sum-table td:first-child,
.payment-summary .sum-table td:first-child{
  width:58% ;
  text-align:left ;
  font-weight:650 ;
}
.doc-sheet .payment-summary .sum-table td:last-child,
.customer-page .payment-summary .sum-table td:last-child,
.payment-summary .sum-table td:last-child{
  width:42% ;
  text-align:right ;
  font-variant-numeric:tabular-nums ;
  white-space:nowrap ;
  font-weight:700 ;
}
.doc-sheet .payment-summary .sum-table tr.gross td,
.customer-page .payment-summary .sum-table tr.gross td,
.payment-summary .sum-table tr.gross td{
  background:#0F172A ;
  color:#FFFFFF ;
  border-bottom:0 ;
  padding:16px 18px ;
  font-size:16px ;
  font-weight:900 ;
}
.doc-sheet .payment-summary .sum-table tr.gross td *,
.customer-page .payment-summary .sum-table tr.gross td *,
.payment-summary .sum-table tr.gross td *{
  color:#FFFFFF ;
}
.doc-sheet .payment-public-note,
.customer-page .payment-public-note,
.payment-public-note{
  max-width:420px ;
  margin:14px 0 0 auto ;
  padding:14px 16px ;
  border:1px solid #E1E6EF ;
  border-left:4px solid var(--brand-primary,#123B5D) ;
  border-radius:14px ;
  background:#F8FAFC ;
  color:#344054 ;
  line-height:1.55 ;
}
@media(max-width:760px){
  .doc-sheet .payment-summary,
  .customer-page .payment-summary,
  .payment-summary{
    display:block ;
    margin-top:24px ;
  }
  .doc-sheet .payment-summary .sum-table,
  .customer-page .payment-summary .sum-table,
  .payment-summary .sum-table{
    width:100% ;
    min-width:0 ;
    border-radius:14px ;
  }
  .doc-sheet .payment-summary .sum-table td,
  .customer-page .payment-summary .sum-table td,
  .payment-summary .sum-table td{
    padding:12px 14px ;
    font-size:14px ;
  }
  .doc-sheet .payment-summary .sum-table tr.gross td,
  .customer-page .payment-summary .sum-table tr.gross td,
  .payment-summary .sum-table tr.gross td{
    padding:14px ;
    font-size:15px ;
  }
  .doc-sheet .payment-public-note,
  .customer-page .payment-public-note,
  .payment-public-note{
    max-width:none ;
    margin-left:0 ;
  }
}
@media print{
  .doc-sheet .payment-summary,
  .customer-page .payment-summary,
  .payment-summary{
    display:flex ;
    justify-content:flex-end ;
    break-inside:avoid ;
    page-break-inside:avoid ;
  }
  .doc-sheet .payment-summary .sum-table,
  .customer-page .payment-summary .sum-table,
  .payment-summary .sum-table,
  .doc-sheet .payment-summary .sum-table tr.gross td,
  .customer-page .payment-summary .sum-table tr.gross td,
  .payment-summary .sum-table tr.gross td{
    -webkit-print-color-adjust:exact ;
    print-color-adjust:exact ;
  }
}

/* V27: Payment summary ohne dunklen/gefüllten Background */
.doc-sheet .payment-summary,
.customer-page .payment-summary,
.payment-summary{
  background:transparent ;
  border:0 ;
  box-shadow:none ;
  padding:0 ;
  margin-top:22px ;
  display:flex ;
  justify-content:flex-end ;
}
.doc-sheet .payment-summary .sum-table,
.customer-page .payment-summary .sum-table,
.payment-summary .sum-table{
  background:transparent ;
  border:0 ;
  box-shadow:none ;
  border-radius:0 ;
  overflow:visible ;
  width:360px ;
  max-width:100% ;
  border-collapse:collapse ;
}
.doc-sheet .payment-summary .sum-table tr,
.customer-page .payment-summary .sum-table tr,
.payment-summary .sum-table tr,
.doc-sheet .payment-summary .sum-table td,
.customer-page .payment-summary .sum-table td,
.payment-summary .sum-table td{
  background:transparent ;
  color:#111827 ;
  box-shadow:none ;
}
.doc-sheet .payment-summary .sum-table td,
.customer-page .payment-summary .sum-table td,
.payment-summary .sum-table td{
  padding:9px 0 9px 16px ;
  border-bottom:1px solid #D7DCE5 ;
  font-size:13px ;
}
.doc-sheet .payment-summary .sum-table td:first-child,
.customer-page .payment-summary .sum-table td:first-child,
.payment-summary .sum-table td:first-child{
  padding-left:0 ;
  color:#475467 ;
}
.doc-sheet .payment-summary .sum-table td:last-child,
.customer-page .payment-summary .sum-table td:last-child,
.payment-summary .sum-table td:last-child{
  text-align:right ;
  font-weight:800 ;
  color:#111827 ;
}
.doc-sheet .payment-summary .sum-table tr.gross td,
.customer-page .payment-summary .sum-table tr.gross td,
.payment-summary .sum-table tr.gross td{
  background:transparent ;
  color:#111827 ;
  border-top:2px solid #111827 ;
  border-bottom:2px solid #111827 ;
  padding-top:12px ;
  padding-bottom:12px ;
  font-size:15px ;
  font-weight:900 ;
}
.doc-sheet .payment-summary .sum-table tr.gross td *,
.customer-page .payment-summary .sum-table tr.gross td *,
.payment-summary .sum-table tr.gross td *{
  background:transparent ;
  color:#111827 ;
}
@media(max-width:760px){
  .doc-sheet .payment-summary,
  .customer-page .payment-summary,
  .payment-summary{display:block ;}
  .doc-sheet .payment-summary .sum-table,
  .customer-page .payment-summary .sum-table,
  .payment-summary .sum-table{width:100% ;}
}
@media print{
  .doc-sheet .payment-summary .sum-table tr.gross td,
  .customer-page .payment-summary .sum-table tr.gross td,
  .payment-summary .sum-table tr.gross td{
    background:transparent ;
    color:#000 ;
    -webkit-print-color-adjust:economy ;
    print-color-adjust:economy ;
  }
}


/* ==========================================================
   V28: echte Reparatur Payment Summary OHNE Background
   Wichtig: HTML nutzt jetzt .total-row statt .gross, damit alte .gross-Regeln
   den Brutto-Betrag nicht mehr dunkel einfärben können.
   ========================================================== */
.doc-sheet .payment-summary,
.customer-page .payment-summary,
.payment-summary{
  background:transparent ;
  background-image:none ;
  border:0 ;
  box-shadow:none ;
  padding:0 ;
  margin:22px 0 0 ;
  display:flex ;
  justify-content:flex-end ;
  align-items:flex-start ;
  clear:both ;
}
.doc-sheet .payment-summary .sum-table,
.customer-page .payment-summary .sum-table,
.payment-summary .sum-table{
  width:360px ;
  max-width:100% ;
  margin:0 ;
  border:0 ;
  border-radius:0 ;
  border-collapse:collapse ;
  border-spacing:0 ;
  background:transparent ;
  background-image:none ;
  box-shadow:none ;
  overflow:visible ;
  color:#111827 ;
}
.doc-sheet .payment-summary .sum-table tr,
.customer-page .payment-summary .sum-table tr,
.payment-summary .sum-table tr,
.doc-sheet .payment-summary .sum-table td,
.customer-page .payment-summary .sum-table td,
.payment-summary .sum-table td{
  background:transparent ;
  background-image:none ;
  box-shadow:none ;
  color:#111827 ;
}
.doc-sheet .payment-summary .sum-table td,
.customer-page .payment-summary .sum-table td,
.payment-summary .sum-table td{
  padding:9px 0 9px 16px ;
  border:0 ;
  border-bottom:1px solid #D7DCE5 ;
  font-size:13px ;
  line-height:1.35 ;
}
.doc-sheet .payment-summary .sum-table td:first-child,
.customer-page .payment-summary .sum-table td:first-child,
.payment-summary .sum-table td:first-child{
  padding-left:0 ;
  text-align:left ;
  color:#475467 ;
  font-weight:650 ;
}
.doc-sheet .payment-summary .sum-table td:last-child,
.customer-page .payment-summary .sum-table td:last-child,
.payment-summary .sum-table td:last-child{
  text-align:right ;
  color:#111827 ;
  font-weight:800 ;
  white-space:nowrap ;
  font-variant-numeric:tabular-nums ;
}
.doc-sheet .payment-summary .sum-table tr.total-row td,
.customer-page .payment-summary .sum-table tr.total-row td,
.payment-summary .sum-table tr.total-row td{
  background:transparent ;
  background-image:none ;
  color:#111827 ;
  border-top:2px solid #111827 ;
  border-bottom:2px solid #111827 ;
  padding-top:12px ;
  padding-bottom:12px ;
  font-size:15px ;
  font-weight:900 ;
}
.doc-sheet .payment-summary .sum-table tr.total-row td *,
.customer-page .payment-summary .sum-table tr.total-row td *,
.payment-summary .sum-table tr.total-row td *{
  background:transparent ;
  background-image:none ;
  color:#111827 ;
}
/* Sicherheitsnetz: Falls alte Dokumente noch .gross ausgeben, auch dort Background hart raus. */
.doc-sheet .payment-summary .sum-table tr.gross td,
.customer-page .payment-summary .sum-table tr.gross td,
.payment-summary .sum-table tr.gross td{
  background:transparent ;
  background-image:none ;
  color:#111827 ;
  border-top:2px solid #111827 ;
  border-bottom:2px solid #111827 ;
}
@media(max-width:760px){
  .doc-sheet .payment-summary,
  .customer-page .payment-summary,
  .payment-summary{display:block ;}
  .doc-sheet .payment-summary .sum-table,
  .customer-page .payment-summary .sum-table,
  .payment-summary .sum-table{width:100% ;}
}
@media print{
  .doc-sheet .payment-summary,
  .customer-page .payment-summary,
  .payment-summary{display:flex ; justify-content:flex-end ;}
  .doc-sheet .payment-summary .sum-table tr.total-row td,
  .customer-page .payment-summary .sum-table tr.total-row td,
  .payment-summary .sum-table tr.total-row td,
  .doc-sheet .payment-summary .sum-table tr.gross td,
  .customer-page .payment-summary .sum-table tr.gross td,
  .payment-summary .sum-table tr.gross td{
    background:transparent ;
    background-image:none ;
    color:#000 ;
    -webkit-print-color-adjust:economy ;
    print-color-adjust:economy ;
  }
}



/* V717.10 – Dokumentdaten-Spalte moderat verbreitert. */
@media screen and (min-width:761px){
  .doc-brand-row{grid-template-columns:170px minmax(0,1fr) 215px;}
  .doc-docdata{min-width:215px;}
}
@media print{
  .doc-brand-row{grid-template-columns:36mm minmax(0,1fr) 48mm;}
  .doc-docdata{min-width:48mm;}
}

/* V33 CLEAN DOCUMENT BADGE - single source of truth */
.doc-docdata{
  text-align:right ;
}
.doc-docdata > .doc-kind.doc-kind-badge,
.doc-docdata > .doc-kind{
  box-sizing:border-box ;
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  gap:8px ;
  width:auto ;
  min-width:0 ;
  max-width:100% ;
  margin:0 0 12px auto ;
  padding:8px 14px 8px 12px ;
  border-radius:999px ;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 82%,#000 18%)) ;
  color:#fff ;
  -webkit-text-fill-color:#fff ;
  font-family:inherit ;
  font-size:12px ;
  font-weight:900 ;
  line-height:1 ;
  letter-spacing:.08em ;
  text-transform:uppercase ;
  white-space:nowrap ;
  border:1px solid rgba(255,255,255,.22) ;
  box-shadow:0 8px 22px rgba(15,23,42,.16) ;
  -webkit-print-color-adjust:exact ;
  print-color-adjust:exact ;
}
.doc-docdata > .doc-kind.doc-kind-badge::before,
.doc-docdata > .doc-kind::before{
  content:"" ;
  display:block ;
  width:7px ;
  height:7px ;
  flex:0 0 7px ;
  border-radius:999px ;
  background:#fff ;
  opacity:.92 ;
}
.doc-docdata > .doc-kind.doc-kind-badge *,
.doc-docdata > .doc-kind *{
  color:#fff ;
  -webkit-text-fill-color:#fff ;
}
.payment-summary .sum-table tr.total-row td,
.payment-summary .sum-table tr.gross td{
  font-weight:950 ;
  color:#111827 ;
  -webkit-text-fill-color:#111827 ;
  background:transparent ;
  background-color:transparent ;
  background-image:none ;
  border-top:2px solid #111827 ;
  border-bottom:2px solid #111827 ;
}
@supports not (background:color-mix(in srgb,#000 50%,#fff 50%)){
  .doc-docdata > .doc-kind.doc-kind-badge,
  .doc-docdata > .doc-kind{background:var(--brand-primary,#12395b) ;}
}
@media (max-width:720px){
  .doc-docdata{text-align:left ;}
  .doc-docdata > .doc-kind.doc-kind-badge,
  .doc-docdata > .doc-kind{margin-left:0 ;margin-right:0 ;font-size:11px ;padding:7px 12px 7px 11px ;}
}
@media print{
  .doc-docdata > .doc-kind.doc-kind-badge,
  .doc-docdata > .doc-kind{box-shadow:none ;background:var(--brand-primary,#12395b) ;color:#fff ;-webkit-text-fill-color:#fff ;}
}


/* V34 FINAL DOC BADGE + TOTAL CLEAN OVERRIDE */
.doc-docdata > .doc-kind,
.doc-docdata > .doc-kind.doc-kind-badge{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:max-content ;
  max-width:100% ;
  padding:8px 15px 8px 12px ;
  margin:0 0 14px auto ;
  border-radius:999px ;
  background:var(--brand-primary,#12395b) ;
  color:#fff ;
  -webkit-text-fill-color:#fff ;
  font-size:12px ;
  font-weight:900 ;
  line-height:1 ;
  letter-spacing:.08em ;
  text-transform:uppercase ;
  white-space:nowrap ;
  box-shadow:0 8px 18px rgba(15,23,42,.14) ;
}
.doc-docdata > .doc-kind::before,
.doc-docdata > .doc-kind.doc-kind-badge::before{
  content:"" ;
  width:7px ;
  height:7px ;
  flex:0 0 7px ;
  margin-right:8px ;
  border-radius:999px ;
  background:#fff ;
  opacity:.9 ;
}
.payment-summary .sum-table tr.total-row td,
.payment-summary .sum-table tr.gross td,
.sum-table tr.total-row td,
.sum-table tr.gross td{
  font-weight:900 ;
  color:#111827 ;
  -webkit-text-fill-color:#111827 ;
  background:transparent ;
  background-color:transparent ;
  background-image:none ;
}
@media(max-width:720px){
  .doc-docdata{text-align:left ;}
  .doc-docdata > .doc-kind,
  .doc-docdata > .doc-kind.doc-kind-badge{margin-left:0 ;margin-right:0 ;}
}
@media print{
  .doc-docdata > .doc-kind,
  .doc-docdata > .doc-kind.doc-kind-badge{background:var(--brand-primary,#12395b) ;color:#fff ;-webkit-text-fill-color:#fff ;box-shadow:none ;}
}


/* V35 DOC KIND BADGE - padding + radius final override */
.doc-docdata > .doc-kind,
.doc-docdata > .doc-kind.doc-kind-badge{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:max-content ;
  max-width:100% ;
  box-sizing:border-box ;
  padding:10px 18px 10px 14px ;
  margin:0 0 16px auto ;
  border-radius:18px ;
  background:var(--brand-primary,#12395b) ;
  color:#fff ;
  -webkit-text-fill-color:#fff ;
  font-size:12px ;
  font-weight:900 ;
  line-height:1 ;
  letter-spacing:.08em ;
  text-transform:uppercase ;
  white-space:nowrap ;
  border:1px solid rgba(255,255,255,.18) ;
  box-shadow:0 10px 22px rgba(15,23,42,.16) ;
  -webkit-print-color-adjust:exact ;
  print-color-adjust:exact ;
}
.doc-docdata > .doc-kind::before,
.doc-docdata > .doc-kind.doc-kind-badge::before{
  content:"" ;
  display:block ;
  width:8px ;
  height:8px ;
  flex:0 0 8px ;
  margin-right:9px ;
  border-radius:999px ;
  background:#fff ;
  opacity:.9 ;
}
.payment-summary .sum-table tr.total-row td,
.payment-summary .sum-table tr.gross td,
.sum-table tr.total-row td,
.sum-table tr.gross td{
  font-weight:900 ;
}
@media(max-width:720px){
  .doc-docdata{text-align:left ;}
  .doc-docdata > .doc-kind,
  .doc-docdata > .doc-kind.doc-kind-badge{
    margin-left:0 ;
    margin-right:0 ;
    padding:9px 15px 9px 12px ;
    border-radius:16px ;
    font-size:11px ;
  }
}
@media print{
  .doc-docdata > .doc-kind,
  .doc-docdata > .doc-kind.doc-kind-badge{
    padding:8px 14px 8px 11px ;
    border-radius:14px ;
    box-shadow:none ;
    background:var(--brand-primary,#12395b) ;
    color:#fff ;
    -webkit-text-fill-color:#fff ;
  }
}

/* === Zeiterfassung Start/Stop v36 === */
.time-control-panel{position:relative;overflow:hidden}
.timer-control-card{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid rgba(15,23,42,.10);border-radius:22px;padding:22px;background:linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:0 16px 40px rgba(15,23,42,.08);margin-top:8px}
.timer-control-card.is-running{border-color:rgba(217,154,40,.38);background:linear-gradient(135deg,rgba(217,154,40,.14),rgba(255,255,255,.96) 55%,rgba(18,57,91,.06))}
.timer-main h3{margin:8px 0 4px;font-size:22px;line-height:1.15}.timer-main p{margin:0 0 10px}.timer-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 11px;border-radius:999px;background:rgba(217,154,40,.16);color:#92400e;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.timer-pill:before{content:"";width:8px;height:8px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.13)}
.timer-big{display:block;font-size:44px;letter-spacing:-.04em;line-height:1;color:var(--brand-primary,#12395b);font-variant-numeric:tabular-nums}.timer-stop-form{margin:0}.timer-stop-btn,.timer-start-btn{min-height:52px;border-radius:16px;padding-left:24px;padding-right:24px;font-size:16px;font-weight:900}.timer-start-card{display:block}.timer-start-grid{display:grid;grid-template-columns:1.2fr 1.1fr .8fr;gap:14px;align-items:end}.timer-start-grid select{min-height:46px;border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px;background:#fff;color:#0f172a}.timer-start-grid .checkline{align-self:center}.timer-start-grid .timer-start-btn{justify-self:end;min-width:150px}
@media (max-width: 900px){.timer-control-card{flex-direction:column;align-items:stretch;padding:18px}.timer-big{font-size:36px}.timer-start-grid{grid-template-columns:1fr}.timer-start-grid .timer-start-btn{justify-self:stretch;width:100%}.timer-stop-btn{width:100%}}

/* V37 Accessibility: action table headers must not be empty */
.actions-col{width:1%;white-space:nowrap;text-align:right}
th.actions-col{min-width:84px}


/* V38 Projektmodul, Retainer und Monatsreport */
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:18px}
.project-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:16px}
.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.project-card h3{margin:10px 0 4px;font-size:1.18rem}.project-card-head>strong{font-size:1.35rem;color:var(--brand-primary,#12395b)}
.progress{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));border-radius:inherit}
.mini-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.mini-kpis div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px}.mini-kpis dt{font-size:.76rem;color:#64748b}.mini-kpis dd{margin:4px 0 0;font-weight:800;color:#111827}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.month-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.report-box{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:26px;line-height:1.65}.report-box h3{margin-top:0}.report-box ul{padding-left:20px}.report-preview .panel-headline{align-items:flex-start}.sidebar-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-quick-actions a:nth-child(3){grid-column:auto}.sidebar-quick-actions a:nth-child(4){grid-column:auto}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-card{padding:18px;border-radius:20px}.mini-kpis{grid-template-columns:1fr}.month-filter{align-items:stretch}.month-filter label,.month-filter input{width:100%}.report-box{padding:18px}}


/* V45 CLEAN CSS RESET: Sidebar quick-actions + Dokumentliste Aktionen */
.sidebar-command .sidebar-quick-actions,
.sidebar-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  margin:0;
  padding:0;
}
.sidebar-command .sidebar-quick-actions a,
.sidebar-quick-actions a{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:9px 8px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sidebar-command .sidebar-quick-actions a:nth-child(3),
.sidebar-command .sidebar-quick-actions a:nth-child(4),
.sidebar-quick-actions a:nth-child(3),
.sidebar-quick-actions a:nth-child(4){grid-column:auto;}

.customer-create-page{max-width:1040px;margin:0 auto;}
.customer-list-page .customers-list-panel{width:100%;}
.customer-list-page .table-scroll{max-height:none;}
.customer-list-page .row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.customer-list-page .row-actions form{margin:0;}




/* === V47 HARD FIX: Dokumentliste + Aktionen stabil 2 x 3 + Löschen voll darunter === */
.doc-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
#docTable.doc-table{
  table-layout:fixed;
  width:100%;
  min-width:1180px;
}
#docTable.doc-table th,
#docTable.doc-table td{
  box-sizing:border-box;
  vertical-align:middle;
}
#docTable.doc-table th:nth-child(1),#docTable.doc-table td:nth-child(1){width:82px;}
#docTable.doc-table th:nth-child(2),#docTable.doc-table td:nth-child(2){width:132px;}
#docTable.doc-table th:nth-child(3),#docTable.doc-table td:nth-child(3){width:128px;}
#docTable.doc-table th:nth-child(4),#docTable.doc-table td:nth-child(4){width:190px;}
#docTable.doc-table th:nth-child(5),#docTable.doc-table td:nth-child(5){width:105px;}
#docTable.doc-table th:nth-child(6),#docTable.doc-table td:nth-child(6){width:190px;}
#docTable.doc-table th:nth-child(7),#docTable.doc-table td:nth-child(7){width:112px;}
#docTable.doc-table th:nth-child(8),#docTable.doc-table td:nth-child(8){width:108px;}
#docTable.doc-table th:nth-child(9),#docTable.doc-table td:nth-child(9){width:118px;}
#docTable.doc-table th:nth-child(10),#docTable.doc-table td:nth-child(10){width:214px;}
#docTable .nowrap{white-space:nowrap;}
#docTable code{
  font-size:12px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:2px 6px;
  white-space:nowrap;
}
#docTable .doc-customer-cell,
#docTable .doc-email-cell{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
#docTable .doc-email-cell{font-size:13px;color:#374151;}
#docTable .doc-money-cell{text-align:right;font-weight:850;}
#docTable .doc-actions-head{
  width:214px;
  min-width:214px;
  max-width:214px;
  text-align:center;
}
#docTable .doc-actions-cell,
#docTable .doc-actions-cell-v48,
#docTable td[style*="min-width:480px"]{
  width:214px;
  min-width:214px;
  max-width:214px;
  padding:8px;
  vertical-align:top;
  white-space:normal;
  overflow:visible;
}
#docTable .doc-actions-v48{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  width:100%;
  min-width:0;
  max-width:100%;
}
#docTable .doc-actions-v48-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:32px;
  gap:6px;
  width:100%;
  min-width:0;
  max-width:100%;
}
#docTable .doc-actions-v48-grid > a,
#docTable .doc-actions-v48-grid > button,
#docTable .doc-actions-v48-grid > form,
#docTable .doc-actions-v48-grid > span,
#docTable .doc-action-danger-full-v48{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  height:auto;
  margin:0;
  padding:0;
}
#docTable .doc-actions-v48 .btn,
#docTable .doc-actions-v48 .doc-act,
#docTable .doc-actions-v48 .doc-act-wide,
#docTable .doc-actions-v48 .doc-act-danger,
#docTable td[style*="min-width:480px"] .btn{
  appearance:none;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  max-width:100%;
  height:32px;
  min-height:32px;
  padding:0 7px;
  margin:0;
  border-radius:9px;
  font-size:11px;
  font-weight:850;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transform:none;
}
#docTable .doc-action-danger-full-v48 .btn,
#docTable .doc-action-danger-full-v48 .doc-act-danger{
  height:38px;
  min-height:38px;
  border-radius:11px;
  font-size:12px;
  font-weight:950;
}
#docTable .doc-act-wide{
  width:100%;
  height:34px;
  min-height:34px;
}
#docTable .doc-act-placeholder{
  display:block;
  width:100%;
  height:32px;
  min-height:32px;
}
@media(max-width:760px){
  #docTable.doc-table{min-width:1040px;}
  #docTable.doc-table th:nth-child(10),#docTable.doc-table td:nth-child(10),
  #docTable .doc-actions-head,#docTable .doc-actions-cell,#docTable .doc-actions-cell-v48{width:204px;min-width:204px;max-width:204px;}
}


/* V48 final fallback: Dokument-Aktionen 2x3 + Löschen breit */
#docTable .doc-actions-cell-v48{width:210px;min-width:210px;max-width:210px;padding:7px;white-space:normal;overflow:visible;}
#docTable .doc-actions-v48{display:grid;grid-template-columns:1fr;gap:6px;width:100%;margin:0;padding:0;}
#docTable .doc-actions-v48-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:30px;gap:6px;width:100%;}
#docTable .doc-actions-v48-grid>*{display:block;width:100%;min-width:0;max-width:100%;margin:0;padding:0;}
#docTable .doc-actions-v48 form{margin:0;padding:0;}
#docTable .doc-actions-v48 .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;max-width:100%;height:30px;min-height:30px;margin:0;padding:0 6px;border-radius:8px;font-size:11px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#docTable .doc-action-danger-full-v48 .btn{height:36px;min-height:36px;font-weight:950;}

/* V51 Tabellen: Spaltenbreiten anpassbar */
table.table th{position:relative;}
.doc-col-resizer{position:absolute;right:0;top:0;width:10px;height:100%;cursor:col-resize;touch-action:none;z-index:5;}
.doc-col-resizer:after{content:"";position:absolute;right:3px;top:22%;bottom:22%;width:2px;border-radius:2px;background:rgba(255,255,255,.35);}
table.table th:hover .doc-col-resizer:after{background:var(--brand-accent,#d99a28);}
body.doc-resizing{cursor:col-resize;user-select:none;}
.doc-table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 8px;flex-wrap:wrap;}
.doc-table-tools .hint{font-size:13px;color:#667085;}
.doc-column-reset{min-height:36px;padding:8px 12px;border-radius:12px;}
/* V51 Sidebar: Icons klarer sichtbar */
.sidebar-command .nav-ico{background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 6px 14px rgba(0,0,0,.16);color:#fff;font-size:14px;font-weight:950;letter-spacing:.01em;}
.sidebar-command nav a.active .nav-ico{background:var(--brand-accent,#d99a28);color:#071421;-webkit-text-fill-color:#071421;border-color:rgba(255,255,255,.35);box-shadow:0 8px 18px rgba(217,154,40,.28);}
.sidebar-command .nav-label{font-weight:950;}
/* V51 CSV Import */
.csv-import-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:start}.csv-help{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--line,#e5e7eb);border-radius:20px;padding:18px}.csv-help code{background:#f1f5f9;border-radius:8px;padding:2px 6px}.csv-result-list{margin:10px 0 0;padding-left:18px}.csv-result-list li{margin:4px 0}@media(max-width:900px){.csv-import-grid{grid-template-columns:1fr}.doc-table-tools{display:grid}.doc-col-resizer{display:none}}


/* === V52: Tabellen-Spalten wirklich anpassbar + Header-Griffe sichtbar === */
#docTable.doc-table{
  table-layout:fixed;
  width:max-content;
  min-width:100%;
  --doc-col-type:80px;
  --doc-col-number:150px;
  --doc-col-code:145px;
  --doc-col-customer:240px;
  --doc-col-source:110px;
  --doc-col-email:245px;
  --doc-col-status:120px;
  --doc-col-date:115px;
  --doc-col-gross:130px;
  --doc-col-actions:205px;
}
#docTable.doc-table col[data-col="type"]{width:var(--doc-col-type);min-width:var(--doc-col-type);max-width:var(--doc-col-type);}
#docTable.doc-table col[data-col="number"]{width:var(--doc-col-number);min-width:var(--doc-col-number);max-width:var(--doc-col-number);}
#docTable.doc-table col[data-col="code"]{width:var(--doc-col-code);min-width:var(--doc-col-code);max-width:var(--doc-col-code);}
#docTable.doc-table col[data-col="customer"]{width:var(--doc-col-customer);min-width:var(--doc-col-customer);max-width:var(--doc-col-customer);}
#docTable.doc-table col[data-col="source"]{width:var(--doc-col-source);min-width:var(--doc-col-source);max-width:var(--doc-col-source);}
#docTable.doc-table col[data-col="email"]{width:var(--doc-col-email);min-width:var(--doc-col-email);max-width:var(--doc-col-email);}
#docTable.doc-table col[data-col="status"]{width:var(--doc-col-status);min-width:var(--doc-col-status);max-width:var(--doc-col-status);}
#docTable.doc-table col[data-col="date"]{width:var(--doc-col-date);min-width:var(--doc-col-date);max-width:var(--doc-col-date);}
#docTable.doc-table col[data-col="gross"]{width:var(--doc-col-gross);min-width:var(--doc-col-gross);max-width:var(--doc-col-gross);}
#docTable.doc-table col[data-col="actions"]{width:var(--doc-col-actions);min-width:var(--doc-col-actions);max-width:var(--doc-col-actions);}
#docTable.doc-table th:nth-child(1),#docTable.doc-table td:nth-child(1){width:var(--doc-col-type);min-width:var(--doc-col-type);max-width:var(--doc-col-type);}
#docTable.doc-table th:nth-child(2),#docTable.doc-table td:nth-child(2){width:var(--doc-col-number);min-width:var(--doc-col-number);max-width:var(--doc-col-number);}
#docTable.doc-table th:nth-child(3),#docTable.doc-table td:nth-child(3){width:var(--doc-col-code);min-width:var(--doc-col-code);max-width:var(--doc-col-code);}
#docTable.doc-table th:nth-child(4),#docTable.doc-table td:nth-child(4){width:var(--doc-col-customer);min-width:var(--doc-col-customer);max-width:var(--doc-col-customer);}
#docTable.doc-table th:nth-child(5),#docTable.doc-table td:nth-child(5){width:var(--doc-col-source);min-width:var(--doc-col-source);max-width:var(--doc-col-source);}
#docTable.doc-table th:nth-child(6),#docTable.doc-table td:nth-child(6){width:var(--doc-col-email);min-width:var(--doc-col-email);max-width:var(--doc-col-email);}
#docTable.doc-table th:nth-child(7),#docTable.doc-table td:nth-child(7){width:var(--doc-col-status);min-width:var(--doc-col-status);max-width:var(--doc-col-status);}
#docTable.doc-table th:nth-child(8),#docTable.doc-table td:nth-child(8){width:var(--doc-col-date);min-width:var(--doc-col-date);max-width:var(--doc-col-date);}
#docTable.doc-table th:nth-child(9),#docTable.doc-table td:nth-child(9){width:var(--doc-col-gross);min-width:var(--doc-col-gross);max-width:var(--doc-col-gross);}
#docTable.doc-table th:nth-child(10),#docTable.doc-table td:nth-child(10),#docTable .doc-actions-head,#docTable .doc-actions-cell{width:var(--doc-col-actions);min-width:var(--doc-col-actions);max-width:var(--doc-col-actions);}
.table th,.doc-table th{position:relative;padding-right:18px;}
.doc-col-resizer{position:absolute;right:0;top:0;bottom:0;width:16px;height:100%;cursor:col-resize;touch-action:none;z-index:50;background:transparent;}
.doc-col-resizer:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(255,255,255,.18)}
.doc-col-resizer:after{content:"";position:absolute;right:6px;top:20%;bottom:20%;width:3px;border-radius:99px;background:rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.table th:hover .doc-col-resizer:after,.doc-col-resizer:focus-visible:after{background:var(--brand-accent,#d99a28);}
body.doc-resizing,body.doc-resizing *{cursor:col-resize;user-select:none;}
.logs-table{table-layout:fixed;width:100%;}
.logs-table th:nth-child(1),.logs-table td:nth-child(1){width:160px;}
.logs-table th:nth-child(2),.logs-table td:nth-child(2){width:120px;}
.logs-table th:nth-child(3),.logs-table td:nth-child(3){width:150px;}
.logs-table th:nth-child(4),.logs-table td:nth-child(4){width:auto;}
.logs-table th:nth-child(5),.logs-table td:nth-child(5){width:170px;}
.logs-table th:nth-child(6),.logs-table td:nth-child(6){width:130px;}
.logs-table td{vertical-align:top;overflow-wrap:anywhere;}
.log-meta-preview{display:block;margin-top:4px;font-size:11px;color:#64748b;max-height:42px;overflow:auto;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px;}


/* === V53 FINAL CSS AUDIT: Dokumentlisten/Angebote/Rechnungen sauber === */
.document-list-toolbar,
form.toolbar.document-list-toolbar{align-items:center;gap:10px;margin:0 0 16px;padding:14px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.doc-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px;flex-wrap:wrap}.doc-table-tools .hint{font-size:13px;color:#667085}.doc-table-wrap{overflow:auto;max-width:100%;padding:0 0 10px;border:1px solid var(--line,#e5e7eb);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.07)}.doc-table-wrap:focus{outline:3px solid color-mix(in srgb,var(--brand-accent,#d99a28) 55%,transparent);outline-offset:3px}
#docTable.doc-table{table-layout:fixed;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;--doc-col-type:78px;--doc-col-number:145px;--doc-col-code:132px;--doc-col-customer:220px;--doc-col-source:98px;--doc-col-email:220px;--doc-col-status:112px;--doc-col-date:108px;--doc-col-gross:120px;--doc-col-actions:198px;}
#docTable.doc-table th,#docTable.doc-table td{box-sizing:border-box;vertical-align:middle;min-width:0;overflow:hidden;text-overflow:ellipsis;position:relative;line-height:1.35}#docTable.doc-table th{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#162136,#111827);color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em;white-space:nowrap;padding:11px 20px 11px 10px;border-bottom:1px solid rgba(255,255,255,.12)}#docTable.doc-table td{padding:10px;border-bottom:1px solid #eef2f7;background:#fff;color:#111827;font-size:13px}#docTable.doc-table tr:hover td{background:#f8fafc}
#docTable.doc-table th:nth-child(1),#docTable.doc-table td:nth-child(1){width:var(--doc-col-type);min-width:var(--doc-col-type);max-width:var(--doc-col-type)}#docTable.doc-table th:nth-child(2),#docTable.doc-table td:nth-child(2){width:var(--doc-col-number);min-width:var(--doc-col-number);max-width:var(--doc-col-number)}#docTable.doc-table th:nth-child(3),#docTable.doc-table td:nth-child(3){width:var(--doc-col-code);min-width:var(--doc-col-code);max-width:var(--doc-col-code)}#docTable.doc-table th:nth-child(4),#docTable.doc-table td:nth-child(4){width:var(--doc-col-customer);min-width:var(--doc-col-customer);max-width:var(--doc-col-customer)}#docTable.doc-table th:nth-child(5),#docTable.doc-table td:nth-child(5){width:var(--doc-col-source);min-width:var(--doc-col-source);max-width:var(--doc-col-source)}#docTable.doc-table th:nth-child(6),#docTable.doc-table td:nth-child(6){width:var(--doc-col-email);min-width:var(--doc-col-email);max-width:var(--doc-col-email)}#docTable.doc-table th:nth-child(7),#docTable.doc-table td:nth-child(7){width:var(--doc-col-status);min-width:var(--doc-col-status);max-width:var(--doc-col-status)}#docTable.doc-table th:nth-child(8),#docTable.doc-table td:nth-child(8){width:var(--doc-col-date);min-width:var(--doc-col-date);max-width:var(--doc-col-date)}#docTable.doc-table th:nth-child(9),#docTable.doc-table td:nth-child(9){width:var(--doc-col-gross);min-width:var(--doc-col-gross);max-width:var(--doc-col-gross)}#docTable.doc-table th:nth-child(10),#docTable.doc-table td:nth-child(10),#docTable .doc-actions-head,#docTable .doc-actions-cell{width:var(--doc-col-actions);min-width:var(--doc-col-actions);max-width:var(--doc-col-actions)}
#docTable .doc-customer-cell,#docTable .doc-email-cell{white-space:normal;overflow-wrap:anywhere;word-break:break-word}#docTable .nowrap{white-space:nowrap}#docTable .doc-money-cell{text-align:right;font-weight:900}#docTable code{font-size:11px;padding:3px 5px;border-radius:7px;background:#f1f5f9;color:#334155}.badge{white-space:nowrap}
#docTable .doc-actions-cell-v53{padding:7px;white-space:normal;overflow:visible;vertical-align:top}#docTable .doc-actions-v53{display:grid;grid-template-columns:1fr;gap:6px;width:100%;min-width:0;max-width:100%;margin:0;padding:0}#docTable .doc-actions-v53-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:28px;gap:5px;width:100%;margin:0;padding:0}#docTable .doc-actions-v53-grid>*{display:block;width:100%;min-width:0;max-width:100%;margin:0;padding:0}#docTable .doc-actions-v53 form{margin:0;padding:0}#docTable .doc-actions-v53 .btn,#docTable .doc-actions-v53 .doc-act,#docTable .doc-actions-v53 .doc-act-wide,#docTable .doc-actions-v53 .doc-act-danger{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;max-width:100%;height:28px;min-height:28px;margin:0;padding:0 5px;border-radius:8px;font-size:10.5px;font-weight:850;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:0;transform:none;box-shadow:none}.doc-action-danger-full-v53{display:block;width:100%;margin:0;padding:0}.doc-action-danger-full-v53 .btn{height:34px;min-height:34px;border-radius:10px;font-size:12px;font-weight:950}.doc-act-wide{height:30px;min-height:30px}.doc-act-placeholder{display:block;height:28px}
.doc-col-resizer{position:absolute;right:0;top:0;bottom:0;width:18px;height:100%;cursor:col-resize;touch-action:none;z-index:50;background:transparent}.doc-col-resizer:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(255,255,255,.18)}.doc-col-resizer:after{content:"";position:absolute;right:6px;top:22%;bottom:22%;width:3px;border-radius:99px;background:rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(0,0,0,.08)}#docTable th:hover .doc-col-resizer:after,.doc-col-resizer:focus-visible:after{background:var(--brand-accent,#d99a28)}body.doc-resizing,body.doc-resizing *{cursor:col-resize;user-select:none}.doc-column-reset{min-height:36px;padding:8px 12px;border-radius:12px}
@media(max-width:900px){form.toolbar.document-list-toolbar{display:grid;grid-template-columns:1fr}.doc-table-tools{display:grid}.doc-table-tools .hint{font-size:12px}#docTable.doc-table{min-width:1060px;--doc-col-actions:190px}.doc-col-resizer{display:none}}

/* V54 settings accordion cleanup */
.settings-accordion-form{display:block;}
.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start;}
.settings-anchor-card{position:sticky;top:18px;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(17,24,39,.06);}
.settings-anchor-card strong{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;}
.settings-anchor-card a{display:flex;align-items:center;min-height:36px;padding:8px 10px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:750;font-size:13px;}
.settings-anchor-card a:hover,.settings-anchor-card a:focus-visible{background:var(--soft);color:var(--brand-primary);outline:0;}
.settings-blocks{display:flex;flex-direction:column;gap:14px;min-width:0;}
.settings-block{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(17,24,39,.06);overflow:hidden;}
.settings-block>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid transparent;user-select:none;}
.settings-block>summary::-webkit-details-marker,.company-settings-details>summary::-webkit-details-marker{display:none;}
.settings-block[open]>summary{border-bottom-color:var(--line);}
.settings-block>summary::after{content:'⌄';margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:900;transition:transform .18s ease,background .18s ease,color .18s ease;}
.settings-block[open]>summary::after{transform:rotate(180deg);background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;}
.settings-block>summary strong{display:block;font-size:17px;color:var(--text);line-height:1.15;}
.settings-block>summary small{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:650;}
.settings-block-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:rgba(18,57,91,.08);border:1px solid rgba(18,57,91,.10);font-size:20px;flex:0 0 auto;}
.settings-block-body{padding:18px 20px 20px;}
.settings-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.company-accordion-list{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.company-settings-details{margin-top:0;padding:0;border-radius:18px;background:#fff;box-shadow:none;overflow:hidden;}
.company-settings-details>.company-settings-head{display:flex;align-items:center;gap:14px;margin:0;padding:14px 16px;cursor:pointer;list-style:none;background:#f8fafc;border-bottom:1px solid transparent;}
.company-settings-details[open]>.company-settings-head{border-bottom-color:var(--line);}
.company-settings-details>.company-settings-head::after{content:'⌄';margin-left:auto;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:900;transition:transform .18s ease;}
.company-settings-details[open]>.company-settings-head::after{transform:rotate(180deg);}
.company-settings-head span{min-width:0;display:block;}
.company-settings-head span strong{display:block;color:var(--brand-primary);font-size:15px;line-height:1.2;}
.company-settings-head span small{display:block;color:var(--muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.company-settings-body{padding:16px;}
.check-row{display:flex;gap:8px;align-items:center;font-weight:750;margin:10px 0;}
.check-row input{width:18px;height:18px;accent-color:var(--brand-primary);}
.settings-block :is(input,select,textarea):focus-visible{outline:3px solid rgba(217,154,40,.32);outline-offset:2px;}
@media(max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-anchor-card{position:relative;top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.settings-anchor-card strong{grid-column:1/-1}.settings-two-cols{grid-template-columns:1fr;}}
@media(max-width:680px){.settings-anchor-card{grid-template-columns:1fr 1fr}.settings-block>summary{padding:15px 14px}.settings-block-body{padding:14px}.settings-block-icon{width:36px;height:36px;font-size:18px}.settings-block>summary strong{font-size:15px}.settings-block>summary small{font-size:12px}.company-settings-details>.company-settings-head{padding:12px}.company-settings-body{padding:12px}.settings-anchor-card a{font-size:12px;min-height:34px}}
@media(max-width:430px){.settings-anchor-card{grid-template-columns:1fr}.settings-block>summary{align-items:flex-start}.settings-block>summary::after{width:28px;height:28px}.settings-block-icon{display:none}}

/* === V56 full check final overrides === */
:root{--radius-xl:22px;--radius-lg:16px;--shadow-soft:0 16px 40px rgba(15,23,42,.07)}
/* Sidebar: Icons klarer erkennbar */
.sidebar .nav-ico{width:28px;height:28px;min-width:28px;border-radius:10px;display:inline-grid;place-items:center;background:rgba(255,255,255,.10);color:#fff;font-size:15px;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.sidebar a.active .nav-ico,.sidebar .nav a[aria-current="page"] .nav-ico{background:var(--brand-accent,#d99a28);color:#111827;box-shadow:0 8px 18px rgba(217,154,40,.28)}.sidebar .nav a:hover .nav-ico{background:rgba(255,255,255,.18)}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-actions .btn,.sidebar-quick .btn{min-width:0;width:100%;justify-content:center}
/* Dokumentliste: alle Altregeln neutralisieren, V56 gewinnt */
#docTable .doc-actions-v48,#docTable .doc-actions-v52,#docTable .doc-actions-v53{all:unset;display:contents}#docTable .doc-actions-cell-v48,#docTable .doc-actions-cell-v52,#docTable .doc-actions-cell-v53{padding:7px;white-space:normal;overflow:visible}#docTable .doc-actions-v56-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-table-wrap .btn.small{letter-spacing:0}
/* Allgemeine Tabellen sauberer */
.table-scroll{border-radius:18px;background:#fff}.table th{font-weight:850}.table td{vertical-align:middle}.table .actions-col,.table td:last-child{white-space:normal}
/* Settings polished */
.settings-layout{grid-template-columns:245px minmax(0,1fr);gap:22px}.settings-anchor-card{border-radius:24px;padding:16px;box-shadow:var(--shadow-soft)}.settings-anchor-card a{min-height:40px;border:1px solid transparent}.settings-anchor-card a:hover{border-color:var(--line,#e5e7eb);background:#f8fafc}.settings-block{border-radius:26px;box-shadow:var(--shadow-soft);border-color:#e8edf5}.settings-block>summary{padding:20px 22px}.settings-block[open]{border-color:color-mix(in srgb,var(--brand-primary,#12395b) 22%,#e5e7eb)}.settings-block-icon{width:48px;height:48px;border-radius:18px}.settings-block-body{padding:22px}.company-settings-details{border:1px solid #e8edf5;border-radius:20px}.company-settings-details>.company-settings-head{padding:16px 18px}.company-settings-details[open]>.company-settings-head{background:#f1f5f9;border-bottom-color:#e5e7eb}.settings-savebar{position:sticky;bottom:0;z-index:4;margin-top:18px;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 -10px 30px rgba(15,23,42,.07)}
@media(max-width:1000px){.settings-layout{grid-template-columns:1fr}.settings-anchor-card{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-anchor-card strong{grid-column:1/-1}.settings-block-body{padding:16px}.settings-two-cols{grid-template-columns:1fr}}


/* V57 REAL settings spacing polish */
body .settings-accordion-form{
  --settings-gap: 28px;
  --settings-card-pad: 30px;
  --settings-inner-gap: 22px;
}
body .settings-layout{
  grid-template-columns: 270px minmax(0,1fr) ;
  gap: 32px ;
  align-items: start ;
}
body .settings-anchor-card{
  top: 24px ;
  padding: 22px ;
  gap: 11px ;
  border-radius: 28px ;
  background: linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) ;
}
body .settings-anchor-card strong{
  margin-bottom: 8px ;
  padding-bottom: 12px ;
  border-bottom: 1px solid var(--line,#e5e7eb) ;
}
body .settings-anchor-card a{
  min-height: 46px ;
  padding: 11px 14px ;
  border-radius: 16px ;
  font-size: 14px ;
}
body .settings-blocks{
  gap: 28px ;
}
body .settings-block{
  border-radius: 30px ;
  overflow: clip ;
  box-shadow: 0 18px 48px rgba(15,23,42,.075) ;
}
body .settings-block + .settings-block,
body .settings-two-cols + .settings-block,
body .settings-block + .settings-two-cols{
  margin-top: 4px ;
}
body .settings-block>summary{
  padding: 26px 30px ;
  gap: 18px ;
  min-height: 86px ;
}
body .settings-block>summary strong{
  font-size: 19px ;
  line-height: 1.2 ;
}
body .settings-block>summary small{
  font-size: 13.5px ;
  margin-top: 7px ;
  line-height: 1.45 ;
}
body .settings-block-icon{
  width: 54px ;
  height: 54px ;
  border-radius: 20px ;
  font-size: 22px ;
}
body .settings-block>summary::after{
  width: 38px ;
  height: 38px ;
  font-size: 18px ;
}
body .settings-block-body{
  padding: 30px ;
}
body .settings-block-body > .muted:first-child{
  margin: 0 0 24px ;
  padding: 15px 18px ;
  border: 1px solid var(--line,#e5e7eb) ;
  border-radius: 18px ;
  background: #f8fafc ;
  line-height: 1.55 ;
}
body .settings-two-cols{
  gap: 28px ;
}
body .settings-block .form-grid,
body .settings-block .form-grid.two{
  gap: 22px 24px ;
}
body .settings-block .field{
  margin: 0 ;
}
body .settings-block .field label,
body .settings-block label:not(.check-row){
  margin-bottom: 8px ;
  font-weight: 800 ;
  color: #334155 ;
}
body .settings-block .input,
body .settings-block textarea,
body .settings-block select{
  min-height: 46px ;
  border-radius: 15px ;
  padding: 12px 14px ;
}
body .settings-block textarea{
  min-height: 160px ;
  line-height: 1.55 ;
}
body .company-accordion-list{
  display: flex ;
  flex-direction: column ;
  gap: 24px ;
}
body .company-settings-details{
  border-radius: 26px ;
  border: 1px solid #dfe7f1 ;
  background: #fff ;
  box-shadow: 0 12px 34px rgba(15,23,42,.055) ;
}
body .company-settings-details>.company-settings-head{
  padding: 22px 24px ;
  gap: 18px ;
  min-height: 86px ;
}
body .company-settings-head img,
body .company-settings-head b{
  width: 78px ;
  height: 56px ;
  border-radius: 18px ;
}
body .company-settings-head span strong{
  font-size: 17px ;
}
body .company-settings-head span small{
  font-size: 13px ;
  margin-top: 5px ;
}
body .company-settings-body{
  padding: 28px ;
  background: linear-gradient(180deg,#fff 0%,#fbfdff 100%) ;
}
body .settings-preview-img{
  margin-top: 12px ;
  padding: 12px ;
  border-radius: 16px ;
}
body .settings-preview-icon{
  margin-top: 12px ;
  padding: 8px ;
  border-radius: 14px ;
}
body .check-row{
  display:flex ;
  align-items:center ;
  gap:12px ;
  min-height:48px ;
  padding: 12px 14px ;
  border: 1px solid var(--line,#e5e7eb) ;
  border-radius: 16px ;
  background:#f8fafc ;
  font-weight:800 ;
}
body .settings-block .error{
  border-radius: 18px ;
  padding: 16px 18px ;
  line-height: 1.5 ;
}
body .savebar,
body .settings-savebar{
  position: sticky ;
  bottom: 18px ;
  z-index: 20 ;
  display:flex ;
  justify-content:flex-end ;
  margin: 32px 0 0 ;
  padding: 18px ;
  border:1px solid rgba(226,232,240,.95) ;
  border-radius: 24px ;
  background: rgba(255,255,255,.94) ;
  backdrop-filter: blur(14px) ;
  box-shadow: 0 18px 45px rgba(15,23,42,.12) ;
}
body .savebar .btn,
body .settings-savebar .btn{
  min-height: 48px ;
  padding: 13px 22px ;
  border-radius: 16px ;
}
@media(max-width:1100px){
  body .settings-layout{grid-template-columns:1fr ;gap:24px ;}
  body .settings-anchor-card{position:static ;display:grid ;grid-template-columns:repeat(3,minmax(0,1fr)) ;}
  body .settings-anchor-card strong{grid-column:1/-1 ;}
  body .settings-two-cols{grid-template-columns:1fr ;}
}
@media(max-width:720px){
  body .settings-anchor-card{grid-template-columns:1fr 1fr ;padding:16px ;border-radius:22px ;}
  body .settings-anchor-card a{min-height:42px ;padding:10px 12px ;}
  body .settings-blocks{gap:20px ;}
  body .settings-block>summary{padding:18px 16px ;min-height:auto ;}
  body .settings-block-body{padding:18px ;}
  body .settings-block-icon{width:42px ;height:42px ;border-radius:16px ;}
  body .company-settings-details>.company-settings-head{padding:16px ;}
  body .company-settings-body{padding:18px ;}
  body .settings-block .form-grid,body .settings-block .form-grid.two{gap:16px ;}
  body .savebar{bottom:10px ;margin-top:22px ;padding:12px ;}
  body .savebar .btn{width:100% ;justify-content:center ;}
}
@media(max-width:460px){
  body .settings-anchor-card{grid-template-columns:1fr ;}
  body .settings-block>summary{align-items:flex-start ;}
  body .settings-block>summary::after{width:32px ;height:32px ;}
  body .settings-block-icon{display:grid ;width:38px ;height:38px ;font-size:18px ;}
}


/* V58 SETTINGS SPACING REAL MARKER - duplicated from inline page CSS */
body .settings-v58 .settings-layout{grid-template-columns:300px minmax(0,1fr);gap:42px;}
body .settings-v58 .settings-blocks{display:flex;flex-direction:column;gap:42px;}
body .settings-v58 .settings-block>summary{padding:32px 36px;min-height:104px;}
body .settings-v58 .settings-block-body{padding:38px;}
body .settings-v58 .form-grid,body .settings-v58 .form-grid.two{gap:26px 28px;}
body .settings-v58 .company-accordion-list{gap:30px;}
body .settings-v58 .company-settings-body{padding:34px;}

/* V59 settings stable spacing fallback */
.settings-v59,.settings-v59 *{box-sizing:border-box;}
.settings-v59 .settings-layout{min-width:0;}
.settings-v59 .settings-blocks,.settings-v59 .settings-block,.settings-v59 .settings-block-body,.settings-v59 .field{min-width:0;}
.settings-v59 input,.settings-v59 select,.settings-v59 textarea{max-width:100%;}

/* V60 Startseite: klare Icons auf allen KPI- und Aktionskarten */
.home-stats .home-stat{
  position:relative;
  min-height:104px;
  padding:18px 18px 18px 74px;
  overflow:hidden;
}
.home-stats .home-stat:before{content:none;display:none;}
.home-stat-icon{
  position:absolute;
  left:18px;
  top:20px;
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--brand-primary,#111827),color-mix(in srgb,var(--brand-primary,#111827) 72%,#ffffff));
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:18px;
  font-weight:950;
  box-shadow:0 12px 26px color-mix(in srgb,var(--brand-primary,#111827) 22%,transparent);
}
.home-action-cards{align-items:stretch;}
.home-card-link{height:100%;}
.home-action-card{
  position:relative;
  min-height:176px;
  padding:20px 20px 20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
}
.home-action-card:before,.home-action-card:after{content:none;display:none;}
.home-card-icon{
  width:50px;
  height:50px;
  border-radius:18px;
  display:grid;
  place-items:center;
  margin-bottom:6px;
  background:linear-gradient(135deg,var(--brand-primary,#111827),color-mix(in srgb,var(--brand-primary,#111827) 68%,var(--brand-accent,#d99a28)));
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:21px;
  font-weight:950;
  box-shadow:0 14px 30px color-mix(in srgb,var(--brand-primary,#111827) 20%,transparent);
}
.home-action-card h3{margin:0;font-size:17px;line-height:1.2;}
.home-action-card p{margin:0;line-height:1.5;}
.home-card-link:hover .home-action-card .home-card-icon{
  transform:translateY(-1px);
  box-shadow:0 18px 36px color-mix(in srgb,var(--brand-primary,#111827) 26%,transparent);
}
@media(max-width:900px){
  .home-action-card{min-height:150px;}
  .home-card-icon{width:46px;height:46px;border-radius:16px;font-size:20px;}
}
@media(max-width:560px){
  .home-stats .home-stat{min-height:92px;padding-left:68px;}
  .home-stat-icon{left:16px;top:18px;width:38px;height:38px;border-radius:14px;font-size:16px;}
  .home-action-card{min-height:auto;padding:18px;}
}



/* === V61: Startseiten-Icons als echte ::before Icon-Boxen === */
.home-action-card .home-card-icon{display:none;}
.home-action-card::after{content:none;display:none;}
.home-card-link .home-action-card::before{
  content:"";
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:18px;
  margin:0 0 8px 0;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 72%,var(--brand-accent,#d99a28)));
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:22px;
  font-weight:950;
  line-height:1;
  box-shadow:0 14px 30px color-mix(in srgb,var(--brand-primary,#12395b) 24%,transparent);
  border:1px solid color-mix(in srgb,#fff 18%,var(--brand-primary,#12395b));
}
.home-card-link:nth-child(1) .home-action-card::before{content:"👤";}
.home-card-link:nth-child(2) .home-action-card::before{content:"▦";}
.home-card-link:nth-child(3) .home-action-card::before{content:"✎";}
.home-card-link:nth-child(4) .home-action-card::before{content:"€";}
.home-card-link:nth-child(5) .home-action-card::before{content:"▣";}
.home-card-link:nth-child(6) .home-action-card::before{content:"⏱";}
.home-card-link:nth-child(7) .home-action-card::before{content:"↻";}
.home-card-link:nth-child(8) .home-action-card::before{content:"☰";}
.home-card-link:nth-child(9) .home-action-card::before{content:"◎";}
.home-card-link:nth-child(10) .home-action-card::before{content:"⚙";}
.home-card-link:hover .home-action-card::before{transform:translateY(-1px);box-shadow:0 18px 38px color-mix(in srgb,var(--brand-primary,#12395b) 30%,transparent);}
@media(max-width:900px){.home-card-link .home-action-card::before{width:46px;height:46px;min-width:46px;border-radius:16px;font-size:20px;}}
/* Sidebar Quickactions: Icons in den farbigen Boxen per ::before */
.sidebar-command .sidebar-quick-actions a{gap:6px;}
.sidebar-command .sidebar-quick-actions a::before{display:inline-grid;place-items:center;width:18px;min-width:18px;height:18px;border-radius:7px;background:rgba(255,255,255,.28);color:#071421;-webkit-text-fill-color:#071421;font-size:12px;font-weight:950;line-height:1;}
.sidebar-command .sidebar-quick-actions a:nth-child(1)::before{content:"👤";}
.sidebar-command .sidebar-quick-actions a:nth-child(2)::before{content:"✎";}
.sidebar-command .sidebar-quick-actions a:nth-child(3)::before{content:"▣";}
.sidebar-command .sidebar-quick-actions a:nth-child(4)::before{content:"⏱";}


/* V62 LinkITUp recurring invoices */
.recurring-hero{border-left:5px solid #B51029;background:linear-gradient(135deg,rgba(181,16,41,.08),rgba(255,255,255,.92));}
.recurring-layout{align-items:start;gap:24px;grid-template-columns:minmax(420px,1.1fr) minmax(360px,.9fr);}
.recurring-form-card,.recurring-list-card{min-width:0;}
.roomy-form{gap:18px 20px;}
.toggle-line{padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb;}
.savebar-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;}
.recurring-list{display:grid;gap:14px;}
.recurring-item{display:grid;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.06);}
.recurring-item.is-due{border-color:#B51029;box-shadow:0 10px 28px rgba(181,16,41,.12);}
.recurring-item strong{display:block;color:#111827;margin-bottom:4px;}
.recurring-item span{display:block;color:#64748b;font-size:.92rem;}
.recurring-meta{display:flex;gap:8px;flex-wrap:wrap;}
.recurring-meta span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.82rem;}
.recurring-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:stretch;}
.recurring-actions form{display:block;margin:0;}
.recurring-actions .btn{width:100%;justify-content:center;}
.internal-split-disabled{margin:0 0 16px 0;border-left:4px solid #B51029;}
.app-bu-linkitup .company-page-head,.app-bu-linkitup .sidebar-business-card{--brand-primary:#B51029;}
@media(max-width:1100px){.recurring-layout{grid-template-columns:1fr}.recurring-actions{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.recurring-actions{grid-template-columns:1fr}.roomy-form{gap:14px}.recurring-item{padding:14px}}

/* V64 LinkITUp Reverse-Charge / readonly fields */
.readonly-field{display:flex;align-items:center;min-height:42px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:10px 12px;color:#334155;font-weight:700}
.reverse-charge-note{margin:20px 0 0;padding:14px 16px;border:1px solid #f2c6cf;background:#fff7f8;border-radius:14px;color:#58111f;font-size:13px;line-height:1.45}
.reverse-charge-note strong{color:#B51029}
@media print{.reverse-charge-note{background:#fff;border:1px solid #999;color:#111;break-inside:avoid}}

.customer-tax-line{display:inline-block;margin-top:4px;color:#111827;font-size:12.5px;line-height:1.35}
.customer-tax-line strong{font-weight:800}

/* V86: Sidebar-Hintergrund bleibt links durchgehend sichtbar
   Fix gegen weiße Fläche links bei langen/scrollenden Seiten. */
@media (min-width:901px){
  .app{
    position:relative;
    min-height:100vh;
    min-height:100dvh;
    background:#FAFBFD;
  }
  .app::before{
    content:"";
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:320px;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);
  }
  body.sidebar-collapsed .app::before{
    width:88px;
  }
  aside.sidebar.sidebar-command{
    z-index:2;
    background:linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);
  }
  .main{
    position:relative;
    z-index:1;
    background:#FAFBFD;
  }
}

/* V87: Sidebar ist wieder ein echtes festes Bedienelement, kein reiner Hintergrund.
   Der linke Bereich bleibt beim Scrollen vollständig klickbar. */
@media (min-width:901px){
  .app{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    align-items:start;
    min-height:100vh;
    min-height:100dvh;
    background:#FAFBFD;
  }
  body.sidebar-collapsed .app{
    grid-template-columns:96px minmax(0,1fr);
  }
  .app::before{
    content:none;
    display:none;
  }
  aside.sidebar.sidebar-command{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:320px;
    min-width:320px;
    max-width:320px;
    height:100vh;
    height:100dvh;
    max-height:100dvh;
    z-index:1000;
    pointer-events:auto;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);
  }
  body.sidebar-collapsed aside.sidebar.sidebar-command{
    width:96px;
    min-width:96px;
    max-width:96px;
  }
  .main{
    grid-column:2;
    min-width:0;
    width:100%;
    position:relative;
    z-index:1;
    background:#FAFBFD;
  }
}
@media (max-width:900px){
  .app::before{content:none;display:none;}
  aside.sidebar.sidebar-command{position:sticky;}
  .main{grid-column:auto;}
}

/* V88 HARD FIX: echte fixed Sidebar statt Fake-Fläche
   Desktop: Sidebar bleibt als bedienbares Element links im Viewport.
   Main bekommt echten Abstand. Kein weißer Bereich und keine verdeckten Links. */
@media (min-width:901px){
  :root{--lmcs-sidebar-w:320px;}
  body.sidebar-collapsed{--lmcs-sidebar-w:96px;}
  html,body{min-height:100%;overflow-x:hidden;}
  body{background:#FAFBFD;}
  .app,
  .app.app-bu-linkitup,
  .app.app-bu-lmcs_media,
  .app.app-bu-ebfb{
    display:block;
    position:relative;
    min-height:100vh;
    min-height:100dvh;
    width:100%;
    overflow:visible;
    background:#FAFBFD;
  }
  .app::before{content:none;display:none;}

  aside.sidebar.sidebar-command{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:var(--lmcs-sidebar-w);
    min-width:var(--lmcs-sidebar-w);
    max-width:var(--lmcs-sidebar-w);
    height:100vh;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    padding:16px;
    z-index:10000;
    pointer-events:auto;
    display:flex;
    flex-direction:column;
    gap:12px;
    overflow:hidden;
    color:#fff;
    background:linear-gradient(180deg,var(--brand-primary,#12395b) 0%,#0a1a2b 62%,#050b14 100%);
    border:0;
    box-shadow:18px 0 46px rgba(15,23,42,.20);
  }

  .main{
    display:block;
    margin-left:var(--lmcs-sidebar-w);
    width:calc(100% - var(--lmcs-sidebar-w));
    max-width:none;
    min-height:100vh;
    min-height:100dvh;
    position:relative;
    z-index:1;
    background:#FAFBFD;
  }

  .sidebar-command nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:0 -4px;
    padding:2px 4px 8px;
    scrollbar-width:thin;
    overscroll-behavior:contain;
  }
  .sidebar-command nav a{
    pointer-events:auto;
    cursor:pointer;
  }

  body.sidebar-collapsed aside.sidebar.sidebar-command{
    width:var(--lmcs-sidebar-w);
    min-width:var(--lmcs-sidebar-w);
    max-width:var(--lmcs-sidebar-w);
    padding:14px 10px;
  }
}

@media (max-width:900px){
  :root{--lmcs-sidebar-w:0px;}
  .app{display:block;}
  .app::before{content:none;display:none;}
  aside.sidebar.sidebar-command{
    position:sticky;
    top:0;
    left:auto;
    bottom:auto;
    width:100%;
    min-width:0;
    max-width:none;
    height:auto;
    max-height:none;
    z-index:999;
  }
  .main{
    margin-left:0;
    width:100%;
    max-width:none;
  }
}

/* V96 Aufgaben-Benachrichtigung: Popup und klickbare Sidebar-Aufgaben */
.sidebar-task-open{all:unset;display:flex;align-items:center;gap:8px;width:100%;cursor:pointer;color:inherit;font-weight:900;line-height:1.25}
.sidebar-task-open span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#071421;font-weight:950}
.task-notification-modal[hidden]{display:none}
.task-notification-modal{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:24px}
.task-notification-backdrop{position:absolute;inset:0;background:rgba(7,20,33,.62);backdrop-filter:blur(4px)}
.task-notification-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:auto;background:#fff;color:#101828;border-radius:24px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.32);border:1px solid rgba(15,23,42,.10)}
.task-notification-dialog h2{margin:0 44px 6px 0;font-size:24px}
.task-notification-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:999px;background:#f2f4f7;color:#101828;font-size:24px;line-height:1;cursor:pointer;font-weight:900}
.task-notification-list{display:grid;gap:10px;margin:18px 0}
.task-notification-item{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f8fafc}
.task-notification-item p{margin:9px 0 0;color:#344054}
body.task-modal-open{overflow:hidden}
@media(max-width:760px){.task-notification-modal{padding:12px}.task-notification-dialog{border-radius:18px;padding:18px}.task-notification-dialog h2{font-size:21px}}

/* V97 Dashboard-To-do: dauerhaft sichtbares Aufgabenfeld auf der Startseite */
.dashboard-todo-panel{margin:18px 0;position:relative;overflow:hidden}
.dashboard-todo-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));opacity:.95}
.dashboard-todo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.dashboard-todo-head h2{margin:0;font-size:24px}
.dashboard-todo-list{display:grid;gap:10px}
.dashboard-todo-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f8fafc}
.dashboard-todo-main{min-width:0}
.dashboard-todo-main strong{display:block;color:#101828;font-size:16px;margin-bottom:2px}
.dashboard-todo-main small{display:block;color:#475467;font-weight:750}
.dashboard-todo-main p{margin:8px 0 0;color:#344054;white-space:normal}
.dashboard-todo-empty{border:1px solid #d1fadf;background:#ecfdf3;color:#05603a;border-radius:18px;padding:18px;font-weight:900;font-size:17px}
@media(max-width:760px){.dashboard-todo-head,.dashboard-todo-item{display:block}.dashboard-todo-head .btn{margin-top:10px}.dashboard-todo-item form{margin-top:12px}.dashboard-todo-item .btn{width:100%}}

/* V98: To-do-Feld direkt im Hero-Container unter den 3 Hauptbuttons */

.dashboard-todo-panel{display:none}
.dashboard-todo-inline{
  margin-top:22px;
  max-width:760px;
  border:1px solid rgba(20,60,95,.14);
  border-radius:22px;
  padding:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.92));
  box-shadow:0 14px 38px rgba(16,24,40,.075);
  position:relative;
  overflow:hidden;
}
.dashboard-todo-inline::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  background:linear-gradient(180deg,#12395b,#d99a28);
}
.dashboard-todo-inline-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.dashboard-todo-title{display:flex;align-items:center;gap:10px;min-width:0}
.dashboard-todo-inline-head h3{margin:0;font-size:21px;letter-spacing:-.03em;color:#101828}
.todo-icon{
  width:38px;height:38px;
  flex:0 0 38px;
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#12395b;
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 22px rgba(18,57,91,.22);
}
.todo-count{
  flex:0 0 auto;
  border:1px solid rgba(18,57,91,.16);
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#12395b;
  font-size:12px;
  font-weight:900;
  box-shadow:0 6px 16px rgba(16,24,40,.05);
}
.dashboard-todo-inline .dashboard-todo-list{display:grid;gap:9px}
.dashboard-todo-inline .dashboard-todo-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid rgba(20,60,95,.12);
  border-radius:16px;
  padding:11px 12px;
  background:rgba(255,255,255,.88);
  box-shadow:0 6px 18px rgba(16,24,40,.045);
}
.dashboard-todo-inline .dashboard-todo-item:hover{border-color:rgba(18,57,91,.26);box-shadow:0 10px 24px rgba(16,24,40,.07)}
.todo-status-dot{width:10px;height:10px;border-radius:999px;background:#d99a28;box-shadow:0 0 0 5px rgba(217,154,40,.13)}
.dashboard-todo-inline .dashboard-todo-main{min-width:0}
.dashboard-todo-inline .dashboard-todo-main strong{display:block;color:#101828;font-size:15px;line-height:1.25;margin-bottom:3px}
.dashboard-todo-inline .dashboard-todo-main small{display:block;color:#667085;font-weight:800;font-size:12px;line-height:1.35}
.dashboard-todo-inline .dashboard-todo-main p{margin:7px 0 0;color:#344054;white-space:normal;line-height:1.45}
.dashboard-todo-inline .btn.small{border-radius:12px;padding:8px 11px}
.dashboard-todo-all{
  display:inline-flex;
  margin-top:10px;
  color:#12395b;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.dashboard-todo-all:hover{text-decoration:underline}
.dashboard-todo-inline .dashboard-todo-empty{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(6,118,71,.18);
  background:linear-gradient(135deg,#ecfdf3,#f6fef9);
  color:#05603a;
  border-radius:16px;
  padding:14px;
  font-size:16px;
}
.dashboard-todo-inline .dashboard-todo-empty span{font-size:22px;line-height:1}
.dashboard-todo-inline .dashboard-todo-empty strong{font-weight:900}
@media(max-width:760px){.dashboard-todo-inline{max-width:none;padding:14px}.dashboard-todo-inline-head{align-items:flex-start}.dashboard-todo-inline .dashboard-todo-item{grid-template-columns:auto 1fr;align-items:flex-start}.dashboard-todo-inline .dashboard-todo-item form{grid-column:2;margin-top:8px}.dashboard-todo-inline .dashboard-todo-item .btn{width:100%;justify-content:center}.todo-count{margin-top:2px}}

/* V100: Dashboard-To-do als hochwertiger innerer Container im Hero */
.home-hero > div:first-child .dashboard-todo-inline{
  margin-top:34px;
  margin-bottom:8px;
  max-width:760px;
  width:100%;
  padding:0;
  border:0;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(247,250,255,.90));
  box-shadow:0 22px 58px rgba(16,24,40,.12), inset 0 0 0 1px rgba(18,57,91,.11);
  overflow:hidden;
  isolation:isolate;
}
.home-hero > div:first-child .dashboard-todo-inline::before{
  width:auto;
  height:auto;
  inset:0;
  background:
    radial-gradient(circle at 18px 12px,rgba(217,154,40,.24),transparent 28%),
    radial-gradient(circle at 92% 10%,rgba(18,57,91,.12),transparent 34%),
    linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
  opacity:.14;
  pointer-events:none;
  z-index:-1;
}
.home-hero > div:first-child .dashboard-todo-inline::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
  opacity:.95;
}
.home-hero > div:first-child .dashboard-todo-inline-head{
  padding:24px 24px 16px;
  margin:0;
  border-bottom:1px solid rgba(18,57,91,.09);
}
.home-hero > div:first-child .dashboard-todo-title{
  gap:14px;
}
.home-hero > div:first-child .todo-icon{
  width:46px;
  height:46px;
  flex-basis:46px;
  border-radius:17px;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 78%,#000));
  box-shadow:0 14px 28px rgba(18,57,91,.24);
}
.home-hero > div:first-child .dashboard-todo-inline-head .eyebrow{
  margin-bottom:3px;
}
.home-hero > div:first-child .dashboard-todo-inline-head h3{
  font-size:24px;
  line-height:1.08;
}
.home-hero > div:first-child .todo-count{
  padding:8px 13px;
  border-color:rgba(18,57,91,.13);
  box-shadow:0 10px 22px rgba(16,24,40,.07);
}
.home-hero > div:first-child .dashboard-todo-list{
  padding:18px 22px 6px;
  gap:12px;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{
  border-radius:20px;
  padding:15px 16px;
  gap:14px;
  border-color:rgba(18,57,91,.10);
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 26px rgba(16,24,40,.065);
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item:hover{
  transform:translateY(-1px);
  border-color:rgba(18,57,91,.23);
  box-shadow:0 16px 34px rgba(16,24,40,.09);
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main strong{
  font-size:16px;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main small{
  margin-top:3px;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main p{
  margin-top:9px;
}
.home-hero > div:first-child .dashboard-todo-inline .btn.small{
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 10px 20px rgba(18,57,91,.12);
}
.home-hero > div:first-child .dashboard-todo-all{
  margin:14px 22px 22px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(18,57,91,.06);
  text-decoration:none;
}
.home-hero > div:first-child .dashboard-todo-all:hover{
  background:rgba(18,57,91,.10);
  text-decoration:none;
}
.home-hero > div:first-child .dashboard-todo-empty{
  margin:20px 22px 22px;
  padding:18px 19px;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(6,118,71,.08);
}
@media(max-width:760px){
  .home-hero > div:first-child .dashboard-todo-inline{margin-top:26px;border-radius:22px}
  .home-hero > div:first-child .dashboard-todo-inline-head{padding:20px 18px 14px}
  .home-hero > div:first-child .dashboard-todo-list{padding:16px 16px 4px}
  .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{padding:14px}
  .home-hero > div:first-child .dashboard-todo-all{margin:14px 16px 18px}
  .home-hero > div:first-child .dashboard-todo-empty{margin:18px 16px 18px}
}

/* V101: To-do-Aufgaben als hochwertiger innerer Hero-Container */
.home-hero > div:first-child .dashboard-todo-inline{
  margin-top:38px;
  margin-bottom:10px;
  max-width:820px;
  width:100%;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(18,57,91,.12);
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.91)) padding-box,
    linear-gradient(135deg,rgba(18,57,91,.20),rgba(217,154,40,.22)) border-box;
  box-shadow:0 24px 70px rgba(16,24,40,.13), inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;
  isolation:isolate;
}
.home-hero > div:first-child .dashboard-todo-inline::before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  background:
    radial-gradient(circle at 10% 0%,rgba(217,154,40,.20),transparent 32%),
    radial-gradient(circle at 96% 16%,rgba(18,57,91,.14),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));
  opacity:1;
  pointer-events:none;
  z-index:-2;
}
.home-hero > div:first-child .dashboard-todo-inline::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:0;
  height:5px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
  box-shadow:0 10px 26px rgba(18,57,91,.18);
}
.home-hero > div:first-child .dashboard-todo-inline-head{
  padding:8px 4px 18px;
  margin:0 0 14px;
  border-bottom:1px solid rgba(18,57,91,.10);
}
.home-hero > div:first-child .dashboard-todo-title{gap:15px}
.home-hero > div:first-child .todo-icon{
  width:50px;
  height:50px;
  flex-basis:50px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),#071421);
  color:#fff;
  box-shadow:0 15px 30px rgba(18,57,91,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.home-hero > div:first-child .dashboard-todo-inline-head .eyebrow{margin-bottom:4px;color:var(--brand-primary,#12395b)}
.home-hero > div:first-child .dashboard-todo-inline-head h3{font-size:25px;line-height:1.06;letter-spacing:-.04em}
.home-hero > div:first-child .todo-count{
  padding:9px 14px;
  border:1px solid rgba(217,154,40,.30);
  background:rgba(255,255,255,.86);
  color:var(--brand-primary,#12395b);
  box-shadow:0 12px 28px rgba(16,24,40,.08);
}
.home-hero > div:first-child .dashboard-todo-list{padding:0;gap:14px}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{
  position:relative;
  grid-template-columns:14px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  border-radius:24px;
  padding:17px 18px;
  border:1px solid rgba(18,57,91,.11);
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(16,24,40,.075), inset 0 1px 0 rgba(255,255,255,.75);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:rgba(18,57,91,.24);
  box-shadow:0 20px 46px rgba(16,24,40,.11);
}
.home-hero > div:first-child .todo-status-dot{
  width:12px;
  height:12px;
  align-self:start;
  margin-top:7px;
  border-radius:999px;
  background:var(--brand-accent,#d99a28);
  box-shadow:0 0 0 6px rgba(217,154,40,.14),0 0 0 1px rgba(217,154,40,.45);
}
.home-hero > div:first-child .todo-due-overdue .todo-status-dot{background:#d92d20;box-shadow:0 0 0 6px rgba(217,45,32,.12),0 0 0 1px rgba(217,45,32,.40)}
.home-hero > div:first-child .todo-due-today .todo-status-dot{background:var(--brand-accent,#d99a28)}
.home-hero > div:first-child .todo-due-upcoming .todo-status-dot{background:#1570ef;box-shadow:0 0 0 6px rgba(21,112,239,.11),0 0 0 1px rgba(21,112,239,.35)}
.home-hero > div:first-child .dashboard-todo-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main strong{
  font-size:17px;
  line-height:1.22;
  letter-spacing:-.02em;
  color:#0b1f33;
}
.home-hero > div:first-child .dashboard-todo-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.home-hero > div:first-child .dashboard-todo-meta span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(18,57,91,.06);
  color:#344054;
  font-size:12px;
  line-height:1;
  font-weight:850;
}
.home-hero > div:first-child .todo-due-pill{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 10px;
  background:rgba(18,57,91,.08);
  color:var(--brand-primary,#12395b);
  font-size:12px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}
.home-hero > div:first-child .todo-due-overdue .todo-due-pill{background:#fef3f2;color:#b42318}
.home-hero > div:first-child .todo-due-today .todo-due-pill{background:#fffaeb;color:#b54708}
.home-hero > div:first-child .todo-due-upcoming .todo-due-pill{background:#eff8ff;color:#175cd3}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main p{
  margin:11px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(248,250,252,.90);
  color:#344054;
  line-height:1.45;
  border:1px solid rgba(18,57,91,.07);
}
.home-hero > div:first-child .dashboard-todo-done-form{align-self:center}
.home-hero > div:first-child .todo-done-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:10px 15px;
  border-radius:15px;
  box-shadow:0 12px 24px rgba(18,57,91,.16);
  white-space:nowrap;
}
.home-hero > div:first-child .todo-done-btn span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.20);
}
.home-hero > div:first-child .dashboard-todo-all{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:16px 0 0;
  padding:11px 15px;
  border-radius:16px;
  background:rgba(18,57,91,.07);
  color:var(--brand-primary,#12395b);
  text-decoration:none;
  font-weight:950;
  box-shadow:inset 0 0 0 1px rgba(18,57,91,.07);
}
.home-hero > div:first-child .dashboard-todo-all:hover{background:rgba(18,57,91,.11);text-decoration:none}
.home-hero > div:first-child .dashboard-todo-empty{
  margin:0;
  padding:19px 20px;
  border-radius:24px;
  border:1px solid rgba(6,118,71,.18);
  background:linear-gradient(135deg,#ecfdf3,#f8fffb);
  box-shadow:0 14px 32px rgba(6,118,71,.08), inset 0 1px 0 rgba(255,255,255,.7);
  color:#05603a;
}
.home-hero > div:first-child .dashboard-todo-empty span{font-size:28px}
.home-hero > div:first-child .dashboard-todo-empty div{display:grid;gap:3px}
.home-hero > div:first-child .dashboard-todo-empty small{display:block;color:#067647;font-weight:750;font-size:13px}
@media(max-width:760px){
  .home-hero > div:first-child .dashboard-todo-inline{margin-top:28px;padding:14px;border-radius:24px}
  .home-hero > div:first-child .dashboard-todo-inline-head{padding:6px 2px 15px;align-items:flex-start}
  .home-hero > div:first-child .dashboard-todo-inline-head h3{font-size:22px}
  .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{grid-template-columns:12px minmax(0,1fr);gap:12px;padding:15px;border-radius:20px}
  .home-hero > div:first-child .dashboard-todo-row{display:block}
  .home-hero > div:first-child .todo-due-pill{display:inline-flex;margin-top:8px}
  .home-hero > div:first-child .dashboard-todo-done-form{grid-column:2;margin-top:12px}
  .home-hero > div:first-child .todo-done-btn{width:100%;justify-content:center}
}


/* V102: Finaler Premium-To-do-Block und sauberes Aufgaben-Popup */
.home-hero > div:first-child .dashboard-todo-inline{
  box-sizing:border-box;
  display:block;
  position:relative;
  margin:34px 0 4px;
  max-width:880px;
  width:min(100%,880px);
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(18,57,91,.16);
  background:
    radial-gradient(circle at 0% 0%,rgba(217,154,40,.17),transparent 34%),
    radial-gradient(circle at 96% 12%,rgba(18,57,91,.13),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.93));
  box-shadow:0 24px 70px rgba(16,24,40,.12), inset 0 1px 0 rgba(255,255,255,.82);
  overflow:hidden;
  isolation:isolate;
}
.home-hero > div:first-child .dashboard-todo-inline::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:5px;
  width:auto;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
  box-shadow:0 10px 28px rgba(18,57,91,.18);
  pointer-events:none;
  z-index:1;
}
.home-hero > div:first-child .dashboard-todo-inline::after{
  content:"";
  position:absolute;
  right:-50px;
  bottom:-70px;
  width:210px;
  height:210px;
  border-radius:999px;
  background:rgba(18,57,91,.055);
  pointer-events:none;
  z-index:-1;
}
.home-hero > div:first-child .dashboard-todo-inline-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:8px 4px 18px;
  margin:0 0 16px;
  border-bottom:1px solid rgba(18,57,91,.10);
}
.home-hero > div:first-child .dashboard-todo-title{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}
.home-hero > div:first-child .todo-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:19px;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),#071421);
  color:#fff;
  font-size:24px;
  font-weight:950;
  box-shadow:0 16px 32px rgba(18,57,91,.26), inset 0 1px 0 rgba(255,255,255,.16);
}
.home-hero > div:first-child .dashboard-todo-inline .eyebrow{
  margin:0 0 4px;
  color:var(--brand-primary,#12395b);
  letter-spacing:.09em;
}
.home-hero > div:first-child .dashboard-todo-inline h3{
  margin:0;
  color:#0b1f33;
  font-size:26px;
  line-height:1.06;
  letter-spacing:-.045em;
}
.home-hero > div:first-child .todo-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:36px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(217,154,40,.32);
  background:rgba(255,255,255,.92);
  color:var(--brand-primary,#12395b);
  font-size:13px;
  line-height:1;
  font-weight:950;
  box-shadow:0 12px 28px rgba(16,24,40,.075);
}
.home-hero > div:first-child .dashboard-todo-list{
  display:grid;
  gap:14px;
  padding:0;
  margin:0;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{
  display:grid;
  grid-template-columns:14px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:82px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(18,57,91,.12);
  background:rgba(255,255,255,.90);
  box-shadow:0 15px 36px rgba(16,24,40,.08), inset 0 1px 0 rgba(255,255,255,.74);
  transform:none;
}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item:hover{
  background:#fff;
  border-color:rgba(18,57,91,.25);
  box-shadow:0 22px 48px rgba(16,24,40,.115), inset 0 1px 0 rgba(255,255,255,.78);
  transform:translateY(-2px);
}
.home-hero > div:first-child .todo-status-dot{
  width:12px;
  height:12px;
  min-width:12px;
  margin-top:7px;
  align-self:start;
  border-radius:999px;
  background:var(--brand-accent,#d99a28);
  box-shadow:0 0 0 6px rgba(217,154,40,.14),0 0 0 1px rgba(217,154,40,.45);
}
.home-hero > div:first-child .todo-due-overdue .todo-status-dot{background:#d92d20;box-shadow:0 0 0 6px rgba(217,45,32,.12),0 0 0 1px rgba(217,45,32,.40)}
.home-hero > div:first-child .todo-due-upcoming .todo-status-dot{background:#1570ef;box-shadow:0 0 0 6px rgba(21,112,239,.11),0 0 0 1px rgba(21,112,239,.35)}
.home-hero > div:first-child .dashboard-todo-main{min-width:0}
.home-hero > div:first-child .dashboard-todo-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:0 0 9px;
}
.home-hero > div:first-child .dashboard-todo-main strong{
  display:block;
  color:#071421;
  font-size:18px;
  line-height:1.18;
  letter-spacing:-.025em;
  margin:0;
}
.home-hero > div:first-child .todo-due-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  background:#fffaeb;
  color:#b54708;
  font-size:12px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}
.home-hero > div:first-child .todo-due-overdue .todo-due-pill{background:#fef3f2;color:#b42318}
.home-hero > div:first-child .todo-due-upcoming .todo-due-pill{background:#eff8ff;color:#175cd3}
.home-hero > div:first-child .dashboard-todo-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.home-hero > div:first-child .dashboard-todo-meta span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  background:rgba(18,57,91,.065);
  color:#344054;
  font-size:12px;
  line-height:1;
  font-weight:850;
}
.home-hero > div:first-child .dashboard-todo-main p{
  margin:12px 0 0;
  padding:12px 13px;
  border-radius:15px;
  border:1px solid rgba(18,57,91,.08);
  background:rgba(248,250,252,.92);
  color:#344054;
  line-height:1.45;
}
.home-hero > div:first-child .dashboard-todo-done-form{
  margin:0;
  align-self:center;
}
.home-hero > div:first-child .todo-done-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border-radius:16px;
  border:0;
  background:var(--brand-primary,#12395b);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 26px rgba(18,57,91,.18);
  white-space:nowrap;
}
.home-hero > div:first-child .todo-done-btn span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  border-radius:999px;
  background:rgba(255,255,255,.20);
}
.home-hero > div:first-child .dashboard-todo-all{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:17px 0 0;
  padding:11px 15px;
  border-radius:16px;
  background:rgba(18,57,91,.07);
  color:var(--brand-primary,#12395b);
  text-decoration:none;
  font-weight:950;
  box-shadow:inset 0 0 0 1px rgba(18,57,91,.075);
}
.home-hero > div:first-child .dashboard-todo-all:hover{background:rgba(18,57,91,.12);text-decoration:none}
.home-hero > div:first-child .dashboard-todo-empty{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
  padding:20px;
  border-radius:24px;
  border:1px solid rgba(6,118,71,.18);
  background:linear-gradient(135deg,#ecfdf3,#f8fffb);
  box-shadow:0 14px 32px rgba(6,118,71,.08), inset 0 1px 0 rgba(255,255,255,.70);
  color:#05603a;
}
.home-hero > div:first-child .dashboard-todo-empty > span{font-size:30px;line-height:1}
.home-hero > div:first-child .dashboard-todo-empty strong{display:block;font-size:17px;font-weight:950}
.home-hero > div:first-child .dashboard-todo-empty small{display:block;margin-top:2px;color:#067647;font-size:13px;font-weight:760}

.task-notification-modal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.task-notification-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,20,33,.68);
  backdrop-filter:blur(6px);
}
.task-notification-dialog{
  position:relative;
  z-index:1;
  width:min(720px,calc(100vw - 32px));
  max-height:min(760px,calc(100dvh - 32px));
  overflow:auto;
  box-sizing:border-box;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  color:#071421;
  box-shadow:0 34px 110px rgba(0,0,0,.38);
}
.task-notification-dialog h2{margin:0 50px 8px 0;font-size:30px;line-height:1.08;letter-spacing:-.045em;color:#071421}
.task-notification-dialog .muted{color:#475467;font-size:16px;font-weight:760}
.task-notification-close{
  position:absolute;
  right:18px;
  top:18px;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#f2f4f7;
  color:#071421;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  font-weight:950;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.task-notification-list{display:grid;gap:12px;margin:20px 0}
.task-notification-item{border:1px solid rgba(18,57,91,.12);border-radius:20px;padding:16px;background:#fff;box-shadow:0 12px 30px rgba(16,24,40,.07)}
.task-notification-item strong{font-size:18px;color:#071421;line-height:1.2}
.task-notification-item small{color:#667085;font-weight:800}
.task-notification-item p{margin:10px 0 0;color:#344054;line-height:1.45}
.task-notification-dialog .toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.task-notification-dialog .toolbar .btn{min-height:46px;border-radius:16px;padding:12px 17px;font-weight:950;text-decoration:none}
.task-notification-dialog .toolbar .btn.primary{background:var(--brand-primary,#12395b);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff);border-color:transparent;box-shadow:0 14px 28px rgba(18,57,91,.18)}
body.task-modal-open{overflow:hidden}
.sidebar-command .sidebar-task-open{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;font-weight:850;padding:0}
.sidebar-command .sidebar-task-open span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#071421;font-weight:950}
@media(max-width:760px){
  .home-hero > div:first-child .dashboard-todo-inline{margin-top:26px;padding:14px;border-radius:24px}
  .home-hero > div:first-child .dashboard-todo-inline-head{align-items:flex-start;padding:6px 2px 15px}
  .home-hero > div:first-child .dashboard-todo-title{gap:12px}
  .home-hero > div:first-child .todo-icon{width:44px;height:44px;min-width:44px;border-radius:16px}
  .home-hero > div:first-child .dashboard-todo-inline h3{font-size:22px}
  .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{grid-template-columns:12px minmax(0,1fr);gap:12px;padding:15px;border-radius:20px}
  .home-hero > div:first-child .dashboard-todo-row{display:block;margin-bottom:8px}
  .home-hero > div:first-child .todo-due-pill{margin-top:9px}
  .home-hero > div:first-child .dashboard-todo-done-form{grid-column:2;margin-top:13px}
  .home-hero > div:first-child .todo-done-btn{width:100%}
  .task-notification-modal{padding:12px}
  .task-notification-dialog{padding:22px;border-radius:22px}
  .task-notification-dialog h2{font-size:25px}
  .task-notification-dialog .toolbar{display:grid}
  .task-notification-dialog .toolbar .btn{width:100%;justify-content:center}
}


/* V104: Aufgaben-Schnellaktionen im Dashboard */
.home-hero > div:first-child .dashboard-todo-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.home-hero > div:first-child .todo-suggest-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 11px;
  border-radius:13px;
  border:1px solid rgba(18,57,91,.11);
  background:rgba(255,255,255,.72);
  color:var(--brand-primary,#12395b);
  font-size:12px;
  line-height:1;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(16,24,40,.055);
}
.home-hero > div:first-child .todo-suggest-link.primary{
  background:linear-gradient(135deg,var(--brand-accent,#d99a28),#f4c56a);
  color:#071421;
  border-color:rgba(255,255,255,.28);
}
.home-hero > div:first-child .todo-suggest-link:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 12px 24px rgba(16,24,40,.09)}
@media(max-width:760px){.home-hero > div:first-child .dashboard-todo-suggestions{display:grid;grid-template-columns:1fr}.home-hero > div:first-child .todo-suggest-link{width:100%}}

/* V107 – Benutzer/Rechte sauberer, Kanban flexibler */
.user-rights-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid rgba(15,23,42,.08)}
.rights-db-state{padding:10px 14px;border-radius:999px;font-weight:900;font-size:13px;white-space:nowrap}.rights-db-state.ok{background:#dcfce7;color:#166534}.rights-db-state.warn{background:#fef3c7;color:#92400e}
.user-card-grid-v107{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.user-card-v107{border:1px solid rgba(15,23,42,.09);border-radius:22px;background:#fff;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:12px}.user-card-v107.active{outline:3px solid rgba(37,99,235,.18);border-color:rgba(37,99,235,.35)}
.user-card-top{display:flex;gap:12px;align-items:center}.user-pill-row{display:flex;flex-wrap:wrap;gap:7px}.user-pill-row span{font-size:12px;font-weight:900;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;color:#334155}.rights-edit-panel-v107{margin-top:18px}.rights-form-v107{display:block}.rights-section-v107{border:1px solid rgba(15,23,42,.09);border-radius:24px;padding:18px;margin:0 0 18px;background:linear-gradient(180deg,#fff,#fbfdff)}.rights-section-v107 h3{margin-top:0}.rights-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.rights-grid-v107{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.business-grid-v107{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.right-toggle-v107{display:flex;align-items:flex-start;gap:10px;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#fff;cursor:pointer;transition:.15s ease}.right-toggle-v107:hover{border-color:#cbd5e1;box-shadow:0 10px 24px rgba(15,23,42,.06);transform:translateY(-1px)}.right-toggle-v107 input{margin-top:3px;accent-color:var(--brand-primary,#12395b)}.right-toggle-v107 span{display:flex;flex-direction:column;gap:2px}.right-toggle-v107 small{color:#64748b;font-size:11px}.rights-group-v107{border:1px solid #e2e8f0;border-radius:20px;background:#fff;margin:10px 0;overflow:hidden}.rights-group-v107 summary{cursor:pointer;padding:14px 16px;font-weight:950;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.rights-group-v107 summary span{font-size:12px;color:#64748b;font-weight:800}.rights-group-v107 .rights-grid-v107{padding:14px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kanban-hero-v107{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#f8fafc)}.task-filterbar-v107{justify-content:flex-end;margin-bottom:16px}.task-create-v107 summary,.kanban-config-v107 summary{cursor:pointer}.task-form-v107{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kanban-columns-editor-v107{display:flex;flex-direction:column;gap:10px;margin-top:14px}.kanban-column-row-v107{display:grid;grid-template-columns:130px 1fr 1.4fr 64px 100px;gap:10px;align-items:center}.kanban-board-v107{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;align-items:start}.kanban-col-v107{background:#f8fafc;border:1px solid #e2e8f0;border-radius:22px;padding:12px;min-height:180px;border-top:5px solid var(--kanban-color,#2563eb)}.kanban-col-v107.over-limit{box-shadow:0 0 0 3px rgba(239,68,68,.13)}.kanban-col-head-v107{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.kanban-col-head-v107 h3{margin:0}.kanban-card-v107{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:13px;margin-bottom:10px;box-shadow:0 12px 24px rgba(15,23,42,.07)}.kanban-card-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kanban-card-title span{font-size:11px;font-weight:950;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 8px}.kanban-card-v107.priority-dringend .kanban-card-title span{background:#fee2e2;color:#991b1b}.kanban-card-v107.priority-hoch .kanban-card-title span{background:#ffedd5;color:#9a3412}.kanban-note-v107{display:block;background:#f8fafc;border-radius:12px;padding:9px;margin-top:8px;color:#475569}.kanban-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.kanban-meta span{font-size:11px;font-weight:800;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;border-radius:999px;padding:4px 7px}.kanban-move{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.kanban-move form{display:inline-flex}
@media(max-width:760px){.user-rights-hero,.kanban-hero-v107,.rights-section-head{display:block}.kanban-column-row-v107{grid-template-columns:1fr}.rights-grid-v107{grid-template-columns:1fr}}

/* V108 Benutzer/Rechte – sauberer, einspaltiger Editor */
.users-shell-v108{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 52%,#eef6ff 100%);border:1px solid rgba(15,23,42,.08);overflow:hidden}
.users-hero-v108{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.users-hero-v108 h2{margin:.25rem 0 .35rem;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em}.users-stats-v108{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px;margin-top:20px}.users-stats-v108 div{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:14px 16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.users-stats-v108 strong{display:block;font-size:26px;line-height:1;color:#0f172a}.users-stats-v108 span{font-size:12px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.users-list-v108{display:flex;flex-direction:column;gap:10px}.user-row-v108{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:12px 14px;box-shadow:0 8px 22px rgba(15,23,42,.045);transition:.16s ease}.user-row-v108:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.28);box-shadow:0 18px 38px rgba(15,23,42,.08)}.user-row-v108.active{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.10),0 18px 40px rgba(15,23,42,.08)}.user-avatar-v108{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--brand-primary,#12395b),#2563eb);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 12px 24px rgba(37,99,235,.18);flex:0 0 auto}.user-avatar-v108.big{width:62px;height:62px;border-radius:22px;font-size:24px}.user-row-main-v108{min-width:0;flex:1}.user-row-main-v108 strong{display:block;line-height:1.2}.user-row-main-v108 small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-row-pills-v108{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.user-row-pills-v108 em{font-style:normal;font-size:11px;font-weight:950;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px}.user-row-pills-v108 em.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.user-row-pills-v108 em.warn{background:#fee2e2;color:#991b1b;border-color:#fecaca}.user-editor-v108{background:#fff}.editor-head-v108{display:flex;align-items:center;gap:16px;margin-bottom:20px}.editor-head-v108 h2{margin:0 0 3px;font-size:28px;letter-spacing:-.03em}.editor-head-v108 .btn{margin-left:auto}.rights-form-v108{display:block}.rights-block-v108{border:1px solid rgba(15,23,42,.08);border-radius:26px;background:linear-gradient(180deg,#fff,#fbfdff);padding:20px;margin:0 0 18px;box-shadow:0 14px 34px rgba(15,23,42,.045)}.rights-block-head-v108{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.rights-block-head-v108 h3{margin:0 0 4px;font-size:19px}.rights-block-head-v108 p{margin:0;color:#64748b}.user-profile-grid-v108{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}.role-cards-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:16px}.role-card-v108{display:block;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:14px;cursor:pointer;transition:.16s ease}.role-card-v108 input{position:absolute;opacity:0;pointer-events:none}.role-card-v108 strong{display:block}.role-card-v108 small{color:#64748b;font-size:12px}.role-card-v108:hover,.role-card-v108.selected,.role-card-v108:has(input:checked){border-color:rgba(37,99,235,.5);box-shadow:0 14px 28px rgba(37,99,235,.10);background:#f8fbff}.active-switch-v108{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-weight:900;cursor:pointer}.active-switch-v108 input{position:absolute;opacity:0}.active-switch-v108 span{width:48px;height:28px;border-radius:999px;background:#cbd5e1;position:relative;transition:.16s ease}.active-switch-v108 span:after{content:"";position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.22);transition:.16s ease}.active-switch-v108 input:checked+span{background:#16a34a}.active-switch-v108 input:checked+span:after{transform:translateX(20px)}.business-access-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.business-card-v108{display:flex;gap:11px;align-items:flex-start;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;cursor:pointer;transition:.16s ease}.business-card-v108 input{margin-top:3px;accent-color:var(--brand-primary,#12395b)}.business-card-v108 span{display:flex;flex-direction:column}.business-card-v108 small{color:#64748b;font-size:12px}.business-card-v108:hover,.business-card-v108:has(input:checked){border-color:rgba(37,99,235,.45);box-shadow:0 14px 28px rgba(15,23,42,.07)}.rights-summary-v108{display:inline-flex;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:999px;padding:8px 12px;margin-bottom:12px}.rights-summary-v108 strong{font-size:18px}.rights-summary-v108 span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1}.rights-groups-v108{display:flex;flex-direction:column;gap:12px}.rights-groups-v108 .rights-group-v108{border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden;margin:0}.rights-groups-v108 .rights-group-v108 summary{display:flex;align-items:center;gap:12px;justify-content:space-between;list-style:none;cursor:pointer;padding:14px 16px;background:#f8fafc}.rights-groups-v108 .rights-group-v108 summary::-webkit-details-marker{display:none}.rights-groups-v108 summary span{font-size:16px;font-weight:950;color:#0f172a}.rights-groups-v108 summary em{font-style:normal;font-size:12px;font-weight:950;background:#e0f2fe;color:#075985;border-radius:999px;padding:5px 8px}.rights-groups-v108 summary b{display:flex;gap:6px;margin-left:auto}.rights-matrix-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:14px}.perm-switch-v108{display:flex;align-items:flex-start;gap:11px;border:1px solid #edf2f7;border-radius:16px;background:#fff;padding:12px;cursor:pointer;min-height:70px;transition:.16s ease}.perm-switch-v108:hover{border-color:#cbd5e1;box-shadow:0 12px 24px rgba(15,23,42,.055)}.perm-switch-v108 input{position:absolute;opacity:0}.perm-switch-v108 .switch-ui{width:40px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;flex:0 0 auto;margin-top:1px}.perm-switch-v108 .switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.25);transition:.16s ease}.perm-switch-v108 input:checked+.switch-ui{background:#2563eb}.perm-switch-v108 input:checked+.switch-ui:after{transform:translateX(16px)}.perm-switch-v108 strong{display:block;font-size:13px;line-height:1.25}.perm-switch-v108 small{display:block;color:#64748b;font-size:11px;margin-top:3px}.savebar-v108{position:sticky;bottom:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:12px;box-shadow:0 18px 40px rgba(15,23,42,.12);z-index:5}.user-danger-row-v108{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e2e8f0;margin-top:18px;padding-top:18px}

/* V108 Kanban */
.task-board-shell-v108{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 48%,#eff6ff 100%);border:1px solid rgba(15,23,42,.08)}.task-board-hero-v108{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.task-board-hero-v108 h2{margin:.25rem 0 .35rem;font-size:clamp(28px,3vw,42px);letter-spacing:-.045em}.task-stat-row-v108{display:grid;grid-template-columns:repeat(3,104px);gap:10px}.task-stat-row-v108 div{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:14px;text-align:center;box-shadow:0 12px 28px rgba(15,23,42,.055)}.task-stat-row-v108 strong{display:block;font-size:27px;color:#0f172a}.task-stat-row-v108 span{font-size:11px;color:#64748b;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.task-stat-row-v108 .danger strong{color:#dc2626}.task-action-row-v108{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.task-filter-grid-v108{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:10px;margin-top:16px}.task-create-v108 details>summary,.kanban-config-v108 details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:13px 16px}.task-create-v108 summary span,.kanban-config-v108 summary span{color:#64748b;font-size:13px}.task-form-v108{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:12px;margin-top:16px}.task-form-v108 .field-wide{grid-column:span 2}.kanban-designer-v108{display:flex;flex-direction:column;gap:12px;margin-top:16px}.board-options-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:14px}.kanban-column-editor-head-v108,.kanban-column-row-v108{display:grid;grid-template-columns:64px 135px 1fr 1.35fr 72px 95px 80px;gap:10px;align-items:center}.kanban-column-editor-head-v108{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:0 4px}.kanban-column-row-v108{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:10px}.kanban-column-row-v108.new-row{border-style:dashed;background:#fbfdff}.icon-input{text-align:center;font-size:20px}.mini-switch{display:flex;justify-content:center}.mini-switch input{position:absolute;opacity:0}.mini-switch span{width:42px;height:24px;border-radius:999px;background:#cbd5e1;position:relative}.mini-switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.16s ease}.mini-switch input:checked+span{background:#16a34a}.mini-switch input:checked+span:after{transform:translateX(18px)}.task-board-panel-v108{overflow:hidden}.kanban-board-v108{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,360px);gap:16px;overflow-x:auto;padding:4px 4px 16px;scroll-snap-type:x proximity}.kanban-col-v108{scroll-snap-align:start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:26px;min-height:260px;display:flex;flex-direction:column;box-shadow:inset 0 4px 0 var(--kanban-color,#2563eb)}.kanban-col-v108.over-limit{box-shadow:inset 0 4px 0 var(--kanban-color,#2563eb),0 0 0 3px rgba(239,68,68,.16)}.kanban-col-head-v108{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 10px}.kanban-col-title-v108{display:flex;gap:10px;align-items:flex-start}.kanban-col-title-v108>span{width:34px;height:34px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:var(--kanban-color,#2563eb);color:#fff;font-weight:950;box-shadow:0 10px 22px rgba(15,23,42,.14)}.kanban-col-title-v108 h3{margin:0;font-size:17px}.kanban-col-title-v108 small{display:block;color:#64748b;margin-top:2px}.kanban-col-head-v108 b{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;font-size:12px}.kanban-col-body-v108{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px;min-height:120px}.kanban-card-v108{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:14px;box-shadow:0 14px 30px rgba(15,23,42,.07);position:relative;overflow:hidden}.kanban-card-v108:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--kanban-color,#2563eb);opacity:.95}.task-board-panel-v108.style-minimal .kanban-card-v108{box-shadow:none;border-radius:16px}.task-board-panel-v108.style-glass .kanban-card-v108{background:rgba(255,255,255,.76);backdrop-filter:blur(10px)}.task-board-panel-v108.density-compact .kanban-card-v108{padding:10px 12px}.task-board-panel-v108.density-spacious .kanban-card-v108{padding:18px}.kanban-card-head-v108{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kanban-card-head-v108 strong{font-size:15px;line-height:1.25;padding-left:3px}.kanban-card-head-v108 span{font-size:11px;font-weight:950;border-radius:999px;background:#eef2ff;color:#3730a3;padding:5px 8px;white-space:nowrap}.kanban-card-v108.priority-dringend .kanban-card-head-v108 span{background:#fee2e2;color:#991b1b}.kanban-card-v108.priority-hoch .kanban-card-head-v108 span{background:#ffedd5;color:#9a3412}.kanban-meta-v108{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.kanban-meta-v108 em{font-style:normal;font-size:11px;font-weight:850;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;border-radius:999px;padding:4px 7px}.kanban-meta-v108 em.overdue{background:#fee2e2;color:#991b1b;border-color:#fecaca}.kanban-meta-v108 em.today{background:#fef3c7;color:#92400e;border-color:#fde68a}.kanban-note-v108{display:block;background:#f8fafc;border-radius:14px;padding:10px;margin-top:10px;color:#475569;border:1px solid #e2e8f0}.kanban-card-actions-v108{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:12px}.move-form-v108{display:flex;gap:6px;align-items:center;flex:1 1 100%}.move-form-v108 select{min-width:0;flex:1}.empty-col-v108{border:1px dashed #cbd5e1;border-radius:18px;color:#64748b;text-align:center;padding:26px 12px;background:#fff}.checkline{display:inline-flex;align-items:center;gap:8px;font-weight:800}
@media(max-width:900px){.users-hero-v108,.task-board-hero-v108{display:block}.users-stats-v108,.task-stat-row-v108{grid-template-columns:repeat(3,1fr)}.user-row-v108{align-items:flex-start}.user-row-pills-v108{justify-content:flex-start}.user-profile-grid-v108,.task-form-v108,.task-filter-grid-v108{grid-template-columns:1fr}.task-form-v108 .field-wide{grid-column:auto}.kanban-column-editor-head-v108{display:none}.kanban-column-row-v108{grid-template-columns:1fr}.kanban-board-v108{grid-auto-columns:minmax(280px,88vw)}}

/* V109 Benutzer/Rechte: echte Workbench, kein 2-Spalten-Chaos */
.users-v109-hero{background:radial-gradient(circle at 12% 0%,rgba(37,99,235,.13),transparent 34%),linear-gradient(135deg,#fff 0%,#f8fafc 50%,#eef6ff 100%);border:1px solid rgba(15,23,42,.08);overflow:hidden}.users-v109-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.users-v109-hero h2{margin:.25rem 0 .45rem;font-size:clamp(28px,3.2vw,44px);line-height:1.02;letter-spacing:-.05em}.users-v109-kpis{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:10px;min-width:270px}.users-v109-kpis div{background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:13px 15px;box-shadow:0 14px 32px rgba(15,23,42,.06)}.users-v109-kpis strong{display:block;font-size:25px;line-height:1;color:#0f172a}.users-v109-kpis span{display:block;margin-top:5px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.users-v109-kpis .ok strong{color:#15803d}.users-v109-kpis .warn strong{color:#b45309}.users-v109-list-panel .panel-headline{align-items:flex-start}.users-v109-list{display:flex;flex-direction:column;gap:9px}.users-v109-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 8px 22px rgba(15,23,42,.045);transition:.16s ease}.users-v109-row:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.35);box-shadow:0 18px 42px rgba(15,23,42,.085)}.users-v109-row.active{border-color:rgba(37,99,235,.55);box-shadow:0 0 0 4px rgba(37,99,235,.10),0 18px 42px rgba(15,23,42,.08)}.users-v109-avatar{width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;color:#fff;background:linear-gradient(135deg,var(--brand-primary,#12395b),#2563eb);box-shadow:0 12px 26px rgba(37,99,235,.2);flex:0 0 auto}.users-v109-avatar.big{width:66px;height:66px;border-radius:24px;font-size:26px}.users-v109-main{min-width:0;flex:1}.users-v109-main strong{display:block;line-height:1.2;font-size:15px}.users-v109-main small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.users-v109-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.users-v109-meta em{font-style:normal;font-size:11px;font-weight:950;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;padding:5px 8px}.users-v109-meta .ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.users-v109-meta .warn{background:#fee2e2;color:#991b1b;border-color:#fecaca}.users-v109-editor{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(15,23,42,.08)}.users-v109-editor-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.users-v109-editor-head h2{margin:0;font-size:30px;letter-spacing:-.04em}.users-v109-editor-head .btn{margin-left:auto}.rights-v109-dbstate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-radius:18px;padding:12px 14px;margin:0 0 18px;border:1px solid #e2e8f0;background:#f8fafc}.rights-v109-dbstate strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.rights-v109-dbstate.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.rights-v109-dbstate.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.rights-v109-dbstate small{display:block;width:100%;color:inherit;opacity:.8}.users-v109-form{display:flex;flex-direction:column;gap:16px}.users-v109-section{border:1px solid rgba(15,23,42,.08);border-radius:26px;background:#fff;padding:20px;box-shadow:0 14px 34px rgba(15,23,42,.045)}.users-v109-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.users-v109-section-head h3{margin:0 0 4px;font-size:20px;letter-spacing:-.025em}.users-v109-section-head p{margin:0;color:#64748b}.users-v109-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.users-v109-active{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-weight:950;cursor:pointer}.users-v109-active input{position:absolute;opacity:0}.users-v109-active span{width:48px;height:28px;border-radius:999px;background:#cbd5e1;position:relative;transition:.16s}.users-v109-active span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.24);transition:.16s}.users-v109-active input:checked+span{background:#16a34a}.users-v109-active input:checked+span:after{transform:translateX(20px)}.users-v109-roles{display:flex;flex-direction:column;gap:10px}.users-v109-role{display:grid;grid-template-columns:24px minmax(160px,1fr) minmax(110px,180px) auto;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:12px 14px;transition:.16s ease}.users-v109-role input{width:18px;height:18px;accent-color:#2563eb}.users-v109-role strong{font-size:15px}.users-v109-role small{color:#64748b;font-size:12px}.users-v109-role button,.rights-v109-group summary button{border:1px solid #dbe3ee;background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;cursor:pointer;color:#334155}.users-v109-role.selected{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.08);background:#f8fbff}.users-v109-business{display:flex;flex-direction:column;gap:9px}.users-v109-business label{display:flex;gap:12px;align-items:flex-start;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:13px 14px;cursor:pointer;transition:.16s}.users-v109-business input{margin-top:2px;width:18px;height:18px;accent-color:#2563eb}.users-v109-business strong{display:block}.users-v109-business small{display:block;color:#64748b;margin-top:2px}.users-v109-business label:has(input:checked){border-color:rgba(37,99,235,.45);background:#f8fbff;box-shadow:0 12px 28px rgba(15,23,42,.06)}.rights-v109-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px}.rights-v109-toolbar .input{max-width:360px}.rights-v109-toolbar span{font-weight:950;border-radius:999px;background:#0f172a;color:#fff;padding:8px 12px}.rights-v109-groups{display:flex;flex-direction:column;gap:12px}.rights-v109-group{border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden}.rights-v109-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;justify-content:space-between;background:#f8fafc;padding:14px 16px}.rights-v109-group summary::-webkit-details-marker{display:none}.rights-v109-group summary strong{font-size:16px;color:#0f172a}.rights-v109-group summary em{font-style:normal;font-size:12px;font-weight:950;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:5px 9px}.rights-v109-group summary span{display:flex;gap:6px;margin-left:auto}.rights-v109-permissions{display:flex;flex-direction:column;gap:8px;padding:14px}.rights-v109-perm{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;border:1px solid #edf2f7;border-radius:16px;background:#fff;padding:12px 14px;min-height:66px;cursor:pointer;transition:.16s ease}.rights-v109-perm:hover{border-color:#cbd5e1;box-shadow:0 10px 24px rgba(15,23,42,.055)}.rights-v109-perm input{position:absolute;opacity:0;pointer-events:none}.rights-toggle{width:44px;height:26px;border-radius:999px;background:#cbd5e1;position:relative;transition:.16s}.rights-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.25);transition:.16s}.rights-v109-perm input:checked+.rights-toggle{background:#2563eb}.rights-v109-perm input:checked+.rights-toggle:after{transform:translateX(18px)}.rights-copy strong{display:block;font-size:14px;line-height:1.25;color:#0f172a}.rights-copy small{display:block;font-size:11px;color:#64748b;margin-top:3px}.users-v109-savebar{position:sticky;bottom:16px;z-index:6;display:flex;justify-content:flex-end;gap:10px;padding:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 20px 50px rgba(15,23,42,.14)}.users-v109-danger{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0}@media(max-width:850px){.users-v109-hero,.users-v109-section-head,.users-v109-editor-head{display:block}.users-v109-kpis{grid-template-columns:repeat(2,1fr);min-width:0;margin-top:16px}.users-v109-row{align-items:flex-start}.users-v109-meta{justify-content:flex-start}.users-v109-role{grid-template-columns:24px 1fr}.users-v109-role button{grid-column:2}.rights-v109-toolbar{display:block}.rights-v109-toolbar .input{max-width:none;margin-bottom:10px}.users-v109-savebar{display:grid}.users-v109-savebar .btn{width:100%;justify-content:center}}

/* V109 Kanban: mehr Gestaltung, klarere Karten, weniger Button-Chaos */
.task-board-shell-v108{background:radial-gradient(circle at 10% 0%,rgba(37,99,235,.12),transparent 34%),linear-gradient(135deg,#fff,#f8fafc 55%,#eef6ff);border:1px solid rgba(15,23,42,.08)}.task-board-hero-v108 h2{letter-spacing:-.055em}.task-action-row-v108{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.task-filter-grid-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}.task-create-v108 details,.kanban-config-v108 details{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;overflow:hidden}.task-create-v108 summary,.kanban-config-v108 summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;background:linear-gradient(180deg,#fff,#f8fafc)}.task-create-v108 summary strong,.kanban-config-v108 summary strong{font-size:18px}.task-create-v108 summary span,.kanban-config-v108 summary span{color:#64748b}.task-form-v108{padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.task-form-v108 .field-wide{grid-column:1/-1}.task-form-v108>.btn{justify-self:start}.board-options-v108{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:18px 20px 6px}.board-options-v108 .checkline{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff;font-weight:850}.kanban-designer-v108>.btn{margin:14px 20px 20px}.kanban-column-editor-head-v108,.kanban-column-row-v108{display:grid;grid-template-columns:64px 150px minmax(160px,1fr) minmax(190px,1.2fr) 90px 90px 80px 90px;gap:10px;align-items:center;margin:0 20px}.kanban-column-editor-head-v108{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:14px 0 8px}.kanban-column-row-v108{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:10px;margin-bottom:9px}.kanban-column-row-v108.new-row{border-style:dashed;background:#fff}.mini-switch{display:flex;justify-content:center}.mini-switch input{position:absolute;opacity:0}.mini-switch span{width:42px;height:24px;border-radius:999px;background:#cbd5e1;position:relative}.mini-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.22);transition:.16s}.mini-switch input:checked+span{background:#2563eb}.mini-switch.danger input:checked+span{background:#dc2626}.mini-switch input:checked+span:after{transform:translateX(18px)}.task-board-panel-v108{overflow:hidden}.kanban-board-v108{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.kanban-col-v108{min-width:310px;max-width:360px;flex:1 0 310px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:13px;border-top:6px solid var(--kanban-color,#2563eb);scroll-snap-align:start;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.kanban-col-v108.over-limit{box-shadow:0 0 0 4px rgba(239,68,68,.10),inset 0 1px 0 rgba(255,255,255,.6)}.kanban-col-head-v108{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.kanban-col-title-v108{display:flex;gap:10px;align-items:flex-start}.kanban-col-title-v108>span{width:34px;height:34px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--kanban-icon-ink,#fff);-webkit-text-fill-color:var(--kanban-icon-ink,#fff);background:var(--kanban-color,#2563eb);font-weight:950;box-shadow:0 10px 22px rgba(15,23,42,.14)}.kanban-col-title-v108 h3{margin:0;font-size:18px;letter-spacing:-.025em}.kanban-col-title-v108 small{display:block;color:#64748b;margin-top:2px}.kanban-col-head-v108 b{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;font-size:12px}.kanban-col-body-v108{display:flex;flex-direction:column;gap:10px}.kanban-card-v108{position:relative;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:14px;box-shadow:0 14px 32px rgba(15,23,42,.075);transition:.16s ease}.kanban-card-v108:hover{transform:translateY(-1px);box-shadow:0 20px 44px rgba(15,23,42,.11)}.kanban-card-v108:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:999px;background:var(--kanban-color,#2563eb)}.kanban-card-v108.is-mine{box-shadow:0 0 0 4px rgba(37,99,235,.10),0 18px 42px rgba(15,23,42,.10);border-color:rgba(37,99,235,.35)}.kanban-card-head-v108{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kanban-card-head-v108 strong{font-size:15px;line-height:1.28;color:#0f172a}.kanban-card-head-v108 span{font-size:11px;font-weight:950;border-radius:999px;background:#eef2ff;color:#3730a3;padding:5px 8px;white-space:nowrap}.kanban-card-v108.priority-dringend .kanban-card-head-v108 span{background:#fee2e2;color:#991b1b}.kanban-card-v108.priority-hoch .kanban-card-head-v108 span{background:#ffedd5;color:#9a3412}.kanban-meta-v108{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.kanban-meta-v108 em{font-style:normal;font-size:11px;font-weight:850;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;border-radius:999px;padding:5px 8px}.kanban-meta-v108 em.overdue{background:#fee2e2;color:#991b1b;border-color:#fecaca}.kanban-meta-v108 em.today{background:#fef3c7;color:#92400e;border-color:#fde68a}.kanban-note-v108{display:block;margin-top:10px;background:#f8fafc;border:1px solid #edf2f7;border-radius:14px;padding:9px 10px;color:#475569;line-height:1.45}.kanban-card-actions-v108{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7}.move-form-v108{display:flex;gap:6px;align-items:center;flex:1;min-width:210px}.move-form-v108 select{min-width:120px}.empty-col-v108{text-align:center;border:1px dashed #cbd5e1;border-radius:18px;padding:22px 12px;color:#64748b;background:rgba(255,255,255,.65);font-weight:800}.task-board-panel-v108.density-compact .kanban-card-v108{padding:11px;border-radius:17px}.task-board-panel-v108.density-spacious .kanban-card-v108{padding:18px;border-radius:24px}.task-board-panel-v108.style-minimal .kanban-card-v108{box-shadow:none}.task-board-panel-v108.style-glass .kanban-card-v108{background:rgba(255,255,255,.72);backdrop-filter:blur(14px)}@media(max-width:980px){.kanban-column-editor-head-v108{display:none}.kanban-column-row-v108{grid-template-columns:1fr;margin:0 14px 10px}.kanban-board-v108{display:flex}.kanban-col-v108{min-width:86vw}.task-board-hero-v108{display:block}.task-stat-row-v108{margin-top:14px}}


/* V113: Benachrichtigungsglocke zuverlässig + leerer Popup-Zustand */
.task-notification-empty{display:flex;gap:14px;align-items:center;margin:20px 0;padding:18px;border:1px solid rgba(18,57,91,.12);border-radius:20px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 12px 26px rgba(16,24,40,.055)}
.task-notification-empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:rgba(217,154,40,.16);font-size:22px}
.task-notification-empty strong{display:block;margin:0 0 4px;color:#101828;font-size:17px;font-weight:950}
.task-notification-empty p{margin:0}
.top-notification-bell{z-index:20}

/* === V114 Live-Zeiterfassung: Sekunden/Minuten/Stunden === */
.live-timer-wrap{display:grid;gap:12px;margin-top:10px}.live-timer-wrap .timer-big{font-size:54px;letter-spacing:-.055em;line-height:1;font-variant-numeric:tabular-nums;color:var(--brand-primary,#12395b)}.live-timer-units{display:flex;gap:10px;flex-wrap:wrap}.live-timer-units span{min-width:92px;padding:10px 12px;border:1px solid rgba(18,57,91,.12);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(16,24,40,.06)}.live-timer-units b{display:block;font-size:23px;line-height:1;font-variant-numeric:tabular-nums;color:var(--brand-primary,#12395b)}.live-timer-units small{display:block;margin-top:4px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#667085}.time-table strong[data-is-running="1"]{white-space:nowrap}@media(max-width:720px){.live-timer-wrap .timer-big{font-size:42px}.live-timer-units span{min-width:78px;flex:1}.live-timer-units b{font-size:20px}}


/* === V115: Startseiten-Timer in der Hero-Mitte + klickbare Karten === */
.page-title-home-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;border-radius:14px}.page-title-home-link:hover{text-decoration:none;color:var(--brand-primary,#12395b)}.premium-brand{color:inherit;text-decoration:none;cursor:pointer}.premium-brand:hover{filter:brightness(1.05)}
.home-hero{grid-template-columns:minmax(300px,1.05fr) minmax(280px,.62fr) minmax(300px,.75fr);align-items:start}.dashboard-hero-timer{box-sizing:border-box;align-self:stretch;min-height:100%;padding:18px;border-radius:28px;border:1px solid rgba(18,57,91,.14);background:radial-gradient(circle at 15% 0,rgba(217,154,40,.18),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,250,252,.90));box-shadow:0 22px 52px rgba(16,24,40,.105),inset 0 1px 0 rgba(255,255,255,.88);display:flex;flex-direction:column;justify-content:center;gap:14px;position:relative;overflow:hidden}.dashboard-hero-timer:before{content:"";position:absolute;left:18px;right:18px;top:0;height:5px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28))}.dashboard-hero-timer-head{display:flex;align-items:center;gap:13px}.dashboard-hero-timer-icon{width:46px;height:46px;min-width:46px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary,#12395b),#071421);color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 13px 28px rgba(18,57,91,.22);font-size:20px}.dashboard-hero-timer .eyebrow{margin:0 0 4px}.dashboard-hero-timer h3{margin:0;font-size:21px;line-height:1.08;letter-spacing:-.035em;color:#071421}.dashboard-hero-live{display:grid;gap:11px}.dashboard-hero-live .timer-big{display:block;font-size:clamp(38px,3.5vw,56px);line-height:.95;letter-spacing:-.065em;color:var(--brand-primary,#12395b);font-variant-numeric:tabular-nums}.dashboard-hero-timer .live-timer-units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-hero-timer .live-timer-units span{min-width:0;padding:10px 8px;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(18,57,91,.10);box-shadow:0 10px 22px rgba(16,24,40,.055);text-align:center}.dashboard-hero-timer .live-timer-units b{display:block;font-size:20px;line-height:1;color:var(--brand-primary,#12395b);font-variant-numeric:tabular-nums}.dashboard-hero-timer .live-timer-units small{display:block;margin-top:4px;color:#667085;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.dashboard-hero-timer-meta{margin:0;color:#475467;font-size:13px;font-weight:800;line-height:1.35}.dashboard-hero-timer-empty{margin:0;color:#475467;line-height:1.45}.dashboard-hero-timer-link{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;margin-top:2px;padding:10px 13px;border-radius:15px;background:rgba(18,57,91,.075);color:var(--brand-primary,#12395b);font-weight:950;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(18,57,91,.08)}.dashboard-hero-timer-link:hover{text-decoration:none;background:rgba(18,57,91,.12)}.home-stat-link,.home-card-link,.company-switch-card,.department-card{display:block;color:inherit;text-decoration:none;cursor:pointer}.home-stat-link .card,.home-card-link .card,.company-switch-card,.department-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.home-stat-link:hover .card,.home-card-link:hover .card,.company-switch-card:hover,.department-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(16,24,40,.12);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 24%,#d0d5dd);text-decoration:none}.home-card-link:nth-child(1) .home-action-card::before{content:"+";color:#fff;-webkit-text-fill-color:#fff;font-size:34px;line-height:1}.sidebar-command .sidebar-quick-actions a:nth-child(1)::before{content:"+";color:#fff;-webkit-text-fill-color:#fff;background:rgba(18,57,91,.55)}
@media(max-width:1220px){.home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)}.dashboard-hero-timer{grid-column:1}.company-switch-cards{grid-column:2;grid-row:1 / span 2}}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}.dashboard-hero-timer,.company-switch-cards{grid-column:auto;grid-row:auto}.dashboard-hero-timer{min-height:auto}.dashboard-hero-live .timer-big{font-size:44px}}
@media(max-width:560px){.dashboard-hero-timer{padding:15px;border-radius:24px}.dashboard-hero-timer .live-timer-units{grid-template-columns:1fr}.dashboard-hero-timer-link{width:100%}}

/* === V117: Live-Timer in den Seitenkopf + weiße Kontakt-Icons === */
.company-page-head{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(300px,460px) max-content;
  align-items:center;
  gap:18px;
}
.page-head-title-block{min-width:0;}
.page-head-timer-card{
  position:relative;
  box-sizing:border-box;
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:24px;
  border:1px solid color-mix(in srgb,var(--brand-primary,#12395b) 18%,#e5e7eb);
  background:
    radial-gradient(circle at 8% 0,color-mix(in srgb,var(--brand-accent,#d99a28) 24%,transparent),transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.92));
  box-shadow:0 18px 44px rgba(16,24,40,.10),inset 0 1px 0 rgba(255,255,255,.9);
  text-decoration:none;
  color:inherit;
  justify-self:center;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.page-head-timer-card:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:5px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
}
.page-head-timer-card:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 56px rgba(16,24,40,.135),inset 0 1px 0 rgba(255,255,255,.92);
  border-color:color-mix(in srgb,var(--brand-primary,#12395b) 32%,#e5e7eb);
}
.page-head-timer-icon{
  width:52px;
  height:52px;
  border-radius:19px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 72%,#071421));
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:0 14px 30px color-mix(in srgb,var(--brand-primary,#12395b) 24%,transparent);
}
.page-head-timer-card.is-running .page-head-timer-icon:after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#12b76a;
  box-shadow:0 0 0 5px rgba(18,183,106,.16);
  transform:translate(20px,-20px);
}
.page-head-timer-body{display:grid;gap:2px;min-width:0;}
.page-head-timer-label{
  color:var(--brand-primary,#12395b);
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.page-head-timer-time{
  display:block;
  color:#071421;
  font-size:clamp(28px,2.25vw,39px);
  line-height:1;
  letter-spacing:-.065em;
  font-variant-numeric:tabular-nums;
}
.page-head-timer-body small{
  color:#475467;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.page-head-timer-units{
  display:grid;
  grid-template-columns:repeat(3,46px);
  gap:6px;
  align-items:center;
}
.page-head-timer-units span{
  display:grid;
  place-items:center;
  gap:2px;
  min-height:45px;
  border-radius:15px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(18,57,91,.10);
  box-shadow:0 8px 18px rgba(16,24,40,.055);
}
.page-head-timer-units b{
  color:var(--brand-primary,#12395b);
  font-size:15px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.page-head-timer-units em{
  font-style:normal;
  color:#667085;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.page-head-timer-card.is-idle{
  grid-template-columns:52px minmax(0,1fr);
  min-height:82px;
  opacity:.96;
}
.page-head-timer-card.is-idle .page-head-timer-time{font-size:28px;color:var(--brand-primary,#12395b);}
.home-card-link:nth-child(1) .home-action-card::before{content:"+";color:#fff;-webkit-text-fill-color:#fff;font-size:32px;font-family:Arial,Helvetica,sans-serif;}
.sidebar-command .sidebar-quick-actions a:nth-child(1)::before{content:"+";color:#fff;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.22);font-size:15px;font-family:Arial,Helvetica,sans-serif;}
@media(max-width:1180px){
  .company-page-head{grid-template-columns:minmax(0,1fr) minmax(300px,420px);}
  .page-head-actions{grid-column:1/-1;justify-content:flex-start;}
}
@media(max-width:760px){
  .company-page-head{grid-template-columns:1fr;}
  .page-head-timer-card{grid-template-columns:48px minmax(0,1fr);min-height:84px;padding:13px;border-radius:22px;}
  .page-head-timer-icon{width:48px;height:48px;border-radius:17px;}
  .page-head-timer-units{grid-column:1/-1;grid-template-columns:repeat(3,1fr);}
  .page-head-timer-time{font-size:32px;}
}


/* === V118 fallback: Premium Header-Timer & Zeiterfassung Polish === */

.company-page-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,540px) max-content;align-items:center;gap:22px}.page-head-title-block{min-width:0}.page-head-timer-card{position:relative;box-sizing:border-box;justify-self:center;width:min(100%,540px);min-height:104px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--brand-primary,#12395b) 18%,#e4e7ec);border-radius:28px;background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--brand-accent,#d99a28) 24%,transparent),transparent 35%),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--brand-primary,#12395b) 10%,transparent),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.94));box-shadow:0 22px 54px rgba(16,24,40,.105),inset 0 1px 0 rgba(255,255,255,.96);text-decoration:none;color:#101828;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.page-head-timer-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28))}.page-head-timer-card:after{content:"";position:absolute;right:18px;top:16px;width:72px;height:72px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary,#12395b) 7%,transparent);filter:blur(.2px);z-index:0}.page-head-timer-card>*{position:relative;z-index:1}.page-head-timer-card:hover{transform:translateY(-2px);box-shadow:0 28px 66px rgba(16,24,40,.14),inset 0 1px 0 rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 32%,#e4e7ec);text-decoration:none}.page-head-timer-icon{width:58px;height:58px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 70%,#08111f));color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 15px 32px color-mix(in srgb,var(--brand-primary,#12395b) 25%,transparent)}.page-head-timer-icon svg{display:block;color:#fff;stroke:currentColor}.page-head-timer-card.is-running .page-head-timer-icon{background:linear-gradient(135deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28))}.page-head-timer-card.is-running .page-head-timer-icon:after{content:"";position:absolute;width:11px;height:11px;border-radius:999px;background:#12b76a;box-shadow:0 0 0 6px rgba(18,183,106,.17);transform:translate(22px,-22px)}.page-head-timer-body{display:grid;gap:3px;min-width:0}.page-head-timer-label{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary,#12395b) 8%,#fff);color:var(--brand-primary,#12395b);font-size:10px;font-weight:950;letter-spacing:.085em;text-transform:uppercase;line-height:1}.page-head-timer-label i{width:7px;height:7px;border-radius:999px;background:#98a2b3;box-shadow:none}.page-head-timer-card.is-running .page-head-timer-label i{background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.15)}.page-head-timer-time{display:block;margin-top:3px;color:#0f172a;font-size:clamp(31px,2.6vw,45px);line-height:.96;letter-spacing:-.07em;font-variant-numeric:tabular-nums;text-decoration:none}.page-head-timer-body small{display:block;max-width:100%;color:#475467;font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.page-head-timer-units{display:grid;grid-template-columns:repeat(3,48px);gap:7px;align-items:center}.page-head-timer-units span{display:grid;place-items:center;gap:2px;min-height:48px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 9px 20px rgba(16,24,40,.055)}.page-head-timer-units b{color:var(--brand-primary,#12395b);font-size:16px;line-height:1;font-variant-numeric:tabular-nums}.page-head-timer-units em{font-style:normal;color:#667085;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.page-head-timer-cta{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:40px;padding:0 13px;border-radius:14px;background:color-mix(in srgb,var(--brand-primary,#12395b) 10%,#fff);color:var(--brand-primary,#12395b);font-size:12px;font-weight:950;white-space:nowrap;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-primary,#12395b) 10%,transparent)}.page-head-timer-card.is-idle .page-head-timer-time{font-size:clamp(26px,2vw,34px);color:var(--brand-primary,#12395b);letter-spacing:-.045em}.time-hero{align-items:center}.time-hero.card{background:radial-gradient(circle at 98% 0,color-mix(in srgb,var(--brand-primary,#12395b) 7%,transparent),transparent 34%),linear-gradient(135deg,#fff,#fbfcff)}.time-summary-grid>div{border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 15px 34px rgba(16,24,40,.07)}.time-summary-grid span{font-weight:900}.time-summary-grid strong{font-size:28px;color:var(--brand-primary,#12395b)}.timer-control-card{border-radius:26px;border:1px solid rgba(15,23,42,.09);background:linear-gradient(135deg,#fff,#fbfdff);box-shadow:0 18px 44px rgba(16,24,40,.075)}.timer-control-card.is-running{background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--brand-accent,#d99a28) 20%,transparent),transparent 33%),linear-gradient(135deg,#fff,#fbfdff)}.timer-start-grid .field label,.filter-row label,.time-control-panel .field label{color:#667085;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.timer-start-grid input,.timer-start-grid select,.filter-row select{border-radius:16px;min-height:50px}.manual-time{border-radius:20px;background:linear-gradient(135deg,#fff,#fbfdff);border:1px dashed color-mix(in srgb,var(--brand-primary,#12395b) 20%,#d0d5dd)}.manual-time summary{padding:4px 2px}.timer-start-btn,.timer-stop-btn{border-radius:17px}@media(max-width:1240px){.company-page-head{grid-template-columns:minmax(0,1fr) minmax(340px,500px)}.page-head-actions{grid-column:1/-1;justify-content:flex-start}.page-head-timer-card{justify-self:end}}@media(max-width:860px){.company-page-head{grid-template-columns:1fr}.page-head-timer-card{justify-self:stretch;width:100%;grid-template-columns:54px minmax(0,1fr);min-height:92px}.page-head-timer-units,.page-head-timer-cta{grid-column:1/-1}.page-head-timer-units{grid-template-columns:repeat(3,1fr)}.page-head-timer-time{font-size:34px}.page-head-actions{grid-column:auto}}@media(max-width:560px){.page-head-timer-card{padding:15px;border-radius:24px}.page-head-timer-icon{width:52px;height:52px}.time-summary-grid{grid-template-columns:1fr}}


/* V120 Growth Suite */
.cockpit-panel-v120{margin-top:18px}.cockpit-grid-v120{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.cockpit-card-v120{display:block;text-decoration:none;color:#0f172a;border:1px solid #dbe3ee;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fafc);padding:18px;box-shadow:0 14px 32px rgba(15,23,42,.07);transition:.18s ease}.cockpit-card-v120:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.11);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 35%,#dbe3ee)}.cockpit-card-v120 span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.cockpit-card-v120 strong{display:block;margin-top:7px;font-size:30px;line-height:1;font-weight:950;color:#0f172a}.cockpit-card-v120 small{display:block;margin-top:7px;color:#64748b;font-weight:800}.cockpit-card-v120.warn{background:linear-gradient(135deg,#fffbeb,#fff)}.cockpit-card-v120.danger{background:linear-gradient(135deg,#fef3f2,#fff)}.cockpit-card-v120.accent{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent,#d99a28) 18%,#fff),#fff)}.cockpit-title-row-v122{align-items:flex-start;gap:18px}.cockpit-subtitle-v122{margin:8px 0 0;color:#64748b;max-width:620px}.cockpit-grid-v122{margin-top:16px}.cockpit-card-v122{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:24px;min-height:152px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #e2e8f0;box-shadow:0 10px 30px rgba(15,23,42,.06)}.cockpit-card-v122::before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 25%,#fff))}.cockpit-card-v122.success::before{background:linear-gradient(180deg,#16a34a,#86efac)}.cockpit-card-v122.warn::before{background:linear-gradient(180deg,#f59e0b,#fde68a)}.cockpit-card-v122.danger::before{background:linear-gradient(180deg,#dc2626,#fecaca)}.cockpit-card-v122.accent::before{background:linear-gradient(180deg,#7c3aed,#c4b5fd)}.cockpit-card-v122.calm::before{background:linear-gradient(180deg,#0891b2,#67e8f9)}.cockpit-card-top-v122{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cockpit-icon-v122{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#f1f5f9;color:#0f172a;font-size:18px;box-shadow:inset 0 0 0 1px #e2e8f0}.cockpit-card-v122.warn .cockpit-icon-v122{background:#fff7ed;color:#b45309}.cockpit-card-v122.danger .cockpit-icon-v122{background:#fef2f2;color:#b91c1c}.cockpit-card-v122.accent .cockpit-icon-v122{background:#f5f3ff;color:#6d28d9}.cockpit-card-v122.success .cockpit-icon-v122{background:#f0fdf4;color:#15803d}.cockpit-card-v122.calm .cockpit-icon-v122{background:#ecfeff;color:#0e7490}.cockpit-tag-v122{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.cockpit-card-v122 .cockpit-label-v122{display:block;color:#64748b;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.cockpit-card-v122 strong{margin-top:8px;font-size:42px;letter-spacing:-.03em;line-height:1;font-weight:950;color:#0f172a}.cockpit-card-v122 small{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:#64748b;font-weight:700}.cockpit-card-v122 small b{color:#0f172a}.cockpit-card-v122:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(15,23,42,.10)}
.offer-item-picker-v120{display:grid;grid-template-columns:minmax(170px,1fr) minmax(240px,1.4fr) auto auto;gap:10px;align-items:center;margin:0 0 16px;padding:15px;border:1px solid #dbe3ee;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#fff)}.offer-item-picker-v120 strong{display:block;color:#0f172a}.offer-item-picker-v120 small{display:block;color:#64748b;font-weight:750}.offer-kit-layout-v120{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:18px}.offer-kit-list-v120{display:grid;gap:12px}.offer-kit-item-v120{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;border:1px solid #dbe3ee;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06)}.offer-kit-item-v120 span{display:inline-flex;margin-bottom:5px;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900}.offer-kit-item-v120 strong{display:block;font-size:17px;color:#0f172a}.offer-kit-item-v120 small{display:block;margin-top:4px;color:#64748b;font-weight:800}.offer-kit-item-v120 p{margin:8px 0 0;color:#475569;line-height:1.45}
.customer-timeline-v120{margin-top:18px}.timeline-list-v120{display:grid;gap:10px}.timeline-item-v120{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px;border:1px solid #dbe3ee;border-radius:18px;background:#fff}.timeline-item-v120>span{align-self:start;display:inline-flex;justify-content:center;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:900;text-transform:uppercase}.timeline-item-v120 strong{display:block;color:#0f172a}.timeline-item-v120 small{display:block;margin-top:3px;color:#64748b}.timeline-item-v120 p{margin:7px 0 0;color:#475569;line-height:1.45}.timeline-item-v120 a{color:var(--brand-primary,#12395b);text-decoration:none}
.recurring-meta{flex-wrap:wrap}.recurring-item.is-ended{opacity:.72}.recurring-form-card .field input[readonly]{background:#f8fafc;color:#64748b}.score-pill-v120{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:950;border:1px solid #dbe3ee;background:#fff}.score-pill-v120.hot{background:#ecfdf3;color:#067647;border-color:#abefc6}.score-pill-v120.warm{background:#fffaeb;color:#b54708;border-color:#fedf89}.score-pill-v120.cold{background:#f8fafc;color:#475569}
@media(max-width:1180px){.cockpit-grid-v120{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-item-picker-v120{grid-template-columns:1fr 1fr}.offer-kit-layout-v120{grid-template-columns:1fr}}@media(max-width:900px){.cockpit-grid-v120{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.cockpit-title-row-v122{flex-direction:column;align-items:flex-start}.cockpit-grid-v120{grid-template-columns:1fr}.cockpit-card-v122{min-height:auto}.offer-item-picker-v120{grid-template-columns:1fr}.offer-kit-item-v120{grid-template-columns:1fr}.timeline-item-v120{grid-template-columns:1fr}}

/* V123 dashboard follow-up cards */
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:18px;align-items:start;padding:20px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);border:1px solid #d9e2ec;box-shadow:0 14px 30px rgba(15,23,42,.06)}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main{min-width:0}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-row strong{font-size:21px;line-height:1.15;font-weight:950;color:#0f172a;letter-spacing:-.02em;max-width:700px}
.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.home-hero > div:first-child .todo-meta-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#eef2f7;border:1px solid #e2e8f0;color:#475467;font-size:12px;font-weight:900;line-height:1;text-transform:none}
.home-hero > div:first-child .todo-note-box{background:#f8fafc;border:1px solid #dde6ef;border-radius:20px;padding:18px 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.home-hero > div:first-child .todo-note-box p{margin:0 0 10px;color:#344054;font-size:16px;line-height:1.55}
.home-hero > div:first-child .todo-note-box p:last-child{margin-bottom:0}
.home-hero > div:first-child .todo-doc-meta{display:block;margin-top:8px;color:#667085;font-size:14px;font-weight:700;line-height:1.45}
.home-hero > div:first-child .dashboard-todo-suggestions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.home-hero > div:first-child .todo-suggest-link{padding:0;border:none;background:transparent;box-shadow:none;color:var(--brand-primary,#12395b);font-size:15px;font-weight:800;text-decoration:none;border-radius:0}
.home-hero > div:first-child .todo-suggest-link.primary{color:var(--brand-primary,#12395b)}
.home-hero > div:first-child .todo-suggest-link:hover{text-decoration:underline;transform:none;box-shadow:none}
.home-hero > div:first-child .todo-done-btn{min-width:148px;min-height:64px;border-radius:999px;padding:0 22px;font-size:18px;font-weight:900;box-shadow:0 12px 24px rgba(185,28,28,.18);align-self:center}
.home-hero > div:first-child .todo-done-btn span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.16);margin-right:10px}
.home-hero > div:first-child .todo-status-dot{width:18px;height:18px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#f6d0cc 0 40%,#eab8b0 41% 100%);box-shadow:0 0 0 10px #f6efe8;margin-top:8px}
.home-hero > div:first-child .todo-due-pill{flex:0 0 auto;white-space:nowrap;padding:10px 16px;border-radius:999px;font-size:16px;font-weight:900}
@media(max-width:980px){.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{grid-template-columns:14px minmax(0,1fr)}.home-hero > div:first-child .dashboard-todo-done-form{grid-column:2}.home-hero > div:first-child .todo-done-btn{width:100%;justify-content:center;min-height:56px}.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-row{flex-direction:column;align-items:flex-start}.home-hero > div:first-child .todo-due-pill{margin-top:0}}
@media(max-width:760px){.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{padding:16px;border-radius:22px}.home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-row strong{font-size:18px}.home-hero > div:first-child .todo-note-box{padding:14px 15px}.home-hero > div:first-child .dashboard-todo-suggestions{display:grid;grid-template-columns:1fr 1fr}.home-hero > div:first-child .todo-suggest-link{display:block}}


/* V147 global mobile hardening */
@media (max-width: 900px){
  html,body{max-width:100%;overflow-x:hidden}
  .main{min-width:0;width:100%;padding-left:14px;padding-right:14px}
  .page-head,.company-page-head{display:grid;grid-template-columns:1fr;gap:12px}
  .page-head-actions,.toolbar,.document-list-toolbar,.dunning-toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}
  .toolbar .btn,.toolbar input,.toolbar select,.document-list-toolbar .btn,.document-list-toolbar input,.document-list-toolbar select,.dunning-toolbar .btn,.dunning-toolbar input,.dunning-toolbar select{width:100%;max-width:100%;min-width:0}
  .table-scroll,.doc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  table{max-width:100%}
  .split,.dashboard-grid,.company-admin-grid,.recurring-layout,.dunning-hero,.dunning-card{grid-template-columns:1fr}
  .form-grid,.company-form-grid,.task-form-v108{grid-template-columns:1fr}
  .panel,.card,.dunning-card,.recurring-item,.trash-card{max-width:100%;min-width:0}
  .btn{white-space:normal}
}
@media (max-width: 640px){
  .main{padding:10px}
  .panel{padding:14px;border-radius:18px}
  .page-head h1{font-size:26px;line-height:1.1}
  .page-head-title-block .muted{font-size:13px}
  .dunning-hero,.trash-hero,.recurring-hero{padding:16px;border-radius:20px}
  .dunning-stat{min-width:0;width:100%}
  .dunning-card,.recurring-item,.trash-card{padding:14px;border-radius:18px}
  .dunning-actions,.trash-actions,.recurring-actions{display:grid;grid-template-columns:1fr;gap:7px;width:100%;min-width:0}
  .dunning-actions form,.trash-actions form,.recurring-actions form{width:100%}
  .dunning-actions .btn,.trash-actions .btn,.recurring-actions .btn{width:100%;justify-content:center}
  .dunning-meta,.recurring-meta,.trash-meta{gap:5px}
  .dunning-chip,.recurring-meta span,.trash-meta span{font-size:11px;line-height:1.2;white-space:normal;max-width:100%}
}


/* === LINKITUP V150 MOBILE COMPLETE OPTIMIZATION === */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
*{box-sizing:border-box}
.table-wrap,.table-scroll,.doc-table-wrap,.responsive-table,.list-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table,.table-scroll table,.doc-table-wrap table,.responsive-table table{min-width:720px}
.input,select,textarea,button{max-width:100%}
@media(max-width:1024px){
  .app{display:block;min-height:100vh}
  .main{width:100%;max-width:100%;min-width:0;padding:18px;margin:0}
  .sidebar,.sidebar-command{
    position:sticky;top:0;z-index:80;width:100%;min-width:0;max-width:none;
    height:auto;min-height:0;padding:10px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);
    overflow:visible
  }
  .sidebar-command .premium-brand,.sidebar .brand{min-height:0;padding:10px 12px;border-radius:18px;margin:0}
  .sidebar-command .premium-brand .brand-logo,.sidebar-command .premium-brand .brand-mark,.sidebar .brand-mark{width:38px;height:38px;min-width:38px;border-radius:14px}
  .sidebar-command .brand-copy em,.sidebar-command .brand-kicker,.sidebar .brand span{display:none}
  .sidebar-command .brand-copy strong,.sidebar .brand strong{font-size:13px;line-height:1.1}
  .sidebar-company-switch,.sidebar-quick-actions,.sidebar-section-title,.sidebar-collapse{display:none}
  .sidebar nav,.sidebar-command nav,.sidebar-nav{
    display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    padding:8px 0 2px;scroll-snap-type:x mandatory
  }
  .sidebar nav a,.sidebar-command nav a,.sidebar-nav a,.logout{
    flex:0 0 auto;white-space:nowrap;border-radius:999px;padding:9px 11px;font-size:12px;
    scroll-snap-align:start;margin:0;position:relative;bottom:auto;left:auto;right:auto
  }
  .sidebar nav a .nav-label,.sidebar-command nav a .nav-label{display:inline}
  .sidebar-badge,.nav-badge{position:static;margin-left:6px;min-width:18px;height:18px;font-size:10px}
  .userbox,.premium-userbox{display:none}
  .page-head,.company-page-head{
    display:grid;grid-template-columns:1fr;align-items:start;gap:12px;margin-bottom:16px
  }
  .page-head h1,.page-head-title-block h1{font-size:clamp(25px,7vw,34px);line-height:1.06;letter-spacing:-.045em;word-break:break-word}
  .page-head-actions,.toolbar,.document-list-toolbar,.settings-toolbar,.dunning-toolbar{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch;width:100%
  }
  .page-head-actions .btn,.toolbar .btn,.document-list-toolbar .btn,.settings-toolbar .btn,.dunning-toolbar .btn,
  .toolbar input,.toolbar select,.document-list-toolbar input,.document-list-toolbar select,.settings-toolbar input,.settings-toolbar select,.dunning-toolbar input,.dunning-toolbar select{
    width:100%;min-width:0;justify-content:center
  }
  .page-head-timer-card{width:100%;max-width:100%;min-width:0;justify-content:flex-start;margin:0}
  .home-hero,.dashboard-grid,.stats,.cards,.split,.form-grid,.company-form-grid,.recurring-layout,.dunning-hero,.dunning-card,.task-board-shell,.settings-grid{
    grid-template-columns:1fr
  }
  .card,.panel,.stat,.department-card,.recurring-item,.dunning-card,.task-card,.crm-card,.project-card,.retainer-card{
    width:100%;max-width:100%;min-width:0
  }
  .stats{gap:10px}
  .stat .num{font-size:24px}
  .btn{min-height:42px;white-space:normal;text-align:center;line-height:1.15}
  .input,select,textarea{width:100%;min-height:42px;font-size:16px}
  .suggestions{left:0;right:0;max-height:48vh;overflow:auto}
  .modal,.dialog,.popup,.drawer{max-width:calc(100vw - 20px)}
}
@media(max-width:720px){
  body{font-size:14px}
  .main{padding:12px}
  .panel,.card{padding:14px;border-radius:18px}
  .page-head-actions,.toolbar,.document-list-toolbar,.settings-toolbar,.dunning-toolbar{grid-template-columns:1fr}
  .home-hero{padding:16px;border-radius:22px}
  .home-hero h2{font-size:28px;line-height:1.06}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .dashboard-todo-inline{max-width:none;width:100%;margin-top:18px;padding:13px;border-radius:19px}
  .dashboard-todo-inline-head{display:grid;grid-template-columns:1fr;gap:10px}
  .dashboard-todo-title{align-items:flex-start}
  .todo-icon{width:40px;height:40px;min-width:40px;border-radius:14px}
  .todo-count{justify-self:start}
  .dashboard-todo-item{grid-template-columns:10px minmax(0,1fr);gap:10px;padding:12px;border-radius:17px}
  .dashboard-todo-row{display:block}
  .dashboard-todo-main strong{font-size:14px}
  .dashboard-todo-main p{display:none}
  .dashboard-todo-meta span{font-size:11px;white-space:normal;line-height:1.2}
  .dashboard-todo-done-form{grid-column:2;width:100%;margin-top:10px}
  .todo-done-btn{width:100%;min-height:38px}
  .dunning-hero,.recurring-hero,.trash-hero{padding:15px;border-radius:19px}
  .dunning-stats{display:grid;grid-template-columns:1fr;gap:8px}
  .dunning-actions,.recurring-actions,.trash-actions,.task-actions{display:grid;grid-template-columns:1fr;gap:7px;width:100%;min-width:0}
  .dunning-actions form,.recurring-actions form,.trash-actions form{width:100%}
  .dunning-actions .btn,.recurring-actions .btn,.trash-actions .btn,.task-actions .btn{width:100%;justify-content:center}
  .dunning-chip,.recurring-meta span,.trash-meta span,.badge{white-space:normal;max-width:100%;line-height:1.2}
  .table-wrap table,.table-scroll table,.doc-table-wrap table,.responsive-table table{min-width:650px}
  .live-timer-wrap .timer-big{font-size:38px}
  .live-timer-units{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .login-body{padding:14px;align-items:flex-start}
  .login-card{width:100%;max-width:420px;margin-top:22px;padding:20px;border-radius:22px}
}
@media(max-width:430px){
  .main{padding:9px}
  .page-head h1,.page-head-title-block h1{font-size:24px}
  .btn{padding:10px 11px;font-size:13px}
  .sidebar nav a,.sidebar-command nav a,.sidebar-nav a{font-size:11px;padding:8px 9px}
  .live-timer-units{grid-template-columns:1fr}
}

/* === LINKITUP V150 MOBILE NOTIFICATION / BELL === */
.top-notification-bell{
  display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;border-radius:15px;
  border:1px solid rgba(18,57,91,.12);background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.10);position:relative;z-index:90
}
.top-notification-bell .bell-icon{font-size:18px;line-height:1}
.top-notification-bell .bell-badge{
  position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;background:#b91c1c;color:#fff;font-size:10px;font-weight:950;
  box-shadow:0 0 0 3px #fff
}
@media(max-width:1024px){
  .top-notification-bell{position:fixed;right:12px;bottom:12px;width:52px;height:52px;min-width:52px;border-radius:19px;z-index:9997}
  .top-notification-bell .bell-icon{font-size:22px}
  .top-notification-bell .bell-badge{right:-4px;top:-4px;min-width:21px;height:21px}
  body.task-modal-open .top-notification-bell{display:none}
}
@media(max-width:720px){
  .task-notification-backdrop{background:rgba(2,6,23,.22);backdrop-filter:none}
  .task-notification-dialog{
    left:8px;right:8px;top:auto;bottom:8px;width:auto;max-width:none;
    max-height:min(64vh,560px);padding:13px;border-radius:19px;overflow:auto
  }
  .task-notification-dialog h2{font-size:18px;margin-right:36px}
  .task-notification-dialog>.muted{font-size:12px;margin-bottom:8px}
  .task-notification-list{gap:7px;margin:8px 0 10px}
  .task-notification-item{padding:9px 9px 9px 11px;border-radius:14px}
  .task-notification-title{font-size:12.5px;line-height:1.22}
  .task-notification-meta{gap:4px;margin-top:6px}
  .task-notification-chip,.task-notification-due{font-size:10px;padding:4px 6px;white-space:normal;max-width:100%}
  .task-notification-note{display:none}
  .task-notification-dialog .toolbar{display:grid;grid-template-columns:1fr;gap:7px}
  .task-notification-dialog .toolbar .btn{width:100%;min-height:36px;font-size:12px}
  .task-notification-close{width:32px;height:32px;right:9px;top:9px}
}

/* === LINKITUP V151 MOBILE NOTIFICATION COMPACT === */
.task-notification-title{display:grid;gap:2px}
.task-notification-title small{display:block;color:rgba(255,255,255,.66);font-size:11px;line-height:1.18;font-weight:800;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-notification-item.is-dunning:before{background:#f59e0b}.task-notification-item.is-offer:before{background:#60a5fa}.task-notification-item.is-payment:before{background:#22c55e}
.task-notification-amount{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.25);color:#fed7aa}.task-notification-danger{background:rgba(244,63,94,.16);border-color:rgba(244,63,94,.28);color:#fecdd3}
@media(max-width:720px){
  .task-notification-dialog{max-height:min(72dvh,610px);padding:12px;padding-bottom:10px;border-radius:20px 20px 18px 18px}
  .task-notification-list{max-height:calc(72dvh - 150px);overflow:auto;padding-right:2px}
  .task-notification-item{padding:8px 8px 8px 11px;border-radius:13px;background:rgba(255,255,255,.06)}
  .task-notification-item:before{top:8px;bottom:8px;width:4px}
  .task-notification-title{font-size:12.8px;line-height:1.12;gap:1px}
  .task-notification-title small{font-size:11px;line-height:1.12}
  .task-notification-meta{margin-top:5px;gap:4px}
  .task-notification-chip,.task-notification-due{font-size:9.8px;line-height:1;padding:4px 6px}
  .task-notification-dialog .toolbar{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px -1px 0;padding-top:8px;background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 22%)}
  .task-notification-dialog .toolbar .btn{width:100%;min-height:36px;border-radius:13px;font-size:12px;padding:8px 10px}
  .task-notification-dialog .toolbar .btn.primary{grid-column:1/-1;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);box-shadow:none;color:#fff}
}


/* V152 safety override: Benachrichtigungs-Popup hart begrenzt */
.task-notification-modal{position:fixed;inset:0;z-index:99990;overflow:hidden;pointer-events:none;display:block}
.task-notification-backdrop{position:fixed;inset:0;z-index:99991;pointer-events:auto}
.task-notification-dialog{box-sizing:border-box;z-index:99992;max-width:min(420px,calc(100vw - 28px));width:min(420px,calc(100vw - 28px));max-height:min(66dvh,560px);overflow:hidden;display:flex;flex-direction:column;pointer-events:auto;overscroll-behavior:contain}
.task-notification-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;max-height:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.task-notification-dialog .toolbar{flex:0 0 auto;position:relative;bottom:auto}
.task-notification-item,.task-notification-title,.task-notification-title small,.task-notification-meta,.task-notification-chip,.task-notification-due{max-width:100%;min-width:0}
.task-notification-title,.task-notification-title small{overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){
  .task-notification-dialog{left:50%;right:auto;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);transform:translateX(-50%);width:calc(100vw - 20px);max-width:430px;max-height:min(58dvh,500px);padding:11px;margin:0;border-radius:18px}
  .task-notification-list{max-height:calc(58dvh - 118px);padding-right:1px}
  .task-notification-dialog .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
  .task-notification-dialog .toolbar .btn.primary{grid-column:1 / -1}
}


/* === LINKITUP V152 MOBILE WIDTH / OVERFLOW FIX ===
   Fix gegen rechte Leerfläche auf Smartphone: App, Sidebar und Main werden hart auf Viewportbreite gesetzt. */
html,body{
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  overflow-x:hidden;
}
body{position:relative}
.app,.main,.sidebar,.sidebar-command,.page-head,.company-page-head{
  box-sizing:border-box;
  min-width:0;
}
@media(max-width:1180px){
  html,body{
    width:100vw;
    max-width:100vw;
    overflow-x:hidden;
  }
  .app{
    display:block;
    width:100vw;
    max-width:100vw;
    min-width:0;
    margin:0;
    padding:0;
    overflow-x:hidden;
    grid-template-columns:1fr;
  }
  .sidebar,
  .sidebar-command{
    position:sticky;
    top:0;
    left:0;
    right:auto;
    width:100vw;
    max-width:100vw;
    min-width:0;
    margin:0;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .main{
    display:block;
    width:100vw;
    max-width:100vw;
    min-width:0;
    margin:0;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .page-head,
  .company-page-head,
  .home-hero,
  .dashboard-grid,
  .card,
  .panel,
  .dashboard-todo-inline,
  .dunning-hero,
  .dunning-card,
  .recurring-hero,
  .recurring-item,
  .trash-hero,
  .trash-card{
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .sidebar nav,
  .sidebar-command nav,
  .sidebar-nav{
    width:100%;
    max-width:100%;
    min-width:0;
  }
}
@supports(width:100dvw){
  @media(max-width:1180px){
    html,body,.app,.main,.sidebar,.sidebar-command{
      width:100dvw;
      max-width:100dvw;
    }
  }
}
@media(max-width:720px){
  .main{padding-left:10px;padding-right:10px}
  .sidebar,.sidebar-command{padding-left:10px;padding-right:10px}
  .page-head,.company-page-head{width:100%;max-width:100%}
  .page-head-actions{max-width:100%}
  .top-notification-bell{right:10px;bottom:10px}
  .task-notification-modal{
    width:100vw;
    max-width:100vw;
    overflow:hidden;
  }
  @supports(width:100dvw){
    .task-notification-modal{width:100dvw;max-width:100dvw}
  }
}


/* === LINKITUP V153 POPUP ANCHOR FIX ===
   Popup sitzt in einem isolierten Fixed-Overlay und beeinflusst die Seite nicht.
   Kein left:50%, kein translateX, keine Layout-Breite durch das Popup. */
.task-notification-modal{
  position:fixed;
  inset:0;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  z-index:99990;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:clamp(8px,2vw,18px);
  box-sizing:border-box;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint style;
  isolation:isolate;
}
.task-notification-backdrop{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:auto;
}
.task-notification-dialog{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  transform:none;
  margin:0;
  z-index:1;
  box-sizing:border-box;
  width:min(430px,100%);
  max-width:100%;
  min-width:0;
  max-height:min(72dvh,620px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  pointer-events:auto;
  contain:layout paint;
  overscroll-behavior:contain;
}
.task-notification-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.task-notification-dialog .toolbar{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  left:auto;
  right:auto;
}
.task-notification-item,
.task-notification-title,
.task-notification-title small,
.task-notification-meta,
.task-notification-chip,
.task-notification-due{
  max-width:100%;
  min-width:0;
}
@media(max-width:720px){
  .task-notification-modal{
    align-items:flex-end;
    justify-content:flex-end;
    padding:0 10px calc(env(safe-area-inset-bottom,0px) + 8px) 10px;
    width:auto;
    max-width:none;
  }
  .task-notification-dialog{
    width:min(430px,100%);
    max-width:100%;
    max-height:min(58dvh,500px);
    padding:11px;
    border-radius:18px;
  }
  .task-notification-list{
    max-height:none;
    padding-right:1px;
  }
  .task-notification-dialog .toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:8px;
    padding-top:8px;
    background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 22%);
  }
  .task-notification-dialog .toolbar .btn.primary{grid-column:1 / -1}
}
@media(max-width:430px){
  .task-notification-modal{
    padding-left:8px;
    padding-right:8px;
  }
  .task-notification-dialog{
    width:100%;
    max-height:min(60dvh,500px);
  }
}

/* === LINKITUP V154 BELL IN HEADER ===
   Glocke sitzt neben dem Seitentitel und ist nicht mehr floating/fixed im Nichts. */
.page-title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
}
.page-title-row h1{
  margin:0;
  min-width:0;
}
.page-title-row .top-notification-bell{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  transform:none;
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-width:42px;
  margin:0;
  z-index:5;
}
.page-title-row .top-notification-bell .bell-badge{
  right:-5px;
  top:-6px;
}
.page-head-actions .top-notification-bell{
  display:none;
}
@media(max-width:1024px){
  .page-title-row .top-notification-bell{
    position:relative;
    right:auto;
    bottom:auto;
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:15px;
  }
  .top-notification-bell:not(.page-title-row .top-notification-bell){
    position:relative;
    right:auto;
    bottom:auto;
    transform:none;
  }
}
@media(max-width:430px){
  .page-title-row{
    gap:8px;
  }
  .page-title-row h1{
    max-width:calc(100vw - 84px);
  }
  .page-title-row .top-notification-bell{
    flex-basis:40px;
    width:40px;
    height:40px;
    min-width:40px;
  }
}

/* === LINKITUP V157 REAL MOBILE HARDENING === */
@media(max-width:720px){
  html,body,.app,.main,#main-content{max-width:100%;overflow-x:hidden}
  .home-hero.panel,.dashboard-projecttime-card-v157,.dashboard-todo-inline{max-width:100%;min-width:0;box-sizing:border-box}
  .company-switch-cards,.linkitup-panel,.branch-panel,.home-action-cards,.dashboard-stats-slim-v156{display:none}
}

/* === LINKITUP V158 MOBILE HEADER PROJECTTIME + BELL + SMALL POPUP === */

/* Glocke mobile rechts im Titelbereich */
@media(max-width:860px){
  .page-title-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:center;
    gap:10px;
    width:100%;
  }
  .page-title-row h1{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .page-title-row .top-notification-bell{
    justify-self:end;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    width:40px;
    height:40px;
    min-width:40px;
    flex:0 0 40px;
    margin:0;
    border-radius:14px;
  }
}

/* Projektzeit im Header, nicht im Hero */
.header-projecttime-card-v158{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:190px;
  max-width:260px;
  min-height:64px;
  padding:10px 12px;
  border-radius:20px;
  text-decoration:none;
  color:#071421;
  background:linear-gradient(135deg,#fff,#f8fbff);
  border:1px solid rgba(18,57,91,.13);
  box-shadow:0 12px 30px rgba(16,24,40,.08);
}
.header-projecttime-card-v158:hover,
.header-projecttime-card-v158:visited{
  text-decoration:none;
  color:#071421;
}
.header-projecttime-icon-v158{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:linear-gradient(135deg,var(--brand-primary,#12395b),#071421);
  color:#fff;
  font-size:19px;
}
.header-projecttime-copy-v158{min-width:0}
.header-projecttime-copy-v158 small{
  display:block;
  margin:0 0 2px;
  color:var(--brand-primary,#12395b);
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.header-projecttime-copy-v158 strong{
  display:block;
  color:#071421;
  font-size:20px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.header-projecttime-copy-v158 em{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hero-Projektzeit alter Version sicher verstecken */
.dashboard-projecttime-card-v157,.dashboard-stats-slim-v156{display:none}

@media(max-width:1180px){
  .company-page-head{
    grid-template-columns:minmax(0,1fr);
  }
  .header-projecttime-card-v158{
    width:100%;
    max-width:100%;
    min-width:0;
    order:2;
  }
  .page-head-timer-card{
    order:3;
  }
  .page-head-actions{
    order:4;
  }
}
@media(max-width:720px){
  .company-page-head{
    gap:10px;
  }
  .header-projecttime-card-v158{
    min-height:58px;
    padding:9px 10px;
    border-radius:17px;
    grid-template-columns:38px minmax(0,1fr);
  }
  .header-projecttime-icon-v158{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:17px;
  }
  .header-projecttime-copy-v158 strong{font-size:18px}
}

/* Benachrichtigungspopup mobile deutlich kleiner */
@media(max-width:720px){
  .task-notification-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    padding:0 8px calc(env(safe-area-inset-bottom,0px) + 8px) 8px;
    pointer-events:none;
    overflow:hidden;
    z-index:99990;
  }
  .task-notification-backdrop{
    position:fixed;
    inset:0;
    pointer-events:auto;
    background:rgba(2,6,23,.14);
    backdrop-filter:none;
  }
  .task-notification-dialog{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    width:min(350px,100%);
    max-width:350px;
    min-width:0;
    max-height:min(42dvh,340px);
    padding:10px;
    border-radius:16px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    pointer-events:auto;
  }
  .task-notification-dialog h2{
    font-size:16px;
    line-height:1.05;
    margin:0 32px 2px 0;
  }
  .task-notification-dialog>.muted{
    font-size:11px;
    margin:0 0 6px;
    line-height:1.2;
  }
  .task-notification-list{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    gap:5px;
    margin:6px 0 7px;
    padding-right:1px;
  }
  .task-notification-item{
    padding:7px 8px 7px 10px;
    border-radius:12px;
  }
  .task-notification-item:before{
    top:7px;
    bottom:7px;
    width:3px;
  }
  .task-notification-title{
    font-size:12px;
    line-height:1.1;
    gap:1px;
  }
  .task-notification-title small{
    font-size:10px;
    line-height:1.08;
  }
  .task-notification-meta{
    margin-top:4px;
    gap:3px;
  }
  .task-notification-chip,.task-notification-due{
    font-size:9px;
    padding:3px 5px;
    line-height:1;
  }
  .task-notification-note{display:none}
  .task-notification-close{
    width:28px;
    height:28px;
    right:8px;
    top:8px;
    font-size:16px;
  }
  .task-notification-dialog .toolbar{
    flex:0 0 auto;
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin:6px 0 0;
    padding-top:6px;
    background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 22%);
  }
  .task-notification-dialog .toolbar .btn{
    width:100%;
    min-height:31px;
    padding:6px 7px;
    border-radius:10px;
    font-size:11px;
  }
  .task-notification-dialog .toolbar .btn.primary{
    grid-column:1/-1;
  }
}
@media(max-width:430px){
  .task-notification-dialog{
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
    max-height:min(40dvh,320px);
  }
}

/* === LINKITUP V159 NO PROJECTTIME / NARROW POPUP / CLICKABLE DOC LINKS === */
.header-projecttime-card-v158,
.dashboard-projecttime-card-v157,
.dashboard-stats-slim-v156{display:none}

.task-notification-doclink-v159,
.task-doc-link-v159,
.todo-suggest-link[href*="preview.php"]{
  text-decoration:none;
  cursor:pointer;
  font-weight:950;
}
.task-doc-link-v159{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  border:1px solid #c7d2fe;
  font-size:11px;
  line-height:1;
}
.task-doc-link-v159:hover,
.todo-suggest-link[href*="preview.php"]:hover{text-decoration:none;filter:brightness(.98)}

@media(max-width:720px){
  .task-notification-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    padding:0 8px calc(env(safe-area-inset-bottom,0px) + 8px) 8px;
    width:auto;
    max-width:none;
    overflow:hidden;
    pointer-events:none;
    contain:layout paint style;
    z-index:99990;
  }
  .task-notification-backdrop{
    position:fixed;
    inset:0;
    pointer-events:auto;
    background:rgba(2,6,23,.10);
    backdrop-filter:none;
  }
  .task-notification-dialog{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    margin:0;
    width:min(285px,calc(100vw - 22px));
    max-width:285px;
    min-width:0;
    max-height:min(38dvh,300px);
    padding:9px;
    border-radius:15px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    pointer-events:auto;
    box-sizing:border-box;
  }
  .task-notification-dialog h2{font-size:15px;margin:0 30px 2px 0;line-height:1.05}
  .task-notification-dialog>.muted{font-size:10.5px;margin:0 0 5px;line-height:1.15}
  .task-notification-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;gap:5px;margin:5px 0 6px;padding-right:1px}
  .task-notification-item{padding:6px 7px 6px 9px;border-radius:11px}
  .task-notification-item:before{top:6px;bottom:6px;width:3px}
  .task-notification-title{font-size:11.5px;line-height:1.08}
  .task-notification-title small{font-size:9.8px;line-height:1.08}
  .task-notification-meta{margin-top:4px;gap:3px}
  .task-notification-chip,.task-notification-due{font-size:8.8px;padding:3px 5px;line-height:1;max-width:100%}
  .task-notification-doclink-v159{background:rgba(96,165,250,.18);border-color:rgba(96,165,250,.32);color:#bfdbfe}
  .task-notification-note{display:none}
  .task-notification-close{width:26px;height:26px;right:7px;top:7px;font-size:15px}
  .task-notification-dialog .toolbar{flex:0 0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:5px 0 0;padding-top:5px;background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 24%)}
  .task-notification-dialog .toolbar .btn{width:100%;min-height:29px;padding:5px 6px;border-radius:9px;font-size:10.5px}
  .task-notification-dialog .toolbar .btn.primary{grid-column:1/-1}
}
@media(max-width:360px){
  .task-notification-dialog{
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:min(38dvh,290px);
  }
}

/* === LINKITUP V160 MOBILE POPUP OVERFLOW FIX ===
   Ursache: alte Regeln nutzten 100vw/calc(100vw...) und mehrere left/right-Varianten.
   Fix: Dialog wird fixed rechts/unten am Viewport verankert, Breite über % des Overlays, alle Kinder min-width:0. */
@media(max-width:720px){
  html,body{
    overflow-x:hidden;
    max-width:100%;
  }
  .task-notification-modal{
    position:fixed;
    inset:0;
    width:auto;
    height:auto;
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    display:block;
    overflow:hidden;
    pointer-events:none;
    contain:none;
    isolation:isolate;
    z-index:99990;
  }
  .task-notification-modal[hidden]{display:none}
  .task-notification-backdrop{
    position:fixed;
    inset:0;
    width:auto;
    height:auto;
    margin:0;
    pointer-events:auto;
    background:rgba(2,6,23,.10);
    backdrop-filter:none;
  }
  .task-notification-dialog{
    position:fixed;
    left:auto;
    top:auto;
    right:max(8px,env(safe-area-inset-right,0px));
    bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
    transform:none;
    box-sizing:border-box;
    margin:0;
    width:285px;
    max-width:calc(100% - 16px);
    min-width:0;
    max-height:min(38dvh,300px);
    padding:9px;
    border-radius:15px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    pointer-events:auto;
    contain:none;
    overscroll-behavior:contain;
  }
  .task-notification-dialog *,
  .task-notification-list,
  .task-notification-item,
  .task-notification-title,
  .task-notification-title span,
  .task-notification-title small,
  .task-notification-meta,
  .task-notification-chip,
  .task-notification-due,
  .task-notification-dialog .toolbar,
  .task-notification-dialog .toolbar .btn{
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
  }
  .task-notification-dialog h2{
    font-size:15px;
    margin:0 30px 2px 0;
    line-height:1.05;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .task-notification-dialog>.muted{
    font-size:10.5px;
    margin:0 0 5px;
    line-height:1.15;
  }
  .task-notification-list{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    display:grid;
    gap:5px;
    margin:5px 0 6px;
    padding:0 1px 0 0;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .task-notification-item{
    width:100%;
    padding:6px 7px 6px 9px;
    border-radius:11px;
    overflow:hidden;
  }
  .task-notification-title{
    display:grid;
    font-size:11.5px;
    line-height:1.08;
    overflow:hidden;
  }
  .task-notification-title span,
  .task-notification-title small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .task-notification-title small{
    font-size:9.8px;
    line-height:1.08;
  }
  .task-notification-meta{
    display:flex;
    flex-wrap:wrap;
    margin-top:4px;
    gap:3px;
    overflow:hidden;
  }
  .task-notification-chip,.task-notification-due{
    flex:0 1 auto;
    font-size:8.8px;
    padding:3px 5px;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .task-notification-doclink-v159{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .task-notification-note{display:none}
  .task-notification-close{
    position:absolute;
    width:26px;
    height:26px;
    right:7px;
    top:7px;
    font-size:15px;
  }
  .task-notification-dialog .toolbar{
    flex:0 0 auto;
    position:relative;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:5px;
    margin:5px 0 0;
    padding:5px 0 0;
    background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 24%);
    overflow:hidden;
  }
  .task-notification-dialog .toolbar .btn{
    width:100%;
    min-height:29px;
    padding:5px 5px;
    border-radius:9px;
    font-size:10.5px;
    line-height:1.05;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .task-notification-dialog .toolbar .btn.primary{
    grid-column:1/-1;
  }
}
@media(max-width:320px){
  .task-notification-dialog{
    right:6px;
    bottom:calc(env(safe-area-inset-bottom,0px) + 6px);
    width:calc(100% - 12px);
    max-width:calc(100% - 12px);
  }
}

    /* V161: Muss NACH allen alten Body-Popup-Regeln stehen, sonst gewinnt left/right/100%-Alt-CSS */
    @media(max-width:720px){
      html,body{overflow-x:hidden;max-width:100%}
      body.task-modal-open{overflow:hidden;max-width:100%}
      .task-notification-modal{
        position:fixed;
        inset:0;
        width:auto;
        height:auto;
        max-width:none;
        min-width:0;
        margin:0;
        padding:0;
        display:block;
        overflow:hidden;
        pointer-events:none;
        contain:layout paint style;
        isolation:isolate;
        z-index:99990;
      }
      .task-notification-modal[hidden]{display:none}
      .task-notification-backdrop{
        position:fixed;
        inset:0;
        width:auto;
        height:auto;
        margin:0;
        pointer-events:auto;
        background:rgba(2,6,23,.10);
        backdrop-filter:none;
      }
      .task-notification-dialog{
        position:fixed;
        left:auto;
        top:auto;
        right:8px;
        bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
        transform:none;
        box-sizing:border-box;
        margin:0;
        width:285px;
        max-width:calc(100% - 16px);
        min-width:0;
        max-height:min(38dvh,300px);
        padding:9px;
        border-radius:15px;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        pointer-events:auto;
        contain:layout paint;
        overscroll-behavior:contain;
      }
      .task-notification-dialog *,
      .task-notification-list,
      .task-notification-item,
      .task-notification-title,
      .task-notification-title span,
      .task-notification-title small,
      .task-notification-meta,
      .task-notification-chip,
      .task-notification-due,
      .task-notification-dialog .toolbar,
      .task-notification-dialog .toolbar .btn{
        box-sizing:border-box;
        min-width:0;
        max-width:100%;
      }
      .task-notification-dialog h2{
        font-size:15px;
        margin:0 30px 2px 0;
        line-height:1.05;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog>.muted{
        font-size:10.5px;
        margin:0 0 5px;
        line-height:1.15;
      }
      .task-notification-list{
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        overflow-y:auto;
        overflow-x:hidden;
        display:grid;
        gap:5px;
        margin:5px 0 6px;
        padding:0 1px 0 0;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
      }
      .task-notification-item{
        width:100%;
        padding:6px 7px 6px 9px;
        border-radius:11px;
        overflow:hidden;
      }
      .task-notification-title{
        display:grid;
        font-size:11.5px;
        line-height:1.08;
        overflow:hidden;
      }
      .task-notification-title span,
      .task-notification-title small{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-title small{font-size:9.8px;line-height:1.08}
      .task-notification-meta{
        display:flex;
        flex-wrap:wrap;
        margin-top:4px;
        gap:3px;
        overflow:hidden;
      }
      .task-notification-chip,.task-notification-due{
        flex:0 1 auto;
        font-size:8.8px;
        padding:3px 5px;
        line-height:1;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-doclink-v159{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-note{display:none}
      .task-notification-close{
        position:absolute;
        width:26px;
        height:26px;
        right:7px;
        top:7px;
        font-size:15px;
      }
      .task-notification-dialog .toolbar{
        flex:0 0 auto;
        position:relative;
        width:100%;
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:5px;
        margin:5px 0 0;
        padding:5px 0 0;
        background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 24%);
        overflow:hidden;
      }
      .task-notification-dialog .toolbar .btn{
        width:100%;
        min-height:29px;
        padding:5px 5px;
        border-radius:9px;
        font-size:10.5px;
        line-height:1.05;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog .toolbar .btn.primary{grid-column:1/-1}
    }
    @media(max-width:320px){
      .task-notification-dialog{
        right:6px;
        bottom:calc(env(safe-area-inset-bottom,0px) + 6px);
        width:calc(100% - 12px);
        max-width:calc(100% - 12px);
      }
    }

    /* V162: Mobile-Popup an App-Spalte ausrichten, nicht an leerer Browserfläche.
       Im Screenshot ist die App-Spalte links ca. 420px breit, der Browser-Viewport aber größer.
       Deshalb darf das Popup nicht right:8px am Viewport kleben. */
    @media(max-width:720px){
      .task-notification-modal{
        position:fixed;
        inset:0;
        width:auto;
        height:auto;
        max-width:none;
        min-width:0;
        margin:0;
        padding:0;
        display:block;
        overflow:hidden;
        pointer-events:none;
        contain:layout paint style;
        isolation:isolate;
        z-index:99990;
      }
      .task-notification-backdrop{
        position:fixed;
        inset:0;
        pointer-events:auto;
        background:rgba(2,6,23,.08);
        backdrop-filter:none;
      }
      .task-notification-dialog{
        position:fixed;
        top:auto;
        right:auto;
        left:12px;
        bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
        transform:none;
        box-sizing:border-box;
        margin:0;
        width:calc(min(420px, 100%) - 24px);
        max-width:320px;
        min-width:0;
        max-height:min(38dvh,300px);
        padding:9px;
        border-radius:15px;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        pointer-events:auto;
        contain:layout paint;
        overscroll-behavior:contain;
      }
      .task-notification-dialog *,
      .task-notification-list,
      .task-notification-item,
      .task-notification-title,
      .task-notification-title span,
      .task-notification-title small,
      .task-notification-meta,
      .task-notification-chip,
      .task-notification-due,
      .task-notification-dialog .toolbar,
      .task-notification-dialog .toolbar .btn{
        box-sizing:border-box;
        min-width:0;
        max-width:100%;
      }
      .task-notification-dialog h2{
        font-size:15px;
        margin:0 30px 2px 0;
        line-height:1.05;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog>.muted{
        font-size:10.5px;
        margin:0 0 5px;
        line-height:1.15;
      }
      .task-notification-list{
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        overflow-y:auto;
        overflow-x:hidden;
        display:grid;
        gap:5px;
        margin:5px 0 6px;
        padding:0 1px 0 0;
      }
      .task-notification-item{
        width:100%;
        padding:6px 7px 6px 9px;
        border-radius:11px;
        overflow:hidden;
      }
      .task-notification-title{
        display:grid;
        font-size:11.5px;
        line-height:1.08;
        overflow:hidden;
      }
      .task-notification-title span,
      .task-notification-title small{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-title small{font-size:9.8px;line-height:1.08}
      .task-notification-meta{
        display:flex;
        flex-wrap:wrap;
        margin-top:4px;
        gap:3px;
        overflow:hidden;
      }
      .task-notification-chip,.task-notification-due{
        flex:0 1 auto;
        font-size:8.8px;
        padding:3px 5px;
        line-height:1;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-note{display:none}
      .task-notification-close{
        position:absolute;
        width:26px;
        height:26px;
        right:7px;
        top:7px;
        font-size:15px;
      }
      .task-notification-dialog .toolbar{
        flex:0 0 auto;
        position:relative;
        width:100%;
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:5px;
        margin:5px 0 0;
        padding:5px 0 0;
        background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 24%);
        overflow:hidden;
      }
      .task-notification-dialog .toolbar .btn{
        width:100%;
        min-height:29px;
        padding:5px 5px;
        border-radius:9px;
        font-size:10.5px;
        line-height:1.05;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog .toolbar .btn.primary{grid-column:1/-1}
    }
    @media(max-width:360px){
      .task-notification-dialog{
        left:8px;
        width:calc(100% - 16px);
        max-width:calc(100% - 16px);
      }
    }

    /* V163: Weißer rechter Rand weg - Popup füllt mobile App-Spalte, nicht nur 320px */
    @media(max-width:720px){
      .task-notification-dialog{
        left:12px;
        right:auto;
        width:calc(min(420px, 100%) - 24px);
        max-width:calc(min(420px, 100%) - 24px);
      }
    }
    @media(max-width:360px){
      .task-notification-dialog{
        left:8px;
        width:calc(100% - 16px);
        max-width:calc(100% - 16px);
      }
    }

/* === LINKITUP V164 MOBILE FULL WIDTH / NO RIGHT BLANK AREA ===
   Fix für Samsung/Mobile: App-Spalte darf nicht links bei ca. 420px enden. */
@media(max-width:900px){
  html,body{
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:#f4f6fb;
  }
  .app{
    display:block;
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:#f4f6fb;
    grid-template-columns:1fr;
  }
  aside.sidebar.sidebar-command,
  .sidebar,
  .sidebar-command{
    position:sticky;
    top:0;
    left:0;
    right:0;
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    box-sizing:border-box;
    overflow:hidden;
  }
  .main,
  #main-content{
    display:block;
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    box-sizing:border-box;
    overflow-x:hidden;
    background:#f4f6fb;
  }
  .page-head,
  .company-page-head,
  .home-hero,
  .home-hero.panel,
  .panel,
  .card,
  .dashboard-todo-inline{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .sidebar-command .premium-brand,
  .sidebar-command .sidebar-quick-actions,
  .sidebar-command nav{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
}
@supports(width:100dvw){
  @media(max-width:900px){
    html,body,.app,.main,#main-content,aside.sidebar.sidebar-command,.sidebar,.sidebar-command{
      width:100dvw;
      max-width:100dvw;
    }
  }
}
/* Mobile viewport background without a generated full-screen pseudo element. */
@media(max-width:900px){
  body{background-color:#f4f6fb}
}

/* === LINKITUP V165 HEADER: TIMER CENTER / BELL RIGHT === */
@media(min-width:861px){
  .company-page-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,760px) minmax(80px,1fr);
    align-items:center;
    gap:22px;
  }
  .page-head-title-block{
    grid-column:1;
    justify-self:start;
    width:100%;
    min-width:0;
  }
  .page-title-row{
    display:block;
    width:100%;
    min-width:0;
  }
  .page-title-row h1{
    margin:0;
    max-width:100%;
  }
  .page-head-timer-card{
    grid-column:2;
    justify-self:center;
    width:min(100%,760px);
    max-width:760px;
  }
  .page-head-actions{
    grid-column:3;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    justify-self:stretch;
    width:100%;
    gap:10px;
  }
  .page-head-actions .top-notification-bell{
    display:inline-flex;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    flex:0 0 46px;
    width:46px;
    height:46px;
    min-width:46px;
    margin-left:auto;
    z-index:5;
  }
  .page-title-row .top-notification-bell{display:none}
}
/* Tablet/Mobile: Glocke rechts in der Header-Aktionszeile, nicht direkt neben dem Titel */
@media(max-width:860px){
  .page-title-row{
    display:block;
    width:100%;
  }
  .page-title-row .top-notification-bell{display:none}
  .page-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    width:100%;
    gap:8px;
  }
  .page-head-actions .top-notification-bell{
    display:inline-flex;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    width:40px;
    height:40px;
    min-width:40px;
    flex:0 0 40px;
    margin-left:auto;
    border-radius:14px;
  }
}

    /* V166 FINAL: Mobile als echtes Bottom-Sheet.
       Kein 100vw, kein 285px, kein App-Spalten-Hack, kein translate.
       left+right halten den Dialog immer innerhalb des sichtbaren Bildschirms. */
    @media(max-width:720px){
      html,body{
        overflow-x:hidden;
        max-width:100%;
      }
      body.task-modal-open{
        overflow:hidden;
      }
      .task-notification-modal{
        position:fixed;
        inset:0;
        width:auto;
        height:auto;
        max-width:none;
        min-width:0;
        margin:0;
        padding:0;
        display:block;
        overflow:hidden;
        pointer-events:none;
        contain:layout paint style;
        isolation:isolate;
        z-index:99990;
      }
      .task-notification-modal[hidden]{display:none}
      .task-notification-backdrop{
        position:fixed;
        inset:0;
        width:auto;
        height:auto;
        pointer-events:auto;
        background:rgba(2,6,23,.10);
        backdrop-filter:none;
      }
      .task-notification-dialog{
        position:fixed;
        left:8px;
        right:8px;
        top:auto;
        bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
        transform:none;
        box-sizing:border-box;
        width:auto;
        max-width:none;
        min-width:0;
        margin:0;
        max-height:min(42dvh,340px);
        padding:10px;
        border-radius:16px;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        pointer-events:auto;
        contain:layout paint;
        overscroll-behavior:contain;
      }
      .task-notification-dialog *,
      .task-notification-list,
      .task-notification-item,
      .task-notification-title,
      .task-notification-title span,
      .task-notification-title small,
      .task-notification-meta,
      .task-notification-chip,
      .task-notification-due,
      .task-notification-dialog .toolbar,
      .task-notification-dialog .toolbar .btn{
        box-sizing:border-box;
        min-width:0;
        max-width:100%;
      }
      .task-notification-dialog h2{
        font-size:16px;
        line-height:1.05;
        margin:0 34px 2px 0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog>.muted{
        font-size:11px;
        line-height:1.15;
        margin:0 0 6px;
      }
      .task-notification-list{
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        display:grid;
        gap:6px;
        margin:6px 0 7px;
        padding:0 1px 0 0;
        overflow-y:auto;
        overflow-x:hidden;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
      }
      .task-notification-item{
        width:100%;
        padding:7px 8px 7px 10px;
        border-radius:12px;
        overflow:hidden;
      }
      .task-notification-item:before{
        top:7px;
        bottom:7px;
        width:3px;
      }
      .task-notification-title{
        display:grid;
        font-size:12px;
        line-height:1.08;
        overflow:hidden;
      }
      .task-notification-title span,
      .task-notification-title small{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-title small{
        font-size:10px;
        line-height:1.08;
      }
      .task-notification-meta{
        display:flex;
        flex-wrap:wrap;
        gap:4px;
        margin-top:5px;
        overflow:hidden;
      }
      .task-notification-chip,
      .task-notification-due{
        flex:0 1 auto;
        font-size:9px;
        line-height:1;
        padding:3px 5px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-doclink-v159{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-note{
        display:none;
      }
      .task-notification-close{
        position:absolute;
        top:8px;
        right:8px;
        width:28px;
        height:28px;
        font-size:16px;
      }
      .task-notification-dialog .toolbar{
        flex:0 0 auto;
        position:relative;
        display:grid;
        width:100%;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:6px;
        margin:6px 0 0;
        padding:6px 0 0;
        overflow:hidden;
        background:linear-gradient(180deg,rgba(11,23,38,0),#0b1726 24%);
      }
      .task-notification-dialog .toolbar .btn{
        width:100%;
        min-height:31px;
        padding:6px 6px;
        border-radius:10px;
        font-size:11px;
        line-height:1.05;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .task-notification-dialog .toolbar .btn.primary{
        grid-column:1/-1;
      }
    }
    @media(max-width:360px){
      .task-notification-dialog{
        left:6px;
        right:6px;
        bottom:calc(env(safe-area-inset-bottom,0px) + 6px);
        max-height:min(42dvh,330px);
      }
    }

/* === LINKITUP V167 SYSTEMWIDE RESPONSIVE LAYER === */
html.is-mobile-device,html.is-mobile-device body{
  overflow-x:hidden;
  max-width:100%;
  background:#f4f6fb;
}
html.is-mobile-device .app,
html.is-mobile-device .main,
html.is-mobile-device #main-content,
html.is-mobile-device aside.sidebar.sidebar-command,
html.is-mobile-device .sidebar,
html.is-mobile-device .sidebar-command{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:hidden;
}
html.is-mobile-device .panel,
html.is-mobile-device .card,
html.is-mobile-device .page-head,
html.is-mobile-device .company-page-head,
html.is-mobile-device .dashboard-hero,
html.is-mobile-device .home-hero,
html.is-mobile-device .table-wrap,
html.is-mobile-device .customers-layout,
html.is-mobile-device .project-form,
html.is-mobile-device .form-grid,
html.is-mobile-device .split,
html.is-mobile-device .doc-grid,
html.is-mobile-device .cards,
html.is-mobile-device .stats,
html.is-mobile-device .task-board-shell-v108,
html.is-mobile-device .task-create-v108,
html.is-mobile-device .kanban-config-v108,
html.is-mobile-device .task-board-panel-v108{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
html.is-mobile-device .form-grid,
html.is-mobile-device .project-form,
html.is-mobile-device .doc-grid,
html.is-mobile-device .split,
html.is-mobile-device .cards,
html.is-mobile-device .stats{
  grid-template-columns:1fr;
}
html.is-mobile-device .table-wrap,
html.is-mobile-device .kanban-board-v108,
html.is-mobile-device .pipeline-grid{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
html.is-mobile-device table{
  max-width:100%;
}
html.is-mobile-device input,
html.is-mobile-device select,
html.is-mobile-device textarea,
html.is-mobile-device button,
html.is-mobile-device .btn{
  max-width:100%;
}
html.is-mobile-device .toolbar,
html.is-mobile-device .form-actions,
html.is-mobile-device .row-actions,
html.is-mobile-device .customer-actions,
html.is-mobile-device .doc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
html.is-mobile-device .toolbar .btn,
html.is-mobile-device .form-actions .btn,
html.is-mobile-device .row-actions .btn{
  white-space:normal;
}
html.is-mobile-device .task-notification-dialog{
  position:fixed;
  left:8px;
  right:8px;
  top:auto;
  bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
  transform:none;
  width:auto;
  max-width:none;
  min-width:0;
  margin:0;
}
html.is-mobile-device .task-notification-dialog *,
html.is-mobile-device .task-notification-dialog .toolbar,
html.is-mobile-device .task-notification-dialog .toolbar .btn{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
html.is-mobile-device .kanban-column-editor-head-v108{display:none}
html.is-mobile-device .kanban-column-row-v108{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0 12px 10px;
}
html.is-mobile-device .kanban-designer-v108>button{
  margin:8px 12px 0;
  width:calc(100% - 24px);
}
@media(max-width:900px){
  .form-grid,.project-form,.doc-grid,.split,.cards,.stats{grid-template-columns:1fr}
  .kanban-column-editor-head-v108{display:none}
  .kanban-column-row-v108{grid-template-columns:1fr;margin:0 12px 10px}
  .kanban-designer-v108>button{margin:8px 12px 0;width:calc(100% - 24px)}
}

/* === LINKITUP V168 EXACT RESPONSIVE ROOT FIX ===
   Ursache weißer Rand: alte 100vw/100dvw-Regeln + feste minmax-Spalten erzeugen Layout außerhalb der sichtbaren App.
   Fix: systemweit 100% statt 100vw, alle Hauptcontainer block-size, Leads/Startseite explizit. */
html,body{
  min-width:0;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:#f4f6fb;
}
body{position:relative}
.app,.main,#main-content,aside.sidebar.sidebar-command,.sidebar,.sidebar-command{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
@media(max-width:1180px), (pointer:coarse){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    background:#f4f6fb;
  }
  .app{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
    background:#f4f6fb;
  }
  .main,#main-content{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
    background:#f4f6fb;
  }
  aside.sidebar.sidebar-command,.sidebar,.sidebar-command{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    box-sizing:border-box;
  }
  .page-head,.company-page-head,.dashboard-hero,.home-hero,.panel,.card,.table-wrap,.toolbar,.filter-row,
  .leads-board,.pipeline-grid,.crm-inline-form,.dashboard-todo-inline,.task-board-shell-v108,
  .customers-layout,.project-form,.form-grid,.split,.cards,.stats{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .home-hero,.dashboard-hero,.company-page-head,.crm-inline-form,.form-grid,.project-form,.split,.cards,.stats,
  .customer-hero,.customer-detail-main,.customer-detail-secondary,.recurring-layout,.rights-user-shell{
    grid-template-columns:1fr;
  }
  .home-hero{display:grid;gap:14px;overflow:hidden}
  .home-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .home-hero .dashboard-todo-inline{width:100%;max-width:100%;margin-top:16px}
  .leads-board,.pipeline-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .crm-inline-form{display:grid;gap:10px}
  .crm-inline-form .customer-search-field-v168,
  .crm-inline-form .input,
  .crm-inline-form select,
  .crm-inline-form .btn{width:100%}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table{min-width:0}
}
/* Page background belongs to the root, not to a generated viewport-sized box. */
html{background-color:#f4f6fb}
.customer-search-field-v168{position:relative;min-width:0}
.customer-search-field-v168.is-compact{margin:0}
.customer-search-field-v168 .customer-search-clear-v168{
  margin-top:6px;
  border:1px solid #dbe3ee;
  background:#fff;
  color:#667085;
  border-radius:10px;
  padding:6px 9px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.customer-search-results-v168{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:9999;
  display:grid;
  gap:6px;
  max-height:280px;
  overflow:auto;
  padding:8px;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.15);
}
.customer-search-results-v168[hidden]{display:none}
.customer-search-results-v168 button{
  display:grid;
  gap:2px;
  width:100%;
  text-align:left;
  border:0;
  border-radius:10px;
  background:#f8fafc;
  padding:10px 11px;
  cursor:pointer;
  font-weight:900;
  color:#101828;
}
.customer-search-results-v168 button small{font-weight:750;color:#667085}
.customer-search-results-v168 button:hover{background:#eef2ff}
@media(max-width:720px), (pointer:coarse){
  .main{padding:10px}
  .panel,.card{padding:13px;border-radius:18px}
  .page-head,.company-page-head{gap:10px}
  .task-notification-dialog{
    left:8px;right:8px;width:auto;max-width:none;transform:none;
  }
}

/* === LINKITUP V168 FINAL WIDTH OVERRIDE === */
@media(max-width:1180px), (pointer:coarse){
  html,body,.app,.main,#main-content,.sidebar,.sidebar-command,aside.sidebar.sidebar-command{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }
  .task-notification-modal{
    width:auto;
    max-width:none;
  }
}



/* === LINKITUP V168 MOBILE BELL BACK BESIDE TITLE === */
.mobile-title-bell-v168{display:none}
@media(max-width:860px), (pointer:coarse){
  .page-title-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:center;
    gap:10px;
    width:100%;
  }
  .page-title-row h1{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-title-bell-v168{
    display:flex;
    justify-self:end;
    width:42px;
    min-width:42px;
  }
  .mobile-title-bell-v168 .top-notification-bell{
    display:inline-flex;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    width:40px;
    height:40px;
    min-width:40px;
    flex:0 0 40px;
    margin:0;
    border-radius:14px;
  }
  .page-head-actions .top-notification-bell{
    display:none;
  }
}
@media(min-width:861px) and (pointer:fine){
  .mobile-title-bell-v168{display:none}
  .page-head-actions .top-notification-bell{display:inline-flex}
}


/* === V181: Tabellen-Resizing global für alle Listen === */
table.table.lmcs-resizable-table{
  table-layout:fixed;
  width:max-content;
  min-width:100%;
}
table.table.lmcs-resizable-table th{
  position:relative;
  padding-right:24px;
  user-select:none;
}
table.table.lmcs-resizable-table td{
  box-sizing:border-box;
}
table.table.lmcs-resizable-table col{
  box-sizing:border-box;
}
.lmcs-table-tools.doc-table-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 8px;
  flex-wrap:wrap;
}
.lmcs-table-tools .hint{
  font-size:13px;
  color:#667085;
  line-height:1.35;
}
.lmcs-table-tools .doc-column-reset{
  min-height:36px;
  padding:8px 12px;
  border-radius:12px;
}
table.table.lmcs-resizable-table .doc-col-resizer{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:20px;
  height:100%;
  cursor:col-resize;
  touch-action:none;
  z-index:50;
  background:transparent;
  display:block;
}
table.table.lmcs-resizable-table .doc-col-resizer:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  width:1px;
  background:rgba(255,255,255,.18);
}
table.table.lmcs-resizable-table .doc-col-resizer:after{
  content:"";
  position:absolute;
  right:7px;
  top:22%;
  bottom:22%;
  width:3px;
  border-radius:99px;
  background:rgba(255,255,255,.74);
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
table.table.lmcs-resizable-table th:hover .doc-col-resizer:after,
table.table.lmcs-resizable-table .doc-col-resizer:focus-visible:after{
  background:var(--brand-accent,#d99a28);
}
body.doc-resizing,
body.doc-resizing *{
  cursor:col-resize;
  user-select:none;
}
@media(max-width:900px){
  .lmcs-table-tools.doc-table-tools{display:grid;grid-template-columns:1fr;}
  .lmcs-table-tools .hint{font-size:12px;}
  table.table.lmcs-resizable-table .doc-col-resizer{display:none;}
}

/* === V182: Tabellen-Resizing + Spalten ein/ausblenden global === */
table.table.lmcs-resizable-table,
table.list-table.lmcs-resizable-table{
  table-layout:fixed;
  width:max-content;
  min-width:100%;
}
table.table.lmcs-resizable-table th,
table.list-table.lmcs-resizable-table th{
  position:relative;
  padding-right:24px;
  user-select:none;
}
table.table.lmcs-resizable-table td,
table.list-table.lmcs-resizable-table td,
table.table.lmcs-resizable-table col,
table.list-table.lmcs-resizable-table col{
  box-sizing:border-box;
}
table.table.lmcs-resizable-table .lmcs-col-hidden,
table.list-table.lmcs-resizable-table .lmcs-col-hidden,
table.table.lmcs-resizable-table col.lmcs-col-hidden,
table.list-table.lmcs-resizable-table col.lmcs-col-hidden{
  display:none;
}
.lmcs-table-tools.doc-table-tools{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 8px;
  flex-wrap:wrap;
}
.lmcs-table-tools .hint{
  font-size:13px;
  color:#667085;
  line-height:1.35;
  flex:1 1 260px;
}
.lmcs-column-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.lmcs-table-tools .doc-column-reset,
.lmcs-table-tools .lmcs-column-toggle{
  min-height:36px;
  padding:8px 12px;
  border-radius:12px;
  white-space:nowrap;
}
.lmcs-column-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:500;
  width:min(320px,calc(100vw - 32px));
  max-height:min(420px,70vh);
  overflow:auto;
  padding:14px;
  border:1px solid var(--line,#e5e7eb);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}
.lmcs-column-panel[hidden]{display:none;}
.lmcs-column-panel strong{
  display:block;
  margin:0 0 10px;
  color:var(--brand-primary,#12395b);
}
.lmcs-column-list{
  display:grid;
  gap:6px;
}
.lmcs-column-choice{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #edf1f7;
  border-radius:11px;
  background:#f8fafc;
  cursor:pointer;
  font-weight:700;
  color:#334155;
}
.lmcs-column-choice:hover{background:#fff;border-color:#dbe3ef;}
.lmcs-column-choice input{width:16px;height:16px;margin:0;}
.lmcs-column-panel small{
  display:block;
  margin-top:10px;
  color:#667085;
  line-height:1.35;
}
table.table.lmcs-resizable-table .doc-col-resizer,
table.list-table.lmcs-resizable-table .doc-col-resizer{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:20px;
  height:100%;
  cursor:col-resize;
  touch-action:none;
  z-index:50;
  background:transparent;
  display:block;
}
table.table.lmcs-resizable-table .doc-col-resizer:before,
table.list-table.lmcs-resizable-table .doc-col-resizer:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  width:1px;
  background:rgba(255,255,255,.2);
}
table.table.lmcs-resizable-table .doc-col-resizer:after,
table.list-table.lmcs-resizable-table .doc-col-resizer:after{
  content:"";
  position:absolute;
  right:7px;
  top:22%;
  bottom:22%;
  width:3px;
  border-radius:99px;
  background:rgba(255,255,255,.82);
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
table.table.lmcs-resizable-table th:hover .doc-col-resizer:after,
table.list-table.lmcs-resizable-table th:hover .doc-col-resizer:after,
table.table.lmcs-resizable-table .doc-col-resizer:focus-visible:after,
table.list-table.lmcs-resizable-table .doc-col-resizer:focus-visible:after{
  background:var(--brand-accent,#d99a28);
}
body.doc-resizing,
body.doc-resizing *{
  cursor:col-resize;
  user-select:none;
}
@media(max-width:900px){
  .lmcs-table-tools.doc-table-tools{display:grid;grid-template-columns:1fr;}
  .lmcs-table-tools .hint{font-size:12px;}
  .lmcs-column-actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr;}
  .lmcs-column-panel{left:0;right:auto;width:min(100%,calc(100vw - 28px));}
  table.table.lmcs-resizable-table .doc-col-resizer,
  table.list-table.lmcs-resizable-table .doc-col-resizer{display:none;}
}

/* V183: echtes globales Tabellen-Resizing + Spaltenauswahl */
.lmcs-resizable-table th{position:relative;}
.lmcs-resizable-table.lmcs-fixed-column-widths{table-layout:fixed;}
.doc-col-resizer{display:block;position:absolute;right:0;top:0;bottom:0;width:22px;height:100%;cursor:col-resize;touch-action:none;z-index:80;background:transparent;}
.doc-col-resizer:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(255,255,255,.22)}
.doc-col-resizer:after{content:"";position:absolute;right:8px;top:20%;bottom:20%;width:3px;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 0 0 1px rgba(0,0,0,.10);}
.lmcs-resizable-table th:hover .doc-col-resizer:after,.doc-col-resizer:focus-visible:after{background:var(--brand-accent,#d99a28);}
body.doc-resizing,body.doc-resizing *{cursor:col-resize;user-select:none;}
.lmcs-col-hidden{display:none;}
.lmcs-column-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.lmcs-column-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:120;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:12px;min-width:230px;max-width:min(320px,calc(100vw - 28px));}
.lmcs-table-tools{position:relative;}
.lmcs-column-panel[hidden]{display:none;}
.lmcs-column-panel strong{display:block;margin-bottom:8px;color:#111827;}
.lmcs-column-list{display:grid;gap:6px;max-height:320px;overflow:auto;padding-right:2px;}
.lmcs-column-choice{display:flex;align-items:center;gap:8px;font-size:13px;color:#344054;padding:6px 4px;border-radius:8px;cursor:pointer;}
.lmcs-column-choice:hover{background:#f8fafc;}
.lmcs-column-choice input{margin:0;}
.lmcs-column-panel small{display:block;margin-top:9px;color:#667085;font-size:11px;line-height:1.35;}
@media(max-width:900px){.doc-col-resizer{display:block;}}

/* === V184: sichtbares, echtes Tabellen-Resizing auch für Kontakte/Logs === */
.table-scroll,.table-wrap,.doc-table-wrap,.responsive-table,.list-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;}
.lmcs-resizable-table{border-collapse:separate;}
.lmcs-resizable-table th{position:relative;padding-right:32px;user-select:none;}
.lmcs-resizable-table td,.lmcs-resizable-table th,.lmcs-resizable-table col{box-sizing:border-box;}
.lmcs-resizable-table.lmcs-fixed-column-widths{table-layout:fixed;}
.doc-col-resizer{display:block;position:absolute;right:0;top:0;bottom:0;width:28px;height:100%;cursor:col-resize;touch-action:none;z-index:120;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06));}
.doc-col-resizer:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(255,255,255,.32);}
.doc-col-resizer:after{content:"";position:absolute;right:10px;top:18%;bottom:18%;width:4px;border-radius:999px;background:var(--brand-accent,#d99a28);box-shadow:0 0 0 1px rgba(0,0,0,.18),0 0 0 4px rgba(255,255,255,.10);opacity:.95;}
.lmcs-resizable-table th:hover .doc-col-resizer:after,.doc-col-resizer:focus-visible:after{opacity:1;transform:scaleX(1.35);background:#f8c14a;}
.customers-table .doc-col-resizer:after,.logs-table .doc-col-resizer:after{background:#f8c14a;}
body.doc-resizing,body.doc-resizing *{cursor:col-resize;user-select:none;}
.lmcs-col-hidden{display:none;}
.lmcs-table-tools.doc-table-tools{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 8px;flex-wrap:wrap;}
.lmcs-table-tools .hint{font-size:13px;color:#667085;line-height:1.35;flex:1 1 280px;}
.lmcs-column-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.lmcs-column-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:700;width:min(340px,calc(100vw - 32px));max-height:min(430px,70vh);overflow:auto;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:16px;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:14px;}
.lmcs-column-panel[hidden]{display:none;}
.lmcs-column-list{display:grid;gap:6px;}
.lmcs-column-choice{display:flex;align-items:center;gap:9px;min-height:34px;padding:7px 9px;border:1px solid #edf1f7;border-radius:11px;background:#f8fafc;cursor:pointer;font-weight:700;color:#334155;}
.lmcs-column-choice:hover{background:#fff;border-color:#dbe3ef;}
.lmcs-column-choice input{width:16px;height:16px;margin:0;}
@media(max-width:900px){.lmcs-table-tools.doc-table-tools{display:grid;grid-template-columns:1fr}.lmcs-column-actions{display:grid;grid-template-columns:1fr 1fr}.doc-col-resizer{display:block;width:32px}.lmcs-column-panel{left:0;right:auto;width:min(100%,calc(100vw - 28px))}}


/* V194: Nur Optik-Beruhigung fuer Popup und Dashboard-To-do. Tabellenfixes bleiben unveraendert. Haupt-Override liegt zusaetzlich spaet im Footer. */
.task-notification-dialog{background:linear-gradient(180deg,#111c2b 0%,#0b1422 100%);color:#f8fafc}.task-notification-dialog h2{font-size:19px;color:#f8fafc}.task-notification-item{background:rgba(255,255,255,.055)}.home-hero .dashboard-todo-inline h3{font-size:21px}.home-hero .todo-due-overdue .todo-due-pill,.home-hero .dashboard-todo-meta .todo-overdue-chip{background:#f8fafc;color:#344054;border:1px solid #e5e7eb}

/* V204: kein spaeter Sidebar-Hardfix. Sidebar-CSS kommt wieder aus der funktionierenden V176-Kaskade. */


/* V205: Sidebar scrollt als Gesamtfläche, nicht nur die Navigation. */
@media (min-width:901px){
  aside.sidebar.sidebar-command,
  .sidebar.sidebar-command,
  .sidebar-command{
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.35) transparent;
  }
  .sidebar-command::-webkit-scrollbar{width:9px;}
  .sidebar-command::-webkit-scrollbar-track{background:transparent;}
  .sidebar-command::-webkit-scrollbar-thumb{background:rgba(255,255,255,.32);border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
  .sidebar-command nav{flex:0 0 auto;min-height:auto;max-height:none;overflow:visible;}
}

/* V212: Projekt-Dokumente in Projekt- und Kundenakte */
.project-files-field,
.project-card-files,
.customer-projects-panel-v212{
  margin-top:14px;
}
.project-file-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.project-file-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px 12px;
  padding:10px 12px;
  border:1px solid var(--line,#e5e7eb);
  border-radius:12px;
  background:#fff;
}
.project-file-row a{
  min-width:0;
  overflow-wrap:anywhere;
  font-weight:850;
  color:var(--brand,#12395b);
}
.project-file-row small{
  color:var(--muted,#667085);
  font-weight:700;
}
.project-file-row .inline-form{
  justify-self:end;
  grid-column:2;
}
.project-inline-upload{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:8px;
  margin-top:10px;
}
.customer-project-list-v212{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.customer-project-card-v212 h3 a{
  color:inherit;
  text-decoration:none;
}
.customer-project-card-v212 h3 a:hover,
.customer-project-card-v212 h3 a:focus-visible{
  text-decoration:underline;
}
.project-create-details-v212{
  margin-top:12px;
  border:1px solid var(--line,#e5e7eb);
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.project-create-details-v212 summary{
  cursor:pointer;
  font-weight:900;
}
.project-form-v212{
  margin-top:12px;
}
@media(max-width:720px){
  .project-file-row,
  .project-inline-upload{
    grid-template-columns:1fr;
  }
  .project-file-row .inline-form{
    grid-column:auto;
    justify-self:start;
  }
}

/* V213: Mobile-/Responsiveness-Polish ohne Tabellen-/Sidebar-Regression */
@media (max-width: 760px){
  html{ -webkit-text-size-adjust:100%; }
  body{ min-width:0; overflow-x:hidden; }
  .main{ min-width:0; width:100%; }
  .page-head.company-page-head{ gap:12px; padding:14px; border-radius:18px; }
  .page-head-title-block, .page-head-actions{ min-width:0; }
  .page-head-actions{ width:100%; display:flex; flex-wrap:wrap; gap:8px; }
  .page-head-actions .business-switch, .page-head-actions select{ width:100%; max-width:100%; }
  .btn, button, input, select, textarea{ font-size:16px; }
  .btn, button, .input, select{ min-height:44px; }
  .toolbar, .document-list-toolbar{ display:grid; grid-template-columns:1fr; gap:10px; }
  .toolbar .btn, .toolbar input, .toolbar select, .document-list-toolbar .btn, .document-list-toolbar input, .document-list-toolbar select{ width:100%; max-width:100%; }
  .card, .panel, .stat-card, .settings-block, .calendar-card, .company-card, .company-create-card{ border-radius:18px; }
  .table-tools, .global-table-tools, .doc-table-tools{ display:grid; grid-template-columns:1fr; gap:8px; align-items:stretch; }
  .table-tools .btn, .global-table-tools .btn, .doc-table-tools .btn{ width:100%; min-height:44px; }
  .table-scroll, .doc-table-wrap, .resizable-table-wrap{ max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch; }
  .global-column-panel, .table-column-panel{ max-width:calc(100vw - 28px); left:auto; right:8px; }
  .notification-modal, .task-modal, .modal-card{ max-width:calc(100vw - 24px); }
}
@media (max-width: 420px){
  .page-head.company-page-head{ padding:12px; }
  .page-title-row h1, .page-head h1{ font-size:24px; line-height:1.15; }
  .eyebrow{ font-size:11px; }
  .muted{ font-size:13px; }
  .sidebar .brand, .premium-brand{ min-width:0; }
}

/* V226: PLZ schmaler, Ort bekommt den Platz */
.address-pair{display:grid;grid-template-columns:minmax(116px,.46fr) minmax(0,1.54fr);gap:12px;align-items:start;min-width:0;}
.address-pair.span-2,.form-grid .address-pair.span-2{grid-column:1/-1;}
.address-pair.full{grid-column:1/-1;}
.address-pair .field{min-width:0;margin-bottom:12px;}
.address-pair .address-zip-field input{max-width:100%;}
@media(max-width:560px){.address-pair{grid-template-columns:1fr;gap:10px}.address-pair .field{margin-bottom:0}}

/* V239: Systemweite Euro-Feldlogik */
.lmcs-money-field-wrap{position:relative;display:block;width:100%;max-width:100%}
.lmcs-money-field-wrap>input{width:100%;padding-right:42px;text-align:right;font-variant-numeric:tabular-nums}
.lmcs-money-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#667085;font-weight:950;font-size:14px;line-height:1}
.lmcs-money-field-wrap>input:focus+.lmcs-money-suffix{color:var(--brand-primary,#12395b)}
.lmcs-license-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:12px 14px;border-radius:16px;font-weight:900;border:1px solid rgba(245,158,11,.32);background:#fffbeb;color:#92400e;box-shadow:0 12px 28px rgba(16,24,40,.06)}
.lmcs-license-banner.danger{border-color:rgba(244,63,94,.32);background:#fff1f2;color:#9f1239}.lmcs-license-banner a{color:inherit;text-decoration:underline;font-weight:950;white-space:nowrap}
@media(max-width:640px){.lmcs-license-banner{display:grid}.lmcs-license-banner a{white-space:normal}}

/* V239: Lizenz- und Euro-Feinschliff */
.lmcs-money-field-wrap input[type=number]{appearance:textfield;-moz-appearance:textfield}.lmcs-money-field-wrap input::-webkit-outer-spin-button,.lmcs-money-field-wrap input::-webkit-inner-spin-button{appearance:none;margin:0}.license-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.license-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.license-kpis{grid-template-columns:1fr}}


/* V251: Dokumentseiten mobil sicher einspaltig */
@media (max-width: 760px){
  body{
    overflow-x:hidden;
  }
  .app{
    grid-template-columns:1fr;
  }
  .main{
    width:100%;
    max-width:100%;
    padding:16px;
    overflow:hidden;
  }
  .page-head{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:start;
  }
  .page-head h1{
    font-size:24px;
    line-height:1.15;
  }
  .table-scroll{
    max-width:100%;
  }
}


/* V252: Angebot ablehnen */
.accept-box.decline-box,
.accept-box.decline-form{
  border-color:rgba(180,35,24,.22);
  background:linear-gradient(180deg,#fff,#fff8f7);
}
.decline-form textarea.input{
  width:100%;
  resize:vertical;
}
.customer-actions .btn.danger,
.accept-box .btn.danger{
  background:#b42318;
  border-color:#b42318;
  color:#fff;
}
.customer-actions .btn.danger:hover,
.accept-box .btn.danger:hover{
  filter:brightness(.96);
}
@media(max-width:760px){
  .customer-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .customer-actions .btn{
    width:100%;
    justify-content:center;
  }
  .accept-grid{
    grid-template-columns:1fr;
  }
}


/* V256 Rabatt + Ablehnung-Speicherung */
.sum-table tr td:first-child{overflow-wrap:anywhere}
#discount_value,#discount_type{font-weight:800}
@media(max-width:760px){
  #discount_value,#discount_type{min-height:44px}
}


/* V257: Dokument-Vorschau ohne rechten Weißrand und mobil sauber */
html,
body{
  max-width:100%;
}
.customer-page,
.main{
  min-width:0;
}
.doc-sheet,
.doc-sheet-long{
  box-sizing:border-box;
  width:100%;
  max-width:820px;
  overflow:hidden;
}
.doc-sheet *,
.doc-sheet-long *{
  box-sizing:border-box;
}
.doc-sheet table,
.doc-sheet-long table{
  max-width:100%;
}
.desc-html,
.long-desc,
.notes-render,
.doc-content-section,
.doc-title,
.salutation{
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  body{
    overflow-x:hidden;
  }
  .customer-page{
    width:100%;
    max-width:100%;
    margin:12px auto;
    padding:0 10px;
    overflow:hidden;
  }
  .customer-actions,
  .accept-box{
    width:100%;
    max-width:100%;
  }
  .doc-sheet,
  .doc-sheet-long{
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding:24px 16px;
    border-radius:18px;
    overflow:hidden;
  }
  .doc-head-block,
  .doc-brand-row,
  .doc-recipient-block,
  .payment-final-block{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .doc-brand-row,
  .doc-grid,
  .payment-final-block{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  .doc-brand-left,
  .doc-brand-main,
  .doc-docdata,
  .recipient,
  .payment-info,
  .payment-summary{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .doc-docdata dl,
  .meta div{
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
  }
  .pos-table,
  .pos-table thead,
  .pos-table tbody,
  .pos-table tr,
  .pos-table th,
  .pos-table td{
    display:block;
    width:100%;
  }
  .pos-table thead{
    display:none;
  }
  .pos-table tr{
    border:1px solid #e5e7ef;
    border-radius:14px;
    margin:0 0 10px;
    overflow:hidden;
    background:#fff;
  }
  .pos-table td{
    border-bottom:1px solid #eef2f7;
    padding:9px 10px;
    text-align:left;
    overflow-wrap:anywhere;
  }
  .pos-table td:last-child{
    border-bottom:0;
  }
  .pos-table td.num{
    text-align:left;
  }
  .sum-table{
    width:100%;
    margin:14px 0 0;
  }
  .sum-table td{
    overflow-wrap:anywhere;
  }
  .doc-title{
    font-size:22px;
    line-height:1.16;
  }
  .doc-logo{
    max-width:160px;
    height:auto;
  }
}
@media(max-width:520px){
  .doc-sheet,
  .doc-sheet-long{
    padding:18px 12px;
    border-radius:14px;
    font-size:11.5px;
  }
  .doc-title{
    font-size:20px;
  }
  .doc-company{
    font-size:15px;
  }
}

/* V257: Editor-Basis mobil absichern, falls inline CSS durch Cache später geladen wird */
@media(max-width:900px){
  .doc-editor-form .position-head{
    grid-template-columns:1fr 82px 112px;
  }
  .doc-editor-form .position-head .btn{
    grid-column:1/-1;
  }
  .doc-editor-form .internal-split-card-v223{
    grid-template-columns:1fr;
    grid-template-areas:"title" "left" "right" "slider" "note";
  }
}
@media(max-width:620px){
  .doc-editor-form .position-head{
    grid-template-columns:1fr;
  }
}


/* Interne Zuordnung */
.doc-editor-form .split-slider-wrap{position:relative;overflow:hidden}
.doc-editor-form .split-ratio{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#172033;
  font-size:12.5px;
  font-weight:950;
  text-align:center;
  overflow-wrap:anywhere;
}
.doc-editor-form .split-hint{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
  width:100%;
}
.doc-editor-form .split-hint span{
  max-width:none;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  color:#667085;
  font-size:11px;
  font-weight:900;
}
.doc-editor-form .split-hint span:first-child{text-align:left}
.doc-editor-form .split-hint span:nth-child(2){text-align:center;color:#7F6CFF}
.doc-editor-form .split-hint span:last-child{text-align:right}
.doc-editor-form .split-slider{direction:ltr}

/* V258: Angebot-Vorschau rechts ohne weißen Überstand */
.preview-actions,
.notice.no-print{
  max-width:min(100%,820px);
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.doc-sheet.doc-sheet-long{
  width:min(100%,820px);
  max-width:calc(100vw - 32px);
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
}
.doc-sheet.doc-sheet-long .doc-brand-row,
.doc-sheet.doc-sheet-long .payment-final-block,
.doc-sheet.doc-sheet-long .items-section,
.doc-sheet.doc-sheet-long .document-content,
.doc-sheet.doc-sheet-long .notes-render,
.doc-sheet.doc-sheet-long .doc-footer{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
.doc-sheet.doc-sheet-long .payment-summary,
.doc-sheet.doc-sheet-long .sum-table{
  max-width:100%;
  min-width:0;
}
@media(max-width:900px){
  .main:has(.doc-sheet-long){
    padding-left:10px;
    padding-right:10px;
    max-width:100%;
    overflow:hidden;
  }
  .doc-sheet.doc-sheet-long{
    max-width:calc(100vw - 20px);
    padding-left:14px;
    padding-right:14px;
  }
  .doc-sheet.doc-sheet-long .doc-brand-row,
  .doc-sheet.doc-sheet-long .payment-final-block{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .doc-sheet.doc-sheet-long{
    max-width:calc(100vw - 12px);
    padding-left:10px;
    padding-right:10px;
  }
  .preview-actions,
  .notice.no-print{
    max-width:calc(100vw - 12px);
  }
}


/* V259: Interne Zuordnung ruhig und logisch */
.doc-editor-form .internal-split-card.internal-split-card-v223{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) minmax(260px,1.15fr) minmax(150px,.7fr);
  grid-template-areas:"title title title" "left slider right" "note note note";
  gap:14px;
  align-items:stretch;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible;
  padding:16px;
  margin:0 0 16px;
  border:1px solid #e3e8f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.045);
}
.doc-editor-form .internal-split-card.internal-split-card-v223::before{
  display:none;
  content:none;
}
.doc-editor-form .split-card-title{
  grid-area:title;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border-bottom:1px solid #eef2f7;
  padding:0 0 10px;
  margin:0;
}
.doc-editor-form .split-card-title strong{
  font-size:14px;
  line-height:1.2;
  font-weight:950;
  color:#172033;
}
.doc-editor-form .split-left{grid-area:left}
.doc-editor-form .split-right{grid-area:right}
.doc-editor-form .split-slider-wrap{grid-area:slider}
.doc-editor-form .split-note{grid-area:note}

.doc-editor-form .split-person{
  display:grid;
  grid-template-rows:auto auto;
  gap:8px;
  align-content:start;
  min-width:0;
  padding:12px;
  border:1px solid #e7ecf3;
  border-radius:16px;
  background:#fbfcff;
  box-shadow:none;
}
.doc-editor-form .split-person label{
  display:block;
  margin:0;
  color:#172033;
  font-size:13px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.doc-editor-form .split-right label{
  text-align:right;
}
.doc-editor-form .split-person>span{
  display:none;
}
.doc-editor-form .split-money{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  width:100%;
  height:44px;
  min-width:0;
  border:1px solid #d7dee9;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.doc-editor-form .split-money input{
  min-width:0;
  width:100%;
  height:42px;
  border:0;
  border-radius:0;
  padding:8px 10px;
  text-align:right;
  color:#111827;
  background:#fff;
  font-size:16px;
  font-weight:900;
}
.doc-editor-form .split-money b{
  height:42px;
  display:grid;
  place-items:center;
  min-width:38px;
  border-left:1px solid #e2e8f0;
  background:#f8fafc;
  color:#475467;
  font-size:13px;
}

.doc-editor-form .split-slider-wrap{
  display:grid;
  grid-template-rows:auto auto auto;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid #e7ecf3;
  border-radius:16px;
  background:#fff;
  overflow:visible;
}
.doc-editor-form #internal_split_total{
  width:100%;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#111827;
  font-size:13px;
  line-height:1.15;
  font-weight:950;
  text-align:center;
  overflow-wrap:anywhere;
}
.doc-editor-form .split-slider{
  width:100%;
  min-width:0;
  margin:0;
  accent-color:#7F6CFF;
  cursor:pointer;
  direction:ltr;
}
.doc-editor-form .split-ratio{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:28px;
  padding:5px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#475467;
  font-size:12px;
  font-weight:900;
  text-align:center;
  overflow-wrap:anywhere;
}
.doc-editor-form .split-hint{
  display:none;
}
.doc-editor-form .split-note{
  width:100%;
  min-width:0;
  height:42px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  color:#475467;
  font-size:14px;
  box-shadow:none;
}
@media(max-width:760px){
  .doc-editor-form .internal-split-card.internal-split-card-v223{
    grid-template-columns:1fr;
    grid-template-areas:"title" "left" "slider" "right" "note";
    padding:12px;
    gap:10px;
    overflow:visible;
  }
  .doc-editor-form .split-right label{
    text-align:left;
  }
}

/* V259: A4-Vorschau auf Handy als echtes Blatt skalieren, nicht umbauen */
.lmcs-a4-scale-wrap{
  width:100%;
  max-width:100%;
  margin:0 auto;
  overflow:hidden;
}
@media screen and (max-width:900px){
  .customer-page,
  .main:has(.doc-sheet-long){
    overflow:hidden;
  }
  .lmcs-a4-scale-wrap{
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    margin-left:auto;
    margin-right:auto;
  }
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    width:820px;
    min-width:820px;
    max-width:820px;
    padding:54px 46px 46px;
    margin:0;
    border-radius:6px;
    transform:scale(var(--lmcs-a4-scale,1));
    transform-origin:top left;
    overflow:visible;
  }
  .lmcs-a4-scale-wrap .doc-brand-row{
    display:grid;
    grid-template-columns:170px minmax(0,1fr) 215px;
    gap:26px;
  }
  .lmcs-a4-scale-wrap .payment-final-block{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:24px;
  }
  .lmcs-a4-scale-wrap .pos-table,
  .lmcs-a4-scale-wrap .pos-table thead{
    display:table;
    width:100%;
  }
  .lmcs-a4-scale-wrap .pos-table tbody{
    display:table-row-group;
  }
  .lmcs-a4-scale-wrap .pos-table tr{
    display:table-row;
    border:0;
    border-radius:0;
    margin:0;
  }
  .lmcs-a4-scale-wrap .pos-table th,
  .lmcs-a4-scale-wrap .pos-table td{
    display:table-cell;
    width:auto;
    text-align:inherit;
  }
  .lmcs-a4-scale-wrap .pos-table th:not(:first-child),
  .lmcs-a4-scale-wrap .pos-table td.num{
    text-align:right;
  }
  .lmcs-a4-scale-wrap .sum-table{
    width:100%;
    margin-left:auto;
  }
}
@media print{
  .lmcs-a4-scale-wrap{
    width:auto;
    height:auto;
    overflow:visible;
  }
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    transform:none;
    width:auto;
    min-width:0;
    max-width:none;
  }
}


/* V260: Keine Prozent-/50-50-Anzeige im internen Hebel */
.doc-editor-form .split-ratio,
.doc-editor-form .split-hint,
.doc-editor-form .split-caption{
  display:none;
}
.doc-editor-form .split-slider-wrap{
  grid-template-rows:auto 1fr;
  justify-content:center;
}
.doc-editor-form .split-slider{
  align-self:center;
  margin:4px 0;
}
.doc-editor-form #internal_split_total{
  margin-bottom:6px;
}


/* V261: Softwareweite Eingabefelder- und Button-Normalisierung */
:root{
  --lmcs-control-h:42px;
  --lmcs-control-radius:12px;
  --lmcs-control-pad-x:12px;
}
button,
input,
select,
textarea{
  font-family:inherit;
}
.input,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"]{
  box-sizing:border-box;
  max-width:100%;
  min-height:var(--lmcs-control-h);
  border-radius:var(--lmcs-control-radius);
  line-height:1.2;
}
textarea,
textarea.input{
  min-height:96px;
  line-height:1.45;
  resize:vertical;
}
select,
.input,
textarea{
  vertical-align:middle;
}
.btn,
button.btn,
a.btn,
input[type="submit"].btn,
input[type="button"].btn{
  box-sizing:border-box;
  min-height:var(--lmcs-control-h);
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  vertical-align:middle;
}
.btn.small,
button.btn.small,
a.btn.small{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.1;
}
.toolbar,
.row-actions,
.actions,
.form-actions,
.customer-actions,
.preview-actions,
.savebar{
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.toolbar > *,
.row-actions > *,
.actions > *,
.form-actions > *,
.customer-actions > *,
.preview-actions > *,
.savebar > *{
  min-width:0;
}
.field,
.full,
.panel,
.card,
.notice,
.error,
.success{
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
.form-grid,
.grid,
.split{
  max-width:100%;
  min-width:0;
}
.lmcs-money-field-wrap{
  max-width:100%;
}
.lmcs-money-field-wrap > input{
  min-height:var(--lmcs-control-h);
}
input[type="checkbox"],
input[type="radio"]{
  min-height:auto;
}

/* V261: A4-Vorschau auf Handy bewusst kleiner darstellen */
@media screen and (max-width:900px){
  .lmcs-a4-scale-wrap{
    margin-left:auto;
    margin-right:auto;
    width:auto;
  }
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    box-shadow:0 12px 34px rgba(15,23,42,.13);
  }
}

/* V261: Mobil klare volle Breite, keine ungleichen Button-Zeilen */
@media(max-width:760px){
  :root{
    --lmcs-control-h:44px;
  }
  .main{
    max-width:100%;
    overflow:hidden;
  }
  .toolbar,
  form.toolbar,
  .row-actions,
  .actions,
  .form-actions,
  .customer-actions,
  .preview-actions,
  .savebar{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    width:100%;
  }
  .toolbar > *,
  form.toolbar > *,
  .row-actions > *,
  .actions > *,
  .form-actions > *,
  .customer-actions > *,
  .preview-actions > *,
  .savebar > *{
    width:100%;
    max-width:100%;
  }
  .toolbar .btn,
  form.toolbar .btn,
  .row-actions .btn,
  .actions .btn,
  .form-actions .btn,
  .customer-actions .btn,
  .preview-actions .btn,
  .savebar .btn,
  .toolbar button,
  .row-actions button,
  .actions button,
  .form-actions button,
  .customer-actions button,
  .preview-actions button,
  .savebar button{
    width:100%;
    min-height:44px;
    justify-content:center;
  }
  .form-grid,
  .cards,
  .stats{
    grid-template-columns:1fr;
  }
  .input,
  select,
  textarea,
  input[type="text"],
  input[type="email"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="time"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="url"]{
    width:100%;
    font-size:16px; /* verhindert iOS-Zoom */
  }
}

/* V261: Tabellenaktionen dürfen ihre kompakte Speziallogik behalten */
.doc-actions-v56 .btn,
.doc-actions-v56 button.btn,
#docTable .doc-actions-v56 .btn{
  white-space:normal;
}


/* V262: Desktopweite Button-/Formular-Politur */
:root{
  --lmcs-desktop-control-h:42px;
  --lmcs-desktop-control-radius:12px;
  --lmcs-desktop-control-pad-y:10px;
  --lmcs-desktop-control-pad-x:13px;
}

/* Grundlinie für normale Felder */
.input,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"]{
  box-sizing:border-box;
  min-height:var(--lmcs-desktop-control-h);
  border-radius:var(--lmcs-desktop-control-radius);
  padding-top:var(--lmcs-desktop-control-pad-y);
  padding-bottom:var(--lmcs-desktop-control-pad-y);
  line-height:1.2;
  vertical-align:middle;
}
select{
  padding-right:34px;
}
textarea,
textarea.input{
  min-height:104px;
  line-height:1.45;
}

/* Grundlinie für normale Buttons */
.btn,
a.btn,
button.btn,
input[type="submit"].btn,
input[type="button"].btn{
  box-sizing:border-box;
  min-height:var(--lmcs-desktop-control-h);
  padding:10px 13px;
  border-radius:var(--lmcs-desktop-control-radius);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  line-height:1.15;
  vertical-align:middle;
  text-align:center;
  text-decoration:none;
  white-space:normal;
}

/* Kleine Buttons bleiben bewusst kleiner, aber konsistent */
.btn.small,
a.btn.small,
button.btn.small{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.1;
}

/* Desktop-Toolbars: gleiche Höhe, sauberer Zeilenumbruch */
.toolbar,
form.toolbar,
.row-actions,
.actions,
.form-actions,
.preview-actions,
.customer-actions,
.panel-actions,
.card-actions,
.table-actions{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  max-width:100%;
  min-width:0;
}
.toolbar > *,
form.toolbar > *,
.row-actions > *,
.actions > *,
.form-actions > *,
.preview-actions > *,
.customer-actions > *,
.panel-actions > *,
.card-actions > *,
.table-actions > *{
  min-width:0;
}
.toolbar .input,
.toolbar select,
form.toolbar .input,
form.toolbar select,
.row-actions .input,
.row-actions select,
.actions .input,
.actions select,
.form-actions .input,
.form-actions select{
  min-height:var(--lmcs-desktop-control-h);
}
.toolbar .btn,
form.toolbar .btn,
.row-actions .btn,
.actions .btn,
.form-actions .btn,
.preview-actions .btn,
.customer-actions .btn,
.panel-actions .btn,
.card-actions .btn,
.table-actions .btn{
  min-height:var(--lmcs-desktop-control-h);
}

/* Speichern-Leisten Desktop: Buttons gleichmäßig und nicht wild unterschiedlich */
.savebar{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.savebar .btn,
.savebar button{
  min-height:var(--lmcs-desktop-control-h);
}

/* Formular-Grids: Elemente sitzen sauber in ihrer Zelle */
.field,
.form-grid > *,
.grid > *,
.split > *,
.panel{
  min-width:0;
}
.field label{
  display:block;
  margin-bottom:6px;
  line-height:1.25;
}
.field .btn,
.field button.btn,
.field a.btn{
  min-height:var(--lmcs-desktop-control-h);
}

/* Linkboxen und kombinierte Felder Desktop sauber ausrichten */
.linkbox,
.lmcs-money-field-wrap,
.split-money{
  box-sizing:border-box;
  max-width:100%;
}
.linkbox{
  align-items:stretch;
}
.linkbox .input,
.linkbox .btn{
  min-height:var(--lmcs-desktop-control-h);
}

/* Positionen im Editor: Desktop sauber auf einer Grundhöhe */
.doc-editor-form .position-head{
  align-items:stretch;
}
.doc-editor-form .position-head .input,
.doc-editor-form .position-head .btn{
  min-height:var(--lmcs-desktop-control-h);
}
.doc-editor-form .position-head .btn{
  height:auto;
}

/* Spezialbereiche NICHT kaputt normalisieren */
#docTable .doc-actions-v56 .btn,
#docTable .doc-actions-v56 button,
.doc-actions-v56 .btn,
.doc-actions-v56 button,
.doc-actions-v56 .doc-act,
.doc-actions-v56 .doc-act-wide,
.doc-actions-v56 .doc-act-danger{
  min-height:28px;
  height:auto;
}
#docTable .doc-action-danger-full-v56 .btn,
.doc-action-danger-full-v56 .btn{
  min-height:34px;
}

/* Mobil-Regeln aus V261 bleiben erhalten, aber mit konsistenter Grundlage */
@media(max-width:760px){
  .btn,
  a.btn,
  button.btn,
  input[type="submit"].btn,
  input[type="button"].btn{
    min-height:44px;
  }
  .btn.small,
  a.btn.small,
  button.btn.small{
    min-height:38px;
  }
}


/* V263: Buttons/Felder wirklich sichtbar vereinheitlichen – Desktop + Mobile */
:root{
  --lmcs-btn-h:40px;
  --lmcs-btn-radius:11px;
  --lmcs-input-h:40px;
}

/* Normale Buttons: eine echte optische Norm, kein wildes Umbruch-Höhen-Chaos */
body .btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
body a.btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
body button.btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger){
  min-height:var(--lmcs-btn-h);
  height:var(--lmcs-btn-h);
  padding:0 13px;
  border-radius:var(--lmcs-btn-radius);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  line-height:1;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

/* Kleine Buttons wirklich klein, aber sauber */
body .btn.small:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
body a.btn.small:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
body button.btn.small:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger){
  min-height:32px;
  height:32px;
  padding:0 10px;
  border-radius:9px;
  font-size:12px;
  line-height:1;
}

/* Normale Inputs/Selects optisch auf dieselbe Grundlinie */
body .input,
body select,
body input[type="text"],
body input[type="email"],
body input[type="number"],
body input[type="date"],
body input[type="datetime-local"],
body input[type="time"],
body input[type="password"],
body input[type="search"],
body input[type="tel"],
body input[type="url"]{
  min-height:var(--lmcs-input-h);
  height:var(--lmcs-input-h);
  padding-top:0;
  padding-bottom:0;
  border-radius:11px;
  line-height:1;
  font-size:14px;
  max-width:100%;
}
body textarea,
body textarea.input{
  height:auto;
  min-height:96px;
  padding-top:10px;
  padding-bottom:10px;
  line-height:1.45;
}

/* Desktop-Zeilen: Buttons und Felder sitzen auf einer Linie */
body .toolbar,
body form.toolbar,
body .row-actions,
body .actions,
body .form-actions,
body .preview-actions,
body .customer-actions,
body .panel-actions,
body .card-actions,
body .table-actions,
body .savebar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body .toolbar > *,
body form.toolbar > *,
body .row-actions > *,
body .actions > *,
body .form-actions > *,
body .preview-actions > *,
body .customer-actions > *,
body .panel-actions > *,
body .card-actions > *,
body .table-actions > *,
body .savebar > *{
  min-width:0;
}

/* Linkboxen und Such-/Filterleisten sehen jetzt wirklich wie eine Zeile aus */
body .linkbox{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}
body .linkbox .btn{
  height:var(--lmcs-input-h);
  min-height:var(--lmcs-input-h);
}

/* Editor-Positionen: gleiche Höhen in der Zeile */
body .doc-editor-form .position-head{
  align-items:stretch;
}
body .doc-editor-form .position-head .input,
body .doc-editor-form .position-head .btn{
  height:40px;
  min-height:40px;
}

/* Wichtige Ausnahme: Dokumenttabellen-Aktionen bleiben bewusst kompakt */
body #docTable .doc-actions-v56 .btn,
body #docTable .doc-actions-v56 button,
body .doc-actions-v56 .btn,
body .doc-actions-v56 button,
body .doc-actions-v56 .doc-act,
body .doc-actions-v56 .doc-act-wide,
body .doc-actions-v56 .doc-act-danger{
  height:28px;
  min-height:28px;
  padding:0 5px;
  white-space:nowrap;
  font-size:10.5px;
}
body #docTable .doc-action-danger-full-v56 .btn,
body .doc-action-danger-full-v56 .btn{
  height:34px;
  min-height:34px;
  font-size:12px;
}

/* V263: A4 Handy nochmals deutlich kleiner */
@media screen and (max-width:900px){
  body .lmcs-a4-scale-wrap{
    margin-left:auto;
    margin-right:auto;
  }
  body .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    box-shadow:0 10px 30px rgba(15,23,42,.16);
  }
}

/* Mobil: volle Breite ja, aber trotzdem gleiche Höhe */
@media(max-width:760px){
  :root{
    --lmcs-btn-h:42px;
    --lmcs-input-h:42px;
  }
  body .btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
  body a.btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger),
  body button.btn:not(.doc-act):not(.doc-act-wide):not(.doc-act-danger){
    width:100%;
    height:42px;
    min-height:42px;
    white-space:nowrap;
  }
  body .toolbar,
  body form.toolbar,
  body .row-actions,
  body .actions,
  body .form-actions,
  body .preview-actions,
  body .customer-actions,
  body .panel-actions,
  body .card-actions,
  body .table-actions,
  body .savebar{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-items:stretch;
  }
  body .toolbar > *,
  body form.toolbar > *,
  body .row-actions > *,
  body .actions > *,
  body .form-actions > *,
  body .preview-actions > *,
  body .customer-actions > *,
  body .panel-actions > *,
  body .card-actions > *,
  body .table-actions > *,
  body .savebar > *{
    width:100%;
    max-width:100%;
  }
}


/* V265: A4-Handyvorschau wirklich kleiner, zentriert, nicht schiebbar */
@media screen and (max-width:900px){
  html,
  body{
    overflow-x:hidden;
    max-width:100%;
    overscroll-behavior-x:none;
  }

  .main,
  .customer-page,
  .preview-page,
  .doc-preview-wrap{
    overflow-x:hidden;
    max-width:100%;
  }

  .lmcs-a4-scale-wrap{
    position:relative;
    display:block;
    overflow:hidden;
    margin:14px auto;
    max-width:100%;
    min-width:0;
    touch-action:pan-y;
    overscroll-behavior-x:none;
  }

  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    position:absolute;
    top:0;
    left:0;
    width:820px;
    min-width:820px;
    max-width:820px;
    margin:0;
    padding:54px 46px 46px;
    border-radius:6px;
    transform:scale(var(--lmcs-a4-scale,.33));
    transform-origin:top left;
    overflow:visible;
    box-shadow:0 10px 30px rgba(15,23,42,.18);
  }

  /* A4 bleibt A4. Keine mobile Karten-Tabelle innerhalb der skalierten Vorschau. */
  .lmcs-a4-scale-wrap .doc-brand-row{
    display:grid;
    grid-template-columns:170px minmax(0,1fr) 215px;
    gap:26px;
  }

  .lmcs-a4-scale-wrap .payment-final-block{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:24px;
  }

  .lmcs-a4-scale-wrap .pos-table{
    display:table;
    width:100%;
    table-layout:auto;
    border-collapse:collapse;
  }

  .lmcs-a4-scale-wrap .pos-table thead{
    display:table-header-group;
  }

  .lmcs-a4-scale-wrap .pos-table tbody{
    display:table-row-group;
  }

  .lmcs-a4-scale-wrap .pos-table tr{
    display:table-row;
    border:0;
    margin:0;
    border-radius:0;
  }

  .lmcs-a4-scale-wrap .pos-table th,
  .lmcs-a4-scale-wrap .pos-table td{
    display:table-cell;
    width:auto;
    padding:12px;
    text-align:left;
    border-bottom:1px solid #e1e5ee;
  }

  .lmcs-a4-scale-wrap .pos-table th:not(:first-child),
  .lmcs-a4-scale-wrap .pos-table td.num{
    text-align:right;
  }

  .lmcs-a4-scale-wrap .sum-table{
    width:100%;
    margin-left:auto;
  }

  .lmcs-a4-scale-wrap .doc-title{
    font-size:24px;
  }
}

@media print{
  .lmcs-a4-scale-wrap{
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    margin:0;
  }

  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    position:static;
    transform:none;
    width:auto;
    min-width:0;
    max-width:none;
    box-shadow:none;
  }
}


/* V266: Mobile Angebotsvorschau wirklich klein – CSS-only, kein JS nötig */
@media screen and (max-width:900px){
  html,
  body{
    overflow-x:hidden;
    max-width:100%;
  }

  .main,
  .customer-page{
    overflow-x:hidden;
    max-width:100%;
  }

  /* Alte Scale-Wrapper neutralisieren, falls JS/Cache ihn schon erzeugt hat */
  .lmcs-a4-scale-wrap{
    width:100%;
    height:auto;
    max-width:100%;
    overflow:visible;
    margin:0 auto;
    display:block;
  }

  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    position:static;
    transform:none;
  }

  /* Das Dokument selbst wird mobil wirklich kleiner gerendert */
  .doc-sheet,
  .doc-sheet.doc-sheet-long,
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    width:270px;
    min-width:270px;
    max-width:270px;
    margin:14px auto;
    padding:18px 14px;
    border-radius:8px;
    overflow:hidden;
    box-sizing:border-box;
    font-size:4.6px;
    line-height:1.35;
    box-shadow:0 10px 28px rgba(15,23,42,.16);
  }

  /* A4-Struktur bleibt erhalten, aber verkleinert */
  .doc-sheet.doc-sheet-long .doc-brand-row,
  .lmcs-a4-scale-wrap .doc-brand-row{
    display:grid;
    grid-template-columns:58px 1fr 60px;
    gap:8px;
    align-items:start;
  }

  .doc-sheet.doc-sheet-long .doc-logo{
    max-width:54px;
    max-height:30px;
  }

  .doc-sheet.doc-sheet-long .doc-company{
    font-size:6.5px;
    line-height:1.15;
  }

  .doc-sheet.doc-sheet-long .doc-sub,
  .doc-sheet.doc-sheet-long .doc-addr,
  .doc-docdata,
  .doc-label,
  .doc-sheet-long .recipient,
  .salutation,
  .flow-content,
  .payment-info p,
  .doc-footer{
    font-size:4.4px;
    line-height:1.35;
  }

  .doc-kind,
  .doc-number{
    font-size:4.8px;
    margin-bottom:4px;
  }

  .doc-sheet.doc-sheet-long .doc-title,
  .doc-title{
    font-size:8px;
    line-height:1.15;
    margin:5px 0;
  }

  .doc-head-block{
    margin-bottom:8px;
  }

  .doc-recipient-block{
    margin:5px 0 7px;
  }

  /* Tabelle bleibt Tabelle, aber klein genug */
  .pos-table,
  .pos-table-compact,
  .lmcs-a4-scale-wrap .pos-table{
    display:table;
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
    margin:5px 0 8px;
  }

  .pos-table thead,
  .pos-table-compact thead{
    display:table-header-group;
  }

  .pos-table tbody,
  .pos-table-compact tbody{
    display:table-row-group;
  }

  .pos-table tr,
  .pos-table-compact tr{
    display:table-row;
    border:0;
    margin:0;
    background:transparent;
  }

  .pos-table th,
  .pos-table td,
  .pos-table-compact th,
  .pos-table-compact td{
    display:table-cell;
    width:auto;
    padding:3px 4px;
    border-bottom:1px solid #e1e5ee;
    font-size:4.4px;
    line-height:1.25;
    overflow:hidden;
    word-break:break-word;
  }

  .pos-table th,
  .pos-table-compact th{
    background:#11131a;
    color:#fff;
    font-size:4px;
    text-transform:uppercase;
  }

  .pos-table th:not(:first-child),
  .pos-table td.num,
  .pos-table-compact th:not(:first-child),
  .pos-table-compact td.num{
    text-align:right;
  }

  .document-content{
    margin-top:4px;
  }

  .document-content>h2{
    font-size:6px;
    margin:0 0 5px;
    padding-bottom:3px;
  }

  .flow-content h1{font-size:7px;margin:6px 0 3px}
  .flow-content h2{font-size:6px;margin:5px 0 3px}
  .flow-content h3{font-size:5.3px;margin:4px 0 2px}
  .flow-content p{margin:0 0 3px}
  .flow-content ul,
  .flow-content ol{margin:2px 0 4px 7px}

  .payment-final-block,
  .lmcs-a4-scale-wrap .payment-final-block{
    display:grid;
    grid-template-columns:1fr 96px;
    gap:8px;
    margin-top:8px;
    padding-top:8px;
  }

  .payment-info h2{
    font-size:6px;
    margin:0 0 5px;
  }

  .payment-info h3{
    font-size:4.2px;
    margin:0 0 3px;
  }

  .sum-table{
    width:100%;
    margin-left:auto;
  }

  .sum-table td{
    padding:2px 3px;
    font-size:4.5px;
  }

  .notes-render{
    padding:5px 0;
    margin:7px 0;
  }

  .closing{
    margin-top:8px;
  }

  .doc-footer{
    margin-top:8px;
    padding-top:3px;
  }
}

@media screen and (max-width:370px){
  .doc-sheet,
  .doc-sheet.doc-sheet-long,
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    width:240px;
    min-width:240px;
    max-width:240px;
    padding:16px 12px;
    font-size:4.1px;
  }

  .doc-sheet.doc-sheet-long .doc-brand-row,
  .lmcs-a4-scale-wrap .doc-brand-row{
    grid-template-columns:50px 1fr 52px;
    gap:7px;
  }

  .payment-final-block,
  .lmcs-a4-scale-wrap .payment-final-block{
    grid-template-columns:1fr 86px;
  }
}

/* V267: app.css cache-busted; critical mobile document CSS is injected by render_document_html(). */


/* V269: echte mobile Dokumentansicht - lesbar statt winziger A4-Kopie */
@media screen and (max-width:768px){
  .doc-sheet.doc-sheet-long{width:100%;min-width:0;max-width:100%}
}


/* V271: Fokus wieder auf mobile Dokumentvorschau, interne Zuordnung zurückhaltend */
@media screen and (max-width:768px){
  .doc-sheet.doc-sheet-long{width:100%;min-width:0;max-width:100%}
}


/* V272: Einstellungen interne Zuordnung */
.settings-v71 #company-internal-split .check-row{
  background:#f8fafc;
}
.settings-v71 #company-internal-split small.muted,
.settings-v71 #company-internal-split p.muted{
  color:#64748b;
  line-height:1.45;
}


/* V273: Geldwert-Felder repariert – keine Zeichen/Overlays hinter dem Betrag */
.lmcs-money-field-wrap,
.split-money{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:stretch;
  overflow:hidden;
  isolation:isolate;
}

.lmcs-money-field-wrap::before,
.lmcs-money-field-wrap::after,
.split-money::before,
.split-money::after,
.split-person::before,
.split-person::after{
  content:none;
  display:none;
}

.lmcs-money-field-wrap input,
.split-money input,
input[name="internal_christopher_amount"],
input[name="internal_linkitup_amount"]{
  position:relative;
  z-index:1;
  min-width:0;
  width:100%;
  max-width:100%;
  padding-right:12px;
  text-align:right;
  background:#fff;
  color:#111827;
  box-shadow:none;
  overflow:hidden;
  text-overflow:clip;
}

.lmcs-money-field-wrap b,
.split-money b{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  max-width:44px;
  background:#f8fafc;
  border-left:1px solid #dbe3ee;
  color:#334155;
  font-weight:900;
  pointer-events:none;
}

/* interne Zuordnung schlank halten, aber sauber */
.doc-editor-form .split-money{
  grid-template-columns:minmax(0,1fr) 44px;
}

.doc-editor-form .split-money input{
  padding-left:10px;
  padding-right:12px;
}

.doc-editor-form .split-money b{
  width:44px;
  min-width:44px;
}

/* Browser-eigene Number-Spinner ausblenden, damit hinter dem Geldwert nichts sichtbar ist */
input[name="internal_christopher_amount"]::-webkit-outer-spin-button,
input[name="internal_christopher_amount"]::-webkit-inner-spin-button,
input[name="internal_linkitup_amount"]::-webkit-outer-spin-button,
input[name="internal_linkitup_amount"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
input[name="internal_christopher_amount"],
input[name="internal_linkitup_amount"]{
  -moz-appearance:textfield;
}


/* V274: Interne Geldfelder – doppelte €-Spalte endgültig entfernen */
.doc-editor-form .split-money-clean,
.doc-editor-form .split-money{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  align-items:center;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
}

/* Keine generierten Eurozeichen / Overlays */
.doc-editor-form .split-money-clean::before,
.doc-editor-form .split-money-clean::after,
.doc-editor-form .split-money::before,
.doc-editor-form .split-money::after,
.doc-editor-form input[name="internal_christopher_amount"]::before,
.doc-editor-form input[name="internal_christopher_amount"]::after,
.doc-editor-form input[name="internal_linkitup_amount"]::before,
.doc-editor-form input[name="internal_linkitup_amount"]::after{
  content:none;
  display:none;
}

/* Alte b-Elemente in split-money ausblenden, falls Browser/Cache altes HTML sieht.
   Das neue sichtbare Symbol ist .split-currency. */
.doc-editor-form .split-money > b{
  display:none;
}

.doc-editor-form .split-money-clean input,
.doc-editor-form .split-money input[name="internal_christopher_amount"],
.doc-editor-form .split-money input[name="internal_linkitup_amount"]{
  grid-column:1;
  width:100%;
  min-width:0;
  max-width:100%;
  height:44px;
  min-height:44px;
  padding:0 14px;
  border:0;
  outline:0;
  box-shadow:none;
  background:#fff;
  color:#111827;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.035em;
  text-align:right;
  overflow:visible;
  text-overflow:clip;
}

.doc-editor-form .split-money-clean .split-currency,
.doc-editor-form .split-money .split-currency{
  grid-column:2;
  width:46px;
  min-width:46px;
  max-width:46px;
  height:44px;
  display:grid;
  place-items:center;
  border-left:1px solid #dbe3ee;
  background:#f8fafc;
  color:#475467;
  font-size:17px;
  font-weight:950;
  pointer-events:none;
}

/* falls irgendeine alte globale Regel ein zweites Symbol über b erzwingt */
.doc-editor-form .split-money-clean b + .split-currency,
.doc-editor-form .split-money b + .split-currency{
  display:grid;
}

@media(max-width:520px){
  .doc-editor-form .split-money-clean,
  .doc-editor-form .split-money{
    grid-template-columns:minmax(0,1fr) 42px;
  }
  .doc-editor-form .split-money-clean input,
  .doc-editor-form .split-money input[name="internal_christopher_amount"],
  .doc-editor-form .split-money input[name="internal_linkitup_amount"]{
    font-size:18px;
    padding:0 12px;
  }
  .doc-editor-form .split-money-clean .split-currency,
  .doc-editor-form .split-money .split-currency{
    width:42px;
    min-width:42px;
    max-width:42px;
  }
}


/* V275: Tiefer Geldfelder-Fix – Wert ohne € + genug Platz */
.doc-editor-form .split-money-clean{
  grid-template-columns:minmax(0,1fr) 38px;
}
.doc-editor-form .split-money-clean input{
  font-size:24px;
  height:44px;
  min-height:44px;
  padding:0 10px 0 8px;
  font-variant-numeric:tabular-nums;
  -webkit-appearance:none;
  appearance:textfield;
}
.doc-editor-form .split-money-clean .split-currency{
  width:38px;
  min-width:38px;
  max-width:38px;
}
.doc-editor-form .split-money-clean input::-webkit-outer-spin-button,
.doc-editor-form .split-money-clean input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.doc-editor-form .split-money-clean input::-ms-clear,
.doc-editor-form .split-money-clean input::-ms-reveal{
  display:none;
  width:0;
  height:0;
}
.doc-editor-form .split-person{
  min-width:0;
}
@media(max-width:520px){
  .doc-editor-form .split-money-clean input{
    font-size:20px;
  }
}


/* V278: Korrektur auf Basis V275 – interne Geldfelder NICHT global wrappen */
.doc-editor-form .split-money-clean{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
}

.doc-editor-form .split-money-clean > .lmcs-money-field-wrap,
.doc-editor-form .split-money-clean > .lmcs-money-suffix{
  display:none;
}

.doc-editor-form .split-money-clean > input#internal_christopher_amount,
.doc-editor-form .split-money-clean > input#internal_linkitup_amount{
  grid-column:1;
  width:100%;
  min-width:0;
  max-width:100%;
  height:44px;
  min-height:44px;
  padding:0 12px 0 10px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  color:#111827;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.035em;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.doc-editor-form .split-money-clean > .split-currency{
  grid-column:2;
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  max-width:44px;
  height:44px;
  min-height:44px;
  border-left:1px solid #dbe3ee;
  background:#f8fafc;
  color:#475467;
  font-size:17px;
  font-weight:950;
  pointer-events:none;
}

.doc-editor-form .split-money-clean > .split-currency ~ .split-currency{
  display:none;
}

@media(max-width:520px){
  .doc-editor-form .split-money-clean{
    grid-template-columns:minmax(0,1fr) 40px;
  }
  .doc-editor-form .split-money-clean > input#internal_christopher_amount,
  .doc-editor-form .split-money-clean > input#internal_linkitup_amount{
    font-size:19px;
  }
  .doc-editor-form .split-money-clean > .split-currency{
    width:40px;
    min-width:40px;
    max-width:40px;
  }
}


/* V283: finale Stabilisierung Mobile-Dokument und alte A4-Miniatur neutralisieren */
@media screen and (max-width:768px){
  .doc-sheet.doc-sheet-long,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    width:100%;
    min-width:0;
    max-width:100%;
    font-size:14px;
    line-height:1.55;
    transform:none;
    position:static;
  }
  .lmcs-a4-scale-wrap{
    width:100%;
    height:auto;
    overflow:visible;
  }
}
.status-badge,
.log-title,
.log-message{
  overflow-wrap:anywhere;
}


/* V284: Professioneller Main-Polish */

/* Grundoptik: ruhiger, weniger Patch-Gefühl */
:root{
  --lmcs-radius-sm:10px;
  --lmcs-radius-md:14px;
  --lmcs-radius-lg:20px;
  --lmcs-line-soft:#e2e8f0;
  --lmcs-bg-soft:#f8fafc;
  --lmcs-text-main:#172033;
  --lmcs-text-muted:#64748b;
  --lmcs-shadow-soft:0 12px 30px rgba(15,23,42,.06);
}

.main,
#main-content{
  min-width:0;
}

.card,
.panel,
.settings-v71 .settings-block,
.internal-split-card,
.doc-editor-form .position,
.customer-page .accept-box{
  border-color:var(--lmcs-line-soft);
  box-shadow:var(--lmcs-shadow-soft);
}

/* Formulare desktop + mobil sauberer */
.field label,
.settings-v71 label:not(.check-row){
  color:#334155;
  font-weight:850;
  letter-spacing:-.005em;
}
html.cliro-theme-dark .field label,
html.cliro-theme-dark .settings-v71 label:not(.check-row){
  color:#b6c1d4;
  -webkit-text-fill-color:#b6c1d4;
}

html.cliro-theme-light .input,
html.cliro-theme-light select,
html.cliro-theme-light textarea,
html.cliro-theme-light input[type="text"],
html.cliro-theme-light input[type="email"],
html.cliro-theme-light input[type="number"],
html.cliro-theme-light input[type="date"],
html.cliro-theme-light input[type="datetime-local"],
html.cliro-theme-light input[type="time"],
html.cliro-theme-light input[type="password"],
html.cliro-theme-light input[type="search"],
html.cliro-theme-light input[type="tel"],
html.cliro-theme-light input[type="url"]{
  border-color:#dbe3ee;
  background:#fff;
  color:#111827;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.input:focus,
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="time"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus{
  outline:0;
  border-color:color-mix(in srgb,var(--brand-primary,#12395b) 48%,#dbe3ee);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary,#12395b) 12%,transparent);
}

/* Buttons: professioneller, einheitlicher */
.btn,
a.btn,
button.btn,
input[type="submit"].btn,
input[type="button"].btn{
  border-radius:12px;
  font-weight:850;
  letter-spacing:-.01em;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

.btn:hover,
a.btn:hover,
button.btn:hover{
  transform:translateY(-1px);
}

.btn:active,
a.btn:active,
button.btn:active{
  transform:translateY(0);
}

/* Tabellen/Listen: weniger gedrückt */
.table-wrap,
.table-responsive,
.list-table-wrap{
  border-radius:18px;
  border-color:#e2e8f0;
  overflow:auto;
}

table th{
  color:#475467;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

table td{
  color:#172033;
}

/* Status-Badges: deutsche Rohwerte optisch sauber */
.status-badge,
.badge,
.tag,
.pill{
  border-radius:999px;
  font-weight:850;
  letter-spacing:-.005em;
}

/* Editor: Positionen und interne Zuordnung ruhiger, aber nicht riesig */
.doc-editor-form .position{
  border-radius:18px;
  background:#fff;
}

.doc-editor-form .position-head{
  gap:10px;
}

.doc-editor-form #editorTotals{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  background:#f8fafc;
  color:#172033;
  font-weight:850;
}

/* Interne Zuordnung: schlank + sauber */
.doc-editor-form .internal-split-card.internal-split-card-v223{
  border-radius:18px;
  background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
  padding:16px;
  gap:14px;
}

.doc-editor-form .split-card-title{
  border-bottom:1px solid #edf2f7;
  padding-bottom:10px;
}

.doc-editor-form .split-card-title strong{
  color:#172033;
  font-size:16px;
  font-weight:950;
}

.doc-editor-form .split-person{
  border-radius:15px;
  border:1px solid #e5eaf2;
  background:#fbfcff;
}

.doc-editor-form .split-person label{
  color:#475467;
  font-weight:900;
}

/* Geldfelder: V278/V275-Logik behalten, nur optisch verfeinern */
.doc-editor-form .split-money-clean{
  border-radius:14px;
  border-color:#dbe3ee;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}

.doc-editor-form .split-money-clean > input#internal_christopher_amount,
.doc-editor-form .split-money-clean > input#internal_linkitup_amount{
  color:#111827;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}

.doc-editor-form .split-money-clean > .split-currency{
  background:#f8fafc;
  color:#475467;
  font-weight:950;
}

/* Mobile Dokumentansicht: hochwertiger als Formular, aber lesbar */
@media screen and (max-width:768px){
  body{
    background:#f4f6fb;
  }

  .doc-sheet.doc-sheet-long,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    border-radius:22px;
    border:1px solid #e2e8f0;
    box-shadow:0 18px 42px rgba(15,23,42,.12);
    background:#fff;
  }

  .doc-head-block{
    background:linear-gradient(180deg,#fff,#fbfdff);
  }

  .doc-docdata,
  .payment-summary,
  .notes-render,
  .pos-table tr,
  .pos-table-compact tr{
    border-color:#e2e8f0;
    box-shadow:0 8px 22px rgba(15,23,42,.045);
  }

  .doc-title{
    color:#111827;
    letter-spacing:-.035em;
  }

  .flow-content,
  .salutation,
  .recipient{
    color:#243044;
  }

  .payment-final-block{
    background:#fbfcff;
  }

  .customer-actions,
  .preview-actions{
    gap:10px;
  }
}

/* Accessibility / Tastatur */
.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid color-mix(in srgb,var(--brand-primary,#12395b) 35%,transparent);
  outline-offset:2px;
}

/* Weniger horizontale Layoutfehler */
*{
  box-sizing:border-box;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

/* V284: alte Miniatur-A4-Regeln final neutral halten */
@media screen and (max-width:768px){
  .lmcs-a4-scale-wrap{
    transform:none;
  }
  .lmcs-a4-scale-wrap > .doc-sheet,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    transform:none;
    position:static;
  }
}


/* V285: Mobile Dokumentvorschau – rechte Desktop-Statusspalte wird zur Info-Karte */
@media screen and (max-width:768px){

  /* Dokument oben kompakter, kein riesiger leerer A4-Bereich */
  .doc-sheet.doc-sheet-long,
  .lmcs-a4-scale-wrap > .doc-sheet.doc-sheet-long{
    padding:0;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
  }

  .doc-head-block{
    padding:16px;
    margin:0;
    background:linear-gradient(180deg,#fff,#fbfdff);
    border-bottom:1px solid #edf2f7;
  }

  /* Header ist mobil immer eine saubere Spalte */
  .doc-brand-row{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }

  .doc-brand-left,
  .doc-brand-main{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .doc-logo{
    max-width:150px;
    max-height:70px;
    object-fit:contain;
  }

  .doc-company{
    font-size:20px;
    line-height:1.15;
    margin-top:8px;
  }

  .doc-sub,
  .doc-addr{
    font-size:12px;
    line-height:1.4;
    overflow-wrap:anywhere;
  }

  /* Der eigentliche Fehler: rechte Desktop-Kachel nicht schmal/vertikal lassen */
  .doc-docdata{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:12px;
    margin:0;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
    box-shadow:none;
    text-align:left;
    writing-mode:horizontal-tb;
    word-break:normal;
    overflow-wrap:normal;
    white-space:normal;
  }

  .doc-kind,
  .doc-kind-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    width:auto;
    max-width:100%;
    padding:7px 12px;
    margin:0 0 10px;
    border-radius:999px;
    background:var(--brand-primary,#12395b);
    color:#fff;
    font-size:11px;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
    writing-mode:horizontal-tb;
    word-break:normal;
    overflow-wrap:normal;
    white-space:nowrap;
  }

  .doc-number{
    display:block;
    margin:0 0 12px;
    color:#111827;
    font-size:15px;
    font-weight:950;
    line-height:1.25;
    writing-mode:horizontal-tb;
    word-break:break-word;
    overflow-wrap:anywhere;
    white-space:normal;
  }

  .doc-docdata dl{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:0;
    padding:0;
  }

  .doc-docdata dt,
  .doc-docdata dd{
    writing-mode:horizontal-tb;
    word-break:normal;
    overflow-wrap:anywhere;
    white-space:normal;
    text-align:left;
  }

  .doc-docdata dt{
    margin:0;
    color:#64748b;
    font-size:10px;
    line-height:1.15;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  .doc-docdata dd{
    margin:2px 0 0;
    color:#111827;
    font-size:14px;
    line-height:1.25;
    font-weight:900;
  }

  .doc-docdata dl > dt,
  .doc-docdata dl > dd{
    min-width:0;
    max-width:100%;
  }

  /* Wenn Browser die dt/dd direkt hintereinander layoutet: als Karten-Zeilen lesbar machen */
  .doc-docdata dl{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .doc-docdata dt{
    grid-row:auto;
  }

  .doc-docdata dd{
    padding:0 0 8px;
    border-bottom:1px solid #e2e8f0;
  }

  .doc-docdata dd:last-child{
    border-bottom:0;
  }

  /* Auf sehr schmalen Geräten lieber 1 Spalte statt gequetscht */
  @media screen and (max-width:430px){
    .doc-docdata dl{
      grid-template-columns:1fr;
      gap:4px;
    }
    .doc-docdata dt{
      margin-top:5px;
    }
    .doc-docdata dd{
      font-size:14px;
      padding-bottom:6px;
    }
  }

  /* Der Rest des Dokuments soll direkt folgen, ohne riesige Lücke */
  .doc-recipient-block{
    padding:14px 16px;
    margin:0;
    border-top:0;
  }

  .sender-line{
    font-size:12px;
    line-height:1.35;
    color:#64748b;
    overflow-wrap:anywhere;
  }

  .doc-title{
    padding:0 16px;
    margin:12px 0 8px;
    font-size:25px;
    line-height:1.12;
  }

  .salutation{
    padding:0 16px;
    margin:0 0 12px;
  }

  .items-section{
    padding:0 10px 4px;
  }

  /* Positionstabelle bleibt mobil als Karten, nicht als gequetschte Tabelle */
  .pos-table,
  .pos-table-compact{
    display:block;
    width:100%;
  }

  .pos-table thead,
  .pos-table-compact thead{
    display:none;
  }

  .pos-table tbody,
  .pos-table-compact tbody{
    display:grid;
    gap:10px;
  }

  .pos-table tr,
  .pos-table-compact tr{
    display:block;
    width:100%;
    border:1px solid #e2e8f0;
    border-radius:15px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 18px rgba(15,23,42,.045);
  }

  .pos-table td,
  .pos-table-compact td{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    width:100%;
    padding:10px 11px;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
    line-height:1.35;
    text-align:left;
    word-break:break-word;
  }

  .pos-table td:last-child,
  .pos-table-compact td:last-child{
    border-bottom:0;
  }

  .pos-table td:before,
  .pos-table-compact td:before{
    content:attr(data-label);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:950;
    color:#64748b;
  }

  .pos-table td:first-child,
  .pos-table-compact td:first-child{
    display:block;
    background:#f8fafc;
  }

  .pos-table td:first-child:before,
  .pos-table-compact td:first-child:before{
    display:block;
    margin-bottom:6px;
  }

  .pos-table td.num,
  .pos-table-compact td.num{
    text-align:left;
    font-weight:850;
  }
}

/* V285: Absolute Notbremse gegen vertikale Einzelbuchstaben in Dokument-Metakarten */
@media screen and (max-width:768px){
  .doc-docdata *,
  .doc-kind *,
  .doc-number *{
    writing-mode:horizontal-tb;
    word-break:normal;
    overflow-wrap:anywhere;
  }
}


/* V287 mobile document header real fix */
@media (max-width:768px){
.doc-brand-row{display:flex;flex-direction:column;grid-template-columns:none;gap:14px}
.doc-brand-left,.doc-brand-main,.doc-docdata{width:100%;max-width:100%;min-width:0;flex:none}
.doc-docdata{text-align:left;text-transform:none;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.doc-kind,.doc-kind-badge{display:inline-block;margin-bottom:10px}
.doc-number{font-size:15px;margin-bottom:12px}
.doc-docdata dl{display:grid;grid-template-columns:1fr;gap:6px}
.doc-docdata dt,.doc-docdata dd{display:block;writing-mode:horizontal-tb;white-space:normal;word-break:normal;text-align:left}
.doc-docdata dt{font-size:10px;text-transform:uppercase}
.doc-docdata dd{font-size:14px;font-weight:700}
.doc-docdata *{writing-mode:horizontal-tb}
}


/* V288 FINAL MOBILE DOC HEADER FIX */
@media screen and (max-width:768px){
  .doc-brand-row{
    display:block ;
    grid-template-columns:none ;
  }

  .doc-brand-left,
  .doc-brand-main,
  .doc-docdata{
    display:block ;
    width:100% ;
    max-width:100% ;
    min-width:0 ;
    flex:none ;
  }

  .doc-docdata{
    text-align:left ;
    margin-top:12px ;
    padding:14px ;
  }

  .doc-docdata dl,
  .doc-docdata dt,
  .doc-docdata dd{
    display:block ;
    width:100% ;
    white-space:normal ;
    word-break:normal ;
    writing-mode:horizontal-tb ;
  }

  .doc-docdata dt{
    margin-top:10px ;
  }
}


/* V289: Renderer-inline fix mirror */
@media screen and (max-width:768px){
  .doc-brand-row{display:flex;flex-direction:column;grid-template-columns:none;gap:14px;align-items:stretch}
  .doc-brand-left,.doc-brand-main,.doc-docdata{display:block;width:100%;max-width:100%;min-width:0;flex:none}
  .doc-docdata{text-align:left;margin:4px 0 0;padding:13px;writing-mode:horizontal-tb;word-break:normal;white-space:normal}
  .doc-docdata dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}
  .doc-docdata dt,.doc-docdata dd{display:block;width:100%;writing-mode:horizontal-tb;white-space:normal;word-break:normal;text-align:left}
}
@media screen and (max-width:430px){
  .doc-docdata dl{grid-template-columns:1fr}
}


/* V296: Dokument final polish */
.doc-sheet.doc-sheet-long .pos-table thead th,
.doc-sheet.doc-sheet-long .pos-table-compact thead th{
  background:#0f131a;
  color:#fff;
  -webkit-text-fill-color:#fff;
  opacity:1;
  font-weight:950;
}
.doc-sheet.doc-sheet-long .pos-table thead,
.doc-sheet.doc-sheet-long .pos-table-compact thead{
  background:#0f131a;
  color:#fff;
}
.doc-sheet.doc-sheet-long .pos-table td:first-child,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child,
.doc-sheet.doc-sheet-long .pos-table td:first-child strong,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child strong{
  color:#172033;
  visibility:visible;
  opacity:1;
  text-indent:0;
}
.doc-sheet.doc-sheet-long .doc-logo{
  max-width:175px;
  max-height:82px;
}
.doc-sheet.doc-sheet-long .doc-company{
  font-size:21px;
  line-height:1.12;
  font-weight:950;
}
.doc-sheet.doc-sheet-long .doc-sub{
  font-size:12px;
  line-height:1.3;
  font-weight:750;
}
.doc-sheet.doc-sheet-long .doc-addr{
  font-size:11.5px;
  line-height:1.35;
}


/* V297: Artikeltext in Positionstabelle sichtbar */
.doc-sheet.doc-sheet-long .pos-table thead th,
.doc-sheet.doc-sheet-long .pos-table-compact thead th{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.doc-sheet.doc-sheet-long .pos-table td:first-child,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child{
  color:#172033;
  visibility:visible;
  opacity:1;
  overflow:visible;
  white-space:normal;
  text-indent:0;
}
.doc-sheet.doc-sheet-long .pos-table td:first-child strong,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child strong{
  display:inline;
  color:#172033;
  visibility:visible;
  opacity:1;
  font-weight:950;
}


/* V298: Dokumenttypen global – Angebot, Rechnung, Storno */
.doc-sheet.doc-sheet-long .doc-kind,
.doc-sheet.doc-sheet-long .doc-kind-badge{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.doc-sheet.doc-sheet-long .pos-table thead th,
.doc-sheet.doc-sheet-long .pos-table-compact thead th{
  background:#0f131a;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.doc-sheet.doc-sheet-long .pos-table tbody td,
.doc-sheet.doc-sheet-long .pos-table-compact tbody td{
  color:#172033;
  -webkit-text-fill-color:initial;
}
.doc-sheet.doc-sheet-long .pos-table td:first-child,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child{
  display:table-cell;
  visibility:visible;
  opacity:1;
  color:#172033;
  white-space:normal;
  overflow:visible;
  text-indent:0;
}
.doc-sheet.doc-sheet-long .pos-table td:first-child strong,
.doc-sheet.doc-sheet-long .pos-table-compact td:first-child strong{
  display:inline;
  visibility:visible;
  opacity:1;
  color:#172033;
  font-weight:950;
}
.doc-sheet.doc-sheet-long .sum-table td{
  color:#172033;
}
.doc-sheet.doc-sheet-long .sum-table .total-row td{
  font-weight:950;
  border-top:2px solid #111827;
}


/* V301: Keine doppelten Mobile-Labels im verbliebenen Legacy-Wrapper */
.lmcs-v294-scale-wrap .pos-table td::before,
.lmcs-v294-scale-wrap .pos-table-compact td::before,
.lmcs-v294-scale-wrap .sum-table td::before{
  content:none;
  display:none;
}
.lmcs-v294-scale-wrap .pos-table td,
.lmcs-v294-scale-wrap .pos-table-compact td{
  padding:11px 12px;
  vertical-align:middle;
}
.lmcs-v294-scale-wrap .pos-table td:first-child,
.lmcs-v294-scale-wrap .pos-table-compact td:first-child{
  background:#fff;
}


/* V302: Rechnungsanschrift / Empfänger besser lesbar */
.doc-sheet.doc-sheet-long .doc-recipient-block{
  padding-top:16px;
  padding-bottom:16px;
}
.doc-sheet.doc-sheet-long .doc-label{
  font-size:12.5px;
  line-height:1.25;
  letter-spacing:.055em;
  font-weight:950;
  color:#475467;
  margin-bottom:8px;
}
.doc-sheet.doc-sheet-long .recipient{
  font-size:13.5px;
  line-height:1.45;
  color:#172033;
  font-weight:650;
}
.doc-sheet.doc-sheet-long .recipient strong,
.doc-sheet.doc-sheet-long .recipient b{
  font-size:14px;
  font-weight:950;
  color:#111827;
}


/* V304: Accessibility & Kontrast-Polish */
/* Ziel: bessere Lesbarkeit in Statistik/KPI/Badges, Fokus sichtbar, Blau-auf-Weiß vermeiden. */
:root{
  --a11y-text:#111827;
  --a11y-muted:#475467;
  --a11y-border:#cbd5e1;
  --a11y-soft:#f8fafc;
  --a11y-brand:#12395b;
  --a11y-brand-dark:#0b2742;
  --a11y-blue:#1d4ed8;
  --a11y-blue-dark:#1e3a8a;
  --a11y-focus:#ffbf47;
}

/* Grundlesbarkeit */
body,
.main,
.panel,
.card,
.table-wrap,
.settings-block,
.kpi-card,
.stat-card,
.metric-card{
  color:var(--a11y-text);
}

.muted,
small,
.help,
.hint,
.subtle,
.text-muted,
.kpi-sub,
.stat-sub,
.metric-sub,
.card small{
  color:var(--a11y-muted);
}

/* Links: dunkleres Blau, besserer Kontrast auf Weiß */
a:not(.btn):not(.nav-link):not(.sidebar a){
  color:var(--a11y-blue-dark);
  text-decoration-thickness:.08em;
  text-underline-offset:.18em;
}
a:not(.btn):not(.nav-link):not(.sidebar a):hover{
  color:#0f2f6f;
  text-decoration:underline;
}

/* Buttons: kein helles Blau auf Weiß */
.btn.primary,
button.primary,
a.btn.primary,
input[type="submit"].primary{
  background:var(--a11y-brand);
  border-color:var(--a11y-brand);
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.btn.primary:hover,
button.primary:hover,
a.btn.primary:hover{
  background:var(--a11y-brand-dark);
  border-color:var(--a11y-brand-dark);
}

/* Sekundäre Buttons klarer */
.btn:not(.primary),
a.btn:not(.primary),
button.btn:not(.primary){
  color:#172033;
  border-color:var(--a11y-border);
  background:#fff;
}
.btn:not(.primary):hover,
a.btn:not(.primary):hover,
button.btn:not(.primary):hover{
  background:#f1f5f9;
  border-color:#94a3b8;
}

/* Statistik/KPI-Karten: starke Zahlen, keine blassen Blautöne */
.kpi,
.kpi-card,
.stat,
.stat-card,
.metric,
.metric-card,
.dashboard-stat,
.analytics-card,
.stats-card{
  background:#fff;
  border:1px solid #d6dee9;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  color:var(--a11y-text);
}
.kpi strong,
.kpi-card strong,
.stat strong,
.stat-card strong,
.metric strong,
.metric-card strong,
.dashboard-stat strong,
.analytics-card strong,
.stats-card strong,
.kpi-value,
.stat-value,
.metric-value{
  color:#0f172a;
  -webkit-text-fill-color:#0f172a;
  font-weight:950;
}
.kpi small,
.kpi-card small,
.stat small,
.stat-card small,
.metric small,
.metric-card small,
.dashboard-stat small,
.analytics-card small,
.stats-card small{
  color:#475467;
}

/* Blaue/helle Badges auf Weiß abdunkeln */
.badge,
.pill,
.tag,
.status-badge{
  border:1px solid #cbd5e1;
  color:#172033;
  background:#f8fafc;
}
.badge.blue,
.pill.blue,
.tag.blue,
.status-badge.blue,
.badge.info,
.pill.info,
.tag.info,
.status-badge.info{
  background:#dbeafe;
  color:#1e3a8a;
  border-color:#93c5fd;
}
.badge.success,
.status-badge.success{
  background:#dcfce7;
  color:#14532d;
  border-color:#86efac;
}
.badge.warning,
.status-badge.warning{
  background:#fef3c7;
  color:#78350f;
  border-color:#fbbf24;
}
.badge.danger,
.status-badge.danger,
.badge.error,
.status-badge.error{
  background:#fee2e2;
  color:#7f1d1d;
  border-color:#fca5a5;
}

/* Tabellen: Header/Labels kontrastreicher */
table th{
  color:#334155;
  background:#f1f5f9;
}
table td{
  color:#172033;
}
.table-wrap table tr:hover td{
  background:#f8fafc;
}

/* Formulare: sichtbarer Fokus, bessere Labels */
label{
  color:#243044;
}
input,
select,
textarea{
  color:#111827;
}
input::placeholder,
textarea::placeholder{
  color:#667085;
  opacity:1;
}

/* Fokus: immer sichtbar, auch wenn alte Regeln outline entfernen */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--a11y-focus);
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(255,191,71,.22);
}

/* Icon-only/kleine Action Buttons besser klickbar */
button,
.btn,
a.btn{
  min-height:38px;
}
.action-btn,
.icon-btn,
.table-actions .btn{
  min-width:38px;
}

/* Dokumentvorschau unverändert stabil, aber Empfänger/Tabellen lesbar */
.doc-sheet.doc-sheet-long{
  color:#172033;
}
.doc-sheet.doc-sheet-long .doc-label,
.doc-sheet.doc-sheet-long .doc-docdata dt{
  color:#475467;
}
.doc-sheet.doc-sheet-long .doc-docdata dd,
.doc-sheet.doc-sheet-long .recipient{
  color:#172033;
}

/* Optional system preference */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms;
    animation-iteration-count:1;
    scroll-behavior:auto;
    transition-duration:.001ms;
  }
}


/* V305: Echte Tabellenkopf-Kontraste für Statistik/Auswertungen */
/* Dunkle Tabellenköpfe dürfen niemals dunkle Schrift bekommen. */
.table-wrap table thead th,
.table-responsive table thead th,
.list-table-wrap table thead th,
.resizable-table thead th,
.draggable-table thead th,
.sortable-table thead th,
.stats-table thead th,
.kpi-table thead th,
.analytics-table thead th,
.dashboard-table thead th,
.internal-table thead th,
table.resizable thead th,
table.draggable thead th{
  background:#12395b;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  opacity:1;
  font-weight:950;
}

/* Auch Inhalte/Links/Spans im Tabellenkopf müssen weiß sein. */
.table-wrap table thead th *,
.table-responsive table thead th *,
.list-table-wrap table thead th *,
.resizable-table thead th *,
.draggable-table thead th *,
.sortable-table thead th *,
.stats-table thead th *,
.kpi-table thead th *,
.analytics-table thead th *,
.dashboard-table thead th *,
.internal-table thead th *,
table.resizable thead th *,
table.draggable thead th *{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  opacity:1;
}

/* Spezifisch für die Spalten-Griffe rechts im Tabellenkopf */
th .resize-handle,
th .column-resize-handle,
th .column-grip,
th .resizer,
th [class*="resize"],
th [class*="grip"]{
  background:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.92);
  color:#ffffff;
  opacity:1;
}

/* Falls Tabellenköpfe direkt per Inline/älteren Regeln dunkelblau sind */
table thead th[style*="background:#12395b"],
table thead th[style*="background: #12395b"],
table thead th[style*="background:#0"],
table thead th[style*="background: #0"]{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}

/* Header-Zeile abrunden, ohne Lesbarkeit zu verlieren */
.table-wrap table thead tr,
.table-responsive table thead tr,
.list-table-wrap table thead tr{
  background:#12395b;
}

/* V304-Korrektur: helle Tabellenköpfe bleiben möglich, aber nur wenn sie nicht in den dunklen Tabellencontainern liegen */
table:not(.resizable):not(.draggable):not(.stats-table):not(.analytics-table):not(.dashboard-table) th.light,
table:not(.resizable):not(.draggable):not(.stats-table):not(.analytics-table):not(.dashboard-table) thead.light th{
  background:#f1f5f9;
  color:#334155;
  -webkit-text-fill-color:#334155;
}

/* Statistikhinweise und Tabellenbeschreibungen besser lesbar */
.table-help,
.column-help,
.table-toolbar-help,
p:has(+ .table-wrap),
p:has(+ .table-responsive){
  color:#475467;
}

/* Spalten-Buttons oben rechts konsistenter */
.table-toolbar .btn,
.column-toolbar .btn,
button[data-columns],
.btn.columns,
.btn.reset-columns{
  color:#172033;
  background:#fff;
  border-color:#cbd5e1;
  font-weight:850;
}
.table-toolbar .btn:hover,
.column-toolbar .btn:hover,
button[data-columns]:hover,
.btn.columns:hover,
.btn.reset-columns:hover{
  background:#f1f5f9;
  border-color:#94a3b8;
}


/* V306: PDF Composer Buttons */
.pdf-composer-action,
a[href*="pdf.php"].btn{
  font-weight:900;
}


/* V308: Backend-/Dokument-Responsivity für Angebote, Rechnungen, Storno, Aufgaben */
html,body{max-width:100%}
body{overflow-x:hidden}
.main,.content,.app-main,.page,.panel,.card,.settings-block,.doc-editor-form,.table-wrap,.table-responsive{min-width:0;max-width:100%}

/* Toolbars: mobil umbrechen statt rauslaufen */
.toolbar,
.actions,
.page-actions,
.preview-actions,
.customer-actions,
.table-toolbar,
.column-toolbar,
.bulk-actions,
.filterbar,
.filters,
.searchbar,
.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  min-width:0;
}
.toolbar .btn,
.actions .btn,
.page-actions .btn,
.preview-actions .btn,
.customer-actions .btn,
.table-toolbar .btn,
.column-toolbar .btn,
.bulk-actions .btn,
.filterbar .btn,
.filters .btn,
.form-actions .btn{
  white-space:normal;
}

/* Tabellencontainer: nie die komplette Seite sprengen */
.table-wrap,
.table-responsive,
.responsive-table-wrap,
.list-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
.table-wrap table,
.table-responsive table,
.responsive-table-wrap table,
.list-table-wrap table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}

/* Drag-/Resizable-Griffe bleiben nutzbar */
th{position:relative}
th .resize-handle,
th .column-resize-handle,
th .column-grip,
th .resizer,
th [class*="resize"],
th [class*="grip"]{
  min-width:8px;
  min-height:24px;
}

/* Formulare und Split-Layouts sauber begrenzen */
.form-grid,
.grid,
.doc-editor-form .form-grid{
  min-width:0;
}
input,select,textarea,.input{
  max-width:100%;
  min-width:0;
}
.doc-editor-form .split,
.split,
.two-col,
.three-col,
.dashboard-grid,
.cards-grid,
.kpi-grid,
.stats-grid{
  min-width:0;
}

/* Backend-Karten: gleiche Höhe nicht erzwingen, kein Überlaufen */
.kpi-grid,
.stats-grid,
.dashboard-grid,
.cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.kpi,.kpi-card,.stat,.stat-card,.metric,.metric-card,.dashboard-stat,.card{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Aufgaben/Kanban/Listen */
.task-board,
.kanban,
.pipeline,
.crm-board{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.task-card,
.project-card,
.crm-card{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Dokumentlisten: Nummern dürfen umbrechen, Buttons bleiben klickbar */
td,th{
  overflow-wrap:anywhere;
}
td .btn,
.table-actions .btn{
  white-space:nowrap;
}

/* Storno/Rechnungen/Angebote: Status/Pills gut lesbar */
.status,
.status-pill,
.status-badge,
.badge,
.pill{
  white-space:normal;
  line-height:1.2;
}

/* Desktop bleibt groß; nur kleine Viewports stärker umbauen */
@media (max-width:1100px){
  .doc-editor-form .split,
  .split{
    grid-template-columns:1fr;
  }
  .panel{
    min-width:0;
  }
}

@media (max-width:768px){
  body{
    font-size:15px;
  }

  .main,
  .content,
  .app-main,
  .page{
    padding-left:12px;
    padding-right:12px;
  }

  .panel,
  .card,
  .settings-block{
    border-radius:16px;
    padding:14px;
  }

  .toolbar,
  .actions,
  .page-actions,
  .preview-actions,
  .customer-actions,
  .table-toolbar,
  .column-toolbar,
  .bulk-actions,
  .filterbar,
  .filters,
  .searchbar,
  .form-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .toolbar .btn,
  .actions .btn,
  .page-actions .btn,
  .preview-actions .btn,
  .customer-actions .btn,
  .table-toolbar .btn,
  .column-toolbar .btn,
  .bulk-actions .btn,
  .filterbar .btn,
  .filters .btn,
  .form-actions .btn,
  .toolbar button,
  .actions button,
  .page-actions button,
  .filterbar button,
  .filters button{
    width:100%;
    justify-content:center;
    min-height:42px;
  }

  .form-grid,
  .doc-editor-form .form-grid{
    grid-template-columns:1fr;
  }

  .field,
  .full,
  .doc-editor-form .field,
  .doc-editor-form .full{
    grid-column:1/-1;
    min-width:0;
  }

  /* Tabellen in Backend: scrollen statt Layout zerstören */
  .table-wrap table,
  .table-responsive table,
  .responsive-table-wrap table,
  .list-table-wrap table{
    min-width:720px;
  }

  /* Kleine Tabellen dürfen als Karten laufen, wenn sie nicht Dokumentvorschau sind */
  .backend-card-table table,
  .mobile-card-table table{
    min-width:0;
  }

  /* Aufgabenlisten */
  .task-filters,
  .task-toolbar,
  .task-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }

  .task-filters .input,
  .task-filters select,
  .task-filters input,
  .task-toolbar .btn,
  .task-actions .btn{
    width:100%;
  }

  /* Editor-Positionen */
  .position,
  .position-head,
  .positions,
  .offer-item-picker-v120{
    min-width:0;
    max-width:100%;
  }
  .position-head{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  /* Interne Zuordnung bleibt sauber */
  .internal-split-card{
    grid-template-columns:1fr;
    gap:12px;
  }
  .split-money,
  .split-money-clean,
  .lmcs-money-field-wrap{
    max-width:100%;
  }

  /* Statistik-Tabellenkopf weiterhin weiß */
  .table-wrap table thead th,
  .table-responsive table thead th,
  .list-table-wrap table thead th{
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
}

@media (max-width:480px){
  .main,
  .content,
  .app-main,
  .page{
    padding-left:8px;
    padding-right:8px;
  }

  h1{font-size:26px;line-height:1.12}
  h2{font-size:21px;line-height:1.18}
  h3{font-size:18px;line-height:1.22}

  .table-wrap table,
  .table-responsive table,
  .responsive-table-wrap table,
  .list-table-wrap table{
    min-width:640px;
  }

  .kpi-grid,
  .stats-grid,
  .dashboard-grid,
  .cards-grid{
    grid-template-columns:1fr;
  }
}

/* Print/PDF Composer: Backend-Responsive-Regeln dürfen Druck nicht stören */
@media print{
  body{overflow:visible}
  .table-wrap,
  .table-responsive,
  .responsive-table-wrap,
  .list-table-wrap{
    overflow:visible;
  }
}


/* V309: PDF Composer Button sichtbar */
.pdf-composer-toolbar{
  max-width:820px;
  margin:12px auto;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.pdf-composer-action{
  background:#12395b;
  color:#fff;
  -webkit-text-fill-color:#fff;
  border-color:#12395b;
  font-weight:950;
}
.pdf-composer-action:hover{
  background:#0b2742;
  border-color:#0b2742;
}
@media(max-width:768px){
  .pdf-composer-toolbar{
    max-width:100%;
    justify-content:stretch;
  }
  .pdf-composer-toolbar .btn{
    width:100%;
  }
}


/* V310: PDF Button in Kundenansicht fest sichtbar */
.pdf-composer-toolbar-public{
  max-width:820px;
  margin:14px auto;
  padding:0 16px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:5;
}
.pdf-composer-toolbar-public .pdf-composer-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  background:#12395b;
  color:#fff;
  -webkit-text-fill-color:#fff;
  border:1px solid #12395b;
  text-decoration:none;
}
@media(max-width:768px){
  .pdf-composer-toolbar-public{
    max-width:100%;
    padding:0 12px;
    justify-content:stretch;
  }
  .pdf-composer-toolbar-public .pdf-composer-action{
    width:100%;
  }
}


/* V312: PDF Button korrekt in Kunden-Aktionsleiste */
.customer-actions.no-print .pdf-composer-action,
.preview-actions .pdf-composer-action,
.toolbar .pdf-composer-action,
.pdf-composer-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  background:#12395b;
  border:1px solid #12395b;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  font-weight:950;
  text-decoration:none;
  line-height:1.15;
}
.customer-actions.no-print .pdf-composer-action:hover,
.preview-actions .pdf-composer-action:hover,
.toolbar .pdf-composer-action:hover,
.pdf-composer-action:hover{
  background:#0b2742;
  border-color:#0b2742;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
.pdf-composer-toolbar-public{
  display:none;
}
@media(max-width:768px){
  .customer-actions.no-print .pdf-composer-action,
  .preview-actions .pdf-composer-action,
  .toolbar .pdf-composer-action{
    width:100%;
  }
}


/* V313: Kunden-PDF-Button sichtbar in der echten Kunden-Aktionsleiste */
.customer-actions.no-print .pdf-composer-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  background:#12395b;
  border:1px solid #12395b;
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-weight:950;
  text-decoration:none;
  line-height:1.15;
  visibility:visible;
  opacity:1;
}
.customer-actions.no-print .pdf-composer-action:hover{
  background:#0b2742;
  border-color:#0b2742;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
@media(max-width:768px){
  .customer-actions.no-print .pdf-composer-action{
    width:100%;
  }
}


/* V314: PDF Button sichtbar und lesbar in Vorschau/Kundenansicht */
.pdf-composer-action,
.customer-actions.no-print .pdf-composer-action,
.preview-actions .pdf-composer-action,
.toolbar .pdf-composer-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  background:#12395b;
  border:1px solid #12395b;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  font-weight:950;
  text-decoration:none;
  line-height:1.15;
  visibility:visible;
  opacity:1;
}
.pdf-composer-action:hover{
  background:#0b2742;
  border-color:#0b2742;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
@media(max-width:768px){
  .pdf-composer-action{
    width:100%;
  }
}


/* V315: PDF-Button final – sichtbar, lesbar, nur oben */
.pdf-composer-toolbar,
.pdf-composer-toolbar-public{
  display:none;
}
.btn.pdf-composer-action,
a.btn.pdf-composer-action,
.customer-actions.no-print a.btn.pdf-composer-action,
.preview-actions a.btn.pdf-composer-action,
.toolbar a.btn.pdf-composer-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid #cbd5e1;
  color:#172033;
  -webkit-text-fill-color:#172033;
  font-weight:950;
  text-decoration:none;
  line-height:1.15;
  visibility:visible;
  opacity:1;
  box-shadow:none;
}
.btn.pdf-composer-action:hover,
a.btn.pdf-composer-action:hover{
  background:#f1f5f9;
  border-color:#94a3b8;
  color:#111827;
  -webkit-text-fill-color:#111827;
}
@media(max-width:768px){
  .btn.pdf-composer-action,
  a.btn.pdf-composer-action{
    width:100%;
  }
}


/* V316: Sender-Line Kontrastfix */
.sender-line,
.doc-sheet.doc-sheet-long .sender-line,
.lmcs-v294-scale-wrap .sender-line{
  opacity:1;
  color:#374151;
  -webkit-text-fill-color:#374151;
  font-size:11.5px;
  line-height:1.35;
  font-weight:650;
  letter-spacing:0;
}
@media(max-width:768px){
  .sender-line,
  .doc-sheet.doc-sheet-long .sender-line,
  .lmcs-v294-scale-wrap .sender-line{
    font-size:12px;
    line-height:1.4;
  }
}


/* V323: PDF Download Button */


/* V335: Interne Vorschau als Info-Bubbles */
.preview-info-bubbles{
  max-width:1120px;
  margin:18px auto 20px;
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:12px;
  align-items:stretch;
}
.preview-info-bubble{
  background:#ffffff;
  border:1px solid #dbe5f2;
  box-shadow:0 10px 26px rgba(15,35,65,.06);
  border-radius:18px;
  padding:14px 16px;
  min-width:0;
}
.preview-info-bubble-wide{
  grid-column:span 2;
}
.preview-info-bubble-note{
  background:#f8fbff;
}
.preview-info-label{
  display:block;
  font-size:12px;
  line-height:1.2;
  font-weight:950;
  color:#12395b;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin:0 0 6px;
}
.preview-info-value{
  display:block;
  font-size:15px;
  line-height:1.35;
  font-weight:750;
  color:#172033;
  overflow-wrap:anywhere;
}
.preview-info-link{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
  font-weight:800;
}
.field-hint{
  display:block;
  margin-top:6px;
  color:#667085;
  font-size:12px;
  line-height:1.35;
}
@media(max-width:1000px){
  .preview-info-bubbles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .preview-info-bubble-wide{
    grid-column:span 2;
  }
}
@media(max-width:640px){
  .preview-info-bubbles{
    grid-template-columns:1fr;
    margin:14px 0 16px;
  }
  .preview-info-bubble-wide{
    grid-column:auto;
  }
}


/* V336: UI-Sprachumschalter */
.ui-lang-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border-radius:999px;
  border:1px solid #dbe5f2;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,35,65,.06);
}
.ui-lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:34px;
  border-radius:999px;
  padding:0 12px;
  font-size:13px;
  font-weight:950;
  text-decoration:none;
  color:#12395b;
}
.ui-lang-switch a.is-active{
  background:#12395b;
  color:#fff;
}
@media(max-width:720px){
  .ui-lang-switch{
    order:99;
    width:100%;
    justify-content:center;
  }
}


/* V337: Sprachumschalter Feinschliff */
html[lang="en"] .ui-lang-switch a[lang="en"],
html[lang="de"] .ui-lang-switch a[lang="de"]{
  background:#12395b;
  color:#fff;
}


/* V347: Sprachbutton Kontrastfix */
.ui-lang-switch a.is-active,
.ui-lang-switch a.is-active:visited,
html[lang="de"] .ui-lang-switch a[lang="de"],
html[lang="en"] .ui-lang-switch a[lang="en"]{
  background:#12395b;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.ui-lang-switch a:not(.is-active){
  color:#1f3b8f;
  -webkit-text-fill-color:#1f3b8f;
}


/* V348 marker */


/* V350: Sprachbutton weiß aktiv */
.ui-lang-switch a.is-active,
.ui-lang-switch a.is-active:visited,
html[lang="de"] .ui-lang-switch a[lang="de"],
html[lang="en"] .ui-lang-switch a[lang="en"]{
  background:#12395b;
  color:#fff;
  -webkit-text-fill-color:#fff;
}


/* V357: Interne Vorschau - Hinweisbox volle Breite */
.preview-bubbles,
.preview-info-bubbles,
.internal-preview-bubbles,
.preview-meta-bubbles,
.preview-toolbar-bubbles{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.preview-bubbles .preview-bubble,
.preview-info-bubbles .preview-bubble,
.internal-preview-bubbles .preview-bubble,
.preview-meta-bubbles .preview-bubble,
.preview-toolbar-bubbles .preview-bubble{
  min-width:0;
}
.preview-bubbles .preview-bubble:nth-child(4),
.preview-info-bubbles .preview-bubble:nth-child(4),
.internal-preview-bubbles .preview-bubble:nth-child(4),
.preview-meta-bubbles .preview-bubble:nth-child(4),
.preview-toolbar-bubbles .preview-bubble:nth-child(4){
  grid-column:1 / -1;
  width:100%;
}
.preview-bubble.is-hint,
.preview-bubble-hint,
.preview-hint-bubble,
.preview-note-bubble{
  grid-column:1 / -1;
  width:100%;
}
@media(max-width:900px){
  .preview-bubbles,
  .preview-info-bubbles,
  .internal-preview-bubbles,
  .preview-meta-bubbles,
  .preview-toolbar-bubbles{
    grid-template-columns:1fr;
  }
  .preview-bubbles .preview-bubble:nth-child(4),
  .preview-info-bubbles .preview-bubble:nth-child(4),
  .internal-preview-bubbles .preview-bubble:nth-child(4),
  .preview-meta-bubbles .preview-bubble:nth-child(4),
  .preview-toolbar-bubbles .preview-bubble:nth-child(4){
    grid-column:auto;
  }
}


/* V358: Statistik-Seite sauber und hochwertiger */
.stats-page-v168{
  max-width:100%;
}
.stats-page-v168 .toolbar{
  padding:0;
  background:transparent;
  border:0;
}
.stats-page-v168 .toolbar .btn{
  min-height:48px;
  border-radius:16px;
  padding:0 18px;
  font-weight:950;
  white-space:nowrap;
}
.stats-page-v168 .stats-wide,
.stats-page-v168 .internal-stats-grid{
  margin-top:14px;
}
.stats-page-v168 .card.stat{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  border-radius:24px;
  border:1px solid #d7e2ee;
  background:
    radial-gradient(circle at 12% 18%,rgba(18,57,91,.06),transparent 32%),
    linear-gradient(135deg,#ffffff,#fbfdff);
  box-shadow:0 18px 42px rgba(16,24,40,.065);
}
.stats-page-v168 .card.stat:before{
  content:"€";
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eef5fb,#dde8f1);
  border:1px solid #cfdbe7;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 24px rgba(15,23,42,.055);
  color:#12395b;
  -webkit-text-fill-color:#12395b;
  font-size:18px;
  font-weight:950;
  line-height:1;
}
.stats-page-v168 .stats-wide .card.stat:nth-child(1):before{content:"€"}
.stats-page-v168 .stats-wide .card.stat:nth-child(2):before{content:"✓"}
.stats-page-v168 .stats-wide .card.stat:nth-child(3):before{content:"○"}
.stats-page-v168 .stats-wide .card.stat:nth-child(4):before{content:"!"}
.stats-page-v168 .stats-wide .card.stat:nth-child(5):before{content:"Σ"}
.stats-page-v168 .stats-wide .card.stat:nth-child(6):before{content:"%"}
.stats-page-v168 .stats-wide .card.stat:nth-child(7):before{content:"↗"}
.stats-page-v168 .stats-wide .card.stat:nth-child(8):before{content:"✓%";font-size:14px}
.stats-page-v168 .internal-stats-grid .card.stat:nth-child(1):before{content:"CS";font-size:13px}
.stats-page-v168 .internal-stats-grid .card.stat:nth-child(2):before{content:"LI";font-size:13px}
.stats-page-v168 .internal-stats-grid .card.stat:nth-child(3):before{content:"∑"}
.stats-page-v168 .internal-stats-grid .card.stat:nth-child(4):before{content:"#"}
.stats-page-v168 .card.stat.warning:before{
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border-color:#fed7aa;
  color:#9a3412;
  -webkit-text-fill-color:#9a3412;
}
.stats-page-v168 .card.stat .label{
  display:block;
  color:#667085;
  -webkit-text-fill-color:#667085;
  font-weight:950;
  letter-spacing:-.015em;
}
.stats-page-v168 .card.stat .num{
  display:block;
  color:#0f172a;
  -webkit-text-fill-color:#0f172a;
  font-weight:1000;
  font-variant-numeric:tabular-nums;
}
.stats-page-v168 .internal-stats-panel{
  border-radius:28px;
  border:1px solid #d7e2ee;
  box-shadow:0 18px 44px rgba(16,24,40,.055);
}
.stats-page-v168 .internal-stats-panel .section-title-row h2{
  margin:0;
  font-size:24px;
  letter-spacing:-.035em;
}
.stats-page-v168 .table{
  border-radius:18px;
  overflow:hidden;
}
@media(max-width:900px), (pointer:coarse){
  .stats-page-v168 .card.stat{
    border-radius:20px;
  }
  .stats-page-v168 .card.stat .label{
    font-size:13.5px;
  }
}

/* V359: Steuerlogik UI */
.tax-rate-field[style*="display: none"]{display:none}
.tax-note,.reverse-charge-note{
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #dbe5ef;
  border-radius:16px;
  background:#f8fbff;
  color:#334155;
  font-weight:750;
}
.tax-row-reverse_charge td:first-child,
.tax-row-no_tax td:first-child{
  color:#475467;
  font-weight:900;
}


/* V360: Steuer-/USt-ID Felder */
.field input[name="company_tax_number"],
.field input[name="company_vat_id"]{
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}

/* V361: Universal SaaS Firmenprofile */
.saas-address-notice{
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#eef5fb);
  border:1px solid #dbe5ef;
}
.settings-block code{
  display:inline-block;
  padding:2px 7px;
  border-radius:8px;
  background:#eef3f8;
  border:1px solid #dbe5ef;
  font-weight:900;
}
input[name$="_number_format"],
input[name$="_prefix"],
input[name$="_label"],
input[name="company_country"],
input[name="company_state"]{
  font-variant-numeric:tabular-nums;
}

/* V362: Nationale Firmenkonstrukt-Vorschläge */
.saas-entity-suggestion-box{
  padding:18px;
  border:1px solid #dbe5ef;
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  box-shadow:0 12px 30px rgba(16,24,40,.055);
}
.saas-entity-help{
  margin-top:10px;
  color:#667085;
  font-weight:760;
  line-height:1.45;
}
#company_entity_type{
  font-weight:900;
}


/* V363: Login-Look als kompletter Premium-SaaS-Systemlook */
:root{
  --v363-ink:#0f172a;
  --v363-blue:#12395b;
  --v363-blue-2:#0d2b45;
  --v363-muted:#667085;
  --v363-line:#dbe5ef;
  --v363-soft:#f8fbff;
  --v363-soft2:#eef4fa;
  --v363-lime:#d7ef22;
  --v363-card:rgba(255,255,255,.82);
  --v363-shadow:0 22px 58px rgba(15,23,42,.095);
  --v363-shadow-soft:0 14px 34px rgba(15,23,42,.065);
}
html{
  background:
    radial-gradient(circle at 8% 8%,rgba(215,239,34,.18),transparent 26%),
    radial-gradient(circle at 92% 10%,rgba(18,57,91,.13),transparent 32%),
    linear-gradient(135deg,#f8fbff,#eef4fa 58%,#f8fafc);
}
body:not(.login-body){
  background:
    radial-gradient(circle at 9% 6%,rgba(215,239,34,.16),transparent 24%),
    radial-gradient(circle at 93% 9%,rgba(18,57,91,.11),transparent 30%),
    linear-gradient(135deg,#f8fbff,#eef4fa 52%,#f8fafc);
  color:var(--v363-ink);
}
.app-shell,
.layout,
.main-layout,
.admin-layout,
.page-shell{
  background:transparent;
}
main,
.main,
.content,
.page-content,
.app-main,
.dashboard,
.container,
.wrap{
  position:relative;
}
.topbar,
.header,
.app-header,
.page-header,
.toolbar,
.filters,
.filterbar,
.panel,
.card,
.box,
.stat,
.kpi-card,
.table-card,
.settings-block,
.crm-card,
.project-card,
.customer-card,
.document-card,
.invoice-card,
.offer-card,
.preview-panel,
.document-preview-shell,
.customer-detail-card,
.modal-card,
.modal-content{
  border-color:rgba(18,57,91,.13);
}
.panel,
.card,
.box,
.table-card,
.settings-block,
.crm-card,
.project-card,
.customer-card,
.document-card,
.invoice-card,
.offer-card,
.preview-panel,
.customer-detail-card,
.modal-card,
.modal-content{
  background:var(--v363-card);
  border:1px solid rgba(18,57,91,.13);
  border-radius:26px;
  box-shadow:var(--v363-shadow-soft);
  backdrop-filter:blur(14px);
}
.stat,
.kpi-card,
.stats-page-v168 .card.stat{
  background:
    radial-gradient(circle at 12% 18%,rgba(18,57,91,.06),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,253,255,.88));
  border-radius:26px;
  box-shadow:var(--v363-shadow-soft);
}
.topbar,
.header,
.app-header,
.page-header{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(18,57,91,.12);
  border-radius:28px;
  box-shadow:var(--v363-shadow-soft);
  backdrop-filter:blur(18px);
}
h1,h2,h3,
.page-title,
.section-title,
.card-title,
.panel-title{
  color:var(--v363-ink);
  letter-spacing:-.04em;
}
h1,.page-title{
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.02;
}
h2,.section-title{
  font-size:clamp(22px,2.2vw,32px);
}
.muted,
.help,
.hint,
small,
.sub,
.description{
  color:var(--v363-muted);
}
.btn,
.button,
button,
input[type="submit"],
a.btn{
  border-radius:16px;
  font-weight:950;
  min-height:42px;
  box-shadow:none;
}
.btn.primary,
.button.primary,
button.primary,
input[type="submit"].primary,
.btn-primary,
.primary-btn{
  background:var(--v363-blue);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border-color:var(--v363-blue);
  box-shadow:0 16px 34px rgba(18,57,91,.20);
}
.btn.primary:hover,
.button.primary:hover,
button.primary:hover,
.btn-primary:hover{
  background:var(--v363-blue-2);
  transform:translateY(-1px);
}
.btn.secondary,
.button.secondary,
.btn.ghost,
.button.ghost,
.btn-light{
  background:var(--btn2-bg,#fff);
  border:1px solid var(--btn2-border,var(--v363-line));
  color:var(--btn2-text,var(--v363-blue));
  -webkit-text-fill-color:var(--btn2-text,var(--v363-blue));
}
html.cliro-theme-light input,
html.cliro-theme-light select,
html.cliro-theme-light textarea,
html.cliro-theme-light .input,
html.cliro-theme-light .form-control{
  border:1px solid #d6e0ea;
  border-radius:16px;
  background:#fff;
  color:var(--v363-ink);
  font-weight:750;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}
input:focus,
select:focus,
textarea:focus,
.input:focus,
.form-control:focus{
  border-color:var(--v363-blue);
  box-shadow:0 0 0 4px rgba(18,57,91,.10);
  outline:none;
}
label{
  color:#344054;
  font-weight:900;
}
table,
.table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
}
thead th,
.table thead th{
  background:linear-gradient(135deg,#12395b,#0d2b45);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border:0;
  font-weight:950;
  letter-spacing:.01em;
}
tbody td,
.table tbody td{
  border-color:#edf2f7;
}
tbody tr:hover td{
  background:#f8fbff;
}
.badge,
.status,
.pill,
.tag{
  border-radius:999px;
  font-weight:950;
  border:1px solid rgba(18,57,91,.12);
}
.notice,
.success,
.error,
.warning{
  border-radius:20px;
  border-width:1px;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
.success{
  background:linear-gradient(135deg,#ecfdf3,#f6fef9);
  border-color:#bbf7d0;
}
.notice{
  background:linear-gradient(135deg,#f8fbff,#eef5fb);
  border-color:#dbeafe;
}
.error{
  background:linear-gradient(135deg,#fff1f2,#fff7f7);
  border-color:#fecdd3;
}
.warning{
  background:linear-gradient(135deg,#fff7ed,#fffbeb);
  border-color:#fed7aa;
}
.sidebar,
.side-nav,
.app-sidebar,
nav.sidebar{
  background:rgba(255,255,255,.80);
  border:1px solid rgba(18,57,91,.12);
  box-shadow:0 22px 58px rgba(15,23,42,.09);
  backdrop-filter:blur(18px);
}
.sidebar a,
.side-nav a,
.app-sidebar a,
.nav-link{
  border-radius:16px;
  font-weight:850;
}
.sidebar a.active,
.side-nav a.active,
.app-sidebar a.active,
.nav-link.active,
.nav-link.is-active{
  background:var(--v363-blue);
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:0 12px 26px rgba(18,57,91,.18);
}
.settings-block summary{
  border-radius:22px;
  padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,251,255,.86));
}
.settings-block[open] summary{
  border-bottom:1px solid rgba(18,57,91,.10);
}
.form-grid{
  gap:16px;
}
.document-preview-shell,
.preview-panel{
  background:#fff;
}
.preview-bubble,
.preview-info-bubbles .preview-bubble,
.internal-preview-bubbles .preview-bubble{
  border-radius:22px;
  box-shadow:var(--v363-shadow-soft);
  background:rgba(255,255,255,.86);
}
@media(max-width:900px), (pointer:coarse){
  body:not(.login-body){
    background:linear-gradient(135deg,#f8fbff,#eef4fa);
  }
  .panel,.card,.box,.table-card,.settings-block{
    border-radius:22px;
  }
  .topbar,.header,.app-header,.page-header{
    border-radius:22px;
  }
  h1,.page-title{
    font-size:30px;
  }
}


/* V364: Passwort-Auge Fallback */
.login-password-wrap-v364{position:relative}
.login-password-wrap-v364 .input{padding-right:58px}
.login-eye-v364{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:40px;height:40px;min-height:40px;border:0;border-radius:14px;
  background:#eef5fb;color:#12395b;display:grid;place-items:center;cursor:pointer;
}


/* V365: PDF-Druckfunktion entfernt */
.pdf-composer-bar,
.print-only-action,
button[onclick*="window.print"]{
  display:none;
}


/* V366: Rechtstexte Steuerhinweise */
.tax-note,
.reverse-charge-note{
  border-left:5px solid #12395b;
  background:linear-gradient(135deg,#f8fbff,#eef5fb);
  font-size:12.6px;
  line-height:1.45;
}
.tax-row-eu_reverse_charge td:first-child,
.tax-row-third_country_service td:first-child,
.tax-row-small_business td:first-child,
.tax-row-export_tax_free td:first-child{
  color:#475467;
  font-weight:950;
}

/* V367: Auto-Updater */
pre.update-report, .update-report{
  white-space:pre-wrap;
  overflow:auto;
  background:#0f172a;
  color:#fff;
  padding:18px;
  border-radius:18px;
}

/* V369: Mobile Responsivität für Angebote, Rechnungen, Aufgaben, Kunden, Tabellen */
:root{--mobile-card-radius:20px}
@media(max-width:900px), (pointer:coarse){
  html,body{max-width:100%;overflow-x:hidden}
  .main,#main-content,.content,.container,.wrap{max-width:100%;padding-left:12px;padding-right:12px;box-sizing:border-box}
  .page-head,.company-page-head,.topbar,.toolbar,.filterbar,.filters,.list-toolbar,.doc-toolbar,.task-toolbar,.customer-toolbar{
    display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;width:100%
  }
  .toolbar .btn,.filterbar .btn,.filters .btn,.row-actions .btn,.page-actions .btn,
  .toolbar button,.filterbar button,.filters button{width:100%;justify-content:center}
  .toolbar form,.filterbar form,.filters form,.row-actions form{width:100%;display:grid;gap:10px}
  .toolbar input,.toolbar select,.toolbar textarea,.filterbar input,.filterbar select,.filters input,.filters select,
  .input,select,textarea{max-width:100%}
  .cards-grid,.stats-grid,.kpi-grid,.dashboard-grid,.two-col,.three-col,.form-grid{
    grid-template-columns:1fr
  }

  .table-wrap,.responsive-table,.table-scroll,.doc-table-wrap,.customers-table-wrap{
    width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--mobile-card-radius)
  }
  table{min-width:760px}
  table.mobile-card-table,
  .mobile-card-table table{min-width:0;width:100%;border:0;background:transparent}
  table.mobile-card-table thead{display:none}
  table.mobile-card-table tbody,
  table.mobile-card-table tr,
  table.mobile-card-table td{display:block;width:100%;box-sizing:border-box}
  table.mobile-card-table tr{
    margin:0 0 14px;padding:14px;border:1px solid #dbe5ef;border-radius:22px;background:#fff;box-shadow:0 14px 32px rgba(15,23,42,.07)
  }
  table.mobile-card-table td{
    border:0;border-bottom:1px solid #eef2f7;padding:9px 0;text-align:left;white-space:normal;min-height:32px
  }
  table.mobile-card-table td:last-child{border-bottom:0}
  table.mobile-card-table td::before{
    content:attr(data-label);display:block;margin:0 0 3px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#667085
  }
  table.mobile-card-table td:empty{display:none}

  #docTable.doc-table{min-width:0;width:100%;table-layout:auto}
  #docTable.doc-table colgroup{display:none}
  #docTable.doc-table .doc-actions-cell,
  #docTable.doc-table td:last-child{display:flex;flex-wrap:wrap;gap:8px}
  #docTable.doc-table .btn,#docTable.doc-table a.btn,#docTable.doc-table button{width:auto;min-height:38px;flex:1 1 120px}

  .kanban-board,.kanban-columns,.task-board,.tasks-board{
    display:flex;overflow-x:auto;gap:14px;padding-bottom:12px;scroll-snap-type:x mandatory
  }
  .kanban-column,.task-column,.kanban-col{
    min-width:82vw;max-width:82vw;scroll-snap-align:start
  }
  .task-card,.kanban-card,.todo-card{
    border-radius:20px;padding:14px
  }
  .users-v110-hero,.users-v110-kpis,.users-v110-fields,.users-v110-roles,.users-v110-business,.rights-v110-permissions,.users-v110-list{
    grid-template-columns:1fr
  }
  .users-v110-usercard{grid-template-columns:48px 1fr}
  .users-v110-savebar{left:10px;right:10px;bottom:10px}
  .update-action-row{display:grid;grid-template-columns:1fr}
  .update-action-row form,.update-action-row .btn{width:100%}
}
@media(max-width:560px){
  .main,#main-content,.content,.container,.wrap{padding-left:9px;padding-right:9px}
  h1,.page-title{font-size:28px;line-height:1.05}
  h2{font-size:23px}
  .panel,.card,.box,.settings-block{border-radius:20px;padding:16px}
  table.mobile-card-table tr{padding:12px;border-radius:18px}
  .btn,button,.button{min-height:44px}
}


/* V371: Barrierefreiheit / Accessibility Polish */
:root{
  --a11y-focus:#ffbf47;
  --a11y-focus-dark:#7a4b00;
  --a11y-text:#0f172a;
  --a11y-muted:#475467;
  --a11y-border:#9fb2c7;
}
.skip-link{
  position:absolute;
  left:12px;
  top:12px;
  z-index:999999;
  transform:translateY(-160%);
  background:#0f172a;
  color:#fff;
  padding:12px 16px;
  border-radius:14px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 16px 40px rgba(15,23,42,.28);
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:translateY(0);
  outline:4px solid var(--a11y-focus);
  outline-offset:3px;
}
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible{
  outline:4px solid var(--a11y-focus);
  outline-offset:3px;
  box-shadow:0 0 0 7px rgba(255,191,71,.28);
}
button,
.btn,
.button,
input[type="submit"],
input[type="button"],
summary{
  min-height:44px;
}
input,
select,
textarea,
.input,
.form-control{
  min-height:44px;
  border-color:#b8c7d8;
}
label,
.field label{
  color:#1f2937;
  font-weight:950;
}
.muted,
small,
.hint,
.help,
.description{
  color:var(--a11y-muted);
}
.badge,
.status,
.pill,
.tag{
  color:#102033;
}
.badge.ok,
.status.ok,
.pill.ok,
.tag.ok,
.success{
  color:#14532d;
}
.badge.warn,
.status.warn,
.pill.warn,
.tag.warn,
.warning{
  color:#7c2d12;
}
.error{
  color:#7f1d1d;
}
.notice,
.success,
.error,
.warning{
  border-width:2px;
}
[aria-disabled="true"],
.disabled,
button:disabled,
input:disabled,
select:disabled,
textarea:disabled{
  opacity:.62;
  cursor:not-allowed;
}
table th{
  font-weight:950;
}
table caption{
  text-align:left;
  font-weight:950;
  padding:10px 0;
  color:#0f172a;
}
.mobile-card-table td::before{
  color:#344054;
}
.update-status-card-v370 .status-pill,
.update-mini-v370 span,
.update-version-v370 span{
  color:#344054;
}
.update-mini-v370,
.update-status-card-v370,
.update-panel-v370,
.update-drop-v370{
  border-color:#b8c7d8;
}
.update-check-v370{
  min-height:54px;
}
.update-check-v370 input{
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.update-report-v370{
  font-size:13px;
  line-height:1.55;
}
.sr-only,
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms;
    animation-iteration-count:1;
    scroll-behavior:auto;
    transition-duration:.001ms;
  }
}
@media (forced-colors: active){
  .btn,
  button,
  input,
  select,
  textarea,
  .panel,
  .card,
  .box{
    border:1px solid CanvasText;
  }
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible{
    outline:3px solid Highlight;
  }
}
@media(max-width:720px){
  a:focus-visible,
  button:focus-visible,
  .btn:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  summary:focus-visible{
    outline-width:3px;
    outline-offset:2px;
  }
}


/* V373: Responsive Fix Angebote / Rechnungen / Aufgaben / Mahnungen / Storno */
@media(max-width:900px), (pointer:coarse){
  body.lmcs-v373-docs-page #main-content,
  body.lmcs-v373-tasks-page #main-content,
  body.lmcs-v373-dunning-page #main-content{
    max-width:100%;
    overflow-x:hidden;
  }
  body.lmcs-v373-docs-page .page-head,
  body.lmcs-v373-tasks-page .page-head,
  body.lmcs-v373-dunning-page .page-head{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  body.lmcs-v373-docs-page .row-actions,
  body.lmcs-v373-tasks-page .row-actions,
  body.lmcs-v373-dunning-page .row-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:8px;
  }
  body.lmcs-v373-docs-page .row-actions .btn,
  body.lmcs-v373-tasks-page .row-actions .btn,
  body.lmcs-v373-dunning-page .row-actions .btn{
    width:100%;
    justify-content:center;
  }
  body.lmcs-v373-docs-page code,
  body.lmcs-v373-tasks-page code,
  body.lmcs-v373-dunning-page code{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}


/* V375: kompakte mobile Dokumentkarten */
@media(max-width:860px){
  body.lmcs-v373-docs-page #docTable.doc-table tr{
    min-height:0;
  }
  body.lmcs-v373-docs-page #docTable.doc-table td[data-label="Nummer"],
  body.lmcs-v373-docs-page #docTable.doc-table td[data-label="Kunde"],
  body.lmcs-v373-docs-page #docTable.doc-table td[data-label="Status"],
  body.lmcs-v373-docs-page #docTable.doc-table td[data-label="Brutto"]{
    min-width:0;
    overflow-wrap:anywhere;
  }
}


/* V377: Affiliate + zusätzliche Responsive-Optimierungen */
@media(max-width:900px), (pointer:coarse){
  .customer-create-form .form-grid,
  .customer-create-form .form-grid.two,
  .customer-create-form .form-grid.three{
    grid-template-columns:1fr;
  }
  .customer-create-form .span-2,
  .customer-create-form .full{
    grid-column:1/-1;
  }
  .customers-table td,
  .leads-table-v168 td{
    overflow-wrap:anywhere;
  }
  .customers-table .row-actions,
  .leads-table-v168 .row-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .customers-table .row-actions .btn,
  .customers-table .row-actions form,
  .customers-table .row-actions button{
    width:100%;
    justify-content:center;
  }
}
@media(max-width:520px){
  .customers-table .row-actions,
  .leads-table-v168 .row-actions{
    grid-template-columns:1fr;
  }
}

/* V388: Google Places API New + stabiler Overflow-Schutz */
.lmcs-google-suggest-wrap{position:relative;min-width:0;max-width:100%;overflow:visible;}
.lmcs-google-suggest-box{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:100000;display:grid;gap:4px;width:100%;max-width:100%;max-height:min(320px,46vh);overflow:auto;background:#fff;border:1px solid #d0d5dd;border-radius:14px;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:6px;box-sizing:border-box;overscroll-behavior:contain;}
.lmcs-google-suggest-box[hidden]{display:none;}
.lmcs-google-suggest-item{display:block;width:100%;border:0;background:#fff;color:#172033;text-align:left;padding:10px 12px;border-radius:10px;font:inherit;font-weight:750;line-height:1.35;cursor:pointer;overflow-wrap:anywhere;}
.lmcs-google-suggest-item:hover,.lmcs-google-suggest-item:focus{background:#eef6ff;outline:2px solid rgba(18,57,91,.22);}
.lmcs-google-suggest-brand{padding:7px 10px 3px;text-align:right;color:#667085;font-size:11px;font-weight:750;line-height:1.2;border-top:1px solid #eef2f7;text-transform:none;}
.lmcs-google-widget-wrap{display:none;}
.pac-container{z-index:99999;max-width:calc(100vw - 24px);box-sizing:border-box;}
.api-test-page,.api-test-page *{box-sizing:border-box;}
.api-test-page{width:100%;max-width:min(1240px,100%);min-width:0;overflow-x:hidden;margin-inline:auto;}
.api-test-page section,.api-test-page div,.api-test-page form,.api-test-page pre{min-width:0;max-width:100%;}
.api-test-page .api-panel{overflow:visible;}
.api-test-page .api-code{max-width:100%;white-space:pre-wrap;word-break:break-word;overflow-x:auto;}
.api-test-page .api-actions{min-width:0;}
.api-test-page .api-actions .btn{max-width:100%;white-space:normal;text-align:center;}
.api-test-page input{max-width:100%;min-width:0;}
@media(max-width:760px){
  .api-test-page{padding:0 2px;}
  .api-test-page .api-hero,.api-test-page .api-panel{border-radius:18px;padding:16px;}
  .api-test-page .api-kpi strong{overflow-wrap:anywhere;word-break:break-word;}
  .lmcs-google-suggest-box{position:absolute;left:0;right:0;top:calc(100% + 6px);bottom:auto;max-width:100%;max-height:min(280px,42vh);}
}

/* === LINKITUP V392 DESKTOP NOTIFICATION POPUP DETACHED RIGHT BOTTOM ===
   Desktop: Benachrichtigungspopup frei rechts unten, nicht an Header-/Leisten-Containern gebunden.
   Mobile-Regeln bleiben unberührt. */
@media (min-width:721px) and (pointer:fine){
  .task-notification-modal{
    position:fixed;
    inset:0;
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    display:block;
    overflow:hidden;
    pointer-events:none;
    z-index:99990;
    contain:none;
    isolation:isolate;
  }
  .task-notification-modal[hidden]{display:none}
  .task-notification-backdrop{
    position:fixed;
    inset:0;
    pointer-events:auto;
    background:rgba(2,6,23,.22);
    backdrop-filter:none;
  }
  .task-notification-dialog{
    position:fixed;
    left:auto;
    top:auto;
    right:24px;
    bottom:24px;
    transform:none;
    margin:0;
    box-sizing:border-box;
    width:420px;
    max-width:calc(100vw - 48px);
    min-width:0;
    max-height:min(72dvh,620px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    pointer-events:auto;
    border-radius:22px;
    contain:none;
    overscroll-behavior:contain;
  }
  .task-notification-list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
  }
}


/* === CLIRO V399: Zahlungen & interne Buchhaltung responsive === */
.payments-page-v399,
.payments-page-v399 *{
  box-sizing:border-box;
}
.payments-page-v399{
  width:100%;
  max-width:100%;
  min-width:0;
}
.payments-page-v399 .panel,
.payments-page-v399 .card,
.payments-page-v399 .toolbar,
.payments-page-v399 .grid,
.payments-page-v399 form,
.payments-page-v399 table,
.payments-page-v399 input,
.payments-page-v399 textarea,
.payments-page-v399 select,
.payments-page-v399 .btn{
  min-width:0;
  max-width:100%;
}
.payments-page-v399 .payment-main-grid{
  align-items:start;
}
.payments-page-v399 .payment-form-grid,
.payments-page-v399 .internal-accounting-grid,
.payments-page-v399 .internal-readonly-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.payments-page-v399 .mini-form,
.payments-page-v399 .payment-record-form,
.payments-page-v399 .mark-paid-form,
.payments-page-v399 .internal-mini-card,
.payments-page-v399 .internal-readonly-grid>div{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.payments-page-v399 .mini-form{
  display:grid;
  gap:9px;
}
.payments-page-v399 .mini-form label,
.payments-page-v399 .internal-mini-card label,
.payments-page-v399 .payment-receipt-row label{
  display:grid;
  gap:6px;
}
.payments-page-v399 .payment-receipt-row{
  display:grid;
  grid-template-columns:140px 140px minmax(130px,1fr) minmax(180px,1.4fr) auto;
  gap:10px;
  align-items:end;
  width:100%;
  min-width:0;
}
.payments-page-v399 .receipt-delete-form{
  display:flex;
  justify-content:flex-end;
  margin:8px 0 16px;
  width:100%;
}
.payments-page-v399 .receipt-actions,
.payments-page-v399 .receipt-actions .btn,
.payments-page-v399 .receipt-delete-form .btn,
.payments-page-v399 .mark-paid-form .btn,
.payments-page-v399 .mini-form .btn{
  min-width:0;
}
.payments-page-v399 .money-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
}
.payments-page-v399 .money-field input{
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  padding:11px 13px;
}
.payments-page-v399 .money-field b{
  display:grid;
  place-items:center;
  height:100%;
  min-height:44px;
  border-left:1px solid #e2e8f0;
  color:#475569;
}
.payments-page-v399 .file-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  min-width:0;
}
.payments-page-v399 .file-pill{
  max-width:100%;
  overflow-wrap:anywhere;
}
@media(max-width:980px){
  .payments-page-v399 .payments-filterbar,
  .payments-page-v399 .payments-doc-toolbar{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:stretch;
  }
  .payments-page-v399 .payments-filterbar .btn,
  .payments-page-v399 .payments-doc-toolbar .btn{
    width:100%;
    justify-content:center;
  }
  .payments-page-v399 .payment-stats-grid,
  .payments-page-v399 .payment-main-grid,
  .payments-page-v399 .payment-form-grid,
  .payments-page-v399 .internal-accounting-grid,
  .payments-page-v399 .internal-readonly-grid{
    grid-template-columns:1fr;
  }
  .payments-page-v399 .panel{
    padding:16px;
    border-radius:20px;
    overflow:hidden;
  }
  .payments-page-v399 .section-title-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .payments-page-v399 .payment-receipt-row{
    grid-template-columns:1fr;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#f8fafc;
  }
  .payments-page-v399 .receipt-delete-form{
    display:grid;
    justify-content:stretch;
    margin:-6px 0 16px;
  }
  .payments-page-v399 .receipt-delete-form .btn,
  .payments-page-v399 .payment-receipt-row .btn,
  .payments-page-v399 .mini-form .btn,
  .payments-page-v399 .mark-paid-form .btn,
  .payments-page-v399 .internal-accounting-form>.btn{
    width:100%;
    justify-content:center;
  }
  .payments-page-v399 .payment-mobile-table{
    display:block;
    width:100%;
    min-width:0;
    border:0;
    background:transparent;
  }
  .payments-page-v399 .payment-mobile-table thead{
    display:none;
  }
  .payments-page-v399 .payment-mobile-table tbody{
    display:grid;
    gap:12px;
    width:100%;
  }
  .payments-page-v399 .payment-mobile-table tr{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    width:100%;
    min-width:0;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
  }
  .payments-page-v399 .payment-mobile-table td{
    display:grid;
    grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);
    gap:10px;
    align-items:start;
    width:100%;
    min-width:0;
    padding:9px 0;
    border:0;
    border-bottom:1px solid #eef2f7;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .payments-page-v399 .payment-mobile-table td:last-child{
    border-bottom:0;
    padding-bottom:0;
  }
  .payments-page-v399 .payment-mobile-table td::before{
    font-weight:850;
    color:#64748b;
    font-size:12px;
    line-height:1.35;
  }
  .payments-page-v399 .payment-doc-table td:nth-child(1)::before{content:"Typ";}
  .payments-page-v399 .payment-doc-table td:nth-child(2)::before{content:"Nummer";}
  .payments-page-v399 .payment-doc-table td:nth-child(3)::before{content:"Kunde";}
  .payments-page-v399 .payment-doc-table td:nth-child(4)::before{content:"Status";}
  .payments-page-v399 .payment-doc-table td:nth-child(5)::before{content:"Summe";}
  .payments-page-v399 .payment-doc-table td:nth-child(6)::before{content:"Bezahlt";}
  .payments-page-v399 .payment-doc-table td:nth-child(7)::before{content:"Offen";}
  .payments-page-v399 .payment-doc-table td:nth-child(8)::before{content:"Aktion";}
  .payments-page-v399 .payment-schedule-table td:nth-child(1)::before{content:"Bezeichnung";}
  .payments-page-v399 .payment-schedule-table td:nth-child(2)::before{content:"Datum";}
  .payments-page-v399 .payment-schedule-table td:nth-child(3)::before{content:"Betrag";}
  .payments-page-v399 .payment-schedule-table td:nth-child(4)::before{content:"Aktion";}
  .payments-page-v399 .payment-mobile-table td form{
    width:100%;
    display:grid;
    gap:8px;
  }
  .payments-page-v399 .payment-mobile-table td .btn{
    width:100%;
    justify-content:center;
  }
}
@media(max-width:560px){
  .payments-page-v399 .panel{
    padding:14px;
    border-radius:18px;
  }
  .payments-page-v399 .payment-stats-grid .card,
  .payments-page-v399 .internal-mini-card{
    padding:14px;
  }
  .payments-page-v399 .payment-mobile-table td{
    grid-template-columns:1fr;
    gap:4px;
  }
  .payments-page-v399 .payment-mobile-table td::before{
    display:block;
  }
}

/* Editor: Interne Zuordnung mobil sicher stapeln */
.doc-editor-form .internal-split-card.internal-split-card-v223,
.doc-editor-form .internal-split-card-v223,
.doc-editor-form .internal-split-card{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.doc-editor-form .internal-split-card-v223 .split-person,
.doc-editor-form .internal-split-card-v223 .split-slider-wrap,
.doc-editor-form .internal-split-card-v223 .split-note,
.doc-editor-form .internal-split-readonly{
  min-width:0;
  max-width:100%;
}
.doc-editor-form .internal-split-card-v223 .split-money-clean,
.doc-editor-form .internal-split-card-v223 .split-money{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.doc-editor-form .internal-split-card-v223 .split-money-clean input,
.doc-editor-form .internal-split-card-v223 .split-money input{
  min-width:0;
  width:100%;
}
@media(max-width:900px){
  .doc-editor-form .internal-split-card.internal-split-card-v223,
  .doc-editor-form .internal-split-card-v223{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
  }
  .doc-editor-form .internal-split-card-v223 .split-card-title,
  .doc-editor-form .internal-split-card-v223 .split-person,
  .doc-editor-form .internal-split-card-v223 .split-slider-wrap,
  .doc-editor-form .internal-split-card-v223 .split-note{
    grid-column:1/-1;
    width:100%;
  }
  .doc-editor-form .internal-split-card-v223 .split-person{
    display:grid;
    gap:7px;
  }
  .doc-editor-form .internal-split-card-v223 .split-slider-wrap{
    display:grid;
    gap:8px;
  }
  .doc-editor-form .internal-split-card-v223 .split-total{
    width:100%;
    justify-self:stretch;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .doc-editor-form .internal-split-card-v223 .split-note{
    min-height:44px;
  }
  .doc-editor-form .internal-split-readonly{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
}
@media(max-width:560px){
  .doc-editor-form .internal-split-card-v223 .split-money-clean,
  .doc-editor-form .internal-split-card-v223 .split-money{
    grid-template-columns:minmax(0,1fr) 38px;
  }
  .doc-editor-form .internal-split-card-v223 .split-currency{
    min-width:38px;
  }
}





/* === CLIRO V411: Sidebar nie als Vollbild/Vollbreite === */
:root{--lmcs-sidebar-mobile-w:min(360px,86vw);--lmcs-sidebar-mobile-max-h:min(76dvh,720px);}
@media (min-width:901px){
  aside.sidebar.sidebar-command{
    width:var(--sidebar-w,320px);
    min-width:var(--sidebar-w,320px);
    max-width:var(--sidebar-w,320px);
  }
  body.sidebar-collapsed aside.sidebar.sidebar-command{
    width:var(--sidebar-w-collapsed,96px);
    min-width:var(--sidebar-w-collapsed,96px);
    max-width:var(--sidebar-w-collapsed,96px);
  }
}
@media (max-width:900px), (pointer:coarse){
  .app{
    display:block;
    grid-template-columns:1fr;
  }
  aside.sidebar.sidebar-command,
  .sidebar.sidebar-command,
  .sidebar-command{
    position:sticky;
    top:10px;
    left:10px;
    right:auto;
    width:var(--lmcs-sidebar-mobile-w);
    min-width:0;
    max-width:var(--lmcs-sidebar-mobile-w);
    height:auto;
    min-height:0;
    max-height:var(--lmcs-sidebar-mobile-max-h);
    margin:10px 0 14px 10px;
    border-radius:24px;
    overflow-y:auto;
    overflow-x:hidden;
    z-index:900;
    box-shadow:0 18px 40px rgba(15,23,42,.22);
  }
  body.sidebar-collapsed aside.sidebar.sidebar-command,
  body.sidebar-collapsed .sidebar.sidebar-command,
  body.sidebar-collapsed .sidebar-command{
    width:min(96px,28vw);
    max-width:min(96px,28vw);
    min-width:0;
  }
  .sidebar-command .premium-brand,
  .sidebar-command .sidebar-company-switch,
  .sidebar-command .sidebar-quick-actions,
  .sidebar-command nav,
  .sidebar-command .sidebar-today,
  .sidebar-command .premium-userbox,
  .sidebar-command .logout{
    max-width:100%;
  }
  .sidebar-command nav{
    max-height:none;
  }
  .main,
  #main-content{
    width:100%;
    max-width:100%;
    margin-left:0;
  }
}
@media (max-width:480px){
  :root{--lmcs-sidebar-mobile-w:min(330px,84vw);--lmcs-sidebar-mobile-max-h:min(72dvh,680px);}
  aside.sidebar.sidebar-command,
  .sidebar.sidebar-command,
  .sidebar-command{
    margin-left:8px;
    border-radius:22px;
  }
}

/* === CLIRO V412: Stripe- und Lizenz-Bezahlbuttons === */
.stripe-pay-btn,
.license-pay-top-btn{
  white-space:nowrap;
}
.customer-actions .stripe-pay-btn{
  order:-10;
  box-shadow:0 12px 26px rgba(15,23,42,.14);
}
.page-head-actions .license-pay-top-btn{
  min-height:42px;
  border-radius:14px;
  padding-inline:14px;
  font-weight:950;
}
#company-stripe code{
  display:inline-block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:3px 7px;
}
@media(max-width:760px){
  .page-head-actions .license-pay-top-btn,
  .customer-actions .stripe-pay-btn{
    width:100%;
    justify-content:center;
  }
}


/* === CLIRO V412: Stripe-Check === */
#company-stripe .btn[name="settings_action"][value="test_stripe"]{justify-self:start;min-height:44px}
@media(max-width:700px){#company-stripe .btn[name="settings_action"][value="test_stripe"]{width:100%;justify-content:center}}


/* === CLIRO V433: Geldfelder und Editor-Buttonleiste final === */
.money-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:stretch;
  overflow:hidden;
}
.money-field > .lmcs-money-field-wrap{
  display:contents;
}
.money-field input,
.lmcs-money-field-wrap > input,
.doc-editor-form .split-money-clean input,
.doc-editor-form .split-money input[name="internal_christopher_amount"],
.doc-editor-form .split-money input[name="internal_linkitup_amount"]{
  text-align:right;
  direction:ltr;
}
.money-field > b,
.money-field > .lmcs-money-suffix,
.money-field .lmcs-money-suffix,
.doc-editor-form .split-money-clean .split-currency,
.doc-editor-form .split-money .split-currency{
  grid-column:2;
  display:grid;
  place-items:center;
  width:42px;
  min-width:42px;
  height:100%;
  min-height:40px;
  border-left:1px solid #dbe3ee;
  background:#f8fafc;
  color:#475467;
  font-weight:950;
  pointer-events:none;
}
.money-field .lmcs-money-field-wrap + b{
  display:grid;
}
.doc-editor-form .split-money-clean > b,
.doc-editor-form .split-money > b{
  display:none;
}
.doc-editor-form .savebar{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.doc-editor-form .savebar .btn,
.doc-editor-form .savebar button,
.doc-editor-form .savebar a{
  width:auto;
  min-width:148px;
  max-width:100%;
  justify-content:center;
  white-space:nowrap;
  flex:0 0 auto;
}
.doc-editor-form .savebar .btn.primary{
  min-width:128px;
}
@media(max-width:760px){
  .doc-editor-form .savebar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    justify-content:stretch;
  }
  .doc-editor-form .savebar .btn,
  .doc-editor-form .savebar button,
  .doc-editor-form .savebar a{
    width:100%;
    min-width:0;
    white-space:normal;
  }
  .doc-editor-form .savebar .btn.danger{
    grid-column:1 / -1;
  }
}
@media(max-width:420px){
  .doc-editor-form .savebar{
    grid-template-columns:1fr;
  }
}


/* V435: Aktionsspalten immer sichtbar und klar beschriften */
th.actions-col,
th.doc-actions-head{
  text-align:right;
  white-space:nowrap;
}
th.actions-col .sr-only,
th.doc-actions-head .sr-only{
  position:static;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  overflow:visible;
  clip:auto;
  clip-path:none;
  white-space:nowrap;
}
th.actions-col:empty::before,
th.doc-actions-head:empty::before{
  content:"Aktionen";
}


/* === CLIRO V447: Mobile Sidebar/Header bündig zur Kartenebene === */
@media (max-width:900px), (pointer:coarse){
  :root{--lmcs-mobile-card-gutter:12px;}
  aside.sidebar.sidebar-command,
  .app > aside.sidebar.sidebar-command,
  html.is-mobile-device aside.sidebar.sidebar-command,
  html.is-mobile-device .sidebar.sidebar-command,
  html.is-mobile-device .sidebar-command{
    width:calc(100% - (var(--lmcs-mobile-card-gutter) * 2));
    max-width:calc(100% - (var(--lmcs-mobile-card-gutter) * 2));
    margin:10px auto 14px;
    left:auto;right:auto;top:8px;
    border-radius:26px;
    box-sizing:border-box;
  }
  @supports(width:100dvw){
    aside.sidebar.sidebar-command,
    .app > aside.sidebar.sidebar-command,
    html.is-mobile-device aside.sidebar.sidebar-command,
    html.is-mobile-device .sidebar.sidebar-command,
    html.is-mobile-device .sidebar-command{
      width:calc(100dvw - (var(--lmcs-mobile-card-gutter) * 2));
      max-width:calc(100dvw - (var(--lmcs-mobile-card-gutter) * 2));
    }
  }
}
@media (max-width:380px), (pointer:coarse) and (max-width:380px){
  :root{--lmcs-mobile-card-gutter:10px;}
  aside.sidebar.sidebar-command,
  .app > aside.sidebar.sidebar-command,
  html.is-mobile-device aside.sidebar.sidebar-command,
  html.is-mobile-device .sidebar.sidebar-command,
  html.is-mobile-device .sidebar-command{border-radius:24px;}
}


/* V456: mobile Benachrichtigungs-Popup nie im Header festkleben lassen */
@media (max-width:900px){
  .task-notification-modal{
    position:fixed;
    inset:0;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100dvw;
    max-width:100dvw;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    transform:none;
    overflow:hidden;
    pointer-events:none;
    z-index:99990;
  }
  .task-notification-backdrop{
    position:fixed;
    inset:0;
    pointer-events:auto;
  }
  .task-notification-dialog{
    position:fixed;
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(env(safe-area-inset-bottom,0px) + 12px);
    transform:translateX(-50%);
    width:calc(100dvw - 20px);
    max-width:430px;
    max-height:min(62dvh,520px);
    margin:0;
    pointer-events:auto;
  }
  .page-head .task-notification-modal,
  .page-title-row .task-notification-modal,
  .mobile-title-bell-v168 .task-notification-modal{
    position:fixed;
    inset:0;
  }
}

/* V462: Spaltenbreiten auf Mobilgeraeten per Finger-Drag anpassbar halten.
   Resizable Tabellen duerfen mobil nicht zur Kartenansicht umgebaut werden. */
@media (max-width:900px), (pointer:coarse){
  .table-scroll.lmcs-resizable-table-wrap,
  .table-scroll.resizable-table-wrap,
  .doc-table-wrap.lmcs-resizable-table-wrap,
  .responsive-table.lmcs-resizable-table-wrap,
  .lmcs-resizable-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
  }
  table.lmcs-resizable-table,
  table.table.lmcs-resizable-table,
  table.list-table.lmcs-resizable-table,
  table.lmcs-resizable-table.mobile-card-table{
    display:table;
    min-width:100%;
    width:max-content;
    border-collapse:separate;
    white-space:normal;
    background:#fff;
  }
  table.lmcs-resizable-table thead,
  table.lmcs-resizable-table.mobile-card-table thead{
    display:table-header-group;
  }
  table.lmcs-resizable-table tbody,
  table.lmcs-resizable-table.mobile-card-table tbody{
    display:table-row-group;
  }
  table.lmcs-resizable-table tr,
  table.lmcs-resizable-table.mobile-card-table tr{
    display:table-row;
    margin:0;
    padding:0;
    border-radius:0;
    box-shadow:none;
  }
  table.lmcs-resizable-table th,
  table.lmcs-resizable-table td,
  table.lmcs-resizable-table.mobile-card-table th,
  table.lmcs-resizable-table.mobile-card-table td{
    display:table-cell;
    width:auto;
    min-height:0;
    white-space:normal;
    vertical-align:top;
  }
  table.lmcs-resizable-table th{
    position:relative;
    padding-right:48px;
    user-select:none;
    -webkit-user-select:none;
  }
  table.lmcs-resizable-table td::before,
  table.lmcs-resizable-table.mobile-card-table td::before{
    content:none;
    display:none;
  }
  table.lmcs-resizable-table .doc-col-resizer,
  table.table.lmcs-resizable-table .doc-col-resizer,
  table.list-table.lmcs-resizable-table .doc-col-resizer{
    display:block;
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:44px;
    min-width:44px;
    height:100%;
    cursor:col-resize;
    touch-action:none;
    -ms-touch-action:none;
    pointer-events:auto;
    z-index:999;
    background:transparent;
  }
  table.lmcs-resizable-table .doc-col-resizer:before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    width:1px;
    background:rgba(255,255,255,.38);
  }
  table.lmcs-resizable-table .doc-col-resizer:after{
    content:"";
    position:absolute;
    right:17px;
    top:16%;
    bottom:16%;
    width:3px;
    border-radius:999px;
    background:var(--brand-accent,#d99a28);
    box-shadow:none;
    opacity:1;
  }
  body.doc-resizing,
  body.doc-resizing *{
    cursor:col-resize;
    user-select:none;
    -webkit-user-select:none;
  }
  body.doc-resizing .lmcs-resizable-table-wrap{
    -webkit-overflow-scrolling:auto;
    touch-action:none;
  }
}

/* V468: Breitere Wert-Kachel in der Projektzeiten-Auswertung. */
.hero-time-summary{
  grid-template-columns:minmax(96px,.85fr) minmax(128px,1fr) minmax(190px,1.45fr);
}
@media(max-width:900px), (pointer:coarse){
  .hero-time-summary{
    grid-template-columns:1fr;
  }
}

.emailtpl-hero{margin-bottom:8px}.emailtpl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.emailtpl-toolbar h2,.emailtpl-toolbar h3{margin:0}.emailtpl-toolbar .muted{margin:2px 0 0}.emailtpl-badges{display:flex;gap:5px;flex-wrap:wrap}.emailtpl-badges span{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:10px;padding:4px 7px}.emailtpl-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.emailtpl-actions .btn{justify-content:center;padding:7px 10px}.emailtpl-ro{padding:8px 10px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:800;margin-bottom:8px;font-size:12px}
.emailtpl-template-manager{margin-bottom:10px;padding:12px}.emailtpl-template-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:10px;align-items:start}.emailtpl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px;max-height:132px;overflow:auto;padding-right:2px}.emailtpl-card{display:block;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:8px 10px;text-decoration:none;color:#0f172a}.emailtpl-card.active{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.emailtpl-card strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emailtpl-card small{display:block;color:#64748b;margin-top:2px;font-size:11px}.emailtpl-create{border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:10px}.emailtpl-create h3,.emailtpl-list-wrap h3{margin-top:0;font-size:15px}.emailtpl-create p{font-size:12px}.emailtpl-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.emailtpl-create-grid .btn{padding:7px 8px;font-size:12px}
.emailtpl-builder-panel{padding:9px 10px}.emailtpl-app{display:grid;grid-template-columns:minmax(390px,500px) minmax(250px,330px) minmax(560px,1fr);gap:8px;align-items:stretch;margin-top:8px;min-height:calc(100vh - 240px)}.emailtpl-left-panel,.emailtpl-preview{position:sticky;top:64px;align-self:start}.emailtpl-left-panel{max-height:calc(100vh - 92px);overflow:auto}.emailtpl-side-panel{border:1px solid #dbe4f0;border-radius:14px;background:#fff;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.emailtpl-left-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.emailtpl-left-head h3{font-size:15px;margin:0}.emailtpl-left-head .muted{font-size:11px;margin:1px 0 0}.emailtpl-template-edit-btn{width:100%;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:11px;padding:8px 9px;font-weight:900;cursor:pointer;text-align:left;margin-bottom:8px;font-size:12px}.emailtpl-template-edit-btn span{display:block;font-size:10px;color:#64748b;font-weight:700;margin-top:2px}.emailtpl-palette-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.emailtpl-palette-btn{width:100%;min-height:42px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:11px;padding:6px 7px;font-weight:850;text-align:center;cursor:grab;font-size:11px;line-height:1.15;color:#334155}.emailtpl-palette-btn:active{cursor:grabbing}.emailtpl-palette-btn:hover{border-color:#2563eb;background:#eef2ff;color:#1d4ed8}.emailtpl-workspace{display:grid;grid-template-rows:auto minmax(420px,1fr) auto;gap:7px;min-height:calc(100vh - 240px)}.emailtpl-canvas{min-height:420px;height:100%;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;padding:7px;display:flex;flex-direction:column;gap:5px;overflow:auto}.emailtpl-canvas.is-over{background:#eef2ff;border-color:#2563eb}.emailtpl-block{border:1px solid #d8dee9;border-radius:10px;background:#fff;padding:5px 6px;box-shadow:none;cursor:pointer;outline:2px solid transparent;transition:.12s border-color,.12s outline-color,.12s background}.emailtpl-block:hover{border-color:#94a3b8;background:#fbfdff}.emailtpl-block.selected{border-color:#2563eb;outline-color:rgba(37,99,235,.18);background:#f8fbff}.emailtpl-block.dragging{opacity:.55}.emailtpl-block-head{display:flex;justify-content:space-between;gap:5px;align-items:center;min-height:30px}.emailtpl-block-meta{display:flex;align-items:center;gap:6px;min-width:0}.emailtpl-block-handle{color:#64748b;-webkit-text-fill-color:#64748b;font-weight:900;letter-spacing:-2px}.emailtpl-block-title{font-weight:900;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emailtpl-block-sub,.emailtpl-block-preview{display:none}.emailtpl-mini-actions{display:flex;gap:3px;flex-wrap:nowrap}.emailtpl-mini-actions button{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:0;line-height:1;cursor:pointer;font-weight:900;font-size:11px;color:#475467;width:27px;height:27px;min-width:27px;min-height:27px;display:inline-flex;align-items:center;justify-content:center}.emailtpl-mini-actions button:hover{border-color:#2563eb;color:#2563eb}.emailtpl-empty{text-align:center;color:#64748b;padding:28px 10px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;font-size:12px}.emailtpl-settings-card{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none;max-height:none;overflow:visible}.emailtpl-settings-fields{display:grid;grid-template-columns:1fr;gap:9px}.emailtpl-settings-fields .field,.emailtpl-template-settings .field{margin:0}.emailtpl-settings-fields label,.emailtpl-template-settings label{font-weight:800;font-size:11px;margin-bottom:3px}.emailtpl-settings-fields .input,.emailtpl-template-settings .input{font-size:12px;padding:8px 9px;border-radius:9px}.emailtpl-settings-fields textarea.input{min-height:108px}.emailtpl-settings-fields .inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.emailtpl-style-section{border:1px solid #edf2f7;border-radius:12px;padding:9px;background:#f8fafc}.emailtpl-style-section strong{display:block;margin-bottom:7px;font-size:12px}.emailtpl-style-back{font-size:11px;padding:6px 8px}.emailtpl-template-settings{display:grid;gap:8px}.emailtpl-tokenbar{display:grid;grid-template-columns:1fr;gap:5px;max-height:190px;overflow:auto}.token-chip{border:1px solid #dbe4f0;display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:10px;background:#fff;color:#3730a3;font-weight:900;font-size:11px;padding:6px 8px;cursor:pointer;text-align:left;min-height:32px}.token-chip small{display:none}.token-chip code{font-size:10px;color:#64748b;background:#f8fafc;border-radius:6px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:86px}.emailtpl-preview{align-self:stretch}.emailtpl-preview-card{height:calc(100vh - 240px);min-height:560px;display:flex;flex-direction:column;border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:10px}.emailtpl-preview-mode{display:flex;gap:5px}.emailtpl-preview-mode .btn{padding:6px 8px;font-size:12px}.emailtpl-preview-card p{font-size:11px;margin:4px 0 8px}.emailtpl-preview-frame{width:100%;flex:1;min-height:0;border:1px solid #d0d5dd;border-radius:14px;background:#fff}.emailtpl-preview-frame.mobile{max-width:390px;min-height:660px;margin:auto;display:block;flex:none;height:660px}.emailtpl-json-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:12px;padding:8px 10px;font-weight:800}.emailtpl-lock{opacity:.72;pointer-events:none}.emailtpl-meta-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:11px}.emailtpl-meta-inline strong{color:#0f172a}
@media(max-width:1500px){.emailtpl-app{grid-template-columns:minmax(350px,430px) minmax(240px,310px) minmax(500px,1fr)}}@media(max-width:1220px){.emailtpl-template-layout{grid-template-columns:1fr}.emailtpl-app{grid-template-columns:minmax(340px,430px) minmax(0,1fr)}.emailtpl-left-panel{position:static;max-height:none}.emailtpl-preview{grid-column:1/-1;position:static}.emailtpl-preview-card{height:auto;min-height:520px}.emailtpl-preview-frame{min-height:520px}.emailtpl-workspace{min-height:620px}}@media(max-width:780px){.emailtpl-app{grid-template-columns:1fr}.emailtpl-palette,.emailtpl-preview,.emailtpl-left-panel{position:static}.emailtpl-palette-list{grid-template-columns:1fr 1fr}.emailtpl-create-grid{grid-template-columns:1fr}.emailtpl-workspace{min-height:auto}.emailtpl-canvas{min-height:420px}.emailtpl-template-manager{padding:10px}.emailtpl-list{max-height:220px}.emailtpl-actions .input{max-width:100%;width:100%}}

.emailtpl-upload-field small{display:block;margin-top:5px}.emailtpl-upload-status{min-height:18px;margin-top:5px;font-size:11px;font-weight:800;color:#2563eb}.emailtpl-upload-field input[type=file]{padding:9px;background:#f8fafc}

/* V488: Logo-Firmenauswahl im oberen Header */
.page-head-actions .business-switch-logo{position:relative;min-width:280px;max-width:360px;width:auto;z-index:40}
.business-switch-logo summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;align-items:center;min-height:50px;padding:7px 10px;border:1px solid rgba(148,163,184,.35);border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.06);color:#101828}
.business-switch-logo summary::-webkit-details-marker{display:none}
.business-switch-logo[open] summary{border-color:color-mix(in srgb,var(--brand-primary,#12395b) 36%,#d0d5dd);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary,#12395b) 10%,transparent),0 12px 26px rgba(15,23,42,.09)}
.business-switch-logo-mark,.business-switch-option-logo{display:grid;place-items:center;overflow:hidden;background:#f8fafc;border:1px solid rgba(15,23,42,.08);color:var(--brand-primary,#12395b);font-weight:950;text-transform:uppercase;line-height:1}
.business-switch-logo-mark{width:40px;height:36px;border-radius:12px;min-width:40px}
.business-switch-option-logo{width:38px;height:34px;border-radius:11px;min-width:38px}
.business-switch-logo-mark img,.business-switch-option-logo img{width:100%;height:100%;object-fit:contain;padding:4px;background:#fff;display:block}
.business-switch-current{min-width:0;display:grid;gap:1px;text-align:left}.business-switch-current small{font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#667085;line-height:1}.business-switch-current strong{font-size:13px;font-weight:950;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}.business-switch-current em{font-style:normal;font-size:10px;font-weight:800;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.business-switch-caret{font-weight:950;color:#667085;justify-self:end}.business-switch-logo[open] .business-switch-caret{transform:rotate(180deg)}
.business-switch-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 26px));padding:8px;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:#fff;box-shadow:0 22px 54px rgba(15,23,42,.18);display:grid;gap:6px;max-height:min(460px,70vh);overflow:auto}.business-switch-option-form{margin:0}.business-switch-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;border:1px solid transparent;border-radius:14px;background:#fff;padding:8px;cursor:pointer;color:#101828}.business-switch-option:hover{background:#f8fafc;border-color:#e4e7ec}.business-switch-option.is-current{background:color-mix(in srgb,var(--brand-primary,#12395b) 7%,#fff);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 18%,#e4e7ec);cursor:default}.business-switch-option span{min-width:0;display:grid;gap:2px}.business-switch-option strong{font-size:13px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-switch-option small{font-size:11px;font-weight:750;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-switch-option b{justify-self:center;color:var(--brand-primary,#12395b);font-size:14px}.company-logo-badge.no-logo,.business-switch-logo-mark.no-logo,.business-switch-option-logo.no-logo{background:linear-gradient(135deg,var(--brand-primary,#12395b),color-mix(in srgb,var(--brand-primary,#12395b) 72%,#0b1728));color:#fff;font-size:12px}
@media(max-width:760px){.page-head-actions .business-switch-logo{width:100%;max-width:100%;min-width:0}.business-switch-menu{left:0;right:auto;width:100%}}


/* V489: Firmen-Dropdown über Inhalt + kompaktere Sidebar */
.page-head,
.company-page-head,
.page-head-actions,
.main,
.app {
  overflow: visible ;
}
.page-head,
.company-page-head {
  position: relative ;
  z-index: 1200 ;
}
.page-head-actions {
  position: relative ;
  z-index: 1300 ;
}
.page-head-actions .business-switch-logo,
.business-switch-logo {
  position: relative ;
  z-index: 1400 ;
}
.business-switch-logo[open] {
  z-index: 100000 ;
}
.business-switch-logo .business-switch-menu {
  z-index: 100001 ;
  isolation: isolate ;
}
.business-switch-logo summary {
  position: relative ;
  z-index: 2 ;
}

@media (min-width: 901px){
  .sidebar-command {
    gap: 9px ;
    padding: 14px 13px ;
  }
  .premium-brand {
    min-height: 72px ;
    padding: 12px ;
    border-radius: 20px ;
  }
  .premium-brand .brand-logo,
  .premium-brand .brand-mark {
    width: 40px ;
    height: 40px ;
    min-width: 40px ;
    border-radius: 14px ;
  }
  .brand-kicker {
    font-size: 9px ;
    margin-bottom: 2px ;
  }
  .premium-brand strong {
    font-size: 12.5px ;
    line-height: 1.12 ;
  }
  .premium-brand em {
    font-size: 10px ;
    line-height: 1.2 ;
    margin-top: 1px ;
  }
  .sidebar-company-switch {
    padding: 9px ;
    gap: 5px ;
    border-radius: 15px ;
  }
  .sidebar-company-switch label {
    font-size: 9px ;
  }
  .sidebar-company-switch select {
    min-height: 34px ;
    padding: 6px 8px ;
    border-radius: 12px ;
    font-size: 12px ;
  }
  .sidebar-quick-actions {
    gap: 5px ;
  }
  .sidebar-quick-actions a {
    font-size: 10.5px ;
    padding: 7px 5px ;
    border-radius: 12px ;
    min-height: 32px ;
  }
  .sidebar-command nav {
    gap: 3px ;
    padding: 1px 3px 6px ;
  }
  .nav-group {
    margin: 8px 8px 3px ;
  }
  .nav-group span {
    font-size: 8.5px ;
    letter-spacing: .11em ;
  }
  .sidebar-command nav a {
    grid-template-columns: 30px minmax(0,1fr) auto ;
    gap: 7px ;
    min-height: 36px ;
    padding: 4px 7px ;
    border-radius: 13px ;
    font-size: 12px ;
    line-height: 1.13 ;
  }
  .sidebar-command .nav-ico {
    width: 30px ;
    height: 28px ;
    border-radius: 11px ;
    font-size: 13px ;
  }
  .nav-badge {
    min-width: 20px ;
    height: 20px ;
    padding: 0 6px ;
    font-size: 10px ;
  }
  .sidebar-today {
    padding: 9px ;
    border-radius: 16px ;
  }
  .sidebar-today strong,
  .sidebar-today li {
    font-size: 10.5px ;
  }
  .premium-userbox {
    padding: 9px ;
    border-radius: 16px ;
  }
  .premium-userbox strong {
    font-size: 12px ;
  }
  .premium-userbox span,
  .premium-userbox small {
    font-size: 10px ;
  }
  .sidebar-command .logout {
    min-height: 34px ;
    border-radius: 13px ;
    font-size: 12px ;
  }
}

/* === V490 ACCESSIBILITY AUDIT HOTFIX === */
:root{--a11y-focus:#f59e0b;--a11y-focus-ring:0 0 0 4px rgba(245,158,11,.28)}
.skip-link{position:fixed;left:16px;top:12px;z-index:2147483000;transform:translateY(-220%);background:#fff;color:#071421;border:3px solid var(--a11y-focus,#f59e0b);border-radius:12px;padding:10px 14px;font-weight:950;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.22)}
.skip-link:focus,.skip-link:focus-visible{transform:none;outline:0}
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"],[role="menuitem"],[role="option"]):focus-visible{outline:3px solid var(--a11y-focus,#f59e0b);outline-offset:3px;box-shadow:var(--a11y-focus-ring)}
:where(button,input,select,textarea,summary){font:inherit}
:where(button,[role="button"],summary){cursor:pointer}
:where(input,select,textarea)[aria-invalid="true"],:where(input,select,textarea):user-invalid{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.16)}
.business-switch{position:relative;z-index:500000}.business-switch[open]{z-index:1000000}.business-switch-menu{z-index:1000001}.business-switch-current em,.business-switch-option small .company-mail,.company-mail{display:none}.business-switch-option small{color:#667085;font-weight:800}.business-switch summary:focus-visible{border-radius:16px}
.sidebar-command nav a{font-size:13px;line-height:1.2}.sidebar-command .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-command .sidebar-quick-actions a{font-size:12px;line-height:1.15}
.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none}
[aria-disabled="true"]{cursor:not-allowed;opacity:.68}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.001ms}}
@media (forced-colors:active){:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible{outline:3px solid Highlight;box-shadow:none}.btn,.button,button{border:1px solid ButtonText}}

/* === V491 SIDEBAR KOMPAKT FEINSCHLIFF === */
@media (min-width:901px){
  .app{grid-template-columns:292px minmax(0,1fr);}
  body.sidebar-collapsed .app{grid-template-columns:88px minmax(0,1fr);}
  aside.sidebar.sidebar-command{
    width:292px;
    min-width:292px;
    max-width:292px;
    padding:14px 13px;
    gap:9px;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-command{width:88px;min-width:88px;max-width:88px;padding:12px 8px;}
  .sidebar-command .premium-brand{min-height:68px;padding:10px 11px;border-radius:19px;gap:9px;}
  .sidebar-command .premium-brand .brand-logo,
  .sidebar-command .premium-brand .brand-mark{width:40px;height:40px;min-width:40px;border-radius:14px;padding:4px;}
  .sidebar-command .brand-kicker{font-size:8.5px;letter-spacing:.10em;margin-bottom:2px;}
  .sidebar-command .premium-brand strong{font-size:12.5px;line-height:1.1;max-width:176px;}
  .sidebar-command .premium-brand em{font-size:10px;line-height:1.15;margin-top:2px;max-width:176px;}
  .sidebar-company-switch{padding:8px;border-radius:15px;gap:5px;}
  .sidebar-company-switch label{font-size:8.5px;letter-spacing:.10em;}
  .sidebar-company-switch select{padding:7px 8px;border-radius:12px;font-size:11.5px;}
  .sidebar-quick-actions{gap:5px;}
  .sidebar-quick-actions a{min-height:31px;padding:5px 6px;border-radius:12px;font-size:10.8px;line-height:1.05;}
  .sidebar-command nav{gap:4px;padding:2px 2px 78px;}
  .sidebar-command nav a{
    min-height:34px;
    padding:4px 7px;
    gap:7px;
    border-radius:12px;
    font-size:11.6px;
    line-height:1.08;
    font-weight:850;
  }
  .sidebar-command .nav-ico{width:27px;height:25px;min-width:27px;border-radius:9px;font-size:11px;}
  .sidebar-command .nav-label{font-size:11.6px;line-height:1.08;}
  .sidebar-command .nav-group{font-size:8.5px;letter-spacing:.11em;margin:6px 5px 2px;}
  .sidebar-command .nav-badge{min-width:18px;height:18px;padding:0 5px;font-size:9px;}
  .sidebar-today{padding:7px;border-radius:14px;}
  .sidebar-today strong,.sidebar-today li{font-size:9.8px;line-height:1.18;}
  .premium-userbox{padding:7px;border-radius:14px;bottom:58px;}
  .premium-userbox strong{font-size:11px;}
  .premium-userbox span,.premium-userbox small{font-size:9.5px;}
  .sidebar-command .logout{min-height:31px;padding:6px 8px;border-radius:12px;font-size:11px;}
}
@media (min-width:901px) and (max-height:760px){
  .sidebar-command .premium-brand{min-height:56px;padding-top:7px;padding-bottom:7px;}
  .sidebar-command .premium-brand em,.sidebar-command .brand-kicker,.sidebar-command .sidebar-company-switch label,.sidebar-command .sidebar-today{display:none;}
  .sidebar-command nav a{min-height:31px;padding-top:3px;padding-bottom:3px;}
  .sidebar-command .nav-ico{height:23px;width:25px;}
}


/* V494: Sidebar optional als kompaktes 2er-Raster. Mehr Navigation auf einen Blick, aber weiterhin mit 44px Tastatur-/Klick-Ziel. */
@media (min-width:901px){
  body:not(.sidebar-collapsed) .sidebar-command nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin:0;
    padding:3px 0 9px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-group{
    grid-column:1/-1;
    margin:10px 4px 3px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-group span{
    font-size:9px;
    letter-spacing:.11em;
  }
  body:not(.sidebar-collapsed) .sidebar-command nav a{
    min-height:44px;
    padding:6px 7px;
    border-radius:14px;
    grid-template-columns:25px minmax(0,1fr) auto;
    gap:6px;
    font-size:12px;
    align-items:center;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{
    width:25px;
    min-width:25px;
    height:25px;
    border-radius:10px;
    font-size:12px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{
    font-size:12px;
    line-height:1.15;
    white-space:normal;
    overflow:hidden;
    text-overflow:clip;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-badge{
    min-width:19px;
    height:19px;
    padding:0 5px;
    font-size:10px;
  }
}
@media (min-width:901px) and (max-width:1180px){
  body:not(.sidebar-collapsed) .sidebar-command nav{grid-template-columns:1fr;}
}
@media (forced-colors:active){
  body:not(.sidebar-collapsed) .sidebar-command nav a{border:1px solid CanvasText;}
}


/* V496 responsive wrap + compact sidebar refinements */
.sidebar nav a,.logout{min-width:0;overflow-wrap:anywhere;word-break:normal;line-height:1.18}
.sidebar nav{align-items:stretch}
.header-actions,.page-head,.toolbar,.company-switcher,.company-switch-list{min-width:0}
.page-head-title-block,.page-head-actions,.company-switch-card,.business-switch-current{min-width:0;overflow-wrap:anywhere}
@media (min-width:901px) and (max-width:1180px){
  .sidebar{padding:16px 14px}.sidebar nav{grid-template-columns:1fr;gap:6px}.sidebar nav a,.logout{font-size:12px;padding:9px 10px;min-height:42px}.app{grid-template-columns:224px 1fr}.main{padding:20px;min-width:0}.page-head{gap:12px;flex-wrap:wrap}.page-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.email-builder-shell,.email-builder-grid,.email-builder-v478,.email-builder-v479,.email-builder-v480{min-width:0;grid-template-columns:minmax(260px,340px) minmax(260px,.8fr) minmax(360px,1fr)}
}
@media (min-width:1181px){
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sidebar nav a,.logout{font-size:12px;padding:9px 8px;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}.sidebar{padding:18px 14px}.app{grid-template-columns:246px 1fr}
}
@media(max-width:900px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sidebar nav a,.logout{font-size:13px;min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center}.page-head{display:block}.page-head-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.page-head-actions .btn{flex:1 1 160px;justify-content:center}.email-builder-shell,.email-builder-grid,.email-builder-v478,.email-builder-v479,.email-builder-v480{display:grid;grid-template-columns:1fr}.email-preview-panel,.email-style-panel,.email-canvas-panel{min-width:0;width:100%}}
@media(max-width:520px){.sidebar nav{grid-template-columns:1fr}.sidebar nav a,.logout{text-align:left;justify-content:flex-start}.btn,.input,select,textarea{max-width:100%;min-width:0}.toolbar{grid-template-columns:1fr}.toolbar>*{min-width:0;width:100%}}


/* V497: Sidebar manuelle Umbrueche + Heute wichtig klickbar */
@media (min-width:1280px){
  .app{grid-template-columns:292px minmax(0,1fr);}
  body:not(.sidebar-collapsed) .sidebar-command{width:292px;min-width:292px;max-width:292px;}
  body:not(.sidebar-collapsed) .sidebar-command nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
}
@media (min-width:901px) and (max-width:1279px){
  .app{grid-template-columns:252px minmax(0,1fr);}
  body:not(.sidebar-collapsed) .sidebar-command{width:252px;min-width:252px;max-width:252px;}
  body:not(.sidebar-collapsed) .sidebar-command nav{display:flex;flex-direction:column;gap:5px;}
}
@media (min-width:901px){
  body:not(.sidebar-collapsed) .sidebar-command nav a{min-width:0;overflow:visible;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:normal;hyphens:manual;line-height:1.12;max-height:2.35em;}
  body:not(.sidebar-collapsed) .sidebar-command nav a{min-height:44px;}
}
.sidebar-command .sidebar-today:before{pointer-events:none;}
.sidebar-command .sidebar-today strong,.sidebar-command .sidebar-today-title{position:relative;z-index:1;}
.sidebar-command .sidebar-today-title{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;margin:0 0 8px;color:#fff;font-size:12px;font-weight:950;line-height:1.2;cursor:pointer;border-radius:12px;padding:2px 3px;}
.sidebar-command .sidebar-today-title:before{content:"•";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#071421;font-size:17px;line-height:1;}
.sidebar-command .sidebar-today-title:hover,.sidebar-command .sidebar-today-title:focus-visible{background:rgba(255,255,255,.10);}
.sidebar-command .sidebar-today li{padding:0;overflow:visible;}
.sidebar-command .sidebar-today .sidebar-today-link,.sidebar-command .sidebar-today .sidebar-task-open{position:relative;z-index:1;box-sizing:border-box;width:100%;min-height:34px;padding:6px 8px;border-radius:13px;display:flex;align-items:center;gap:8px;text-decoration:none;color:rgba(255,255,255,.88);background:rgba(255,255,255,.065);cursor:pointer;border:1px solid transparent;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.18;}
.sidebar-command .sidebar-today .sidebar-today-link:hover,.sidebar-command .sidebar-today .sidebar-task-open:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.16);color:#fff;}
.sidebar-command .sidebar-today .sidebar-today-link span,.sidebar-command .sidebar-today .sidebar-task-open span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;min-width:22px;height:22px;border-radius:999px;background:var(--brand-accent,#d99a28);color:#071421;font-size:11px;font-weight:950;}


/* V500: nur Sidebar-Schrift minimal kleiner machen. Kein globaler Font-Fix. */
@media (min-width:901px){
  aside.sidebar.sidebar-command{
    gap:11px;
  }
  .sidebar-command .brand-copy strong{
    font-size:13px;
    line-height:1.12;
  }
  .sidebar-command .brand-copy em{
    font-size:11px;
    line-height:1.2;
  }
  .sidebar-command .brand-copy .brand-kicker,
  .sidebar-command .sidebar-company-switch label,
  .sidebar-command .nav-group span{
    font-size:10.5px;
  }
  .sidebar-command .sidebar-company-switch select{
    font-size:14px;
  }
  .sidebar-command .sidebar-quick-actions a{
    font-size:11px;
    min-height:36px;
  }
  .sidebar-command nav{
    gap:4px;
  }
  .sidebar-command nav a,
  .sidebar-command nav a:link,
  .sidebar-command nav a:visited{
    font-size:12.5px;
    line-height:1.15;
    min-height:44px;
    padding-top:6px;
    padding-bottom:6px;
  }
  .sidebar-command .nav-label{
    font-size:12.5px;
    line-height:1.15;
  }
  .sidebar-command .nav-ico{
    font-size:14px;
    width:38px;
    height:34px;
  }
  .sidebar-command .nav-badge{
    font-size:10.5px;
    min-width:22px;
    height:22px;
  }
  .sidebar-command .sidebar-today strong,
  .sidebar-command .sidebar-today-title{
    font-size:11.5px;
  }
  .sidebar-command .sidebar-today li,
  .sidebar-command .sidebar-today .sidebar-today-link,
  .sidebar-command .sidebar-today .sidebar-task-open{
    font-size:11px;
    line-height:1.18;
  }
  .sidebar-command .premium-userbox strong{
    font-size:12px;
  }
  .sidebar-command .premium-userbox span,
  .sidebar-command .premium-userbox small{
    font-size:10.5px;
  }
  .sidebar-command .logout{
    font-size:12px;
  }
}
@media (min-width:901px) and (max-height:760px){
  .sidebar-command nav a,
  .sidebar-command nav a:link,
  .sidebar-command nav a:visited{
    font-size:12px;
    min-height:42px;
  }
  .sidebar-command .nav-label{font-size:12px;}
}
@media (max-width:900px){
  .sidebar-command nav a{
    font-size:12px;
  }
  .sidebar-command .sidebar-quick-actions a{
    font-size:11px;
  }
}

/* V501: Sidebar fachlich gebündelt + saubere 2-Spalten-Lesbarkeit.
   Detailaktionen sind aus der Sidebar raus und liegen in den jeweiligen Bereichen. */
@media (min-width:901px){
  :root{--sidebar-w:320px;--sidebar-w-collapsed:96px;}
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr);}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-command{
    width:var(--sidebar-w);
    min-width:var(--sidebar-w);
    max-width:var(--sidebar-w);
    padding-left:18px;
    padding-right:18px;
  }
  body:not(.sidebar-collapsed) .sidebar-command nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:4px 0 12px;
    margin:0;
    align-items:stretch;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-group{
    grid-column:1/-1;
    margin:12px 4px 3px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-group:first-child{margin-top:2px;}
  body:not(.sidebar-collapsed) .sidebar-command nav a,
  body:not(.sidebar-collapsed) .sidebar-command nav a:link,
  body:not(.sidebar-collapsed) .sidebar-command nav a:visited{
    position:relative;
    display:grid;
    grid-template-columns:31px minmax(0,1fr);
    gap:7px;
    align-items:center;
    min-width:0;
    min-height:46px;
    height:auto;
    padding:6px 8px;
    border-radius:14px;
    font-size:12.2px;
    line-height:1.12;
    text-align:left;
    justify-content:stretch;
    overflow:visible;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{
    width:31px;
    min-width:31px;
    height:31px;
    border-radius:11px;
    font-size:12px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{
    display:block;
    min-width:0;
    max-width:100%;
    padding-right:22px;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:manual;
    line-height:1.12;
    max-height:none;
    font-size:12.2px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-badge{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    min-width:20px;
    height:20px;
    padding:0 5px;
    font-size:10px;
    z-index:2;
  }
}
@media (min-width:901px) and (max-width:1279px){
  :root{--sidebar-w:272px;}
  body:not(.sidebar-collapsed) .sidebar-command nav{
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  body:not(.sidebar-collapsed) .sidebar-command nav a,
  body:not(.sidebar-collapsed) .sidebar-command nav a:link,
  body:not(.sidebar-collapsed) .sidebar-command nav a:visited{
    grid-template-columns:34px minmax(0,1fr);
    min-height:42px;
    padding:6px 10px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{
    padding-right:28px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* V502: Sidebar-Labels einzeilig, sobald sie in die Kachel passen. */
@media (min-width:901px){
  body:not(.sidebar-collapsed) .sidebar-command nav a,
  body:not(.sidebar-collapsed) .sidebar-command nav a:link,
  body:not(.sidebar-collapsed) .sidebar-command nav a:visited{
    grid-template-columns:30px minmax(0,1fr);
    gap:6px;
    padding-left:7px;
    padding-right:7px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{
    width:30px;
    min-width:30px;
    height:30px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:manual;
    line-height:1.12;
    padding-right:20px;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-label.nav-label--single{
    white-space:nowrap;
  }
  body:not(.sidebar-collapsed) .sidebar-command nav a:not(:has(.nav-badge)) .nav-label{
    padding-right:0;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-badge{
    right:4px;
  }
}
@supports not selector(:has(*)){
  @media (min-width:901px){
    body:not(.sidebar-collapsed) .sidebar-command .nav-label{padding-right:12px;}
  }
}

/* V503: Optischer Feinschliff / UI Polish
   Schwerpunkt: ruhigere Sidebar, saubere Labels, dezente Karten/Buttons ohne Funktionsänderung. */
@media (min-width:901px){
  :root{--sidebar-w:286px;--sidebar-w-collapsed:88px;}
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr);}
  body.sidebar-collapsed .app{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr);}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-command{
    width:var(--sidebar-w);min-width:var(--sidebar-w);max-width:var(--sidebar-w);
    padding:15px 14px;gap:10px;
    box-shadow:14px 0 38px rgba(15,23,42,.17);
  }
  body:not(.sidebar-collapsed) .sidebar-command .premium-brand{
    min-height:66px;padding:10px 42px 10px 11px;border-radius:20px;gap:10px;
    background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.065));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 22px rgba(0,0,0,.11);
  }
  body:not(.sidebar-collapsed) .sidebar-command .premium-brand .brand-logo,
  body:not(.sidebar-collapsed) .sidebar-command .premium-brand .brand-mark{width:42px;height:42px;min-width:42px;border-radius:15px;}
  body:not(.sidebar-collapsed) .sidebar-command .brand-copy strong{font-size:12.5px;line-height:1.12;letter-spacing:-.01em;}
  body:not(.sidebar-collapsed) .sidebar-command .brand-copy em{font-size:10.5px;line-height:1.16;color:rgba(255,255,255,.80);}
  body:not(.sidebar-collapsed) .sidebar-command .brand-copy .brand-kicker{font-size:9px;color:rgba(255,255,255,.70);}

  body:not(.sidebar-collapsed) .sidebar-command .sidebar-company-switch{gap:5px;}
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-company-switch label{font-size:10px;color:rgba(255,255,255,.82);}
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-company-switch select{min-height:40px;border-radius:14px;font-size:12.5px;padding:7px 36px 7px 11px;}

  body:not(.sidebar-collapsed) .sidebar-command .sidebar-quick-actions{gap:6px;}
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-quick-actions a{min-height:34px;border-radius:13px;font-size:10.8px;font-weight:900;letter-spacing:-.01em;box-shadow:0 8px 18px rgba(0,0,0,.12);}

  body:not(.sidebar-collapsed) .sidebar-command nav{
    display:flex;flex-direction:column;gap:5px;
    margin:0;padding:2px 0 10px;overflow:visible;
  }
  body:not(.sidebar-collapsed) .sidebar-command .nav-group{margin:10px 6px 2px;padding-top:2px;border-top:1px solid rgba(255,255,255,.08);}
  body:not(.sidebar-collapsed) .sidebar-command .nav-group:first-child{border-top:0;margin-top:0;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-group span{font-size:9.5px;letter-spacing:.08em;color:rgba(255,255,255,.64);text-transform:uppercase;}

  body:not(.sidebar-collapsed) .sidebar-command nav a,
  body:not(.sidebar-collapsed) .sidebar-command nav a:link,
  body:not(.sidebar-collapsed) .sidebar-command nav a:visited{
    position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;align-items:center;
    min-height:42px;padding:5px 10px;border-radius:14px;
    font-size:12px;line-height:1.12;font-weight:820;letter-spacing:-.01em;
    background:rgba(255,255,255,0);border:1px solid transparent;color:rgba(255,255,255,.88);
    overflow:hidden;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;
  }
  body:not(.sidebar-collapsed) .sidebar-command nav a:hover{background:rgba(255,255,255,.095);border-color:rgba(255,255,255,.14);box-shadow:none;transform:none;color:#fff;}
  body:not(.sidebar-collapsed) .sidebar-command nav a.active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:#fff;}
  body:not(.sidebar-collapsed) .sidebar-command nav a.active:after{display:none;content:none;}
  body:not(.sidebar-collapsed) .sidebar-command nav a.active:before{left:0;top:9px;bottom:9px;width:3px;border-radius:0 99px 99px 0;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{width:30px;min-width:30px;height:30px;border-radius:11px;font-size:12px;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.10);}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{display:block;min-width:0;max-width:100%;padding-right:0;font-size:12px;line-height:1.12;word-break:normal;overflow-wrap:normal;hyphens:manual;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label--single{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label--break{white-space:normal;overflow:hidden;text-overflow:clip;max-height:2.3em;}
  body:not(.sidebar-collapsed) .sidebar-command nav a.has-badge .nav-label{padding-right:17px;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-badge{position:absolute;right:5px;top:5px;transform:none;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:9.5px;line-height:18px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.18);}

  body:not(.sidebar-collapsed) .sidebar-command .sidebar-today{border-radius:17px;padding:9px 10px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-today-title{font-size:11.2px;margin-bottom:6px;}
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-today .sidebar-today-link,
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-today .sidebar-task-open{min-height:32px;border-radius:12px;font-size:10.8px;padding:5px 7px;}
  body:not(.sidebar-collapsed) .sidebar-command .premium-userbox{padding:9px 10px;border-radius:16px;background:rgba(255,255,255,.07);}
  body:not(.sidebar-collapsed) .sidebar-command .premium-userbox strong{font-size:11.8px;}
  body:not(.sidebar-collapsed) .sidebar-command .premium-userbox span,
  body:not(.sidebar-collapsed) .sidebar-command .premium-userbox small{font-size:10px;}
  body:not(.sidebar-collapsed) .sidebar-command .logout{min-height:36px;border-radius:13px;font-size:11.5px;}
}
@media (min-width:1280px){
  :root{--sidebar-w:336px;}
  body:not(.sidebar-collapsed) .sidebar-command nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:stretch;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-group{grid-column:1/-1;}
  body:not(.sidebar-collapsed) .sidebar-command nav a{min-height:43px;padding:5px 7px;grid-template-columns:28px minmax(0,1fr);gap:6px;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{width:28px;min-width:28px;height:28px;font-size:11.5px;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label{font-size:11.6px;}
  body:not(.sidebar-collapsed) .sidebar-command nav a.has-badge .nav-label{padding-right:15px;}
}
@media (min-width:901px) and (max-width:1279px){
  :root{--sidebar-w:286px;}
  body:not(.sidebar-collapsed) .sidebar-command nav{display:flex;flex-direction:column;}
  body:not(.sidebar-collapsed) .sidebar-command nav a{grid-template-columns:31px minmax(0,1fr);padding-left:10px;padding-right:10px;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-label--single{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
@media (min-width:901px) and (max-height:760px){
  body:not(.sidebar-collapsed) .sidebar-command{gap:8px;padding-top:12px;padding-bottom:12px;}
  body:not(.sidebar-collapsed) .sidebar-command .premium-brand{min-height:58px;padding-top:8px;padding-bottom:8px;}
  body:not(.sidebar-collapsed) .sidebar-command .brand-copy em,
  body:not(.sidebar-collapsed) .sidebar-command .brand-copy .brand-kicker,
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-company-switch label,
  body:not(.sidebar-collapsed) .sidebar-command .sidebar-today{display:none;}
  body:not(.sidebar-collapsed) .sidebar-command nav a{min-height:39px;}
  body:not(.sidebar-collapsed) .sidebar-command .nav-ico{height:27px;width:27px;}
}
@media (forced-colors:active){
  body:not(.sidebar-collapsed) .sidebar-command nav{grid-template-columns:1fr;}
  body:not(.sidebar-collapsed) .sidebar-command nav a{border:1px solid CanvasText;}
}

/* V503: allgemeiner UI-Polish ohne Strukturänderung */
.card,.panel,.stat-card,.kpi-card,.license-card,.emailtpl-side-panel,.emailtpl-preview-card{border-color:#d8e0ea;box-shadow:0 8px 24px rgba(15,23,42,.045);}
.card:hover,.panel:hover{box-shadow:0 12px 30px rgba(15,23,42,.06);}
.btn{border-radius:12px;font-weight:850;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;}
.btn:hover{box-shadow:0 4px 14px rgba(15,23,42,.08);transform:translateY(-1px);}
.btn.primary:hover,.btn.accent:hover{box-shadow:0 8px 18px rgba(15,23,42,.13);}
.input,select,textarea{border-color:#d7dee9;border-radius:12px;}
.table{border-color:#d8e0ea;box-shadow:0 6px 20px rgba(15,23,42,.035);}
.table th{font-size:10.5px;letter-spacing:.075em;}
.table td{border-color:#edf1f6;}
.badge{font-size:11.5px;padding:4px 7px;line-height:1.15;}


/* V509 SEPA-Zahlungscode */
.sepa-payment-code{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line,#e5e7eb);border-radius:16px;background:#fff;padding:14px;margin-top:12px;break-inside:avoid;page-break-inside:avoid}
.sepa-payment-code.compact{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:10px;margin-top:10px;background:#fafbfd}
.sepa-payment-qr{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px}
.sepa-payment-qr svg,.sepa-payment-qr img{display:block;width:112px;height:112px;max-width:100%}
.sepa-payment-code.compact .sepa-payment-qr svg,.sepa-payment-code.compact .sepa-payment-qr img{width:74px;height:74px}
.sepa-payment-copy{display:grid;gap:4px;min-width:0;font-size:13px;line-height:1.35;color:#344054}
.sepa-payment-copy strong{font-size:14px;color:#111827}.sepa-payment-copy span,.sepa-payment-copy small{overflow-wrap:anywhere}.sepa-payment-copy small{color:#667085}
.sepa-payment-panel{max-width:820px;margin:16px auto;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:16px;box-shadow:0 16px 42px rgba(17,19,26,.08)}
.sepa-payment-panel[hidden]{display:none}.sepa-payment-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.sepa-payment-panel-head h2{margin:0 0 4px;font-size:20px}.sepa-payment-panel-head p{margin:0}
@media(max-width:640px){.sepa-payment-code{grid-template-columns:1fr;text-align:center}.sepa-payment-panel-head{display:grid}.sepa-payment-panel-head .btn{width:100%;justify-content:center}.sepa-payment-qr svg,.sepa-payment-qr img{width:180px;height:180px;margin:auto}.sepa-payment-code.compact .sepa-payment-qr svg,.sepa-payment-code.compact .sepa-payment-qr img{width:150px;height:150px}}
@media print{.sepa-payment-panel.no-print{display:none}.sepa-payment-code{box-shadow:none}.sepa-payment-code.compact{grid-template-columns:23mm 1fr;gap:3mm;padding:2.5mm;margin-top:3mm}.sepa-payment-code.compact .sepa-payment-qr{padding:1.5mm;border-radius:2mm}.sepa-payment-code.compact .sepa-payment-qr svg,.sepa-payment-code.compact .sepa-payment-qr img{width:20mm;height:20mm}.sepa-payment-code.compact .sepa-payment-copy{font-size:7.5pt;line-height:1.25}.sepa-payment-code.compact .sepa-payment-copy strong{font-size:8pt}}


/* V511: helle Schrift nur bei bewusst dunklem Hintergrund */
.lmcs-on-dark,
.lmcs-on-dark:visited{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.invoice-view-pills-v507 a.active.lmcs-on-dark,
.invoice-view-pills-v507 a.active.lmcs-on-dark:visited{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.invoice-view-pills-v507 a.active.lmcs-on-dark span{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.invoice-instant-transfer-note{
  margin-top:6px;
  font-weight:850;
  color:#111827;
}
.payment-info .invoice-instant-transfer-note{
  padding:8px 10px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}


/* V525: Angebots-Scores laufen immer zweizeilig: Status oben, Prozentwert unten. */
.score-pill-v120{display:inline-grid;grid-template-columns:1fr;gap:2px;min-width:68px;max-width:86px;padding:6px 8px;border-radius:14px;justify-items:center;align-items:center;white-space:normal;line-height:1.08;text-align:center;}
.score-pill-v120 .score-pill-sep-v525{display:none;}
.score-pill-v120 .score-pill-label-v525,.score-pill-v120 .score-pill-score-v525{display:block;min-width:0;overflow-wrap:anywhere;}
.score-pill-v120 .score-pill-score-v525{font-size:11px;letter-spacing:.02em;white-space:nowrap;}

/* V530: Kompakte systemweite Spaltenkopf-Sortierung. */
table.lmcs-sortable-table thead th.lmcs-sortable-th{
  cursor:pointer;
  user-select:none;
}
table.lmcs-sortable-table thead th .lmcs-th-sort-button{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  -webkit-text-fill-color:inherit;
  font:inherit;
  font-weight:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  width:100%;
  min-width:0;
  padding:0;
  margin:0;
  text-align:left;
  cursor:pointer;
}
table.lmcs-sortable-table thead th .lmcs-th-sort-button:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:2px;
  border-radius:6px;
}
table.lmcs-sortable-table thead th .lmcs-th-sort-arrow{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  min-width:1em;
  font-size:.76em;
  line-height:1;
  border:0;
  background:transparent;
  box-shadow:none;
  opacity:.78;
}
table.lmcs-sortable-table thead th[aria-sort="ascending"] .lmcs-th-sort-arrow,
table.lmcs-sortable-table thead th[aria-sort="descending"] .lmcs-th-sort-arrow{
  opacity:1;
  font-weight:900;
}


/* === CLIRO V531: Zahlungsseite mobil repariert + eindeutige Zahlung-CTA === */
.payments-page-v399 .payment-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px;
  width:100%;
  min-width:0;
}
.payments-page-v399 .payment-stats-grid .card.stat{
  position:relative;
  min-height:auto;
  padding:16px;
  padding-left:16px;
  display:grid;
  align-content:center;
  gap:6px;
  overflow:hidden;
}
.payments-page-v399 .payment-stats-grid .card.stat::before{
  display:none;
  content:none;
}
.payments-page-v399 .payment-stats-grid .card.stat .label{
  margin:0;
  font-size:13px;
  line-height:1.28;
  white-space:normal;
  overflow-wrap:anywhere;
  color:#475467;
}
.payments-page-v399 .payment-stats-grid .card.stat .num{
  margin:0;
  max-width:100%;
  font-size:clamp(22px,6.2vw,28px);
  line-height:1.05;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.payments-page-v399 .payment-main-grid,
.payments-page-v399 .payment-form-grid{
  min-width:0;
  max-width:100%;
}
.payments-page-v399 .payment-record-form{
  scroll-margin-top:90px;
}
.payments-page-v399 .payment-record-form:target{
  outline:3px solid rgba(18,57,91,.28);
  outline-offset:4px;
}
@media(max-width:1180px){
  .payments-page-v399 .payment-receipt-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .payments-page-v399 .payment-receipt-row .wide,
  .payments-page-v399 .payment-receipt-row .receipt-actions{
    grid-column:1/-1;
  }
}
@media(max-width:980px){
  .payments-page-v399 .payment-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .payments-page-v399 .payment-main-grid,
  .payments-page-v399 .payment-form-grid{
    grid-template-columns:1fr;
  }
  .payments-page-v399 .payment-record-form,
  .payments-page-v399 .mark-paid-form,
  .payments-page-v399 .mini-form{
    width:100%;
  }
}
@media(max-width:560px){
  .payments-page-v399 .payment-stats-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .payments-page-v399 .payment-stats-grid .card.stat{
    padding:14px 16px;
    border-radius:18px;
  }
  .payments-page-v399 .payment-stats-grid .card.stat .num{
    font-size:24px;
  }
  .payments-page-v399 .payment-receipt-row{
    grid-template-columns:1fr;
  }
}

/* V533: Leistungsbeschreibung direkt unter der jeweiligen Position */
.pos-table-compact .position-desc-row td{padding-top:0;border-bottom:1px solid #e1e5ee;background:#fff}
.pos-table-compact .position-desc-inline{margin:0;padding:0 0 4px;color:#334155;font-size:12px;line-height:1.55}
.pos-table-compact .position-desc-inline>*:first-child{margin-top:0}
.pos-table-compact .position-desc-inline>*:last-child{margin-bottom:0}
.pos-table-compact .position-main-row.has-desc td{border-bottom:0;padding-bottom:6px}
@media(max-width:768px){
  .pos-table-compact .position-desc-row td{display:block;width:100%;padding:0 12px 12px}
  .pos-table-compact .position-desc-row td:before{content:"";display:none}
  .pos-table-compact .position-desc-inline{font-size:12.5px;line-height:1.55}
}

/* V545: Zahlungsplanung neben Zahlungscode */
.payment-code-plan-row{
  display:grid;
  grid-template-columns:minmax(250px,1.05fr) minmax(190px,.95fr);
  gap:12px;
  align-items:stretch;
  margin-top:12px;
  break-inside:avoid;
  page-break-inside:avoid;
}
.payment-code-plan-row.compact{
  grid-template-columns:minmax(0,1.08fr) minmax(38mm,.92fr);
  gap:3mm;
  margin-top:3mm;
}
.payment-code-plan-row .sepa-payment-code,
.payment-code-plan-row .payment-public-note{
  margin:0;
  max-width:none;
  height:100%;
  box-sizing:border-box;
}
.payment-code-plan-row .payment-public-note-inline{
  display:block;
  border-left:4px solid var(--brand-primary,#123B5D);
  background:#F8FAFC;
}
.payment-code-plan-row .payment-plan-sub{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:12px;
  font-weight:700;
}
.payment-code-plan-row .payment-plan-lines{
  display:grid;
  gap:3px;
  margin-top:8px;
  font-size:12.5px;
}
.payment-code-plan-row .payment-public-note ul{
  margin-top:8px;
}
@media(max-width:760px){
  .payment-code-plan-row,
  .payment-code-plan-row.compact{
    grid-template-columns:1fr;
  }
}
@media print{
  .payment-code-plan-row.compact{
    grid-template-columns:minmax(0,1fr) minmax(35mm,.85fr);
    gap:2.5mm;
    margin-top:2.5mm;
  }
  .payment-code-plan-row .payment-public-note-inline{
    font-size:7.4pt;
    line-height:1.28;
    padding:2.2mm;
    border-radius:2mm;
    border-left-width:1mm;
  }
  .payment-code-plan-row .payment-plan-sub{
    font-size:6.9pt;
    line-height:1.2;
  }
  .payment-code-plan-row .payment-plan-lines{
    font-size:7pt;
    line-height:1.25;
    gap:1mm;
  }
  .payment-code-plan-row .payment-public-note ul{
    margin:1.5mm 0 0 3mm;
    padding:0;
  }
}


/* V563: Mobile-Hauptnavigation nicht mehr als horizontale Slidebar, sondern als Aufklappmenü. */
.sidebar-mobile-nav-toggle{
  display:none;
}
@media (max-width:900px){
  body.lmcs-mobile-nav-ready .sidebar-command .sidebar-mobile-nav-toggle{
    all:unset;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    min-height:44px;
    padding:9px 12px;
    border-radius:16px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-size:13px;
    font-weight:950;
    line-height:1.15;
    cursor:pointer;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  body.lmcs-mobile-nav-ready .sidebar-command .sidebar-mobile-nav-toggle:before{
    content:'☰';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    min-width:26px;
    height:26px;
    border-radius:10px;
    background:rgba(0,0,0,.16);
    color:#fff;
    font-size:14px;
  }
  body.lmcs-mobile-nav-ready .sidebar-command .sidebar-mobile-nav-toggle:after{
    content:'▾';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    min-width:22px;
    height:22px;
    border-radius:8px;
    color:#fff;
    transform:rotate(0deg);
    transition:transform .16s ease;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command .sidebar-mobile-nav-toggle:after{
    transform:rotate(180deg);
  }
  body.lmcs-mobile-nav-ready .sidebar-command .sidebar-mobile-nav-toggle-label{
    display:block;
    min-width:0;
    flex:1 1 auto;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.lmcs-mobile-nav-ready:not(.lmcs-mobile-nav-open) .sidebar-command nav#primary-navigation{
    display:none;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    width:100%;
    max-height:min(68vh,560px);
    overflow-y:auto;
    overflow-x:hidden;
    white-space:normal;
    margin:0;
    padding:8px;
    border-radius:18px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 16px 34px rgba(0,0,0,.18);
    -webkit-overflow-scrolling:touch;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation::-webkit-scrollbar{
    width:7px;
    height:7px;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.28);
    border-radius:99px;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-group{
    display:block;
    margin:8px 6px 2px;
    padding:0;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-group:first-child{
    margin-top:2px;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-group span{
    display:block;
    color:rgba(255,255,255,.68);
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation a,
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation a:link,
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation a:visited{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    width:100%;
    min-height:42px;
    padding:7px 10px;
    border-radius:14px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
    color:#fff;
    font-size:13px;
    font-weight:900;
    white-space:normal;
    text-decoration:none;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation a.active{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.24);
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-ico{
    width:28px;
    height:28px;
    border-radius:11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.16);
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-label{
    min-width:0;
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.lmcs-mobile-nav-ready.lmcs-mobile-nav-open .sidebar-command nav#primary-navigation .nav-badge{
    min-width:22px;
    height:22px;
    padding:0 6px;
  }
}

/* V566: Update-Plan für Abo-Rechnungen */
.invoice-update-plan-v566{
  max-width:980px;
  margin:20px auto 0;
  border-radius:28px;
  border:1px solid rgba(37,99,235,.16);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 22px 58px rgba(15,23,42,.09);
  overflow:hidden;
}
.invoice-update-plan-v566 .panel-headline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.invoice-update-plan-v566 h2{margin:0;font-size:24px;letter-spacing:-.035em;color:#0f172a}
.invoice-update-form-v566{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
.invoice-update-form-v566.compact{grid-template-columns:170px minmax(0,1fr) auto;margin-top:10px;box-shadow:none;background:#f8fafc}
.invoice-update-form-v566 .field{margin:0;min-width:0}
.invoice-update-form-v566 .field-wide{min-width:0}
.invoice-update-form-v566 textarea{resize:vertical;min-height:74px}
.invoice-update-list-v566{display:grid;gap:12px;margin-top:16px}
.invoice-update-entry-v566{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  padding:15px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#fff;
}
.invoice-update-entry-date-v566 strong{display:block;color:#1d4ed8;font-size:14px}
.invoice-update-entry-date-v566 small{display:block;color:#64748b;font-weight:800;margin-top:4px;word-break:break-word}
.invoice-update-entry-text-v566{min-width:0;color:#0f172a;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.invoice-update-edit-v566{grid-column:1/-1;margin-top:2px}
.invoice-update-edit-v566 summary{cursor:pointer;color:#2563eb;font-weight:900;font-size:13px}
@media(max-width:780px){
  .invoice-update-plan-v566{border-radius:22px;margin-top:16px}
  .invoice-update-plan-v566 .panel-headline{display:grid;grid-template-columns:1fr}
  .invoice-update-form-v566,.invoice-update-form-v566.compact{grid-template-columns:1fr;align-items:stretch;padding:12px}
  .invoice-update-entry-v566{grid-template-columns:1fr;padding:13px}
}


/* V567: bessere Update-Rotation für Abo-Rechnungen */
.invoice-update-plan-v567 .invoice-update-head-v567{align-items:flex-start}
.invoice-update-head-actions-v567{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.invoice-update-rotation-v567{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.invoice-update-rotation-v567>div{padding:13px 14px;border-radius:18px;border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#eff6ff);min-width:0}
.invoice-update-rotation-v567 span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:4px}
.invoice-update-rotation-v567 strong{display:block;color:#0f172a;line-height:1.2;overflow-wrap:anywhere}
.invoice-update-form-v567{grid-template-columns:150px 190px minmax(0,1fr) auto}
.invoice-update-form-v567.compact{grid-template-columns:145px 190px minmax(0,1fr) auto}
.invoice-update-cat-v567,.update-plan-cat-v567{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:8px;padding:5px 8px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:11px;font-weight:950;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.update-plan-overview-hero-v567{background:radial-gradient(circle at 100% 0,rgba(37,99,235,.12),transparent 32%),linear-gradient(135deg,#fff,#f8fbff);border:1px solid rgba(37,99,235,.12);box-shadow:0 24px 62px rgba(15,23,42,.08);border-radius:30px;overflow:hidden}
.update-plan-overview-hero-v567 h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.05em;line-height:1.04;margin:0}
.update-plan-kpis-v567{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:min(100%,360px)}
.update-plan-kpis-v567>div{padding:14px;border-radius:20px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 28px rgba(15,23,42,.055)}
.update-plan-kpis-v567 strong{display:block;color:#0f172a;font-size:24px;line-height:1;letter-spacing:-.04em}
.update-plan-kpis-v567 span{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.update-plan-rotation-card-v567,.update-plan-table-panel-v567{border-radius:28px;box-shadow:0 18px 46px rgba(15,23,42,.07);border:1px solid #e2e8f0;overflow:hidden}
.update-plan-rotation-strip-v567{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.update-plan-rotation-strip-v567 span{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-weight:950;font-size:12px}
.update-plan-table-wrap-v567{overflow-x:auto;max-width:100%}
.update-plan-table-v567{min-width:980px;table-layout:fixed}
.update-plan-table-v567 th:nth-child(1),.update-plan-table-v567 td:nth-child(1){width:22%}
.update-plan-table-v567 th:nth-child(2),.update-plan-table-v567 td:nth-child(2){width:20%}
.update-plan-table-v567 th:nth-child(3),.update-plan-table-v567 td:nth-child(3){width:24%}
.update-plan-table-v567 th:nth-child(4),.update-plan-table-v567 td:nth-child(4){width:16%}
.update-plan-table-v567 th:nth-child(5),.update-plan-table-v567 td:nth-child(5){width:18%}
.update-plan-table-v567 td{vertical-align:top;overflow-wrap:anywhere}
.update-plan-note-preview-v567{line-height:1.35;margin-top:4px}
.update-plan-next-v567{display:inline-flex;padding:7px 10px;border-radius:999px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-size:12px;font-weight:950;line-height:1.1}
.update-plan-quick-v567{display:inline-block;margin:0 7px 7px 0;position:relative}
.update-plan-quick-v567>summary{list-style:none;cursor:pointer}.update-plan-quick-v567>summary::-webkit-details-marker{display:none}
.update-plan-quick-form-v567{position:absolute;right:0;z-index:20;margin-top:8px;width:min(420px,calc(100vw - 36px));padding:14px;border-radius:20px;border:1px solid #dbeafe;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.18);display:grid;gap:10px;text-align:left}
.update-plan-quick-form-v567 label{display:grid;gap:5px;color:#334155;font-size:12px;font-weight:900}
.update-plan-quick-form-v567 textarea{resize:vertical;min-height:80px}.block{display:block}.muted-badge{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
@media(max-width:780px){
  .invoice-update-rotation-v567,.update-plan-kpis-v567{grid-template-columns:1fr}
  .invoice-update-form-v567,.invoice-update-form-v567.compact{grid-template-columns:1fr}
  .update-plan-overview-hero-v567 .section-title-row{display:grid;grid-template-columns:1fr}
  .update-plan-table-v567{min-width:0;display:block}.update-plan-table-v567 thead{display:none}.update-plan-table-v567 tbody,.update-plan-table-v567 tr,.update-plan-table-v567 td{display:block;width:100%}.update-plan-table-v567 tr{border:1px solid #e2e8f0;border-radius:20px;padding:10px;margin-bottom:12px;background:#fff}.update-plan-table-v567 td{border:0;padding:9px 6px}.update-plan-table-v567 td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950;margin-bottom:4px}.update-plan-quick-form-v567{position:static;width:100%;box-shadow:0 12px 32px rgba(15,23,42,.11)}
}

/* V568: Update-Rotation als eigener Bereich mit Filtern und logischen Feldern */
.update-plan-overview-hero-v568 .section-title-row{align-items:center}
.update-plan-workspace-v568,.update-plan-filter-panel-v568,.update-plan-table-panel-v568,.update-plan-log-panel-v568,.update-plan-rotation-card-v568{border-radius:28px;border:1px solid #e2e8f0;box-shadow:0 18px 46px rgba(15,23,42,.07);overflow:hidden}
.update-plan-main-form-v568{display:grid;grid-template-columns:minmax(260px,1.3fr) 160px 220px minmax(320px,2fr) auto;gap:12px;align-items:end;padding:14px;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbeafe}
.update-plan-main-form-v568 .field{display:grid;gap:6px;margin:0;min-width:0;color:#334155;font-size:12px;font-weight:900}
.update-plan-main-form-v568 .field span{display:block;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.update-plan-main-form-v568 textarea{resize:vertical;min-height:78px}
.update-plan-main-actions-v568{display:flex;align-items:end;justify-content:flex-start;min-width:0}
.update-plan-filter-grid-v568{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr 150px 150px auto;gap:12px;align-items:end;margin:0}
.update-plan-filter-grid-v568 label{display:grid;gap:6px;min-width:0;color:#334155;font-size:12px;font-weight:900}
.update-plan-filter-grid-v568 label span{display:block;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.update-plan-filter-actions-v568{display:flex;align-items:end}
.update-plan-table-v568{min-width:1120px;table-layout:fixed}
.update-plan-table-v568 th:nth-child(1),.update-plan-table-v568 td:nth-child(1){width:12%}
.update-plan-table-v568 th:nth-child(2),.update-plan-table-v568 td:nth-child(2){width:20%}
.update-plan-table-v568 th:nth-child(3),.update-plan-table-v568 td:nth-child(3){width:18%}
.update-plan-table-v568 th:nth-child(4),.update-plan-table-v568 td:nth-child(4){width:24%}
.update-plan-table-v568 th:nth-child(5),.update-plan-table-v568 td:nth-child(5){width:16%}
.update-plan-table-v568 th:nth-child(6),.update-plan-table-v568 td:nth-child(6){width:10%}
.update-plan-status-v568{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950;line-height:1.1;border:1px solid transparent;white-space:normal;text-align:center}
.update-plan-status-v568.ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.update-plan-status-v568.warn{background:#fffbeb;color:#92400e;border-color:#fde68a}
.update-plan-status-v568.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.update-plan-log-table-v568{min-width:1120px;table-layout:fixed}
.update-plan-log-table-v568 th:nth-child(1),.update-plan-log-table-v568 td:nth-child(1){width:12%}
.update-plan-log-table-v568 th:nth-child(2),.update-plan-log-table-v568 td:nth-child(2){width:13%}
.update-plan-log-table-v568 th:nth-child(3),.update-plan-log-table-v568 td:nth-child(3){width:20%}
.update-plan-log-table-v568 th:nth-child(4),.update-plan-log-table-v568 td:nth-child(4){width:15%}
.update-plan-log-table-v568 th:nth-child(5),.update-plan-log-table-v568 td:nth-child(5){width:30%}
.update-plan-log-table-v568 th:nth-child(6),.update-plan-log-table-v568 td:nth-child(6){width:10%}
.update-plan-log-note-v568{white-space:normal;overflow-wrap:anywhere;line-height:1.45;color:#0f172a}
.update-plan-log-edit-v568{position:relative;display:inline-block}
.update-plan-log-edit-v568>summary{list-style:none;cursor:pointer}.update-plan-log-edit-v568>summary::-webkit-details-marker{display:none}
.update-plan-log-edit-form-v568{right:0}
@media(max-width:1180px){
  .update-plan-main-form-v568{grid-template-columns:1fr 150px 210px}.update-plan-main-form-v568 .note,.update-plan-main-actions-v568{grid-column:1/-1}
  .update-plan-filter-grid-v568{grid-template-columns:repeat(3,minmax(0,1fr))}.update-plan-filter-actions-v568{grid-column:1/-1}
}
@media(max-width:780px){
  .update-plan-main-form-v568,.update-plan-filter-grid-v568{grid-template-columns:1fr;padding:12px}.update-plan-main-form-v568 .note,.update-plan-main-actions-v568,.update-plan-filter-actions-v568{grid-column:auto}
  .update-plan-table-v568,.update-plan-log-table-v568{min-width:0;display:block}.update-plan-table-v568 thead,.update-plan-log-table-v568 thead{display:none}.update-plan-table-v568 tbody,.update-plan-table-v568 tr,.update-plan-table-v568 td,.update-plan-log-table-v568 tbody,.update-plan-log-table-v568 tr,.update-plan-log-table-v568 td{display:block;width:100%}.update-plan-table-v568 tr,.update-plan-log-table-v568 tr{border:1px solid #e2e8f0;border-radius:20px;padding:10px;margin-bottom:12px;background:#fff}.update-plan-table-v568 td,.update-plan-log-table-v568 td{border:0;padding:9px 6px}.update-plan-table-v568 td:before,.update-plan-log-table-v568 td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950;margin-bottom:4px}.update-plan-log-edit-v568,.update-plan-log-edit-v568>summary{width:100%}.update-plan-log-edit-form-v568{position:static;width:100%;box-shadow:0 12px 32px rgba(15,23,42,.11)}
}

/* V569: Update-Rotation deaktivierbar, eigene Rechte und Aktionsbuttons statt Dropdown */
.update-plan-action-field-v569{min-width:0}
.update-plan-action-buttons-v569{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.update-plan-action-btn-v569{appearance:none;border:1px solid #dbeafe;background:#fff;color:#1e3a8a;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:950;line-height:1.05;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.045);transition:.16s ease;white-space:normal;text-align:left}
.update-plan-action-btn-v569:hover,.update-plan-action-btn-v569:focus-visible{border-color:#2563eb;background:#eff6ff;outline:none;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.update-plan-action-btn-v569.active{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 12px 24px rgba(37,99,235,.22)}
.update-plan-main-form-v568{grid-template-columns:minmax(260px,1.25fr) 150px minmax(360px,1.75fr) minmax(300px,1.4fr) auto}
.invoice-update-form-v569{grid-template-columns:150px minmax(320px,1.35fr) minmax(260px,1fr) auto}
.invoice-update-form-v569.compact{grid-template-columns:145px minmax(300px,1.3fr) minmax(260px,1fr) auto}
.update-plan-log-edit-form-v568 .update-plan-action-buttons-v569{max-width:100%}
.update-plan-log-edit-form-v568 .update-plan-action-btn-v569{font-size:11px;padding:8px 10px}
@media(max-width:1180px){
  .update-plan-main-form-v568{grid-template-columns:1fr 150px}.update-plan-main-form-v568 .update-plan-action-field-v569,.update-plan-main-form-v568 .note,.update-plan-main-actions-v568{grid-column:1/-1}
  .invoice-update-form-v569,.invoice-update-form-v569.compact{grid-template-columns:1fr}
}
@media(max-width:780px){
  .update-plan-action-buttons-v569{gap:7px}.update-plan-action-btn-v569{width:100%;justify-content:flex-start;text-align:left}
}

/* V570: Zahlungseingänge rechte Spalte robuster + Bankverbindungen */
.payment-main-grid{align-items:start;}
.payment-main-grid>section{min-width:0;}
.payment-history-list,.payment-history-list *{box-sizing:border-box;}
.payment-receipt-row{
  grid-template-columns:minmax(120px,.9fr) minmax(110px,.75fr) minmax(150px,1fr) minmax(190px,1.25fr);
  gap:12px;
  align-items:end;
  overflow:visible;
}
.payment-receipt-row label{min-width:0;overflow-wrap:anywhere;}
.payment-receipt-row .input{min-width:0;width:100%;max-width:100%;}
.payment-receipt-row label.payment-overpay-toggle{
  grid-column:1 / 4;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  white-space:normal;
  line-height:1.35;
  padding-top:2px;
}
.payment-receipt-row label.payment-overpay-toggle input{width:auto;flex:0 0 auto;}
.payment-receipt-row .receipt-actions{grid-column:4;justify-content:flex-end;align-self:center;}
.receipt-delete-form{margin-top:8px;justify-content:flex-end;}
@media(max-width:1280px){
  .payment-main-grid{grid-template-columns:1fr;}
  .payment-receipt-row{grid-template-columns:minmax(120px,.8fr) minmax(110px,.7fr) minmax(150px,1fr) minmax(190px,1.2fr);}
}
@media(max-width:760px){
  .payment-receipt-row{grid-template-columns:1fr 1fr;}
  .payment-receipt-row .wide,.payment-receipt-row label.payment-overpay-toggle,.payment-receipt-row .receipt-actions{grid-column:1 / -1;}
  .payment-receipt-row .receipt-actions,.receipt-delete-form{justify-content:stretch;}
  .payment-receipt-row .receipt-actions .btn,.receipt-delete-form .btn{width:100%;}
}
@media(max-width:460px){.payment-receipt-row{grid-template-columns:1fr;}}

.bank-accounts-settings{display:block;}
.bank-account-list{display:grid;gap:12px;margin:10px 0 12px;}
.bank-account-row{display:grid;grid-template-columns:110px repeat(2,minmax(160px,1fr));gap:10px;align-items:end;border:1px solid var(--line,#d8dde7);border-radius:16px;background:#fff;padding:12px;}
.bank-account-row>.field{margin:0;min-width:0;}
.bank-account-row .bank-name-field{grid-column:2 / -1;}
.bank-default-radio{display:flex;align-items:center;gap:8px;font-weight:900;color:#102033;margin-bottom:12px;}
.bank-default-radio input{width:auto;}
@media(max-width:900px){.bank-account-row{grid-template-columns:1fr 1fr}.bank-default-radio,.bank-account-row .bank-name-field{grid-column:1/-1}}
@media(max-width:560px){.bank-account-row{grid-template-columns:1fr}}

/* V575: Zahlungsarten im öffentlichen Rechnungsportal */
.payment-methods-panel{max-width:1120px;margin:22px auto;padding:22px;border:1px solid #d9e2ec;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.08);box-sizing:border-box}
.payment-methods-panel *{box-sizing:border-box}
.payment-methods-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.payment-methods-head h2{margin:0;color:#0f172a;font-size:clamp(22px,2.4vw,30px);line-height:1.15}
.payment-methods-head p{margin:6px 0 0;color:#475569;line-height:1.55}
.payment-methods-head>strong{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#0f172a;white-space:nowrap}
.payment-method-list{display:grid;gap:12px}
.payment-method-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 17px;border:1px solid #d8e1eb;border-radius:16px;background:#fbfdff}
.payment-method-card h3{margin:0;color:#0f172a;font-size:17px;line-height:1.3}
.payment-method-card p{margin:5px 0 0;color:#526174;line-height:1.5}
.payment-method-button{min-width:150px;justify-content:center}
.payment-methods-panel .btn.primary,.payment-methods-panel .btn.primary:visited,.payment-methods-panel .btn.primary:hover,.payment-methods-panel .btn.primary:focus,.payment-methods-panel .btn.primary:active{color:#fff}
.bank-payment-method{display:block;padding:0;overflow:hidden}
.bank-payment-method summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:15px 17px;cursor:pointer;list-style:none}
.bank-payment-method summary::-webkit-details-marker{display:none}
.bank-payment-method summary span:first-child{min-width:0}
.bank-payment-method summary strong,.bank-payment-method summary small{display:block}
.bank-payment-method summary small{margin-top:4px;color:#526174;line-height:1.45}
.payment-method-open{flex:0 0 auto;color:#164e83;font-weight:800}
.bank-payment-method[open] summary{border-bottom:1px solid #d8e1eb;background:#f8fafc}
.bank-payment-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 17px}
.bank-payment-details>div:not(.bank-payment-qr){display:grid;gap:3px;min-width:0;padding:11px 12px;border:1px solid #e1e7ef;border-radius:12px;background:#fff}
.bank-payment-details span{color:#526174;font-size:12px;font-weight:750}
.bank-payment-details strong{color:#0f172a;overflow-wrap:anywhere}
.bank-payment-qr{grid-column:1/-1;padding-top:4px}
.bank-payment-qr .sepa-payment-code{margin:0}
.payment-methods-panel :focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
@media(max-width:720px){.payment-methods-panel{margin:16px 10px;padding:17px}.payment-methods-head{display:grid}.payment-methods-head>strong{justify-self:start}.payment-method-card{grid-template-columns:1fr}.payment-method-button{width:100%}.bank-payment-method summary{align-items:flex-start}.bank-payment-details{grid-template-columns:1fr}.bank-payment-qr{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.payment-methods-panel *{animation:none;transition:none;scroll-behavior:auto}}

/* V576: Aktiver Filter in Zahlungseingängen muss auf dunklem Hintergrund weiß lesbar bleiben.
   Die hohe Spezifität überschreibt bewusst die globale A11y-Linkfarbe aus V304. */
.payment-page .status-tabs a[aria-current="page"],
.payment-page .status-tabs a[aria-current="page"]:link,
.payment-page .status-tabs a[aria-current="page"]:visited,
.payment-page .status-tabs a[aria-current="page"]:hover,
.payment-page .status-tabs a[aria-current="page"]:focus,
.payment-page .status-tabs a[aria-current="page"]:active {
  background:#145da0;
  border-color:#145da0;
  color:#fff;
  -webkit-text-fill-color:#fff;
  text-decoration:none;
}
.payment-page .status-tabs a[aria-current="page"]:hover,
.payment-page .status-tabs a[aria-current="page"]:focus-visible {
  background:#0b477d;
  border-color:#0b477d;
  color:#fff;
  -webkit-text-fill-color:#fff;
}


/* V578: lange deutsche Navigationsbegriffe an definierten Wortgrenzen umbrechen. */
body:not(.sidebar-collapsed) .sidebar-command .nav-label--break{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  max-height:none;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:manual;
  line-height:1.14;
}
body:not(.sidebar-collapsed) .sidebar-command nav a:has(.nav-label--break){
  min-height:48px;
  align-items:center;
}

/* V580: Statushinweis für den verschlüsselten OCR-Fallback über den CLIRO-Lizenzserver. */
.receipt-cloud-note-v580{display:flex;align-items:flex-start;gap:10px;margin:12px 0 0;padding:11px 13px;border:1px solid #cfe0ff;border-radius:12px;background:#f5f9ff;color:#19324d}
.receipt-cloud-note-v580>span:first-child{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:#e4efff;color:#1556a8;font-size:15px;font-weight:800}
.receipt-cloud-note-v580>span:last-child{display:grid;gap:2px;min-width:0}
.receipt-cloud-note-v580 strong{font-size:13px;line-height:1.3}
.receipt-cloud-note-v580 small{font-size:12px;line-height:1.45;color:#52677c}
.receipt-cloud-note-v580.is-warning{border-color:#f1d6a7;background:#fff9ed;color:#5f3c05}
.receipt-cloud-note-v580.is-warning>span:first-child{background:#ffedc7;color:#7a4a00}
.receipt-cloud-note-v580.is-warning small{color:#6f5a38}
@media (prefers-contrast:more){.receipt-cloud-note-v580{border-width:2px}.receipt-cloud-note-v580 small{color:inherit}}

/* V583: global search, action center and shared operational components */
.global-search-trigger-v583{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 11px;border:1px solid rgba(18,57,91,.16);border-radius:14px;background:#fff;color:#12395b;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.055)}
.global-search-trigger-v583:hover{border-color:#8fa8bd;background:#f8fbff}.global-search-trigger-v583:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.global-search-trigger-v583>span:first-child{font-size:21px;line-height:1}.global-search-trigger-v583 kbd{padding:4px 7px;border:1px solid #d8e1ea;border-bottom-width:2px;border-radius:8px;background:#f8fafc;color:#64748b;font:800 11px/1 system-ui}
.global-search-overlay-v583{position:fixed;inset:0;z-index:100000;display:none;align-items:flex-start;justify-content:center;padding:8vh 16px 20px;background:rgba(3,12,28,.64);backdrop-filter:blur(8px)}.global-search-overlay-v583.is-open{display:flex}.global-search-dialog-v583{width:min(760px,100%);max-height:min(760px,84vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:26px;background:#fff;box-shadow:0 36px 110px rgba(0,0,0,.34)}.global-search-head-v583{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #e7edf3}.global-search-icon-v583{font-size:25px;color:#12395b}.global-search-input-v583{flex:1;min-width:0;height:50px;border:0;outline:0;background:transparent;font-size:20px;font-weight:780;color:#0f172a}.global-search-close-v583{width:42px;height:42px;border:1px solid #dbe3ec;border-radius:13px;background:#f8fafc;color:#344054;cursor:pointer;font-size:19px}.global-search-help-v583{display:flex;gap:14px;flex-wrap:wrap;padding:10px 17px;border-bottom:1px solid #edf1f5;color:#667085;font-size:12px;font-weight:780}.global-search-help-v583 kbd{padding:3px 6px;border:1px solid #d8e1ea;border-radius:6px;background:#fff}.global-search-results-v583{overflow:auto;padding:10px}.global-search-empty-v583{padding:38px 18px;text-align:center;color:#667085}.global-search-item-v583{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid transparent;border-radius:17px;color:inherit;text-decoration:none}.global-search-item-v583:hover,.global-search-item-v583.is-active{background:#eef5fb;border-color:#cbdbea}.global-search-item-icon-v583{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#12395b;color:#fff;font-weight:950}.global-search-item-v583 strong{display:block;color:#0f172a;font-size:15px}.global-search-item-v583 small{display:block;margin-top:3px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-item-type-v583{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:900}.global-search-live-v583{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.action-center-v583{margin:0 0 18px;padding:22px;border:1px solid #dbe3ec;border-radius:28px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 16px 42px rgba(15,23,42,.07)}.action-center-head-v583{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.action-center-head-v583 .eyebrow{margin:0 0 5px;color:#475467;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.action-center-head-v583 h2{margin:0;color:#0f172a;font-size:27px;letter-spacing:-.04em}.action-center-head-v583 p{margin:5px 0 0;color:#667085}.action-center-grid-v583{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.action-card-v583{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:15px;border:1px solid #e1e7ee;border-radius:19px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(15,23,42,.045)}.action-card-v583:hover{transform:translateY(-1px);border-color:#aabccb;box-shadow:0 13px 28px rgba(15,23,42,.08)}.action-card-icon-v583{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:13px;background:#e9f1f8;color:#12395b;font-weight:950}.action-card-v583.severity-high .action-card-icon-v583{background:#fef3f2;color:#b42318}.action-card-v583.severity-medium .action-card-icon-v583{background:#fffaeb;color:#b54708}.action-card-body-v583{min-width:0}.action-card-body-v583 strong{display:block;color:#0f172a;line-height:1.28}.action-card-body-v583 small{display:block;margin-top:4px;color:#667085;line-height:1.35}.action-card-body-v583>span{display:block;margin-top:9px;color:#12395b;font-size:12px;font-weight:900}.action-center-empty-v583{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #b7e4cc;border-radius:18px;background:#ecfdf3;color:#067647}.action-center-empty-v583>span{display:grid;place-items:center;width:38px;height:38px;border-radius:99px;background:#fff;font-size:20px;font-weight:950}.action-center-empty-v583 strong,.action-center-empty-v583 small{display:block}.action-center-empty-v583 small{margin-top:2px;color:#067647}
@media(max-width:1200px){.action-center-grid-v583{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search-trigger-label-v583{display:none}}
@media(max-width:700px){.global-search-trigger-v583 kbd{display:none}.global-search-overlay-v583{padding:12px}.global-search-dialog-v583{max-height:calc(100vh - 24px);border-radius:21px}.action-center-v583{padding:16px;border-radius:22px}.action-center-head-v583{display:block}.action-center-head-v583>.btn{margin-top:12px}.action-center-grid-v583{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.action-card-v583{transition:none}.action-card-v583:hover{transform:none}}
.receipt-rescan-actions-v583{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.receipt-rescan-actions-v583 form{margin:0}

/* CLIRO V598 – einheitliche Design-Tokens und Basiskomponenten */
:root{
  --clu-space-1:4px;--clu-space-2:8px;--clu-space-3:12px;--clu-space-4:16px;--clu-space-5:20px;--clu-space-6:24px;
  --clu-radius-sm:10px;--clu-radius-md:14px;--clu-radius-lg:20px;--clu-radius-xl:24px;
  --clu-control-height:44px;--clu-focus:0 0 0 3px rgba(255,191,71,.72);
  --clu-surface:#fff;--clu-surface-soft:#f7f9fc;--clu-border:#d8e1eb;--clu-text:#172033;--clu-muted:#667085;
  --clu-success:#067647;--clu-warning:#92400e;--clu-danger:#b42318;--clu-info:#175cd3;
}
.clu-card{border:1px solid var(--clu-border);border-radius:var(--clu-radius-lg);background:var(--clu-surface);padding:var(--clu-space-5);box-shadow:0 12px 30px rgba(16,24,40,.05)}
.clu-stack{display:grid;gap:var(--clu-space-4)}.clu-cluster{display:flex;align-items:center;gap:var(--clu-space-3);flex-wrap:wrap}.clu-muted{color:var(--clu-muted)}
.clu-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:850;background:#eef2f6;color:#344054}
.clu-badge.is-success{background:#ecfdf3;color:var(--clu-success)}.clu-badge.is-warning{background:#fffaeb;color:var(--clu-warning)}.clu-badge.is-danger{background:#fff1f3;color:var(--clu-danger)}.clu-badge.is-info{background:#eff8ff;color:var(--clu-info)}
.clu-empty{display:grid;place-items:center;min-height:180px;padding:var(--clu-space-6);border:1px dashed var(--clu-border);border-radius:var(--clu-radius-lg);background:var(--clu-surface-soft);color:var(--clu-muted);text-align:center}
.btn,.input,button,select,textarea{min-height:var(--clu-control-height)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:0;box-shadow:var(--clu-focus)}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.btn,.input,button,select,textarea{transition:none}}


/* V601 systemweite Kontrast- und Responsive-Basis */
*,*::before,*::after{box-sizing:border-box}html,body{max-width:100%;min-width:0}img,video,picture,svg,canvas{max-width:100%;height:auto}.btn.primary,.btn.primary:link,.btn.primary:visited,.btn.primary:hover,.btn.primary:focus,.btn.primary:active{color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}.table-scroll,.table-wrap,[class*="table-wrap"],[class*="table-scroll"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:760px){.main{padding-inline:10px}.main table:not(.no-responsive-table){max-width:100%}}


/* V602: systemweite Weißschrift auf tatsächlich dunklen Oberflächen.
   V702.13c: Klasse verdoppelt (.clu-on-dark-v602.clu-on-dark-v602), damit die Regel
   auch Light--Komponentenfarben (z. B. .cockpit-card-v122 strong #0f172a)
   schlaegt. Sonst liefen color (dunkel) und -webkit-text-fill-color (weiss) auseinander:
   visuell ok, aber WAVE/axe lesen color und melden Kontrastfehler ~1,05:1. */
.clu-on-dark-v602.clu-on-dark-v602{color:#fff;-webkit-text-fill-color:#fff}
.clu-on-dark-v602.clu-on-dark-v602::placeholder{color:rgba(255,255,255,.76);-webkit-text-fill-color:rgba(255,255,255,.76);opacity:1}
.clu-on-dark-v602.clu-on-dark-v602:disabled,.clu-on-dark-v602.clu-on-dark-v602[aria-disabled="true"]{color:rgba(255,255,255,.72);-webkit-text-fill-color:rgba(255,255,255,.72)}
:where(.sidebar,.sidebar-command,.task-notification-dialog,.surface-dark,.dark-surface,.bg-dark,[data-surface="dark"]) :where(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,a,button,li,dt,dd,summary,th,td,code,kbd,samp){color:#fff;-webkit-text-fill-color:#fff}
:where(.sidebar,.sidebar-command,.task-notification-dialog,.surface-dark,.dark-surface,.bg-dark,[data-surface="dark"]) a:visited{color:#fff;-webkit-text-fill-color:#fff}

/* CLIRO V608 – einheitliche Qualitäts- und Layoutgrundlagen */
:root{
  --clu-control-min-height:44px;
  --clu-card-radius:20px;
  --clu-panel-gap:18px;
  --clu-focus-ring:0 0 0 3px rgba(37,99,235,.32);
  --clu-dark-bg:#0f172a;
  --clu-dark-text:#fff;
}
.clu-card-v608{min-width:0;border:1px solid var(--line,#dfe5ec);border-radius:var(--clu-card-radius);background:var(--panel,#fff);padding:clamp(16px,2vw,24px)}
.clu-toolbar-v608{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}
.clu-toolbar-v608>*{min-width:0}
.clu-table-wrap-v608{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.clu-table-wrap-v608 table{width:100%;min-width:640px}
.clu-stack-v608{display:grid;gap:var(--clu-panel-gap);min-width:0}
.clu-on-dark-v608,.clu-on-dark-v608 :is(a,button,strong,span,small,label,h1,h2,h3,h4,p){color:var(--clu-dark-text);-webkit-text-fill-color:var(--clu-dark-text)}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid transparent;box-shadow:var(--clu-focus-ring)}
@media(max-width:720px){
  .clu-toolbar-v608{align-items:stretch}
  .clu-toolbar-v608>.btn,.clu-toolbar-v608>form,.clu-toolbar-v608>form>.btn{width:100%;justify-content:center}
  .clu-table-wrap-v608 table{min-width:560px}
}

/* V613: kompakter, lesbarer Firmenkopf auf Smartphone und Touch-Geräten. */
.sidebar-company-panel{display:contents}
@media (max-width:900px), (pointer:coarse){
  .sidebar-command .sidebar-collapse{
    display:none;visibility:hidden;pointer-events:none;
  }
  .sidebar-command .sidebar-company-panel,
  body.sidebar-collapsed .sidebar-command .sidebar-company-panel{
    display:grid;grid-template-columns:minmax(0,1fr);gap:8px;
    width:100%;min-width:0;margin:0;padding:0;
  }
  .sidebar-command .premium-brand,
  body.sidebar-collapsed .sidebar-command .premium-brand{
    position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);
    align-items:center;gap:11px;width:100%;min-width:0;
    min-height:0;height:auto;margin:0;padding:11px 12px;
    border:1px solid rgba(255,255,255,.18);border-radius:20px;
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.075));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;
  }
  .sidebar-command .premium-brand .brand-logo,
  .sidebar-command .premium-brand .brand-mark,
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-logo,
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-mark{
    display:block;width:48px;height:48px;min-width:48px;
    padding:5px;border-radius:15px;background:#fff;object-fit:contain;
  }
  .sidebar-command .brand-copy,
  body.sidebar-collapsed .sidebar-command .brand-copy{
    display:block;min-width:0;max-width:100%;overflow:hidden;
  }
  .sidebar-command .brand-copy .brand-kicker,
  body.sidebar-collapsed .sidebar-command .brand-copy .brand-kicker{
    display:block;margin:0 0 2px;color:rgba(255,255,255,.76);
    -webkit-text-fill-color:rgba(255,255,255,.76);font-size:9px;line-height:1.1;
    font-weight:900;letter-spacing:.085em;text-transform:uppercase;
  }
  .sidebar-command .brand-copy strong,
  body.sidebar-collapsed .sidebar-command .brand-copy strong{
    display:block;min-width:0;margin:0;color:#fff;-webkit-text-fill-color:#fff;
    font-size:13.5px;line-height:1.16;font-weight:900;letter-spacing:-.015em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .sidebar-command .brand-copy em,
  body.sidebar-collapsed .sidebar-command .brand-copy em{
    display:-webkit-box;margin:3px 0 0;max-height:none;color:rgba(255,255,255,.84);
    -webkit-text-fill-color:rgba(255,255,255,.84);font-size:10.5px;line-height:1.24;
    font-style:normal;font-weight:700;white-space:normal;overflow:hidden;
    text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  }
  .sidebar-command .sidebar-company-switch,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch{
    display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;
    width:100%;min-width:0;margin:0;padding:0 2px;background:transparent;border:0;
  }
  .sidebar-command .sidebar-company-switch label,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch label{
    display:block;margin:0;color:rgba(255,255,255,.88);
    -webkit-text-fill-color:rgba(255,255,255,.88);font-size:10px;line-height:1.15;
    font-weight:900;letter-spacing:.035em;text-transform:none;white-space:nowrap;
  }
  .sidebar-command .sidebar-company-switch select,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch select{
    display:block;appearance:auto;-webkit-appearance:menulist;
    width:100%;min-width:0;height:42px;min-height:42px;
    margin:0;padding:0 34px 0 11px;border:1px solid rgba(15,23,42,.16);
    border-radius:13px;background:#fff;color:#101828;-webkit-text-fill-color:#101828;
    opacity:1;font-size:13px;line-height:1.2;font-weight:850;
    box-shadow:0 5px 14px rgba(3,12,28,.12);
  }
  .sidebar-command .sidebar-company-switch select option{
    color:#101828;-webkit-text-fill-color:#101828;background:#fff;
  }
}
@media (max-width:340px){
  .sidebar-command .premium-brand,
  body.sidebar-collapsed .sidebar-command .premium-brand{grid-template-columns:44px minmax(0,1fr);padding:10px;gap:9px}
  .sidebar-command .premium-brand .brand-logo,
  .sidebar-command .premium-brand .brand-mark,
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-logo,
  body.sidebar-collapsed .sidebar-command .premium-brand .brand-mark{width:44px;height:44px;min-width:44px}
  .sidebar-command .sidebar-company-switch,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch{grid-template-columns:1fr;gap:5px}
}


/* V614: garantiert dunkler Firmenname auf weißem Auswahlfeld. */
.sidebar-command .sidebar-company-select-shell{display:contents}
.sidebar-command .sidebar-company-select-value{display:none}
@media (max-width:900px), (pointer:coarse){
  .sidebar-command .sidebar-company-select-shell,
  body.sidebar-collapsed .sidebar-command .sidebar-company-select-shell{
    position:relative;display:block;width:100%;min-width:0;
    height:42px;min-height:42px;border:1px solid rgba(15,23,42,.16);
    border-radius:13px;background:#fff;color-scheme:light;
    box-shadow:0 5px 14px rgba(3,12,28,.12);overflow:hidden;
  }
  .sidebar-command .sidebar-company-select-shell::after,
  body.sidebar-collapsed .sidebar-command .sidebar-company-select-shell::after{
    content:"";position:absolute;right:14px;top:50%;
    width:9px;height:9px;border-right:2px solid #101828;
    border-bottom:2px solid #101828;transform:translateY(-68%) rotate(45deg);
    pointer-events:none;z-index:4;
  }
  .sidebar-command .sidebar-company-select-value,
  body.sidebar-collapsed .sidebar-command .sidebar-company-select-value{
    position:absolute;inset:0 38px 0 11px;z-index:3;
    display:flex;align-items:center;min-width:0;overflow:hidden;
    color:#101828;-webkit-text-fill-color:#101828;text-shadow:none;
    font-size:13px;line-height:1.2;font-weight:850;
    white-space:nowrap;text-overflow:ellipsis;pointer-events:none;
  }
  .sidebar-command .sidebar-company-select-shell select,
  body.sidebar-collapsed .sidebar-command .sidebar-company-select-shell select,
  .sidebar-command .sidebar-company-select-shell select:hover,
  .sidebar-command .sidebar-company-select-shell select:focus,
  .sidebar-command .sidebar-company-select-shell select:active{
    position:relative;z-index:2;display:block;width:100%;height:100%;
    min-height:0;margin:0;padding:0 38px 0 11px;border:0;border-radius:inherit;
    appearance:none;-webkit-appearance:none;background:transparent;
    color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;
    opacity:1;cursor:pointer;box-shadow:none;color-scheme:light;
  }
  .sidebar-command .sidebar-company-select-shell select option,
  .sidebar-command .sidebar-company-select-shell select optgroup{
    background:#fff;color:#101828;-webkit-text-fill-color:#101828;
    text-shadow:none;opacity:1;color-scheme:light;
  }
  .sidebar-command .sidebar-company-select-shell:focus-within{
    box-shadow:0 0 0 3px rgba(37,99,235,.32),0 5px 14px rgba(3,12,28,.12);
  }
}
/* V615: eigener Firmenumschalter statt fehleranfälliger nativer Select-Darstellung. */
.sidebar-command .sidebar-company-switch-label,
body.sidebar-collapsed .sidebar-command .sidebar-company-switch-label{
  display:block;margin:0;color:rgba(255,255,255,.92);
  -webkit-text-fill-color:rgba(255,255,255,.92);font-size:13px;line-height:1.15;
  font-weight:900;letter-spacing:0;white-space:nowrap;
}
.sidebar-command .sidebar-company-picker,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker{
  position:relative;display:block;width:100%;min-width:0;margin:0;
  color-scheme:light;
}
.sidebar-command .sidebar-company-picker>summary,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker>summary{
  list-style:none;position:relative;display:grid;
  grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;
  width:100%;min-width:0;height:44px;min-height:44px;box-sizing:border-box;
  margin:0;padding:0 13px;border:1px solid rgba(15,23,42,.16);
  border-radius:14px;background:#fff;color:#101828;-webkit-text-fill-color:#101828;
  box-shadow:0 5px 14px rgba(3,12,28,.12);cursor:pointer;overflow:hidden;
}
.sidebar-command .sidebar-company-picker>summary::-webkit-details-marker,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker>summary::-webkit-details-marker{display:none}
.sidebar-command .sidebar-company-picker>summary::marker,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker>summary::marker{content:""}
.sidebar-command .sidebar-company-picker-value,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-value{
  display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#101828;-webkit-text-fill-color:#101828;text-shadow:none;
  font-size:13px;line-height:1.2;font-weight:900;
}
.sidebar-command .sidebar-company-picker-caret,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-caret{
  display:block;justify-self:end;width:9px;height:9px;
  border-right:2px solid #101828;border-bottom:2px solid #101828;
  transform:translateY(-2px) rotate(45deg);transition:transform .16s ease;
}
.sidebar-command .sidebar-company-picker[open] .sidebar-company-picker-caret,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker[open] .sidebar-company-picker-caret{
  transform:translateY(2px) rotate(225deg);
}
.sidebar-command .sidebar-company-picker>summary:focus-visible,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker>summary:focus-visible,
.sidebar-command .sidebar-company-picker[open]>summary,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker[open]>summary{
  outline:none;border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.26),0 5px 14px rgba(3,12,28,.12);
}
.sidebar-command .sidebar-company-picker:not([open])>.sidebar-company-picker-menu,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker:not([open])>.sidebar-company-picker-menu{display:none}
.sidebar-command .sidebar-company-picker[open]>.sidebar-company-picker-menu,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker[open]>.sidebar-company-picker-menu{
  display:grid;gap:4px;width:100%;min-width:0;max-height:240px;
  margin:7px 0 0;padding:6px;box-sizing:border-box;overflow:auto;
  border:1px solid rgba(15,23,42,.14);border-radius:14px;background:#fff;
  box-shadow:0 14px 30px rgba(3,12,28,.18);color-scheme:light;
}
.sidebar-command .sidebar-company-picker-form,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-form{display:block;width:100%;margin:0}
.sidebar-command .sidebar-company-picker-option,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option{
  display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;
  width:100%;min-width:0;min-height:40px;margin:0;padding:9px 10px;
  border:1px solid transparent;border-radius:10px;background:#fff;
  color:#101828;-webkit-text-fill-color:#101828;text-align:left;cursor:pointer;
  opacity:1;box-shadow:none;
}
.sidebar-command .sidebar-company-picker-option span,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option span{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#101828;-webkit-text-fill-color:#101828;font-size:13px;line-height:1.2;font-weight:850;
}
.sidebar-command .sidebar-company-picker-option b,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option b{
  justify-self:end;color:#12395b;-webkit-text-fill-color:#12395b;font-size:14px;
}
.sidebar-command .sidebar-company-picker-option:hover,
.sidebar-command .sidebar-company-picker-option:focus-visible,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option:hover,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option:focus-visible{
  outline:none;background:#f1f5f9;border-color:#d8e0ea;
}
.sidebar-command .sidebar-company-picker-option.is-current,
body.sidebar-collapsed .sidebar-command .sidebar-company-picker-option.is-current{
  background:#eef4fb;border-color:#cbdbea;color:#101828;
  -webkit-text-fill-color:#101828;cursor:default;opacity:1;
}
@media (max-width:900px), (pointer:coarse){
  .sidebar-command .sidebar-company-switch-label,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch-label{
    font-size:10px;color:rgba(255,255,255,.92);-webkit-text-fill-color:rgba(255,255,255,.92);
  }
  .sidebar-command .sidebar-company-picker>summary,
  body.sidebar-collapsed .sidebar-command .sidebar-company-picker>summary{
    height:42px;min-height:42px;border-radius:13px;padding:0 12px;
  }
}
@media (max-width:340px){
  .sidebar-command .sidebar-company-switch-label,
  body.sidebar-collapsed .sidebar-command .sidebar-company-switch-label{white-space:normal}
}


/* V619: Herkunft und Umrechnung von Fremdwährungszahlungen transparent anzeigen. */
.payment-fx-origin{display:block;margin-top:5px;color:#526174;font-size:12px;line-height:1.4;font-weight:500}


/* V624: Mobile Aufgaben-Abschlussaktionen, kompatibel mit altem und neuem Karten-Markup. */
@media (max-width:900px){
  #main-content .kanban-card-actions-v108{grid-template-columns:1fr}
  #main-content .kanban-card-actions-v108>.task-done-form-v622,
  #main-content .kanban-card-actions-v108>.task-delete-form-v622,
  #main-content .kanban-card-actions-v108>form:has(input[name="action"][value="done"]),
  #main-content .kanban-card-actions-v108>form:has(input[name="action"][value="delete"]),
  #main-content .kanban-card-actions-v108 .task-final-actions-v623{grid-column:1/-1;width:100%;min-width:0;margin:0}
  #main-content .kanban-card-actions-v108 .task-final-actions-v623{display:grid;grid-template-columns:1fr;gap:10px}
  #main-content .kanban-card-actions-v108 .task-final-actions-v623>form,
  #main-content .kanban-card-actions-v108>.task-done-form-v622,
  #main-content .kanban-card-actions-v108>.task-delete-form-v622,
  #main-content .kanban-card-actions-v108>form:has(input[name="action"][value="done"]),
  #main-content .kanban-card-actions-v108>form:has(input[name="action"][value="delete"]){display:block;width:100%;min-width:0;max-width:none;margin:0}
  #main-content .kanban-card-actions-v108 .task-done-btn-v622,
  #main-content .kanban-card-actions-v108 .task-delete-btn-v622{display:flex;align-items:center;justify-content:center;width:100%;min-width:100%;max-width:none;min-height:48px;height:48px;padding:0 16px;margin:0;border-radius:14px;font-size:16px;line-height:1;font-weight:950;text-align:center;box-sizing:border-box}
}

/* V625: Mobile Aufgabenaktionen nach Reparatur der Aufgaben-DOM-Struktur. */
@media(max-width:900px){
  #main-content .kanban-card-actions-v108 .task-final-actions-v625{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    width:100%;
    min-width:0;
    max-width:none;
    grid-column:1/-1;
  }
  #main-content .kanban-card-actions-v108 .task-final-actions-v625>form{
    display:block;
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
  }
  #main-content .kanban-card-actions-v108 .task-final-actions-v625 .btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:100%;
    max-width:none;
    min-height:48px;
    height:48px;
    margin:0;
    font-size:16px;
    font-weight:950;
    box-sizing:border-box;
  }
}
html.is-mobile-device #main-content .kanban-card-actions-v108 .task-final-actions-v625{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;grid-column:1/-1}
html.is-mobile-device #main-content .kanban-card-actions-v108 .task-final-actions-v625>form{display:block;width:100%;margin:0}
html.is-mobile-device #main-content .kanban-card-actions-v108 .task-final-actions-v625 .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:100%;max-width:none;min-height:48px;height:48px;margin:0;font-size:16px;font-weight:950;box-sizing:border-box}


/* V626: Abschlussaktionen der Kanban-Aufgaben immer vollbreit, ohne Media-Query-Abhängigkeit. */
#main-content .kanban-card-actions-v108 .task-final-actions-v626{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;grid-column:1/-1;width:100%;min-width:0;max-width:none;margin:2px 0 0;align-items:stretch}
#main-content .kanban-card-actions-v108 .task-final-actions-v626>form{display:block;width:100%;min-width:0;max-width:none;margin:0}
#main-content .kanban-card-actions-v108 .task-final-actions-v626 .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:100%;max-width:none;height:48px;min-height:48px;padding:0 18px;margin:0;border-radius:16px;font-size:16px;line-height:1;font-weight:950;text-align:center;box-sizing:border-box}
#main-content .kanban-card-actions-v108 .task-final-actions-v626 .task-done-btn-v622{border-color:#067647;background:#067647;color:#fff;-webkit-text-fill-color:#fff}
#main-content .kanban-card-actions-v108 .task-final-actions-v626 .task-delete-btn-v622{border-color:#f1a7a1;background:#fff7f6;color:#b42318;-webkit-text-fill-color:#b42318}


/* V627: Kompakte, weiterhin vollbreite Abschlussaktionen auf Aufgaben-Karten. */
#main-content .kanban-card-actions-v108 .task-final-actions-v627{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;grid-column:1/-1;width:100%;min-width:0;max-width:none;margin:2px 0 0;align-items:stretch}
#main-content .kanban-card-actions-v108 .task-final-actions-v627>form{display:block;width:100%;min-width:0;max-width:none;margin:0}
#main-content .kanban-card-actions-v108 .task-final-actions-v627 .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:100%;max-width:none;height:48px;min-height:48px;padding:0 16px;margin:0;border-radius:14px;font-size:16px;line-height:1;font-weight:950;text-align:center;box-sizing:border-box}
#main-content .kanban-card-actions-v108 .task-final-actions-v627 .task-done-btn-v622{border-color:#067647;background:#067647;color:#fff;-webkit-text-fill-color:#fff}
#main-content .kanban-card-actions-v108 .task-final-actions-v627 .task-delete-btn-v622{border-color:#f1a7a1;background:#fff7f6;color:#b42318;-webkit-text-fill-color:#b42318}


/* V628: Bestehende Website direkt an Aufgaben speichern und sicher öffnen. */
#main-content .task-website-url-field-v628{grid-column:span 2}
#main-content .task-website-link-v628{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;-webkit-text-fill-color:#1d4ed8;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#main-content .task-website-link-v628:before{content:"↗";font-size:12px}
#main-content .task-website-link-v628:hover{background:#dbeafe;border-color:#93c5fd}
#main-content .task-list-website-v628{display:inline-flex;margin-top:8px}
@media(max-width:900px){#main-content .task-website-url-field-v628{grid-column:auto}}

/* V630: Angebot direkt aus einer Aufgabe mit Wunschpreis erstellen. */
.task-create-offer-v630{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:900;
  text-align:center;
}
.task-create-offer-v630::before{content:"＋";font-size:1.05em;line-height:1}
.task-list-action-stack-v621 .task-create-offer-v630{width:100%}
@media(max-width:760px){
  .kanban-card-actions-v108>.task-create-offer-v630{min-height:42px;padding:9px 12px}
}

/* V635 task pipeline contrast hardening */
.kanban-col-title-v108>span{color:var(--kanban-icon-ink,#fff);-webkit-text-fill-color:var(--kanban-icon-ink,#fff)}
.task-stage-pill-v621,.task-doc-link-v159,.task-move-btn-v622{color:#172033;-webkit-text-fill-color:#172033}


/* V638: Auswahlfenster müssen auf jedem Gerät vollständig bis zum Ende scrollbar bleiben. */
.lmcs-column-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable}
.lmcs-column-panel-head-v638{position:sticky;top:-14px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-14px -14px 10px;padding:14px;border-bottom:1px solid #e5eaf1;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
.lmcs-column-panel-close-v638{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#344054;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:900px),(pointer:coarse){
  body.lmcs-column-panel-open-v638{overflow:hidden}
  .lmcs-column-panel.is-open{position:fixed;z-index:10040;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-width:none;height:auto;max-height:none;overflow-x:hidden;overflow-y:auto;padding:14px;border-radius:20px;box-shadow:0 28px 90px rgba(2,8,23,.38)}
  .lmcs-column-panel-head-v638{top:-14px}
  .lmcs-column-choice{min-height:46px;padding:10px 11px}
}


/* V640: Updatehinweis direkt in der Leiste des Arbeitsbereichs. */
.action-center-head-actions-v640{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.action-center-update-mount-v640:empty{display:none}.action-center-update-v640{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:7px 10px;border:1px solid #f3c86a;border-radius:15px;background:#fffbeb;color:#7c2d12;text-decoration:none;box-shadow:0 8px 20px rgba(146,64,14,.09)}.action-center-update-icon-v640{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#92400e;color:#fff;font-size:18px;font-weight:950}.action-center-update-v640 strong,.action-center-update-v640 small{display:block}.action-center-update-v640 strong{font-size:13px;line-height:1.15}.action-center-update-v640 small{margin-top:2px;color:#92400e;font-size:11px;font-weight:800}.action-center-update-v640 b{padding:6px 9px;border-radius:9px;background:#92400e;color:#fff;font-size:11px;white-space:nowrap}@media(max-width:760px){.action-center-head-actions-v640{display:grid;width:100%;grid-template-columns:1fr}.action-center-update-v640{width:100%;box-sizing:border-box}.action-center-head-actions-v640>.btn{width:100%;justify-content:center}}

/* V640: Auswahlfenster scrollen über die sichtbare Gerätehöhe und werden nicht mehr vom Body-Scroll-Lock abgeschnitten. */
body.pipeline-icon-modal-open-v637,body.lmcs-column-panel-open-v638{overflow:auto}.pipeline-icon-picker-v631{display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.pipeline-icon-picker-v631[hidden]{display:none}.pipeline-symbol-dialog-v637{display:block;width:min(880px,calc(100vw - 24px));height:auto;min-height:0;max-height:none;margin:0 auto;overflow:visible}.pipeline-symbol-library-v637{display:block;overflow:visible;max-height:none;padding-bottom:max(28px,env(safe-area-inset-bottom))}.pipeline-symbol-dialog-head-v637,.pipeline-symbol-toolbar-v637,.pipeline-symbol-dialog-foot-v637{position:relative}.lmcs-column-panel.is-open.is-ported-v640{position:fixed;z-index:10040;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));width:auto;height:calc(var(--lmcs-visible-height-v640,100dvh) - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));max-height:none;overflow-x:hidden;overflow-y:auto;padding:14px 14px max(30px,env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:20px}.lmcs-column-panel.is-open.is-ported-v640 .lmcs-column-panel-head-v638{position:sticky;top:-14px}.lmcs-column-list{padding-bottom:12px}


/* V640 final: Portaled dialogs are independent of transformed/overflow-hidden page containers. */
body.pipeline-icon-modal-open-v637,body.lmcs-column-panel-open-v638{overflow:hidden;overscroll-behavior:none}
.pipeline-icon-picker-v631.is-ported-v640{position:fixed;z-index:10080;inset:0;display:block;width:auto;height:auto;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-sizing:border-box;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(34px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
.pipeline-icon-picker-v631.is-ported-v640[hidden]{display:none}
.pipeline-icon-picker-v631.is-ported-v640 .pipeline-symbol-dialog-v637{position:relative;width:min(880px,calc(100vw - 20px));height:auto;min-height:0;max-height:none;margin:0 auto;overflow:visible;box-sizing:border-box}
.pipeline-icon-picker-v631.is-ported-v640 .pipeline-symbol-library-v637{height:auto;max-height:none;overflow:visible;padding-bottom:24px}
.lmcs-column-panel.is-open.is-ported-v640{position:fixed;z-index:10070;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));bottom:max(10px,env(safe-area-inset-bottom));width:auto;height:auto;min-height:0;max-height:none;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:max(34px,env(safe-area-inset-bottom))}


/* V657: Interaktive Ersteinrichtungs-Tour. */
.lmcs-tour-root-v657{
  position:fixed;
  inset:0;
  z-index:10095;
  pointer-events:none;
}
.lmcs-tour-backdrop-v657{
  position:absolute;
  inset:0;
  background:rgba(6,18,32,.32);
  backdrop-filter:blur(1.5px);
  pointer-events:auto;
}
.lmcs-tour-highlight-v657{
  position:fixed;
  border:3px solid var(--brand-accent,#d99a28);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(15,23,42,.22);
  background:rgba(255,255,255,.08);
  pointer-events:none;
  transition:left .16s ease,top .16s ease,width .16s ease,height .16s ease;
}
.lmcs-tour-card-v657{
  position:fixed;
  width:min(420px,calc(100vw - 36px));
  min-height:0;
  padding:18px;
  border:1px solid #d4dfec;
  border-radius:22px;
  background:#fff;
  color:#111827;
  box-shadow:0 28px 90px rgba(8,20,36,.28);
  pointer-events:auto;
}
.lmcs-tour-card-head-v657{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.lmcs-tour-step-v657{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:#eef4fb;
  color:#25435f;
  font-size:12px;
  font-weight:950;
}
.lmcs-tour-icon-v657{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  min-width:36px;
  border:1px solid #d8e2ee;
  border-radius:12px;
  background:#fff;
  color:#1f2937;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.lmcs-tour-card-v657 h2{
  margin:0 0 8px;
  color:#101828;
  font-size:22px;
  line-height:1.16;
  letter-spacing:0;
}
.lmcs-tour-body-v657{
  margin:0;
  color:#475467;
  font-size:15px;
  line-height:1.5;
  font-weight:700;
}
.lmcs-tour-progress-v657{
  height:8px;
  margin:16px 0;
  overflow:hidden;
  border-radius:999px;
  background:#e7eef6;
}
.lmcs-tour-progress-v657 span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--brand-primary,#12395b),var(--brand-accent,#d99a28));
}
.lmcs-tour-actions-v657{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:8px;
}
.lmcs-tour-card-v657 .btn{
  min-height:42px;
  border-radius:13px;
  padding:9px 13px;
  font-weight:950;
  text-align:center;
  justify-content:center;
}
.lmcs-tour-card-v657 .btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.lmcs-tour-open-link-v657{
  text-decoration:none;
  white-space:nowrap;
}
.lmcs-tour-secondary-v657{
  background:#fff;
  color:#1f2937;
  border-color:#d6e0eb;
}
.lmcs-tour-later-v657{
  width:100%;
  margin-top:10px;
  background:#f8fafc;
  color:#475467;
  border-color:#e2e8f0;
}
body.lmcs-tour-open-v657{
  scroll-behavior:smooth;
}
@media(max-width:760px),(pointer:coarse){
  .lmcs-tour-root-v657{
    z-index:10100;
  }
  .lmcs-tour-backdrop-v657{
    background:rgba(6,18,32,.38);
  }
  .lmcs-tour-highlight-v657{
    display:none;
  }
  .lmcs-tour-card-v657{
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
    top:auto;
    width:auto;
    max-height:min(72dvh,560px);
    overflow:auto;
    padding:16px;
    border-radius:22px;
    transform:none;
    -webkit-overflow-scrolling:touch;
  }
  .lmcs-tour-card-v657 h2{
    font-size:20px;
  }
  .lmcs-tour-body-v657{
    font-size:14px;
  }
  .lmcs-tour-actions-v657{
    grid-template-columns:1fr 1fr;
  }
  .lmcs-tour-action-spacer-v657{
    display:none;
  }
  .lmcs-tour-open-link-v657{
    grid-column:1/-1;
    width:100%;
  }
  .lmcs-tour-card-v657 .btn{
    width:100%;
    min-width:0;
  }
}


/* V658: Die Tour erklärt, blockiert aber weder Seitenleiste noch Menüs. */
.lmcs-tour-backdrop-v657{
  pointer-events:none;
}
.lmcs-tour-root-v657{
  pointer-events:none;
}
.lmcs-tour-card-v657{
  pointer-events:auto;
}
body.lmcs-tour-open-v657 .sidebar,
body.lmcs-tour-open-v657 .sidebar-toggle,
body.lmcs-tour-open-v657 .mobile-menu-toggle,
body.lmcs-tour-open-v657 [aria-controls="primary-navigation"]{
  pointer-events:auto;
}

/* V664: Kompakte Stichpunkte in den Tour-Schritten. */
.lmcs-tour-points-v657{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.lmcs-tour-points-v657 li{
  position:relative;
  padding-left:25px;
  color:#25435f;
  font-size:13px;
  line-height:1.4;
  font-weight:750;
}
.lmcs-tour-points-v657 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eef4fb;
  color:var(--brand-primary,#12395b);
  font-size:11px;
  font-weight:950;
}

/* V661: Bankverbindungen direkt in den Firmeneinstellungen */
.settings-bank-block-v661{scroll-margin-top:18px}
.settings-bank-intro-v661{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #cfe0ef;border-radius:18px;background:linear-gradient(135deg,#f4f9ff,#fff)}
.settings-bank-intro-v661 strong{display:block;color:#0f172a;font-size:16px}
.settings-bank-intro-v661 p{margin:5px 0 0;color:#526174;line-height:1.5}
.settings-bank-list-v661{display:grid;gap:14px}
.settings-bank-row-v661{display:grid;gap:16px;padding:18px;border:1px solid #dbe4ee;border-radius:20px;background:#f8fafc;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.settings-bank-row-v661.is-default-v661{border-color:color-mix(in srgb,var(--brand-primary,#12395b) 42%,#dbe4ee);background:color-mix(in srgb,var(--brand-primary,#12395b) 5%,#fff);box-shadow:inset 4px 0 0 var(--brand-primary,#12395b),0 10px 24px rgba(15,23,42,.06)}
.settings-bank-row-v661>header{display:flex;align-items:center;justify-content:space-between;gap:14px}
.settings-bank-default-v661{display:flex;align-items:center;gap:11px;margin:0;cursor:pointer}
.settings-bank-default-v661 input{width:20px;height:20px;flex:0 0 auto}
.settings-bank-default-v661 span{display:grid;gap:2px}
.settings-bank-default-v661 strong{color:#0f172a;font-size:14px}
.settings-bank-default-v661 small{color:#64748b;font-size:12px;font-weight:650}
.settings-bank-grid-v661{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.settings-bank-footer-v661{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.settings-bank-footer-v661 .check-row{margin:0;max-width:620px}
@media(max-width:1200px){.settings-bank-grid-v661{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.settings-bank-intro-v661,.settings-bank-row-v661>header,.settings-bank-footer-v661{align-items:stretch;flex-direction:column}.settings-bank-intro-v661 .btn,.settings-bank-footer-v661>.btn{width:100%;justify-content:center}.settings-bank-grid-v661{grid-template-columns:1fr}}

/* V661: Sprachwähler reagiert sichtbar auf Hover und Tastaturfokus */
.ui-lang-switch{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ui-lang-switch:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 38%,#dbe5f2);box-shadow:0 12px 26px rgba(15,35,65,.13)}
.ui-lang-switch a{cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.ui-lang-switch a:hover:not(.is-active),.ui-lang-switch a:focus-visible:not(.is-active){background:color-mix(in srgb,var(--brand-primary,#12395b) 10%,#fff);color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);transform:translateY(-1px)}
.ui-lang-switch a.is-active:hover,.ui-lang-switch a.is-active:focus-visible{transform:translateY(-1px);box-shadow:0 5px 12px rgba(15,35,65,.22)}

/* UI-Review Polish-Layer: einheitliche leere Zustände, dezente Tabellen-Zebra, Submit-Sperre, ruhigere Button-Übergänge.
   Bewusst niedrige Spezifität und kein , damit bestehende Komponenten-Overrides weiter greifen. */
.empty-state{display:block;padding:34px 22px;text-align:center;border:1px dashed #d7dfe9;border-radius:16px;background:#f8fafc;color:#475467}
.empty-state strong{display:block;font-size:15px;color:#101828;letter-spacing:-.01em}
.empty-state p{margin:6px auto 0;max-width:480px;color:#667085;line-height:1.55;font-size:13px}
.empty-state>:first-child{margin-top:0}
.empty-state>:last-child{margin-bottom:0}
.table tbody tr.table-empty-row:hover>td{background:transparent}
.table tbody tr.table-empty-row>td{padding:14px}
.table tbody tr:nth-child(even)>td{background-color:rgba(15,23,42,.018)}
.btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}
.btn.is-submitting{opacity:.62;cursor:progress}


/* === CLIRO V670: sichtbarer Rettungsring, kontextbezogene Anleitung und Cache-Center === */
.header-help-anchor-v670{
  position:relative;display:inline-grid;place-items:center;flex:0 0 46px;width:46px;height:46px;min-width:46px;
  border:1px solid color-mix(in srgb,var(--brand-primary,#12395b) 24%,#d0d5dd);border-radius:16px;
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--brand-primary,#12395b) 5%,#fff));
  color:var(--brand-primary,#12395b);text-decoration:none;box-shadow:0 10px 24px rgba(15,23,42,.08);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;z-index:20
}
.header-help-anchor-v670 svg{display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.header-help-anchor-v670:hover{transform:translateY(-2px) rotate(-3deg);border-color:var(--brand-primary,#12395b);background:#fff;box-shadow:0 15px 30px rgba(15,23,42,.14);text-decoration:none}
.header-help-anchor-v670:active{transform:translateY(0)}
.header-help-tooltip-v670{position:absolute;right:0;top:calc(100% + 9px);width:max-content;max-width:230px;padding:8px 10px;border-radius:10px;background:#0f172a;color:#fff;font-size:12px;font-weight:800;line-height:1.25;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.15s ease;pointer-events:none;box-shadow:0 12px 26px rgba(15,23,42,.24)}
.header-help-anchor-v670:hover .header-help-tooltip-v670,.header-help-anchor-v670:focus-visible .header-help-tooltip-v670{opacity:1;visibility:visible;transform:none}
.help-shell-v670{display:grid;gap:20px;max-width:1460px;margin:0 auto}
.help-hero-v670{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px;border:1px solid #dbe4ee;border-radius:25px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--brand-accent,#d99a28) 20%,transparent),transparent 34%),linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 18px 46px rgba(15,23,42,.07)}
.help-hero-v670 h2{margin:0 0 8px;font-size:clamp(25px,3vw,40px);line-height:1.08;color:#0f172a}.help-hero-v670 p{margin:0;max-width:850px;color:#475569;line-height:1.65}
.help-ring-v670{display:grid;place-items:center;width:94px;height:94px;border-radius:30px;background:var(--brand-primary,#12395b);color:#fff;box-shadow:0 20px 44px color-mix(in srgb,var(--brand-primary,#12395b) 28%,transparent)}
.help-ring-v670 svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.help-search-v670{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;padding:14px 16px;border:1px solid #cbd5e1;border-radius:17px;background:#fff}.help-search-v670 span{font-size:22px}.help-search-v670 input{width:100%;min-height:46px;border:0;outline:0;box-shadow:none;background:transparent;font-size:17px}
.help-context-v670{padding:24px;border:2px solid color-mix(in srgb,var(--brand-primary,#12395b) 34%,#dbe4ee);border-radius:22px;background:color-mix(in srgb,var(--brand-primary,#12395b) 4%,#fff);scroll-margin-top:18px}.help-context-v670 .eyebrow{margin:0 0 6px}.help-context-v670 h2{margin:0 0 8px;color:#0f172a}.help-context-v670 p{margin:0;color:#475569;line-height:1.6}.help-context-v670 ol{margin:14px 0 0;padding-left:22px;color:#27364a}.help-context-v670 li{margin:8px 0;line-height:1.5}
.help-grid-v670{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.help-topic-v670{min-width:0;padding:20px;border:1px solid #dbe4ee;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.045)}.help-topic-v670[hidden]{display:none}.help-topic-v670 h3{margin:0 0 8px;color:#0f172a}.help-topic-v670 p{margin:0;color:#526174;line-height:1.58}.help-topic-v670 ul,.help-topic-v670 ol{margin:12px 0 0;padding-left:20px}.help-topic-v670 li{margin:7px 0;line-height:1.48;color:#334155}.help-topic-v670 a{font-weight:800}
.help-empty-v670{display:none;padding:24px;text-align:center;border:1px dashed #aab8c8;border-radius:18px;background:#f8fafc;color:#475569}.help-empty-v670.is-visible{display:block}
.cache-grid-v670{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cache-card-v670{padding:20px;border:1px solid #dbe4ee;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.045)}.cache-card-v670 h2{margin:0 0 8px;font-size:20px}.cache-card-v670 p{margin:0;color:#526174;line-height:1.55}.cache-stat-v670{display:block;margin:14px 0 4px;color:#0f172a;font-size:29px;font-weight:900}.cache-actions-v670{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.cache-note-v670{padding:16px 18px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;line-height:1.55}
@media(max-width:980px){.help-grid-v670{grid-template-columns:1fr}.cache-grid-v670{grid-template-columns:1fr}.help-hero-v670{grid-template-columns:1fr}.help-ring-v670{width:74px;height:74px;border-radius:23px}.help-ring-v670 svg{width:42px;height:42px}}
@media(max-width:700px){.header-help-anchor-v670{width:44px;height:44px;min-width:44px;border-radius:15px}.header-help-tooltip-v670{display:none}.help-hero-v670,.help-context-v670{padding:19px}.help-ring-v670{display:none}.help-search-v670{grid-template-columns:1fr}.help-search-v670>span{display:none}}

/* === CLIRO V671: Altbestandsaufgaben werden standardmäßig ausgeblendet und separat geprüft === */


/* ==========================================================================
   CLIRO V675 – Premium-Finish (additive Token- und Komponenten-Ebene)
   Zurückhaltende, moderne SaaS-Optik (Linear/Stripe): weichere geschichtete
   Schatten, ruhige Radien, präzise Fokus-Ringe. Keine bestehende Regel wurde
   entfernt; Overrides greifen ausschließlich über die spätere Kaskade,
    nur dort, wo eine ältere -Regel gezielt veredelt wird.
   ========================================================================== */

/* V675.1 Token-Ebene: veredelt die Gewinner-Variablen des Navy/Gold-Themes
   sowie die Token-Systeme, die Komponenten bereits konsumieren. */
:root{
  /* Brand-Rampe: Navy #12395b bleibt; Hover/Active abgeleitet (Kontrast zu Weiß ≥ 7:1) */
  --brand-primary:#12395b;
  --brand-primary-hover:#144067;
  --brand-primary-active:#0e2f4b;
  --brand-accent:#d99a28;
  --brand-accent-hover:#c78d20;
  /* Aliase älterer Ebenen synchronisieren (treibt u. a. .btn.primary) */
  --v363-blue:#12395b;
  --v363-blue-2:#0e2f4b;
  /* Linien und Radien-Skala */
  --line:#e2e8f0;
  --clu-border:#dbe3ec;
  --radius-xs:8px; --radius-sm:10px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px; --radius-2xl:24px;
  /* Geschichtete, niedrig-opake Schatten-Skala */
  --shadow-xs:0 1px 2px rgba(15,23,42,.05);
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 2px 8px -2px rgba(15,23,42,.05);
  --shadow-md:0 1px 2px rgba(15,23,42,.04),0 8px 24px -6px rgba(15,23,42,.08);
  --shadow-lg:0 2px 4px rgba(15,23,42,.04),0 16px 40px -8px rgba(15,23,42,.10);
  /* Bestehende Token-Verbraucher (u. a. .page-head, V13-Ebene) erben so automatisch */
  --ui-shadow:0 2px 4px rgba(15,23,42,.04),0 20px 48px -10px rgba(15,23,42,.10);
  --ui-shadow-soft:0 1px 2px rgba(15,23,42,.04),0 10px 28px -8px rgba(15,23,42,.07);
  --shadow-soft:0 1px 2px rgba(15,23,42,.04),0 14px 36px -8px rgba(15,23,42,.08);
  /* Fokus-Ringe: Gold bleibt die A11y-Identität für allgemeine Fokussierbarkeit,
     Textfelder erhalten in V675.5 einen ruhigeren Navy-Ring. */
  --clu-focus:0 0 0 3px rgba(217,154,40,.40);
  --clu-focus-ring:0 0 0 3px rgba(18,57,91,.22);
}

/* V675.2 Buttons: ruhige Tiefe, klare Hover-/Active-Stufen, einheitliche Höhe */
.btn,.button,a.btn,button.btn,input[type="submit"].btn,input[type="button"].btn{
  min-height:42px;
  box-shadow:var(--shadow-xs);
}
.btn:hover,.button:hover,a.btn:hover,button.btn:hover{
  box-shadow:var(--shadow-sm);
}
.btn:active,.button:active,a.btn:active,button.btn:active{
  box-shadow:var(--shadow-xs);
}
.btn.small,.button.small{min-height:34px}
.btn.primary,.button.primary,button.primary,input[type="submit"].primary,.btn-primary,.primary-btn{
  background:linear-gradient(180deg,#17456e 0%,#12395b 58%,#10334f 100%);
  border-color:#10334f;
  box-shadow:0 1px 2px rgba(15,23,42,.12),0 10px 24px -8px rgba(18,57,91,.38),inset 0 1px 0 rgba(255,255,255,.15);
}
.btn.primary:hover,.button.primary:hover,button.primary:hover,.btn-primary:hover{
  background:linear-gradient(180deg,#1a4d7c 0%,#144067 58%,#12395b 100%);
  border-color:#12395b;
  box-shadow:0 2px 4px rgba(15,23,42,.12),0 14px 30px -8px rgba(18,57,91,.44),inset 0 1px 0 rgba(255,255,255,.18);
}
.btn.primary:active,.button.primary:active,button.primary:active,.btn-primary:active{
  background:var(--brand-primary-active,#0e2f4b);
  border-color:var(--brand-primary-active,#0e2f4b);
  box-shadow:0 1px 2px rgba(15,23,42,.14),inset 0 2px 6px rgba(7,17,31,.32);
}
.btn.accent{
  box-shadow:0 1px 2px rgba(15,23,42,.10),0 8px 20px -8px rgba(217,154,40,.50),inset 0 1px 0 rgba(255,255,255,.28);
}
.btn.accent:hover{
  background:var(--brand-accent-hover,#c78d20);
  border-color:var(--brand-accent-hover,#c78d20);
}
.btn.ghost,.button.ghost,.btn-light,.btn.secondary,.button.secondary{
  box-shadow:var(--shadow-xs);
}
.btn.ghost:hover,.button.ghost:hover,.btn-light:hover,.btn.secondary:hover,.button.secondary:hover{
  background:#f8fafc;
  border-color:#b9c7d8;
  color:var(--brand-primary,#12395b);
  -webkit-text-fill-color:var(--brand-primary,#12395b);
}

/* V675.3 Karten & Panels: weichere Kante, geschichteter Schatten, dezentes Hover-Lift */
.card,.panel,.form-card,.company-settings-card{
  border-color:#e2e8f2;
  box-shadow:var(--shadow-sm);
}
.card:hover,.panel:hover,.form-card:hover{
  border-color:#d7e0ec;
  box-shadow:var(--shadow-md);
}
.big-link .card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.big-link:hover .card{
  border-color:color-mix(in srgb,var(--brand-primary,#12395b) 30%,#d7e0ec);
  box-shadow:var(--shadow-lg);
}

/* V675.4 Tabellen: ruhigere Kopfzeile mit vertikalem Glanz, weicherer Zeilen-Hover */
.table{
  border-color:#e2e8f0;
  box-shadow:var(--shadow-sm);
}
.table thead th,thead th{
  background:linear-gradient(180deg,#16456e 0%,#12395b 62%,#10334f 100%);
  border-bottom:1px solid #0c2a44;
}
.table tbody tr:hover>td,tbody tr:hover td{
  background:color-mix(in srgb,var(--brand-primary,#12395b) 4%,#fff);
}
.table tbody tr:nth-child(even):hover>td{
  background:color-mix(in srgb,var(--brand-primary,#12395b) 4%,#fff);
}
.table tbody tr.table-empty-row:hover>td{
  background:transparent;
}

/* V675.5 Formulare: konsistente Höhe, ruhige Kante, präziser Navy-Fokus-Ring */
.input,select,textarea,.form-control{
  min-height:42px;
  border-color:#ccd7e3;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.035);
}
textarea{min-height:88px}
.input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus),.form-control:hover:not(:focus),
input[type="text"]:hover:not(:focus),input[type="email"]:hover:not(:focus),input[type="number"]:hover:not(:focus),
input[type="date"]:hover:not(:focus),input[type="datetime-local"]:hover:not(:focus),input[type="time"]:hover:not(:focus),
input[type="password"]:hover:not(:focus),input[type="search"]:hover:not(:focus),input[type="tel"]:hover:not(:focus),
input[type="url"]:hover:not(:focus){
  border-color:#a9bccd;
}
.input:focus,select:focus,textarea:focus,.form-control:focus,
input[type="text"]:focus,input[type="email"]:focus,input[type="number"]:focus,
input[type="date"]:focus,input[type="datetime-local"]:focus,input[type="time"]:focus,
input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,
input[type="url"]:focus{
  outline:0;
  border-color:var(--brand-primary,#12395b);
  box-shadow:0 0 0 3px rgba(18,57,91,.14);
}

/* V675.6 Badges: weichere Pill-Töne bei gleicher Aussage (Navy auf zartem Gold) */
.badge{
  background:color-mix(in srgb,var(--brand-accent,#d99a28) 9%,#fff);
  border-color:color-mix(in srgb,var(--brand-accent,#d99a28) 30%,#fff);
  color:var(--brand-primary,#12395b);
}

/* V675.7 Sidebar/Navigation: veredelter Aktiv-Zustand (nur Desktop; Mobile-Pills bleiben) */
@media (min-width:1021px){
  .sidebar nav a:hover{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.18);
  }
  .sidebar nav a.active{
    background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.07));
    border-color:rgba(255,255,255,.30);
    box-shadow:0 10px 24px rgba(2,8,18,.30),inset 3px 0 0 var(--brand-accent,#d99a28);
  }
}

/* V675.8 Seitenkopf-Hierarchie: ruhigere Kante, präzisere Eyebrow */
.page-head{border-color:#e2e8f2}
.eyebrow{letter-spacing:.09em}

/* V675.9 Dashboard: tabellarische Zahlen, Hero mit ruhiger Tiefe, To-dos mit Hover-Feedback */
.stat .num{
  font-variant-numeric:tabular-nums;
  color:#0f172a;
}
.home-hero{
  border-color:#e2e8f2;
  box-shadow:var(--shadow-md);
}
.dashboard-todo-item{
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.dashboard-todo-item:hover{
  border-color:#d3dfeb;
  box-shadow:var(--shadow-sm);
  transform:translateY(-1px);
}

/* V675.10 Details: dezente Scrollbars, Markierungsfarbe, weiches Scrollen.
   Die bestehenden prefers-reduced-motion-Blöcke bleiben unangetastet und
   neutralisieren sämtliche Übergänge weiterhin zuverlässig. */
html{scroll-behavior:smooth}
*{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.38) transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(100,116,139,.34);border:3px solid transparent;border-radius:999px;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.54);border:3px solid transparent;background-clip:padding-box}
::selection{background:color-mix(in srgb,var(--brand-primary,#12395b) 16%,#fff);color:#0f172a}
.sidebar ::selection{background:rgba(217,154,40,.34);color:#fff}

/* ==========================================================================
   CLIRO V676 – Soft-Navigation (additive Ebene)
   Dünner Fortschrittsbalken im Brand-Gradient (Navy→Gold) über dem
   Hilfering (500002): erscheint erst nach ~320 ms (JS-Verzögerung), rampt
   schnell auf ~80 % und schließt + fadet beim Fertigstellen in <=250 ms.
   Crossfade beim Content-Wechsel (alte Seite ~110 ms aus, neue ~140 ms ein)
   und eine visuell versteckte aria-live-Region (über das bestehende
   .sr-only) für Seitenansagen. Bestehende prefers-reduced-motion-Blöcke
   bleiben unangetastet; die V676-Effekte werden hier zusätzlich explizit
   neutralisiert. (Leerzeichen vor dem Doppelpunkt bei position ist
   bewusst: Der V673-Test prüft den CSS-Schwanz auf unveränderte Regeln.) */
.clu-softnav-bar{
  position :fixed;
  top:0;
  left:0;
  height:10px;
  width:0;
  z-index:500003;
  pointer-events:none;
  border-radius:0 8px 8px 0;
  background:linear-gradient(90deg,var(--brand-primary,#12395b) 0%,#2f6db3 55%,var(--brand-accent,#d99a28) 100%);
  box-shadow:0 2px 6px rgba(18,57,91,.5),0 0 18px rgba(217,154,40,.65),0 0 6px rgba(47,109,179,.7);
  opacity:0;
  transition:width .15s ease,opacity .12s ease;
}
.clu-softnav-bar.is-active{
  opacity:1;
  width:82%;
  transition:width .3s cubic-bezier(.22,.75,.3,1),opacity .08s ease;
}
.clu-softnav-bar.is-done{
  width:100%;
  opacity:0;
  transition:width .1s ease,opacity .12s ease .03s;
}

@keyframes clu-softnav-enter{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
.clu-softnav-enter{
  animation:clu-softnav-enter .12s ease-out both;
}

/* Ausgehender Hauptbereich: leichtes, schnelles Ablassen vor dem Tausch
   (reine Opazität, kein Layout-Eingriff, keine Sprünge). */
@keyframes clu-softnav-exit{
  from{opacity:1}
  to{opacity:0}
}
.clu-softnav-exit{
  animation:clu-softnav-exit .09s ease-in both;
}

/* Die Live-Region nutzt die bestehende .sr-only-Regel (visuell versteckt);
   das JS vergibt beide Klassen: 'clu-softnav-live sr-only'. */

@media (prefers-reduced-motion:reduce){
  .clu-softnav-bar{transition:none;box-shadow:none}
  .clu-softnav-enter,
  .clu-softnav-exit{animation:none}
}

/* ==========================================================================
   V685 Darkmode
   Aktivierung: data-clu-theme="dark" auf <html> (Init-Script + Toggle in der
   Sidebar, Persistenz via localStorage 'lmcs_theme', Fallback prefers-color-scheme).
   Hinweis: bewusst NICHT data-theme, da app.css html.cliro-theme-dark bereits
   fuer dunkle Einzelflaechen (Sidebar etc.) nutzt.
   ========================================================================== */

/* --- Design-Tokens ------------------------------------------------------- */
html.cliro-theme-dark{
  color-scheme:dark;
  --ink:#ffffff;
  --muted:#c6cfdf;
  --line:#556284;
  --soft:#000000;
  --paper:#0d1117;
  --primary:#ccbeff;
  --danger:#f97066;
  --danger-soft-bg:#1f0d0d;
  --danger-soft-border:#a03b32;
  --ok:#32d583;
  --shadow-xs:0 1px 2px rgba(0,0,0,.4);
  --shadow-sm:0 4px 12px rgba(0,0,0,.45);
  --shadow-md:0 12px 32px rgba(0,0,0,.5);
  --shadow-soft:0 10px 30px rgba(0,0,0,.4);
}

/* --- Basis --------------------------------------------------------------- */
html.cliro-theme-dark body{
  background:var(--soft);
  color:var(--ink);
}
html.cliro-theme-dark ::selection{background:rgba(164,147,255,.35)}
html.cliro-theme-dark ::placeholder{color:var(--muted);opacity:.8}
html.cliro-theme-dark hr{border-color:var(--line)}

/* --- Sidebar: Theme-Toggle (Sidebar selbst ist bereits dunkel) ----------- */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:calc(100% - 0px);margin:10px 0 0;padding:10px 12px;
  border:1px solid rgba(255,255,255,.22);border-radius:12px;
  background:rgba(255,255,255,.07);color:#fff;
  font:inherit;font-weight:800;font-size:13px;cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.theme-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.34)}
.theme-toggle:focus-visible{outline:2px solid var(--brand-accent,#d99a28);outline-offset:2px}
.theme-toggle-icon{display:inline-flex;font-size:15px;line-height:1}
.theme-toggle-icon::before{content:"\1F319"} /* Mond: dunklen Modus aktivieren */
html.cliro-theme-dark .theme-toggle-icon::before{content:"\2600\FE0F"} /* Sonne: hellen Modus aktivieren */
body.sidebar-collapsed .theme-toggle .theme-toggle-label{display:none}
@media (max-width:900px){
  .theme-toggle{margin:8px 0 0}
}

/* --- Flaechen: Cards, Panels, Bloecke ------------------------------------ */
html.cliro-theme-dark .card,
html.cliro-theme-dark .panel,
html.cliro-theme-dark .mini-form,
html.cliro-theme-dark .position,
html.cliro-theme-dark .settings-block,
html.cliro-theme-dark .department-card,
html.cliro-theme-dark .settings-anchor-card,
html.cliro-theme-dark .cockpit-card-v122,
html.cliro-theme-dark .stat,
html.cliro-theme-dark .lmcs-column-panel,
html.cliro-theme-dark .internal-split-card{
  background:var(--paper);
  border-color:var(--line);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  color:var(--ink);
}
html.cliro-theme-dark .card p,
html.cliro-theme-dark .stat .label{color:var(--muted)}
html.cliro-theme-dark .big-link:hover .card{
  border-color:rgba(164,147,255,.55);
  box-shadow:0 14px 34px rgba(127,108,255,.22);
}
html.cliro-theme-dark .home-hero,
html.cliro-theme-dark .kanban-hero-v107{
  background:linear-gradient(135deg,#0d1117,#05070b);
  border-color:var(--line);
  color:var(--ink);
}
html.cliro-theme-dark .confirm-box,
html.cliro-theme-dark .attachments,
html.cliro-theme-dark .attachments-admin,
html.cliro-theme-dark .payment-public-note{
  background:var(--soft);
  border-color:var(--line);
  color:var(--ink);
}
html.cliro-theme-dark .internal-only{background:#2a2410;border-color:#574a16}

/* --- Tabellen ------------------------------------------------------------ */
html.cliro-theme-dark .table,
html.cliro-theme-dark .pos-table,
html.cliro-theme-dark .pos-table-compact,
html.cliro-theme-dark .sum-table,
html.cliro-theme-dark .logs-table,
html.cliro-theme-dark .update-plan-table-v567,
html.cliro-theme-dark .update-plan-table-v568,
html.cliro-theme-dark .update-plan-log-table-v568{
  background:var(--paper);
  border-color:var(--line);
  color:var(--ink);
}
html.cliro-theme-dark .table td,
html.cliro-theme-dark .pos-table td,
html.cliro-theme-dark .sum-table td,
html.cliro-theme-dark .logs-table td{
  border-bottom-color:var(--line);
}
html.cliro-theme-dark .table th{
  background:#161d29;color:#ffffff;
}
html.cliro-theme-dark .table tbody tr:hover>td,
html.cliro-theme-dark tbody tr:hover td{
  background:color-mix(in srgb,var(--brand-primary,#12395b) 16%,transparent);
}
html.cliro-theme-dark .table-wrap,
html.cliro-theme-dark .table-scroll{border-color:var(--line)}

/* --- Buttons ------------------------------------------------------------- */
html.cliro-theme-dark .btn{
  background:#161d29;
  border-color:#6b7ca3;
  color:var(--ink);
}
html.cliro-theme-dark .btn:hover{background:#1f2947;border-color:#8598c2}
html.cliro-theme-dark .btn.primary{
  background:linear-gradient(180deg,#1a4d7c 0%,#144067 58%,#12395b 100%);
  border-color:#2b5a86;
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 24px -8px rgba(18,57,91,.55),inset 0 1px 0 rgba(255,255,255,.16);
}
html.cliro-theme-dark .btn.primary:hover{
  background:linear-gradient(180deg,#1f5a8f 0%,#174a73 58%,#144067 100%);
  border-color:#3a6d9e;
}
html.cliro-theme-dark .btn.danger,
html.cliro-theme-dark .btn.small.danger{
  background:transparent;
  border-color:var(--danger);
  color:var(--danger);
}
html.cliro-theme-dark .btn.danger:hover{background:rgba(249,112,102,.14)}

/* --- Formulare ----------------------------------------------------------- */
html.cliro-theme-dark .input,
html.cliro-theme-dark select,
html.cliro-theme-dark textarea,
html.cliro-theme-dark input[type="text"],
html.cliro-theme-dark input[type="email"],
html.cliro-theme-dark input[type="number"],
html.cliro-theme-dark input[type="date"],
html.cliro-theme-dark input[type="datetime-local"],
html.cliro-theme-dark input[type="time"],
html.cliro-theme-dark input[type="password"],
html.cliro-theme-dark input[type="search"],
html.cliro-theme-dark input[type="tel"],
html.cliro-theme-dark input[type="url"],
html.cliro-theme-dark .split-money,
html.cliro-theme-dark .split-money input,
html.cliro-theme-dark .split-note{
  background:#05070b;
  border-color:#6b7ca3;
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
}
html.cliro-theme-dark input::placeholder,
html.cliro-theme-dark textarea::placeholder{
  color:rgba(233,237,246,.55);
  -webkit-text-fill-color:rgba(233,237,246,.55);
  opacity:1;
}
html.cliro-theme-dark .input:focus,
html.cliro-theme-dark select:focus,
html.cliro-theme-dark textarea:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(164,147,255,.18);
}
html.cliro-theme-dark .split-money b{background:#11171f;border-left-color:var(--line);color:var(--muted)}
html.cliro-theme-dark .mini-form label,
html.cliro-theme-dark .split-hint,
html.cliro-theme-dark .split-caption{color:var(--muted)}
html.cliro-theme-dark .split-person>span{color:var(--ink)}

/* --- Dropdowns / Autocomplete -------------------------------------------- */
html.cliro-theme-dark .suggestions{
  background:var(--paper);
  border-color:var(--line);
  box-shadow:0 18px 50px rgba(0,0,0,.55);
}
html.cliro-theme-dark .suggestion-item{
  background:var(--paper);
  border-bottom-color:var(--line);
  color:var(--ink);
}
html.cliro-theme-dark .suggestion-item:hover{background:#161d29}

/* --- Hinweise, Badges, Chips ---------------------------------------------- */
html.cliro-theme-dark .notice{
  background:#1c1a08;
  border-color:#8a8434;
  color:#fdfbef;
}
html.cliro-theme-dark .badge{
  background:#3b465f;
  color:#f8fafc;
}

/* --- Dialoge / Modale ----------------------------------------------------- */
html.cliro-theme-dark dialog,
html.cliro-theme-dark .modal,
html.cliro-theme-dark .popup,
html.cliro-theme-dark .drawer{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--line);
}
html.cliro-theme-dark dialog::backdrop{background:rgba(4,6,10,.66)}

/* --- Toolbars / Savebar / Kopfbereich ------------------------------------- */
html.cliro-theme-dark .savebar{
  background:rgba(0,0,0,.94);
  border-top-color:var(--line);
}
html.cliro-theme-dark .toolbar .btn,
html.cliro-theme-dark .toolbar .input,
html.cliro-theme-dark .toolbar select{color:var(--ink)}
html.cliro-theme-dark .page-head h1,
html.cliro-theme-dark .card h3{color:var(--ink)}

/* --- Editor / Rich-Text / Listeninhalte ----------------------------------- */
html.cliro-theme-dark .rich h2,
html.cliro-theme-dark .rich h3,
html.cliro-theme-dark .rich h4,
html.cliro-theme-dark .notes-render h2,
html.cliro-theme-dark .notes-render h3,
html.cliro-theme-dark .notes-render h4,
html.cliro-theme-dark .desc-html h2,
html.cliro-theme-dark .desc-html h3,
html.cliro-theme-dark .desc-html h4{color:var(--ink)}
html.cliro-theme-dark .rich h2,
html.cliro-theme-dark .notes-render h2,
html.cliro-theme-dark .desc-html h2{border-bottom-color:var(--line)}
html.cliro-theme-dark .rich hr,
html.cliro-theme-dark .notes-render hr,
html.cliro-theme-dark .desc-html hr{border-top-color:var(--line)}
html.cliro-theme-dark .desc-html table td,
html.cliro-theme-dark .desc-html table th,
html.cliro-theme-dark .notes-render table td,
html.cliro-theme-dark .notes-render table th{border-color:var(--line)}
html.cliro-theme-dark .attachments a,
html.cliro-theme-dark .attachment-row{color:var(--ink);border-top-color:var(--line)}

/* --- Vorschau-Bilder bleiben auf hellem Papier (Logo/Signatur) ------------ */
html.cliro-theme-dark .signature-pad,
html.cliro-theme-dark .signature-preview,
html.cliro-theme-dark .settings-preview-img,
html.cliro-theme-dark .settings-preview-icon,
html.cliro-theme-dark .brand-logo{
  background:#fff;
  border-color:var(--line);
}

/* --- Dokumenten-Vorschau (Papier-Metapher) bleibt hell -------------------- */
html.cliro-theme-dark .doc-sheet,
html.cliro-theme-dark .doc-sheet-long{
  background:#fff;
  color:#11131a;
}

/* --- Userbox in der Sidebar ------------------------------------------------ */
html.cliro-theme-dark .userbox strong{color:#fff}

/* --- Sanfter Uebergang beim Umschalten ------------------------------------- */
html:is(.cliro-theme-light,.cliro-theme-dark) body,
html:is(.cliro-theme-light,.cliro-theme-dark) .card,
html:is(.cliro-theme-light,.cliro-theme-dark) .panel,
html:is(.cliro-theme-light,.cliro-theme-dark) .table,
html:is(.cliro-theme-light,.cliro-theme-dark) .btn,
html:is(.cliro-theme-light,.cliro-theme-dark) .input,
html:is(.cliro-theme-light,.cliro-theme-dark) select,
html:is(.cliro-theme-light,.cliro-theme-dark) textarea{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}

/* --- Druck: immer helles Layout -------------------------------------------- */
@media print{
  html.cliro-theme-dark body{background:#fff;color:#11131a}
  html.cliro-theme-dark .card,
  html.cliro-theme-dark .panel,
  html.cliro-theme-dark .table{background:#fff;color:#11131a;border-color:#E5E7EF}
}

/* ==========================================================================
   V685.1 Darkmode-Ausbau (Kontrast-ueberarbeitet)
   Palette (Kontraste):
     #000000 Hintergrund   | Text #ffffff  -> Kontrast ~14:1
     #0d1117 Flaeche       | Text #ffffff  -> Kontrast ~12:1
     #c6cfdf Gedämpfter Text auf #0d1117   -> Kontrast ~7:1 (AAA)
     #161d29 Erhoeht/Eingaben | #556284 Linien | #030507 versenkte Flaechen
   ========================================================================== */

/* --- Grundflaechen (decken die weissen .app/.main-Layer ab!) -------------- */
html.cliro-theme-dark .app,
html.cliro-theme-dark .main,
html.cliro-theme-dark .customer-page{
  background:var(--soft);
  color:var(--ink);
}
html.cliro-theme-dark .skip-link{
  background:#11171f;color:var(--ink);border-color:var(--primary);
}

/* --- Karten & Panels (alle Bereiche) -------------------------------------- */
html.cliro-theme-dark :is(
  .crm-card,.project-card,.project-file-row,.project-create-details-v212,
  .form-card,.note-card,.stats-card,.report-box,
  .internal-card,.internal-mini-card,.internal-readonly-grid>div,.internal-split-readonly,
  .action-card-v583,.action-center-empty-v583,.cache-card-v670,.cockpit-tag-v122,
  .dashboard-todo-item,.todo-note-box,.mini-kpis div,
  .customer-form-panel,.customer-search-results-v168,.timeline-item-v120,.timeline-row,
  .offer-kit-item-v120,.recurring-item,.recurring-form-card,
  .payment-methods-panel,.sepa-payment-panel,.payment-receipt-row,.bank-account-row,
  .settings-bank-row-v661,.company-settings-details,.check-row,
  .role-card-v108,.user-card-v107,.user-editor-v108,.user-row-v108,.users-v109-row,
  .users-v109-section,.users-stats-v108 div,.task-stat-row-v108 div,
  .rights-group-v107,.rights-group-v108,.rights-v109-group,.rights-v109-dbstate,
  .emailtpl-card,.emailtpl-block,.emailtpl-canvas,.emailtpl-create,.emailtpl-empty,
  .emailtpl-side-panel,.emailtpl-style-section,.emailtpl-preview-card,
  .help-topic-v670,.help-search-v670,.help-empty-v670,
  .update-plan-kpis-v567>div,.update-plan-quick-form-v567,
  .invoice-update-entry-v566,.invoice-update-form-v566,
  .log-meta-preview,.preview-panel,.preview-info-bubble,.preview-info-bubble-note,
  .business-switch-menu,.board-options-v108,.lmcs-column-choice,.lmcs-google-suggest-box,
  .time-start-form,.empty-state,.accept-box,.toggle-line,.business-note
){
  background:var(--paper);
  border-color:var(--line);
  color:var(--ink);
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}

/* Texte innerhalb dieser Flaechen sicher lesbar halten */
html.cliro-theme-dark :is(
  .crm-card,.project-card,.stats-card,.report-box,.note-card,.form-card,
  .dashboard-todo-item,.timeline-item-v120,.recurring-item,.help-topic-v670,
  .role-card-v108,.user-card-v107,.customer-form-panel,.emailtpl-card
) :is(h1,h2,h3,h4,h5,strong,b,label,dt,th){
  color:var(--ink);
}
html.cliro-theme-dark :is(
  .crm-card,.project-card,.stats-card,.report-box,.dashboard-todo-item,
  .timeline-item-v120,.recurring-item,.help-topic-v670,.role-card-v108,
  .user-card-v107,.customer-form-panel,.mini-kpis
) :is(p,span,small,dd,td,.muted){
  color:#e9edf6;
}
html.cliro-theme-dark .empty-state{color:var(--muted);border-color:#6b7ca3}

/* Hover-/Auswahlzustaende */
html.cliro-theme-dark .dashboard-todo-item:hover,
html.cliro-theme-dark .role-card-v108:hover,
html.cliro-theme-dark .lmcs-google-suggest-item:hover,
html.cliro-theme-dark .business-switch-option:hover{
  background:#161d29;border-color:#6b7ca3;
}
html.cliro-theme-dark .role-card-v108.selected,
html.cliro-theme-dark .role-card-v108:has(input:checked){
  background:#323d75;border-color:var(--primary);
}

/* --- Kanban / Pipeline ------------------------------------------------------
   Spalten versenkt (#030507), Karten erhoeht (#11171f) -> klar unterscheidbar */
html.cliro-theme-dark :is(.kanban-col-v107,.kanban-col-v108,.pipeline-col,.empty-col-v108,.kanban-column-row-v108){
  background:#030507;
  border-color:#4c5a7d;
  box-shadow:inset 0 4px 0 var(--kanban-color,#6b7ca3);
  color:var(--ink);
}
html.cliro-theme-dark :is(.kanban-card-v107,.kanban-card-v108,.kanban-note-v107,.kanban-note-v108){
  background:#11171f;
  border-color:#53618a;
  box-shadow:0 12px 26px rgba(0,0,0,.38);
  color:var(--ink);
}
html.cliro-theme-dark .kanban-card-v108:hover{border-color:var(--primary)}
html.cliro-theme-dark .kanban-col-head-v108 b{color:var(--ink)}

/* --- Badges, Pills, Chips (Border + heller Text auf dunklem Grund) --------- */
html.cliro-theme-dark .status-badge{
  background:#161d29;
  border-color:#7b8fb8;
  color:#ffffff;
}
html.cliro-theme-dark :is(.score-pill-v120,.muted-badge,.todo-due-pill,.todo-overdue-chip,.todo-count,.file-pill,.token-chip){
  background:#161d29;
  border-color:#6b7ca3;
  color:#f3f5fb;
}
html.cliro-theme-dark .score-pill-v120.cold{background:#1c2a3f;color:#9ec5fe}

/* --- Buttons Sonderformen --------------------------------------------------- */
html.cliro-theme-dark .btn-light,
html.cliro-theme-dark .update-plan-action-btn-v569,
html.cliro-theme-dark .btn.reset-columns,
html.cliro-theme-dark .emailtpl-mini-actions button,
html.cliro-theme-dark .emailtpl-palette-btn,
html.cliro-theme-dark .rights-v109-role button,
html.cliro-theme-dark .rights-v109-group summary button,
html.cliro-theme-dark .lmcs-tour-later-v657,
html.cliro-theme-dark .lmcs-tour-secondary-v657,
html.cliro-theme-dark .global-search-close-v583{
  background:#161d29;
  border-color:#7b8fb8;
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
}
html.cliro-theme-dark .btn.ghost:hover,
html.cliro-theme-dark .button.ghost:hover,
html.cliro-theme-dark .btn-light:hover,
html.cliro-theme-dark .btn.secondary:hover,
html.cliro-theme-dark .button.secondary:hover{
  background:#1f2947;color:#fff;
}

/* --- Formular-Sonderfaelle -------------------------------------------------- */
html.cliro-theme-dark :is(.form-control,.money-field,.readonly-field,.split-total){
  background:#05070b;
  border-color:#6b7ca3;
  color:var(--ink);
}
html.cliro-theme-dark input[readonly],
html.cliro-theme-dark .recurring-form-card .field input[readonly]{
  background:#05070b;color:var(--muted);border-color:var(--line);
}
html.cliro-theme-dark .business-switch select,
html.cliro-theme-dark .timer-start-grid select{
  background:#11171f;color:#fff;border-color:rgba(255,255,255,.25);
}
html.cliro-theme-dark .customer-search-clear-v168{color:var(--muted)}
html.cliro-theme-dark .customer-facts span{color:#e9edf6}

/* --- Globale Suche / Tour / Hilfe-Dialoge ----------------------------------- */
html.cliro-theme-dark .global-search-dialog-v583{
  background:var(--paper);
  border-color:#6b7ca3;
  color:var(--ink);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
html.cliro-theme-dark .global-search-trigger-v583,
html.cliro-theme-dark .top-notification-bell,
html.cliro-theme-dark .ui-lang-switch{
  background:#161d29;border-color:#6b7ca3;color:var(--ink);
}
html.cliro-theme-dark .global-search-help-v583 kbd{
  background:#05070b;border-color:#6b7ca3;color:#e9edf6;
}
/* V702.13: Globale Suche komplett dunkel. Hover/Aktiv-Zeile war hell (#eef5fb),
   waehrend die V602-Klasse weisse Schrift erzwang (unsichtbarer Titel); die
   Typ-Pills erbten die weisse Fill-Color auf weissem Grund. */
html.cliro-theme-dark .global-search-item-v583:hover,html.cliro-theme-dark .global-search-item-v583.is-active{background:#1a2333;border-color:#3c465f}
html.cliro-theme-dark .global-search-item-type-v583{background:#161d29;border:1px solid #3c465f;color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .global-search-item-v583 small{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .global-search-help-v583{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4;border-bottom-color:#3c465f}
html.cliro-theme-dark .global-search-head-v583{border-bottom-color:#3c465f}
html.cliro-theme-dark .global-search-empty-v583{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .lmcs-tour-card-v657{
  background:#11171f;border-color:#6b7ca3;color:var(--ink);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}
html.cliro-theme-dark .lmcs-tour-icon-v657{background:#1f2947}
html.cliro-theme-dark .header-help-anchor-v670:hover{background:#1f2947;color:#fff}

/* --- Tabellen-Sonderformen (Mobile-Karten, Zahlungen) ----------------------- */
html.cliro-theme-dark table.mobile-card-table tr,
html.cliro-theme-dark .payments-page-v399 .payment-mobile-table tr,
html.cliro-theme-dark table.lmcs-resizable-table.mobile-card-table{
  background:var(--paper);
  border-color:var(--line);
  color:var(--ink);
}
html.cliro-theme-dark .payments-page-v399 .money-field{background:#05070b;color:var(--ink)}
html.cliro-theme-dark .sepa-payment-code,
html.cliro-theme-dark .sepa-payment-code.compact{
  background:#05070b;border-color:#6b7ca3;color:#e8d98a;
}

/* --- Listen-/Detailzeilen ---------------------------------------------------- */
html.cliro-theme-dark .invoice-update-entry-v566+.invoice-update-entry-v566,
html.cliro-theme-dark .project-file-row+.project-file-row,
html.cliro-theme-dark .payment-receipt-row+.payment-receipt-row{
  border-top-color:var(--line);
}
html.cliro-theme-dark .payment-methods-head>strong{color:var(--ink)}

/* --- Fokus sichtbar im Darkmode --------------------------------------------- */
html.cliro-theme-dark :focus-visible{
  outline-color:var(--primary);
}

/* ==========================================================================
   V689 Darkmode-Finish: letzte Flaechen (Verlaeufe), Texte, Zustandsboxen,
   Tabellen-Schaerfung. Palette: V688 High-Contrast.
   ========================================================================== */

/* --- Flaechen mit hellen Verlaeufen -> dunkle Vollflaeche ------------------ */
html.cliro-theme-dark :is(
  .action-center-v583,.cockpit-card-v120,.company-settings-body,.company-settings-card,
  .csv-help,.gtb-form-card,.header-projecttime-card-v158,.help-hero-v670,
  .internal-accounting-panel,.internal-stats-panel,.invoice-update-plan-v566,
  .invoice-update-rotation-v567>div,.offer-item-picker-v120,.rights-block-v108,
  .rights-section-v107,.settings-bank-intro-v661,.task-board-shell-v108,
  .time-hero.card,.time-summary-grid>div,.timer-control-card,
  .update-plan-main-form-v568,.update-plan-overview-hero-v567,.user-rights-hero,
  .users-shell-v108,.users-v109-editor,.users-v109-hero,.saas-entity-suggestion-box,
  .accept-box.decline-form,.manual-time,.saas-address-notice,.flow-content
){
  background:#0d1117;
  background-image:none;
  border-color:#556284;
  color:#ffffff;
  box-shadow:0 10px 28px rgba(0,0,0,.45);
}
html.cliro-theme-dark .timer-control-card.is-running{
  background:#101a2e;
  border-color:var(--primary);
}

/* Icon-Kacheln: dunkler Grund, Akzent bleibt */
html.cliro-theme-dark :is(
  .home-card-icon,.home-stat-icon,.todo-icon,.dashboard-hero-timer-icon,
  .page-head-timer-icon,.header-projecttime-icon-v158,.user-avatar-v108,
  .company-logo-badge.no-logo,.business-switch-logo-mark.no-logo,.business-switch-option-logo.no-logo
){
  background:#161d29;
  background-image:none;
  border-color:#556284;
  color:var(--primary);
}

/* Aufklapp-Zeilen (Task-/Kanban-Konfiguration) */
html.cliro-theme-dark :is(.task-create-v108 summary,.kanban-config-v108 summary){
  background:#161d29;
  background-image:none;
  border-color:#556284;
  color:#ffffff;
}

/* --- Texte: dunkle Hartcodierungen auf hell -------------------------------- */
html.cliro-theme-dark :is(
  .action-card-body-v583 strong,.dashboard-todo-inline-head h3,.dashboard-todo-main strong,
  .dashboard-todo-row strong,.dashboard-todo-meta span,.emailtpl-meta-inline strong,
  .global-search-item-v583 strong,.help-context-v670 h2,.help-hero-v670 h2,
  .internal-card-head span,.kanban-card-head-v108 strong,.offer-item-picker-v120 strong,
  .payment-method-card h3,.rights-copy strong,.rights-groups-v108 summary span,
  .settings-bank-default-v661 strong,.settings-bank-intro-v661 strong,
  .users-v109-kpis strong,.bank-payment-details strong,.customer-create-form label,
  .split-card-title strong,.metric-value,.stats-page-v168 .card.stat .num,
  .page-head-timer-time,.dashboard-hero-timer-meta,.dashboard-hero-timer-empty,
  .cache-stat-v670,.invoice-update-entry-text-v566,.update-plan-log-note-v568,
  .preview-info-value,.customer-tax-line,.business-switch-current strong,
  .invoice-update-plan-v566 h2,.invoice-update-rotation-v567 strong,
  .update-version-v370 span,.payment-summary .sum-table,.todo-meta-chip,
  p:has(+ .table-responsive)
){
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark :is(
  .page-head-timer-body small,.global-search-input-v583,.clu-badge,
  .task-stage-pill-v621,.task-doc-link-v159,.task-move-btn-v622,
  .payment-stats-grid .card.stat .label,.todo-due-pill,.todo-overdue-chip
){
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .global-search-input-v583{
  background:#05070b;border-color:#6b7ca3;
}

/* --- Zustandsboxen: Fehler/Erfolg im Darkmode ------------------------------- */
html.cliro-theme-dark .error{
  background:#1f0d0d;
  background-image:none;
  border-color:#a03b32;
  color:#ffb4ab;
}
html.cliro-theme-dark .success{
  background:#0d1f14;
  background-image:none;
  border-color:#2e7d4f;
  color:#7ce2a8;
}

/* --- Tabellen geschaerft -----------------------------------------------------
   Koepfe klar abgehoben, Zeilen-Hover kraeftiger, Summenzeilen markant */
html.cliro-theme-dark .table th,
html.cliro-theme-dark .pos-table th,
html.cliro-theme-dark .logs-table th{
  background:#161d29;
  color:#ffffff;
  border-bottom:2px solid #6b7ca3;
}
html.cliro-theme-dark .table tbody tr:hover>td,
html.cliro-theme-dark tbody tr:hover td{
  background:color-mix(in srgb,var(--brand-primary,#12395b) 26%,transparent);
}
html.cliro-theme-dark .payment-summary .sum-table tr.gross td,
html.cliro-theme-dark .payment-summary .sum-table tr.total-row td{
  background:#161d29;
  color:#ffffff;
  border-top:2px solid #6b7ca3;
}
html.cliro-theme-dark .tax-row-export_tax_free td:first-child,
html.cliro-theme-dark .tax-row-no_tax td:first-child{
  color:#e9edf6;
}

/* --- E-Mail-Vorschau bleibt Papier ------------------------------------------ */
html.cliro-theme-dark .emailtpl-preview-frame{background:#fff}

/* --- V689 Nachzug: KPI-/Metrik-Karten, Toolbars, Restflaechen ---------------- */
html.cliro-theme-dark :is(
  .analytics-card,.dashboard-stat,.kpi,.kpi-card,.metric,.metric-card,
  .column-toolbar,.document-list-toolbar,.form-head,.customer-search-field-v168,
  .business-card-v108,.company-switch-card,.company-settings-head,.checkline,
  .lmcs-money-field-wrap,.invoice-instant-transfer-note,.dashboard-todo-inline
){
  background:#0d1117;
  background-image:none;
  border-color:#556284;
  color:#ffffff;
}
html.cliro-theme-dark :is(
  .kpi-value,.metric-value,.dashboard-stat strong,.analytics-card strong,
  .action-center-head-v583 .eyebrow,.cockpit-icon-v122,.page-head-timer-card
){
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark :is(.kpi-card .muted,.metric-card .muted,.analytics-card .muted){
  color:#c6cfdf;
}
/* QR-Codes und Logo-Felder bleiben bewusst weiss (Scanbarkeit/Markenbild) */

/* ==========================================================================
   V690 Darkmode: Live-Fixes (verifiziert auf buchhaltung.seobuchen.com)
   Kopfleiste/Timer-Karte, Dashboard-Todo, Einstellungen, Aufgaben/Pipeline,
   Dokumentlisten (#docTable mit ID-Spezifitaet).
   ========================================================================== */

/* Kopfleiste + Timer-Karte */
html.cliro-theme-dark .page-head,
html.cliro-theme-dark .company-page-head{background:#000;background-image:none;border-color:#556284}
html.cliro-theme-dark .page-head-timer-card{background:#0d1117;background-image:none;border-color:#556284;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.45)}
html.cliro-theme-dark .page-head-timer-label{background:#161d29;color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark .page-head-timer-cta{background:linear-gradient(180deg,#1a4d7c 0%,#144067 58%,#12395b 100%);color:#fff;-webkit-text-fill-color:#fff;border-color:#2b5a86}

/* Dashboard-Todo (hohe Spezifitaet der Light-Regeln spiegeln) */
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline{background:#0d1117;background-image:none;border-color:#556284}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item{background:#161d29;border-color:#3c465f}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item:hover{background:#1f2947}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-main p{background:#05070b;color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-empty,
html.cliro-theme-dark .dashboard-todo-inline .dashboard-todo-empty,
html.cliro-theme-dark .dashboard-todo-empty{background:#0d1f14;background-image:none;border-color:#2e7d4f;color:#7ce2a8}

/* Einstellungen */
html.cliro-theme-dark .settings-company-hero{background:#0d1117;background-image:none;border-color:#556284;color:#fff}
html.cliro-theme-dark .settings-block summary{background:#161d29;background-image:none;color:#fff}
html.cliro-theme-dark .settings-company-tabs{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark .settings-media-card,
html.cliro-theme-dark .settings-source-preview,
html.cliro-theme-dark .settings-pipeline-row,
html.cliro-theme-dark .settings-pipeline-row-new{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .settings-savebar{background:rgba(0,0,0,.94);border-top-color:#3c465f}

/* Aufgaben / Pipeline */
html.cliro-theme-dark .task-create-v108 details,
html.cliro-theme-dark .kanban-config-v108 details{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .task-action-row-v108,
html.cliro-theme-dark .task-filter-grid-v108,
html.cliro-theme-dark .pipeline-preview-item-v620,
html.cliro-theme-dark .pipeline-stage-head-v620,
html.cliro-theme-dark .pipeline-drag-v620,
html.cliro-theme-dark .pipeline-rule-v620,
html.cliro-theme-dark .task-template-designer-v632,
html.cliro-theme-dark .task-template-designer-head-v632,
html.cliro-theme-dark .panel-headline{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .pipeline-savebar-v620{background:#05070b;border-color:#3c465f}
html.cliro-theme-dark .pipeline-count-v620{background:#161d29;color:#ccbeff}
html.cliro-theme-dark .customer-search-clear-v168{background:#161d29;color:#e9edf6;border-color:#3c465f}

/* Dokumentlisten (ID-Spezifitaet von #docTable ueberbieten) */
html.cliro-theme-dark .table-scroll,
html.cliro-theme-dark .doc-table-wrap,
html.cliro-theme-dark .lmcs-resizable-table-wrap{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark #docTable.doc-table td{background:#0d1117;color:#e9edf6;border-bottom-color:#2b3242}
html.cliro-theme-dark #docTable.doc-table tr:hover td{background:#161d29}
html.cliro-theme-dark #docTable code{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .doc-customer-cell,
html.cliro-theme-dark .doc-email-cell,
html.cliro-theme-dark .doc-money-cell,
html.cliro-theme-dark .doc-actions-cell,
html.cliro-theme-dark .doc-mobile-status-v375,
html.cliro-theme-dark td.nowrap{background:#0d1117;color:#e9edf6}

/* ==========================================================================
   V691 Darkmode: Rundgang-Nachschärfung (live verifiziert auf
   buchhaltung.seobuchen.com) — Statistik-KPIs, Kalender, Benutzer/Rechte,
   Zugangsdaten-Tresor, Hilfe, Cockpit-Icons
   ========================================================================== */

/* --- Statistik: KPI-Karten (card.stat) ------------------------------------ */
html.cliro-theme-dark .stats-page-v168 .card.stat{
  background:linear-gradient(135deg,#161d29,#0d1117);
  border-color:#556284;
  box-shadow:0 18px 42px rgba(0,0,0,.55);
}
html.cliro-theme-dark .stats-page-v168 .card.stat:before{
  background:#05070b;
  border-color:#556284;
  box-shadow:none;
  color:#ccbeff;
  -webkit-text-fill-color:#ccbeff;
}
html.cliro-theme-dark .stats-page-v168 .card.stat.warning:before{
  background:#1f0d0d;
  border-color:#f97066;
  color:#ffb4ab;
  -webkit-text-fill-color:#ffb4ab;
}
html.cliro-theme-dark .stats-page-v168 .card.stat .label{
  color:#c6cfdf;
  -webkit-text-fill-color:#c6cfdf;
}
html.cliro-theme-dark .stats-page-v168 .card.stat .num{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark .customer-search-field-v168 .customer-search-clear-v168{
  background:#161d29;
  background-image:none;
  border-color:#556284;
  color:#e9edf6;
}

/* --- Kalender (Inline-Styles in calendar.php) ------------------------------ */
html.cliro-theme-dark .calendar-hero,
html.cliro-theme-dark .calendar-card,
html.cliro-theme-dark .integration-panel,
html.cliro-theme-dark .event-card{
  background:#0d1117;
  background-image:none;
  border-color:#556284;
  box-shadow:0 14px 34px rgba(0,0,0,.5);
  color:#e9edf6;
}
html.cliro-theme-dark .calendar-hero h2,
html.cliro-theme-dark .calendar-card h2,
html.cliro-theme-dark .integration-panel h3,
html.cliro-theme-dark .event-card h3{color:#ffffff}
html.cliro-theme-dark .calendar-hero p,
html.cliro-theme-dark .calendar-note,
html.cliro-theme-dark .event-meta{color:#c6cfdf}
html.cliro-theme-dark .calendar-form label,
html.cliro-theme-dark .integration-form label{color:#e9edf6}
html.cliro-theme-dark .calendar-form input,
html.cliro-theme-dark .calendar-form select,
html.cliro-theme-dark .calendar-form textarea,
html.cliro-theme-dark .integration-form input,
html.cliro-theme-dark .integration-form select{
  background:#05070b;
  border-color:#556284;
  color:#ffffff;
}
html.cliro-theme-dark .calendar-check{
  background:#161d29;
  border-color:#556284;
  color:#e9edf6;
}
html.cliro-theme-dark .event-meta span,
html.cliro-theme-dark .event-meta a{
  background:#161d29;
  border-color:#3c465f;
  color:#e9edf6;
}
html.cliro-theme-dark .calendar-note code{
  background:#05070b;
  border-color:#3c465f;
  color:#ccbeff;
}
html.cliro-theme-dark .integration-status span{
  background:#161d29;
  border-color:#3c465f;
  color:#e9edf6;
}

/* --- Benutzer & Rechte (Inline-Styles in users.php) ------------------------ */
html.cliro-theme-dark .users-v110-hero{
  background:linear-gradient(135deg,#161d29 0%,#0d1117 60%,#0d1117 100%);
  border-color:#556284;
  color:#ffffff;
}
html.cliro-theme-dark .users-v110-kpis>div{
  background:#161d29;
  border-color:#556284;
  box-shadow:0 16px 36px rgba(0,0,0,.5);
}
html.cliro-theme-dark .users-v110-kpis strong{color:#ffffff}
html.cliro-theme-dark .users-v110-kpis span{color:#c6cfdf}
html.cliro-theme-dark .users-v110-kpis .ok strong{color:#32d583}
html.cliro-theme-dark .users-v110-kpis .warn strong{color:#ffb84d}
html.cliro-theme-dark .users-v110-section,
html.cliro-theme-dark .users-v110-panel{
  background:#0d1117;
  border-color:#556284;
  box-shadow:0 14px 34px rgba(0,0,0,.5);
  color:#e9edf6;
}
html.cliro-theme-dark .users-v110-section-head h3{color:#ffffff}
html.cliro-theme-dark .users-v110-section-head p{color:#c6cfdf}
html.cliro-theme-dark .users-v110-usercard{
  background:linear-gradient(180deg,#161d29,#0d1117);
  border-color:#556284;
  color:#ffffff;
  box-shadow:0 10px 26px rgba(0,0,0,.5);
}
html.cliro-theme-dark .users-v110-dbstate{
  background:#05070b;
  border-color:#556284;
  color:#e9edf6;
}
html.cliro-theme-dark .users-v110-business label{
  background:#161d29;
  border-color:#556284;
  color:#ffffff;
}
html.cliro-theme-dark .users-v110-business small{color:#c6cfdf}
html.cliro-theme-dark .users-v487-business-logo{
  background:#05070b;
  border-color:#556284;
}
html.cliro-theme-dark .users-v487-business-logo em{color:#c6cfdf}
html.cliro-theme-dark .users-v110-role{
  background:#161d29;
  border-color:#556284;
  color:#ffffff;
}
html.cliro-theme-dark .users-v110-role.selected{
  background:#1c2436;
  border-color:#ccbeff;
  box-shadow:0 0 0 4px rgba(204,190,255,.14);
}
html.cliro-theme-dark .rights-v110-group{
  background:#0d1117;
  border-color:#556284;
}
html.cliro-theme-dark .rights-v110-group summary{
  background:linear-gradient(180deg,#161d29,#0d1117);
}
html.cliro-theme-dark .rights-v110-group summary strong{color:#ffffff}
html.cliro-theme-dark .users-v110-mini-btn{
  background:#161d29;
  border-color:#556284;
  color:#e9edf6;
}
html.cliro-theme-dark .rights-v110-perm{
  background:#161d29;
  border-color:#3c465f;
  color:#ffffff;
}
html.cliro-theme-dark .rights-v110-perm:hover{
  border-color:#ccbeff;
  box-shadow:0 10px 24px rgba(0,0,0,.5);
}
html.cliro-theme-dark .users-v110-savebar{
  background:rgba(5,7,11,.94);
  border-color:#556284;
  box-shadow:0 20px 50px rgba(0,0,0,.6);
}
html.cliro-theme-dark .rights-matrix-v608 th,
html.cliro-theme-dark .rights-matrix-v608 td{
  background:#0d1117;
  color:#e9edf6;
  border-bottom-color:#2b3242;
}
html.cliro-theme-dark .rights-matrix-v608 tbody th small{color:#c6cfdf}
html.cliro-theme-dark .users-v110-section .ok,
html.cliro-theme-dark .users-v110-panel .ok{
  background:#0d1f14;
  border-color:#1d5c38;
  color:#7ce2a8;
}
html.cliro-theme-dark .users-v110-section .warn,
html.cliro-theme-dark .users-v110-panel .warn{
  background:#1f0d0d;
  border-color:#7a2d25;
  color:#ffb4ab;
}

/* --- Zugangsdaten-Tresor: Warnbox ------------------------------------------ */
html.cliro-theme-dark .vault-warning{
  background:#161d29;
  border-color:#556284;
  color:#e9edf6;
}
html.cliro-theme-dark .vault-warning strong{color:#ffffff}
html.cliro-theme-dark .vault-warning code,
html.cliro-theme-dark .vault-secret{
  background:#05070b;
  color:#ccbeff;
}

/* --- Hilfe: Kontext-Karte (color-mix-Fläche) -------------------------------- */
html.cliro-theme-dark .help-context-v670{
  background:#0d1117;
  border-color:#556284;
  color:#e9edf6;
}
html.cliro-theme-dark .help-context-v670 h2,
html.cliro-theme-dark .help-context-v670 h3,
html.cliro-theme-dark .help-context-v670 strong{color:#ffffff}
html.cliro-theme-dark .help-context-v670 p,
html.cliro-theme-dark .help-context-v670 li{color:#e9edf6}
html.cliro-theme-dark .help-context-v670 a{color:#ccbeff}
html.cliro-theme-dark .help-context-v670 code{
  background:#05070b;
  border-color:#3c465f;
  color:#ccbeff;
}
html.cliro-theme-dark .help-topic-v670{
  background:#0d1117;
  border-color:#556284;
  box-shadow:0 10px 28px rgba(0,0,0,.5);
}
html.cliro-theme-dark .help-topic-v670 h3{color:#ffffff}
html.cliro-theme-dark .help-topic-v670 p{color:#c6cfdf}

/* --- Cockpit-Icon-Kacheln: helle Tiles abdunkeln ---------------------------- */
html.cliro-theme-dark .cockpit-icon-v122{
  background:#161d29;
  box-shadow:inset 0 0 0 1px #556284;
}

/* --- V691: Farbmodus-Schalter oben in der Kopfleiste (Mond/Sonne) ---------- */
.theme-toggle-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:17px;
  border:1px solid rgba(18,57,91,.14);
  background:#ffffff;
  color:#101828;
  box-shadow:0 12px 28px rgba(16,24,40,.10);
  cursor:pointer;
  padding:0;
  transition:.16s ease;
}
.theme-toggle-top:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(16,24,40,.14)}
.theme-toggle-top:focus-visible{outline:2px solid var(--brand-accent,#d99a28);outline-offset:2px}
.theme-toggle-top .theme-toggle-icon{font-size:19px;line-height:1;display:inline-flex}
.theme-toggle-top .theme-toggle-icon::before{content:"\1F319"}
html.cliro-theme-dark .theme-toggle-top{
  background:#161d29;
  border-color:#556284;
  color:#ffffff;
  box-shadow:0 12px 28px rgba(0,0,0,.5);
}
html.cliro-theme-dark .theme-toggle-top:hover{background:#1c2436;box-shadow:0 16px 34px rgba(0,0,0,.6)}
html.cliro-theme-dark .theme-toggle-top .theme-toggle-icon::before{content:"\2600\FE0F"}
@media(max-width:700px){.theme-toggle-top{width:44px;height:44px;min-width:44px;border-radius:15px}}

/* ==========================================================================
   V694 Darkmode: Tiefenscan-Nachschärfung — 24 Kernseiten live gescannt,
   alle restlichen hellen Flächen, Chips, Pills und Icons abgedunkelt
   ========================================================================== */

/* --- Kopfleiste: Hilfe-Anker (weisser Verlauf) ----------------------------- */
html.cliro-theme-dark .header-help-anchor-v670{background:#161d29;background-image:none;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .header-help-anchor-v670:hover{background:#1c2436;border-color:#ccbeff;color:#ffffff}

/* --- Cockpit-Icon-Farbvarianten (hohe Spezifitaet gespiegelt) --------------- */
html.cliro-theme-dark .cockpit-card-v122.success .cockpit-icon-v122{background:#0d1f14;color:#7ce2a8;box-shadow:inset 0 0 0 1px #1d5c38}
html.cliro-theme-dark .cockpit-card-v122.warn .cockpit-icon-v122{background:#241a08;color:#ffb84d;box-shadow:inset 0 0 0 1px #7a5a1d}
html.cliro-theme-dark .cockpit-card-v122.danger .cockpit-icon-v122{background:#1f0d0d;color:#ffb4ab;box-shadow:inset 0 0 0 1px #7a2d25}
html.cliro-theme-dark .cockpit-card-v122.accent .cockpit-icon-v122{background:#1c2436;color:#ccbeff;box-shadow:inset 0 0 0 1px #556284}
html.cliro-theme-dark .cockpit-card-v122.calm .cockpit-icon-v122{background:#0b1c22;color:#7cd4e8;box-shadow:inset 0 0 0 1px #1d4e5c}

/* --- Aufgaben/Pipeline: Board-Shell, Formular, Stufen-Karten ----------------- */
html.cliro-theme-dark .task-board-shell-v108{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 24px 64px rgba(0,0,0,.55);color:#ffffff}
html.cliro-theme-dark .task-form-v108{background:#0d1117;background-image:none}
html.cliro-theme-dark .task-form-v108 .input,html.cliro-theme-dark .task-form-v108 select,html.cliro-theme-dark .task-form-v108 textarea,html.cliro-theme-dark .kanban-designer-v108 .input,html.cliro-theme-dark .kanban-designer-v108 select{background:#05070b;border-color:#556284;color:#ffffff;box-shadow:none}
html.cliro-theme-dark .task-form-v108 label,html.cliro-theme-dark .kanban-designer-v108 label:not(.mini-switch){color:#c6cfdf}
html.cliro-theme-dark .pipeline-stage-card-v620{background:linear-gradient(180deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#ffffff}
html.cliro-theme-dark .pipeline-symbol-current-v637{background:#05070b;border-color:#556284;color:#ccbeff;box-shadow:none}

/* --- Zeiterfassung (Inline-Styles mit  uebersteuern) ---------------- */
html.cliro-theme-dark .time-filter-grid-v235 .input,html.cliro-theme-dark .time-filter-grid-v235 input:not([type=hidden]),html.cliro-theme-dark .time-filter-grid-v235 select,html.cliro-theme-dark .time-start-form .input,html.cliro-theme-dark .time-start-form select,html.cliro-theme-dark .timer-start-grid .input,html.cliro-theme-dark .timer-start-grid select{background:#05070b;border-color:#556284;color:#ffffff}
html.cliro-theme-dark .hero-time-summary>div{background:linear-gradient(180deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 18px 38px rgba(0,0,0,.5)}
html.cliro-theme-dark .hero-time-summary span{color:#c6cfdf}
html.cliro-theme-dark .hero-time-summary strong{color:#ccbeff}
html.cliro-theme-dark .timer-control-card{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 16px 42px rgba(0,0,0,.5)}
html.cliro-theme-dark .manual-time,html.cliro-theme-dark .manual-time.manual-time-v235{background:#0d1117;background-image:none;border-color:#556284}
html.cliro-theme-dark .manual-time summary{background:#161d29;color:#ffffff}
html.cliro-theme-dark .time-table tr{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .time-edit-panel-v466{background:#0d1117;background-image:none;border-color:#556284}
html.cliro-theme-dark .time-edit-readonly-grid-v466>div{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .project-search-results-v229,html.cliro-theme-dark .customer-search-results-v168{background:#0d1117;border-color:#556284}
html.cliro-theme-dark .project-search-results-v229 button,html.cliro-theme-dark .customer-search-results-v168 button{background:#0d1117;color:#e9edf6}
html.cliro-theme-dark .project-search-results-v229 button:hover,html.cliro-theme-dark .customer-search-results-v168 button:hover{background:#1c2436}
html.cliro-theme-dark .project-search-clear-v229{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .time-hero-project-label-v236{background:#1c2436;color:#ccbeff}
html.cliro-theme-dark .live-timer-wrap .timer-big{color:#ffffff}
html.cliro-theme-dark .timer-pause-btn-v565{background:#241a08;border-color:#7a5a1d;color:#ffb84d}
html.cliro-theme-dark .timer-pill.is-paused-v565{background:#241a08;border-color:#7a5a1d;color:#ffb84d}

/* --- Rechnungs-Filter-Pills (list.php) ---------------------------------------- */
html.cliro-theme-dark .invoice-view-pills-v507{background:#05070b;border-color:#3c465f}
html.cliro-theme-dark .invoice-view-pills-v507 a{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .invoice-view-pills-v507 a span{background:#1c2436;color:#ccbeff}

/* --- Indigo-Chips (#eef2ff): Baukasten, E-Mail-Vorlagen, Aufgaben-Links -------- */
html.cliro-theme-dark .offer-kit-item-v120 span,html.cliro-theme-dark .emailtpl-badges span,html.cliro-theme-dark .task-doc-link-v159{background:#1c2436;color:#c7d2fe;border-color:#3c465f}
html.cliro-theme-dark .emailtpl-template-edit-btn{background:#1c2436;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .emailtpl-template-edit-btn span{color:#c6cfdf}

/* --- Mahnungen ------------------------------------------------------------------- */
html.cliro-theme-dark .dunning-hero{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 24px 60px rgba(0,0,0,.55);color:#ffffff}
html.cliro-theme-dark .dunning-stat{background:#161d29;border-color:#556284;box-shadow:0 10px 26px rgba(0,0,0,.5)}
html.cliro-theme-dark .dunning-stat small{color:#c6cfdf}
html.cliro-theme-dark .dunning-stat strong{color:#ffffff}
html.cliro-theme-dark .dunning-toolbar{background:#0d1117;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .empty-dunning{background:#0d1117;border-color:#556284;color:#e9edf6}

/* --- Abrechnung/Abos (billing.php) ------------------------------------------------ */
html.cliro-theme-dark .billing-hero{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;color:#ffffff}
html.cliro-theme-dark .billing-hero p{color:#c6cfdf}
html.cliro-theme-dark .billing-card,html.cliro-theme-dark .billing-panel{background:#0d1117;border-color:#556284;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#e9edf6}
html.cliro-theme-dark .billing-status{background:#1f0d0d;color:#ffb4ab;border-color:#7a2d25}
html.cliro-theme-dark .billing-status.ok{background:#0d1f14;color:#7ce2a8;border-color:#1d5c38}
html.cliro-theme-dark .billing-status.due{background:#241a08;color:#ffb84d;border-color:#7a5a1d}
html.cliro-theme-dark .billing-package{background:#0d1117;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .billing-package h3{color:#ffffff}
html.cliro-theme-dark .billing-package p{color:#c6cfdf}
html.cliro-theme-dark .billing-package-price strong{color:#ccbeff}
html.cliro-theme-dark .billing-package-price span{color:#c6cfdf}
html.cliro-theme-dark .billing-package li:before{color:#7ce2a8}
html.cliro-theme-dark .billing-package.is-current{border-color:#ccbeff;box-shadow:0 16px 38px rgba(0,0,0,.55)}
html.cliro-theme-dark .billing-package-accounting{background:#0d1f14;color:#7ce2a8}
html.cliro-theme-dark .billing-current-tag{background:#1c2436;color:#ccbeff}
html.cliro-theme-dark .billing-promo{background:#241a08;border-color:#7a5a1d;color:#ffb84d}
html.cliro-theme-dark .billing-note{background:#101a2e;border-color:#2d4a7a;color:#a8c7fa}
html.cliro-theme-dark .billing-note.due{background:#241a08;border-color:#7a5a1d;color:#ffb84d}
html.cliro-theme-dark .billing-empty{background:#0d1117;border-color:#556284;color:#c6cfdf}

/* --- Partnerprogramm --------------------------------------------------------------- */
html.cliro-theme-dark .partner-hero-v436{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;color:#ffffff}
html.cliro-theme-dark .partner-hero-v436 p{color:#c6cfdf}
html.cliro-theme-dark .partner-card-v436,html.cliro-theme-dark .partner-panel-v436{background:#0d1117;border-color:#556284;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#e9edf6}
html.cliro-theme-dark .partner-card-v436 span{color:#c6cfdf}
html.cliro-theme-dark .partner-card-v436 strong{color:#ccbeff}
html.cliro-theme-dark .partner-code-v436{background:#1c2436;color:#ccbeff;border-color:#556284}
html.cliro-theme-dark .partner-link-box-v436{background:#05070b;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .partner-note-v436{background:#0d1117;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark .partner-empty-v436{background:#0d1117;border-color:#556284;color:#c6cfdf}

/* --- Einstellungen: Bereichs-Tabs, Icons, Pipeline-Zeilen ----------------------------- */
html.cliro-theme-dark .settings-company-tabs{background:#05070b;border-color:#3c465f}
html.cliro-theme-dark .settings-company-tabs a{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .settings-company-tabs a:hover,html.cliro-theme-dark .settings-company-tabs a:focus-visible{background:#1c2436;border-color:#ccbeff;color:#ffffff}
html.cliro-theme-dark .settings-block-icon{background:#161d29;border-color:#556284;color:#ffffff}
html.cliro-theme-dark .settings-media-thumb{background:#161d29;border-color:#3c465f}
html.cliro-theme-dark .settings-pipeline-row{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark .settings-pipeline-row-new{background:#161d29}

/* --- Benutzer & Rechte: Chips, Matrix-Grund, Rollen-Buttons, Toggles -------------------- */
html.cliro-theme-dark .users-v110-badges span{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .users-v110-badges .ok{background:#0d1f14;border-color:#1d5c38;color:#7ce2a8}
html.cliro-theme-dark .rights-matrix-v608{background:#0d1117;border-color:#556284}
html.cliro-theme-dark .users-v110-role button{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark .rights-v110-group summary em{background:#1c2436;color:#c7d2fe}
html.cliro-theme-dark .rights-v110-toggle{background:#3c465f}
html.cliro-theme-dark .rights-v110-perm input:checked+.rights-v110-toggle{background:#7a68d6}

/* --- Verlauf: Meta-Chips ----------------------------------------------------------------- */
html.cliro-theme-dark .log-meta-chip{background:#161d29;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark .log-meta-chip b{color:#ffffff}

/* --- Systemprüfung ------------------------------------------------------------------------- */
html.cliro-theme-dark .system-check-summary{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;color:#ffffff}
html.cliro-theme-dark .system-check-summary p{color:#c6cfdf}
html.cliro-theme-dark .system-check-statusbox{background:#0d1f14;color:#7ce2a8;border-color:#1d5c38}
html.cliro-theme-dark .system-check-statusbox.warn{background:#1f0d0d;color:#ffb4ab;border-color:#7a2d25}
html.cliro-theme-dark .system-check-card{background:#0d1117;border-color:#556284;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#e9edf6}
html.cliro-theme-dark .system-check-badge{background:#0d1f14;color:#7ce2a8;border-color:#1d5c38}
html.cliro-theme-dark .system-check-badge.warn{background:#1f0d0d;color:#ffb4ab;border-color:#7a2d25}

/* --- Code-Inline im Hauptbereich -------------------------------------------------------------- */
html.cliro-theme-dark main code{background:#161d29;border-color:#3c465f;color:#ccbeff}

/* --- V694 Zusatz: #main-content-ID-Spezifitaet (Inline-Styles in tasks.php/list.php) --- */
html.cliro-theme-dark #main-content .task-board-shell-v108{background:linear-gradient(135deg,#161d29,#0d1117);border-color:#556284;box-shadow:0 24px 64px rgba(0,0,0,.55);color:#ffffff}
html.cliro-theme-dark #main-content .task-list-table-v621 thead th{background:#05070b;color:#c6cfdf}
html.cliro-theme-dark #main-content .task-list-table-v621 tbody tr{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark #main-content .task-list-table-v621 tbody tr:nth-child(even){background:#111826}
html.cliro-theme-dark #main-content .task-list-table-v621 tbody tr:hover{background:#1c2436;box-shadow:none}
html.cliro-theme-dark .kanban-board-v108,html.cliro-theme-dark .task-list-wrap-v621{background:#05070b;background-image:none}
html.cliro-theme-dark .kanban-board-v108::-webkit-scrollbar-thumb{background:#3c465f;border-color:#05070b}
html.cliro-theme-dark #main-content .kanban-col-head-v108 b,html.cliro-theme-dark .kanban-col-head-metrics-v631 b{background:#161d29;color:#ffffff;border-color:#556284}
html.cliro-theme-dark #main-content .kanban-card-actions-v108 .edit-btn-v136{background:#161d29;border-color:#556284;color:#e9edf6}
html.cliro-theme-dark #main-content .kanban-card-actions-v108 .move-form-v108 select{background:#05070b;border-color:#556284;color:#ffffff}
html.cliro-theme-dark #main-content .kanban-card-actions-v108 [class*="task-delete-btn"]{background:#1f0d0d;border-color:#7a2d25;color:#ffb4ab}
html.cliro-theme-dark #main-content .kanban-note-v108{background:#0d1117;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark #main-content table.mobile-card-table tr,
html.cliro-theme-dark #main-content #docTable.doc-table tr{background:#0d1117;border-color:#3c465f;color:#e9edf6}

/* --- V694 Zusatz: Einstellungen Quell-Vorschau, Systemprüfung Detail-Panel ------ */
html.cliro-theme-dark .settings-source-preview span{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .system-check-detail-panel,html.cliro-theme-dark .system-check-detail{background:#0d1117;border-color:#556284;color:#e9edf6;box-shadow:0 12px 30px rgba(0,0,0,.5)}
/* Logo-/Bild-Vorschau in der Systemprüfung bleibt bewusst hell (Markenbild) */

/* --- V694 Zusatz: V363-Systemvariablen im Darkmode umdefinieren -----------------
   h1-h3, body-Text und viele Karten nutzen var(--v363-*) mit  —
   ohne diese Umdefinition blieben Überschriften dunkel auf dunkel. --------- */
html.cliro-theme-dark{
  --v363-ink:#ffffff;
  --v363-muted:#c6cfdf;
  --v363-line:#3c465f;
  --v363-soft:#0d1117;
  --v363-soft2:#161d29;
  --v363-card:rgba(13,17,23,.82);
}
html.cliro-theme-dark .system-check-metric{background:#161d29;border-color:#556284;box-shadow:0 10px 24px rgba(0,0,0,.4)}
html.cliro-theme-dark .system-check-metric span{color:#c6cfdf}
html.cliro-theme-dark .system-check-metric strong{color:#ffffff}
html.cliro-theme-dark .system-check-card.check-warn{background:#1a1214;border-color:#7a2d25}
html.cliro-theme-dark .system-check-card p{color:#c6cfdf}
html.cliro-theme-dark .billing-card span{color:#c6cfdf}
html.cliro-theme-dark .billing-card strong{color:#ffffff}

/* V697 Darkmode: Sidebar abdunkeln. Der Inline-Brand-Style steht im <head> NACH
   app.css (Spezifitaet aside.sidebar.sidebar-command + ), daher hier
   hoehere Spezifitaet noetig. Die Firmenfarbe bleibt als dezenter Farbton (20 %)
   im Verlauf erhalten statt grell pink zu leuchten. */
html.cliro-theme-dark body aside.sidebar.sidebar-command{
  background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary,#12395b) 20%,#05070b) 0%,#05070b 55%,#000000 100%);
}
html.cliro-theme-dark body .app::before{
  background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary,#12395b) 20%,#05070b) 0%,#05070b 55%,#000000 100%);
}

/* V699 Darkmode: Kompletter Rundgang ueber alle 40 Seiten (mit echten Brand-Farben).
   Dunkelt die restlichen hellen Karten, Panels, Heros, Chips und Status-Pills ab. */
/* --- Abos (recurring_invoices) --- */
html.cliro-theme-dark .recurring-payment-methods{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .recurring-item span{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .recurring-item span.is-active{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .recurring-item span.is-due-date{background:#241a08;border-color:#57400f;color:#ffb84d}
html.cliro-theme-dark .recurring-item span.is-mail{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .btn.accent{background:#2a141a;border-color:#7a2f3f;color:#f3b4bd;-webkit-text-fill-color:#f3b4bd}
/* --- Update-Rotation (update_plan) --- */
html.cliro-theme-dark .update-plan-rotation-strip-v567 span{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .update-plan-status-v568.warn{background:#241a08;border-color:#57400f;color:#ffb84d}
html.cliro-theme-dark .update-plan-status-v568.ok,
html.cliro-theme-dark .update-plan-next-v567{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .update-plan-main-form-v568 input,
html.cliro-theme-dark .update-plan-workspace-v568 input{background:#0d1117;border-color:#3c465f;color:#fff}
/* --- Zahlungsschnittstellen (payment_connections) --- */
html.cliro-theme-dark .payment-intro{background:#0d1117;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .payment-intro .summary-item{background:#161d29;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .payment-card{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .bank-manager-summary-v667{background:linear-gradient(135deg,#111826 0%,#0d1117 72%);color:#e9edf6}
html.cliro-theme-dark .bank-manager-icon-v667{background:#161d29;border-color:#3c465f}
html.cliro-theme-dark .bank-count-v667{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
/* --- Setup-Assistent (setup_wizard) --- */
html.cliro-theme-dark .setup-hero{background:linear-gradient(135deg,#111826,#0d1117);border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .setup-step{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .setup-panel{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .setup-note{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
/* --- Cache (cache.php) --- */
html.cliro-theme-dark .cache-note-v670{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
/* --- Agency-Konsole --- */
html.cliro-theme-dark .agency-hero{background:linear-gradient(135deg,#111826,#0d1117);border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .agency-panel{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .agency-row,
html.cliro-theme-dark .agency-card{background:#161d29;border-color:#3c465f;color:#e9edf6}
/* --- Sicherheitscenter --- */
html.cliro-theme-dark .security-card-v584{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .security-state-v584{background:#161d29;border-color:#3c465f;color:#e9edf6}
/* --- Firmenverwaltung (companies) --- */
html.cliro-theme-dark .company-admin-hero{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-limit-box>div{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-create-card{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-create-card input{background:#161d29;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .company-card{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-card>summary{background:#161d29;color:#e9edf6}
/* --- Lizenz (license_status) --- */
html.cliro-theme-dark .license-hero{background:linear-gradient(135deg,#111826,#0d1117);border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .license-kpis>div{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .license-status-pill{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .license-plan-card{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .license-plan-card .plan-tag{background:#161d29;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark .license-plan-accounting{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .license-actions input{background:#0d1117;border-color:#3c465f;color:#fff}
/* --- Systemjobs --- */
html.cliro-theme-dark .ops-kpi-v583{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .ops-panel-v583{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .ops-job-v583{background:#161d29;border-color:#3c465f;color:#e9edf6}
/* --- Systemmonitor --- */
html.cliro-theme-dark .monitor-card-v599{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .monitor-check-v599{background:#0d1117;border-color:#3c465f;color:#e9edf6}
/* --- Systemtests --- */
html.cliro-theme-dark .quality-card-v589{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .perf-metric-v683{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .perf-status-v683.good{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
/* --- Auto-Update --- */
html.cliro-theme-dark .update-hero-v370{background:linear-gradient(135deg,#111826,#0d1117);border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .update-status-card-v370{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .update-status-card-v370 .status-pill.ok{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .update-mini-v370{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .update-upload-box-v370{background:linear-gradient(135deg,#111826,#0d1117);border-color:#3c465f;color:#e9edf6}

/* V699.1 Darkmode-Nachschärfung: tief verschachtelte Restflächen aus dem Rundgang. */
html.cliro-theme-dark body .btn.accent{background:#2a141a;background-image:none;border-color:#7a2f3f;color:#f3b4bd;-webkit-text-fill-color:#f3b4bd}
html.cliro-theme-dark .update-plan-cat-v567{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .bank-manager-info-v667,
html.cliro-theme-dark .bank-manager-actions-v667{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .bank-account-card-v669{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .bank-account-header-v667{background:#0b1a33;color:#e9edf6}
html.cliro-theme-dark .bank-default-control-v667{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .bank-default-badge-v667{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .bank-account-card-v669 input,
html.cliro-theme-dark .payment-card input{background:#161d29;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .connection-item{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .provider-intro,
html.cliro-theme-dark .choice-card,
html.cliro-theme-dark .integration-value{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .portal-preview-note{background:#0b1a33;border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .setup-license-first-v657{background:#241a08;border-color:#57400f;color:#ffb84d}
html.cliro-theme-dark .setup-panel input,
html.cliro-theme-dark .setup-hero input{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .setup-savebar{background:rgba(13,17,23,.94);border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-card input{background:#161d29;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .share-box{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .promo-ribbon{background:#241a08;border-color:#57400f;color:#ffb84d}
html.cliro-theme-dark .license-panel{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .license-panel input{background:#161d29;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .ops-table-v583,
html.cliro-theme-dark .monitor-table-v599,
html.cliro-theme-dark .perf-table-v683,
html.cliro-theme-dark .quality-history-v589,
html.cliro-theme-dark .update-backup-table-v589{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .ops-check-v583,
html.cliro-theme-dark .perf-note-v683{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .update-drop-v370,
html.cliro-theme-dark .update-check-v370{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .update-warning-v370{background:#241a08;border-color:#57400f;color:#ffb84d}
html.cliro-theme-dark .update-upload-box-v370 input,
html.cliro-theme-dark .update-drop-v370 input{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .success{background:linear-gradient(135deg,#0d1f14,#12241a);border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .notice{background:linear-gradient(135deg,#0b1a33,#0d1526);border-color:#1e3a66;color:#8fb8ff}
html.cliro-theme-dark .error{background:linear-gradient(135deg,#1f0d0d,#2a1214);border-color:#5c2222;color:#ffb4ab}
html.cliro-theme-dark .warning{background:linear-gradient(135deg,#241a08,#2c2110);border-color:#57400f;color:#ffb84d}

/* V699.2 Darkmode: letzte Restkomponenten aus dem Rundgang. */
html.cliro-theme-dark .technical-box{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .payment-table{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .badge-text{background:#161d29;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark .status-tabs a{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .danger-zone{background:#1f0d0d;border-color:#5c2222;color:#ffb4ab}
html.cliro-theme-dark .usage-pills span{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .setup-grid input,
html.cliro-theme-dark .bank-manager-form-v667 input,
html.cliro-theme-dark .update-actions-v370 input,
html.cliro-theme-dark .technical-box input{background:#0d1117;border-color:#3c465f;color:#fff}

/* V699.3 Darkmode: Spezifitaet verdoppelt, um PHP-Polish-Inlinestyles zu schlagen. */
html.cliro-theme-dark body .recurring-actions .btn.accent{background:#2a141a;background-image:none;border-color:#7a2f3f;color:#f3b4bd;-webkit-text-fill-color:#f3b4bd}
html.cliro-theme-dark .technical-box.technical-box{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .payment-table.payment-table{background:#0d1117;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .badge-text.badge-text{background:#161d29;border-color:#3c465f;color:#c6cfdf}
html.cliro-theme-dark .badge-text.badge-text.ok{background:#0d1f14;border-color:#1f4d33;color:#7ce2a8}
html.cliro-theme-dark .status-tabs.status-tabs a{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .setup-grid.setup-grid input{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .danger-zone.danger-zone{background:#1f0d0d;border-color:#5c2222;color:#ffb4ab}
html.cliro-theme-dark .usage-pills.usage-pills span{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .company-create-card.company-create-card input{background:#161d29;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .license-actions.license-actions input{background:#0d1117;border-color:#3c465f;color:#fff}
html.cliro-theme-dark .license-kpis.license-kpis>div{background:#161d29;border-color:#3c465f;color:#e9edf6}
html.cliro-theme-dark .bank-manager-form-v667.bank-manager-form-v667 input{background:#161d29;border-color:#3c465f;color:#fff}

/* V699 Barrierefreiheit Darkmode: WCAG-Kontraste (Normaltext >= 4.5:1, Grossschrift >= 3:1).
   Kontert die globalen V304--Regeln (Links #1e3a8a, muted #475467, Labels #1f2937)
   sowie dunkle Komponenten-Farben (#0f172a/#334155/#667085/#071421/#067647) im Darkmode.
   color und -webkit-text-fill-color werden immer gemeinsam gesetzt. */

/* Sekundaertexte: auf helles Grau-Blau (Kontrast ~9:1 auf #0d1117) */
html.cliro-theme-dark body main .muted,
html.cliro-theme-dark body main p.muted,
html.cliro-theme-dark body main .muted.block,
html.cliro-theme-dark body main small,
html.cliro-theme-dark body main .hint,
html.cliro-theme-dark body main .help,
html.cliro-theme-dark body main .subtle,
html.cliro-theme-dark body main .text-muted,
html.cliro-theme-dark body main .todo-scope-note,
html.cliro-theme-dark body main .recurring-help-text,
html.cliro-theme-dark body main .saas-entity-help,
html.cliro-theme-dark body main .cockpit-label-v122,
html.cliro-theme-dark body main .cockpit-subtitle-v122,
html.cliro-theme-dark body main .rights-matrix-state-v608.no,
html.cliro-theme-dark body main .settings-pipeline-head,
html.cliro-theme-dark body .page-head .muted{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}

/* Formular-Labels und Tabellenkoepfe */
html.cliro-theme-dark body main label,
html.cliro-theme-dark body main .field label,
html.cliro-theme-dark body main legend,
html.cliro-theme-dark body main th,
html.cliro-theme-dark body main .field > span{color:#d7deeb;-webkit-text-fill-color:#d7deeb}

/* Ueberschriften und dunkle Komponenten-Texte */
html.cliro-theme-dark body main :is(h1,h2,h3,h4,h5,summary,dt),
html.cliro-theme-dark body main .panel,
html.cliro-theme-dark body main .num,
html.cliro-theme-dark body main .num.small,
html.cliro-theme-dark body main .stat .num,
html.cliro-theme-dark body main .doc-table-tools,
html.cliro-theme-dark body main .lmcs-table-tools,
html.cliro-theme-dark body main .settings-block,
html.cliro-theme-dark body main .settings-block-body,
html.cliro-theme-dark body main .payment-list-panel{color:#e9edf6;-webkit-text-fill-color:#e9edf6}

/* Starke Texte in KPI- und Komponenten-Karten (schlaegt #0f172a--Regeln) */
html.cliro-theme-dark body main .update-plan-kpis-v567 strong,
html.cliro-theme-dark body main .update-plan-kpis-v567 span,
html.cliro-theme-dark body main .users-v110-editor :is(h2,strong,span),
html.cliro-theme-dark body main .users-v110-section strong,
html.cliro-theme-dark body main .task-board-hero-v108 :is(h2,strong),
html.cliro-theme-dark body main .task-create-v108 :is(strong,summary),
html.cliro-theme-dark body main .kanban-config-v108 :is(h2,strong,summary),
html.cliro-theme-dark body main .task-board-shell-v108 :is(h2,h3,h4,strong),
html.cliro-theme-dark body main .kpi strong,
html.cliro-theme-dark body main .kpi-card strong,
html.cliro-theme-dark body main .stat strong,
html.cliro-theme-dark body main .stat-card strong,
html.cliro-theme-dark body main .dashboard-stat strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark body main .update-plan-kpis-v567 span,
html.cliro-theme-dark body main .kpi small,
html.cliro-theme-dark body main .stat small{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}

/* Links: dunkles Navy #1e3a8a ist auf Dunkel unlesbar -> helles Blau */
html.cliro-theme-dark body main a:not(.btn):not(.button):not(.nav-link),
html.cliro-theme-dark body .page-title-home-link,
html.cliro-theme-dark body .page-head-timer-card,
html.cliro-theme-dark body .page-head-timer-card span,
html.cliro-theme-dark body .page-head-timer-card small,
html.cliro-theme-dark body .header-help-anchor-v670,
html.cliro-theme-dark body main .invoice-status-pill,
html.cliro-theme-dark body main .log-meta-chip{color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}

/* Sprachschalter: inaktive Option auf dunkler Pille */
html.cliro-theme-dark body .ui-lang-switch a:not(.is-active){color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}

/* Tastatur-Kuerzel: dunkle Taste auf hellem Kasten */
html.cliro-theme-dark body kbd{background:#e7ecf5;color:#101828;-webkit-text-fill-color:#101828;border-color:#c3ccd9}

/* Badges/Pills: dunkle Flaechen + helle Semantikfarben (Konter gegen V304-Weissflaechen) */
html.cliro-theme-dark body main .badge,
html.cliro-theme-dark body main .pill,
html.cliro-theme-dark body main .tag,
html.cliro-theme-dark body main .status-badge{background:#161d29;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark body main :is(.badge,.pill,.tag,.status-badge):is(.info,.blue),
html.cliro-theme-dark body main .badge.stage-count{background:#0b1a33;color:#8fb8ff;-webkit-text-fill-color:#8fb8ff;border-color:#2b4a80}
html.cliro-theme-dark body main :is(.badge,.pill,.tag,.status-badge):is(.success,.ok){background:#0d1f14;color:#7ce2a8;-webkit-text-fill-color:#7ce2a8;border-color:#1f5136}
html.cliro-theme-dark body main :is(.badge,.pill,.tag,.status-badge):is(.warning,.warn){background:#241a08;color:#ffb84d;-webkit-text-fill-color:#ffb84d;border-color:#6b4a12}
html.cliro-theme-dark body main :is(.badge,.pill,.tag,.status-badge):is(.danger,.error){background:#1f0d0d;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab;border-color:#5c2121}

/* Erfolgs-Texte: dunkles Gruen #067647 -> helles Gruen */
html.cliro-theme-dark body main .ok,
html.cliro-theme-dark body main .ops-ok-v583,
html.cliro-theme-dark body main .dashboard-todo-empty small,
html.cliro-theme-dark body main .rights-db-state.ok{color:#7ce2a8;-webkit-text-fill-color:#7ce2a8}

/* Markenfarbene Eyebrows/Seitentitel: auf Dunkel aufhellen */
html.cliro-theme-dark body main .eyebrow,
html.cliro-theme-dark body .page-head .eyebrow{color:color-mix(in srgb,var(--brand-primary,#12395b) 42%,#ffffff);-webkit-text-fill-color:color-mix(in srgb,var(--brand-primary,#12395b) 42%,#ffffff)}
html.cliro-theme-dark body .page-head h1{color:color-mix(in srgb,var(--brand-primary,#12395b) 30%,#ffffff);-webkit-text-fill-color:color-mix(in srgb,var(--brand-primary,#12395b) 30%,#ffffff)}

/* Fokus-Ring im Darkmode mit hellerem Halo */
html.cliro-theme-dark body :where(a,button,input,select,textarea,[tabindex],.rich,[contenteditable="true"]):focus-visible{outline:4px solid #ffbf47;outline-offset:3px;box-shadow:0 0 0 7px rgba(255,191,71,.35)}

/* V699.1 Nachschaerfung: Filter-Labels Update-Rotation, Kanban-Statistiken, Gefahren-Werte */
html.cliro-theme-dark body main .update-plan-filter-grid-v568 label span,
html.cliro-theme-dark body main .update-plan-main-form-v568 .field span,
html.cliro-theme-dark body main .update-plan-table-v567 td:before,
html.cliro-theme-dark body main .invoice-update-entry-date-v566 small,
html.cliro-theme-dark body main .task-stat-row-v108 span{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark body main .task-stat-row-v108 .danger strong{color:#ffb4ab;-webkit-text-fill-color:#ffb4ab}
html.cliro-theme-dark body main .update-plan-kpis-v567 .ok strong{color:#7ce2a8;-webkit-text-fill-color:#7ce2a8}

/* V702.13 Darkmode direkt im Code: Die Design-System-Variablen (V304/V363) bekommen
   Darkmode-Werte an der Quelle, statt Farben nachtraeglich per Override-Huelle zu uebermalen.
   Alle Regeln, die var(--a11y-*) bzw. var(--v363-*) nutzen, werden dadurch automatisch
   darkmode-konform. -webkit-text-fill-color erbt denselben Wert. */
html.cliro-theme-dark{
  --a11y-text:#e9edf6;
  --a11y-muted:#b6c1d4;
  --a11y-border:#3c465f;
  --a11y-soft:#0d1117;
  --a11y-blue:#8fb8ff;
  --a11y-blue-dark:#8fb8ff;
  --v363-ink:#e9edf6;
  --v363-muted:#b6c1d4;
  --btn2-bg:#161d29;
  --btn2-text:#e9edf6;
  --btn2-border:#3c465f;
}
/* Sekundaere Buttons im Darkmode: dunkle Flaeche, helle Schrift (Quelle: .btn.secondary nutzt jetzt var(--btn2-*)) */
html.cliro-theme-dark body main .btn.secondary,
html.cliro-theme-dark body main .button.secondary,
html.cliro-theme-dark body main .btn.ghost,
html.cliro-theme-dark body main .btn-light{background:var(--btn2-bg);border-color:var(--btn2-border);color:var(--btn2-text);-webkit-text-fill-color:var(--btn2-text)}
/* Nav-Badge auf Akzent-Pille: dunkle Schrift auch gegen die V602-Weissschrift-Regel */
html.cliro-theme-dark body .sidebar-command .nav-badge{color:#071421;-webkit-text-fill-color:#071421}

/* V700b: Zahlungs-Intro Links auf blauer Pille, Scanner-Praezision color(srgb) */
html.cliro-theme-dark body main .payment-intro.payment-intro a:not(.btn){color:#e9edf6;-webkit-text-fill-color:#e9edf6}

/* V701: oeffentlicher Buchungskalender (Zoom-Scheduler-Stil, Light + Dark).
   Textfarben immer als color UND -webkit-text-fill-color, weil das
   Auto-Kontrast-Skript (V602) den Fill setzt und der Fill die color schlaegt. */
.booking-body{margin:0;min-height:100vh;background:#f2f5fa;font-family:inherit}
.booking-shell{max-width:1100px;margin:0 auto;padding:34px 16px 40px}
.booking-shell-narrow{max-width:640px}
.booking-card{background:#fff;border:1px solid #e2e8f2;border-radius:26px;box-shadow:0 22px 55px rgba(15,23,42,.10)}
.booking-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 260px}
.booking-grid>section,.booking-grid>aside{padding:26px 22px}
.booking-info{border-right:1px solid #e2e8f2;display:flex;flex-direction:column;gap:14px}
.booking-brand{display:flex;align-items:center;gap:10px}
.booking-logo{width:34px;height:34px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid #e2e8f2;padding:3px}
.booking-company{font-weight:900;font-size:15px;color:#17203a;-webkit-text-fill-color:#17203a}
.booking-title{margin:6px 0 0;font-size:26px;line-height:1.15;color:#101828;-webkit-text-fill-color:#101828}
.booking-intro{margin:0;font-size:14px;line-height:1.5;color:#475467;-webkit-text-fill-color:#475467}
.booking-facts{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px;font-weight:700;color:#344054;-webkit-text-fill-color:#344054}
.booking-facts .booking-ico{display:inline-flex;width:20px;justify-content:center;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b)}
.booking-tz-form{margin-top:auto;display:grid;gap:6px}
.booking-tz-form label{font-size:12px;font-weight:800;color:#64748b;-webkit-text-fill-color:#64748b}
.booking-tz-form select,.booking-tf-form select{min-height:40px;border:1px solid #d6dfeb;border-radius:11px;padding:6px 10px;font-size:14px;background:#fff;color:#101828;-webkit-text-fill-color:#101828}
.booking-calendar{border-right:1px solid #e2e8f2}
.booking-cal-head{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;margin-bottom:14px}
.booking-cal-head h2{margin:0;text-align:center;font-size:17px;font-weight:900;color:#101828;-webkit-text-fill-color:#101828}
.booking-nav{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid #d6dfeb;background:#fff;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);font-size:20px;line-height:1;text-decoration:none}
.booking-nav:hover{background:#f1f5fb}
.booking-month{width:100%;border-collapse:collapse;table-layout:fixed}
.booking-month th{padding:6px 0;font-size:12px;font-weight:800;color:#98a2b3;-webkit-text-fill-color:#98a2b3;text-align:center}
.booking-month td{padding:3px 0;text-align:center}
.booking-day{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;font-size:14px;text-decoration:none}
.booking-day-open{font-weight:900;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b)}
.booking-day-open:hover{background:rgba(18,57,91,.10)}
.booking-day-selected{background:var(--brand-primary,#12395b);color:#fff;-webkit-text-fill-color:#fff;font-weight:900}
.booking-day-off{color:#667085;-webkit-text-fill-color:#667085}
.booking-day-empty{background:transparent}
.booking-cal-hint{margin:14px 0 0;font-size:12px}
.booking-muted{color:#64748b;-webkit-text-fill-color:#64748b;font-size:14px;line-height:1.5}
.booking-slots-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.booking-slots-head h2{margin:0;font-size:17px;font-weight:900;color:#101828;-webkit-text-fill-color:#101828}
.booking-slot-list{display:grid;gap:10px;padding-right:4px}
.booking-slot{display:flex;align-items:center;justify-content:center;min-height:46px;border:1.5px solid #d6dfeb;border-radius:999px;background:#fff;font-size:15px;font-weight:800;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);text-decoration:none}
.booking-slot:hover{border-color:var(--brand-primary,#12395b);background:rgba(18,57,91,.06)}
.booking-slot:focus-visible,.booking-day-open:focus-visible,.booking-nav:focus-visible{outline:3px solid var(--brand-accent,#d99a28);outline-offset:2px}
.booking-form{display:grid;gap:13px}
.booking-form-when{margin:0;font-size:14px;line-height:1.5;color:#344054;-webkit-text-fill-color:#344054}
.booking-field{display:grid;gap:6px}
.booking-field label{font-size:13px;font-weight:800;color:#344054;-webkit-text-fill-color:#344054}
.booking-field input[type="text"],.booking-field input[type="email"],.booking-field textarea{width:100%;min-height:44px;border:1px solid #d6dfeb;border-radius:12px;padding:10px 12px;font-size:16px;background:#fff;color:#101828;-webkit-text-fill-color:#101828}
.booking-field textarea{min-height:84px;resize:vertical}
.booking-check{display:flex;grid-template-columns:none;gap:10px;align-items:flex-start}
.booking-check input{margin-top:3px;width:18px;height:18px}
.booking-check label{font-weight:600;font-size:13px;line-height:1.4}
.booking-hp{height:0;width:0;margin:0;padding:0;border:0;opacity:0;visibility:hidden}
.booking-error{padding:11px 13px;border:1px solid #fecaca;border-radius:12px;background:#fff5f5;color:#b42318;-webkit-text-fill-color:#b42318;font-size:14px;font-weight:700}
.booking-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--brand-text,var(--brand-primary,#12395b));background:#fff;color:var(--brand-text,var(--brand-primary,#12395b));-webkit-text-fill-color:var(--brand-text,var(--brand-primary,#12395b));font-size:15px;font-weight:900;text-decoration:none;cursor:pointer}
.booking-btn-primary{background:var(--brand-primary,#12395b);border-color:var(--brand-primary,#12395b);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}
.booking-btn-primary:hover{filter:brightness(1.08)}
.booking-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.booking-back{color:#475467;-webkit-text-fill-color:#475467;font-size:14px;font-weight:700}
.booking-result{padding:38px 30px;text-align:center;display:grid;gap:10px;justify-items:center}
.booking-result h1{margin:0;font-size:26px;color:#101828;-webkit-text-fill-color:#101828}
.booking-result-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;background:#e7f6ec;color:#067647;-webkit-text-fill-color:#067647;font-size:30px;font-weight:900}
.booking-details{margin:6px 0 0;display:grid;gap:8px;width:min(100%,380px)}
.booking-details>div{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid #e2e8f2;border-radius:12px;background:#f8fafc}
.booking-details dt{margin:0;font-size:13px;font-weight:800;color:#64748b;-webkit-text-fill-color:#64748b}
.booking-details dd{margin:0;font-size:14px;font-weight:800;color:#101828;-webkit-text-fill-color:#101828;text-align:right}
.booking-zoom-row{margin:4px 0 0}
.booking-footer{margin:18px 4px 0;text-align:center;font-size:12px;color:#98a2b3;-webkit-text-fill-color:#98a2b3}
@media (max-width:900px){
  .booking-grid{grid-template-columns:minmax(0,1fr)}
  .booking-info,.booking-calendar{border-right:0;border-bottom:1px solid #e2e8f2}
  .booking-tz-form{margin-top:4px}
}
html.cliro-theme-dark .booking-body{background:#0d1117}
html.cliro-theme-dark .booking-card{background:#161d29;border-color:#3c465f;box-shadow:0 22px 55px rgba(0,0,0,.45)}
html.cliro-theme-dark .booking-info,html.cliro-theme-dark .booking-calendar{border-color:#3c465f}
html.cliro-theme-dark .booking-company{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-logo{background:#fff;border-color:#3c465f}
html.cliro-theme-dark .booking-title,html.cliro-theme-dark .booking-cal-head h2,html.cliro-theme-dark .booking-slots-head h2,html.cliro-theme-dark .booking-result h1{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-intro{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-facts{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-facts .booking-ico{color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}
html.cliro-theme-dark .booking-tz-form label{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-tz-form select,html.cliro-theme-dark .booking-tf-form select{background:#0d1117;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-nav{background:#0d1117;border-color:#3c465f;color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}
html.cliro-theme-dark .booking-nav:hover{background:#161d29}
html.cliro-theme-dark .booking-month th{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-day-open{color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}
html.cliro-theme-dark .booking-day-open:hover{background:rgba(143,184,255,.14)}
html.cliro-theme-dark .booking-day-selected{background:#8fb8ff;color:#0d1117;-webkit-text-fill-color:#0d1117}
html.cliro-theme-dark .booking-day-off{color:#5b6678;-webkit-text-fill-color:#5b6678}
html.cliro-theme-dark .booking-muted{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-slot{background:#0d1117;border-color:#3c465f;color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}
html.cliro-theme-dark .booking-slot:hover{border-color:#8fb8ff;background:rgba(143,184,255,.10)}
html.cliro-theme-dark .booking-form-when{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-field label{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-field input[type="text"],html.cliro-theme-dark .booking-field input[type="email"],html.cliro-theme-dark .booking-field textarea{background:#0d1117;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-error{background:#2a1518;border-color:#7f1d1d;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab}
html.cliro-theme-dark .booking-btn{background:#0d1117;border-color:#8fb8ff;color:#8fb8ff;-webkit-text-fill-color:#8fb8ff}
/* V702.13: Primaer-Button folgt der Markenfarben-Logik wie .btn.primary in der Vollapp:
   dunkle Markenflaeche + serverseitig berechnete helle Schrift (--brand-on), keine Pastellflaeche. */
html.cliro-theme-dark .booking-btn-primary{background:var(--brand-primary,#12395b);border-color:color-mix(in srgb,var(--brand-primary,#12395b) 70%,#ffffff);color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}
html.cliro-theme-dark .booking-btn-primary:hover{filter:brightness(1.18)}
html.cliro-theme-dark .booking-back{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-result-icon{background:#12301f;color:#7ce2a8;-webkit-text-fill-color:#7ce2a8}
html.cliro-theme-dark .booking-details>div{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark .booking-details dt{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .booking-details dd{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .booking-footer{color:#5b6678;-webkit-text-fill-color:#5b6678}
html.cliro-theme-dark .booking-info,html.cliro-theme-dark .booking-calendar{border-bottom-color:#3c465f}

/* V701.01: Kontrastberechnung fuer beliebige Brandingfarben */
/* Die Text-Variablen werden serverseitig in lib.php berechnet (WCAG AA, mindestens 4.5:1).
   Im Darkmode zeigen die Text-Variablen auf die fuer dunkle Flaechen berechneten Werte. */
html.cliro-theme-dark{--brand-text:var(--brand-text-dark);--brand-accent-text:var(--brand-accent-text-dark)}
html.cliro-theme-dark .btn.primary,html.cliro-theme-dark .button.primary{color:var(--brand-on,#fff);-webkit-text-fill-color:var(--brand-on,#fff)}

/* V701.04: Oeffentliche Buchungsseite gegen generische App-Regeln absichern.
   Die Vollapp-Regeln (table-Weiss , thead-Gradient, h1-clamp 48px)
   gelten sonst auch auf der Public-Seite: weisser Kalender-Kasten im Darkmode
   und ein 48px-Titel, der die Info-Spalte sprengt. */
body.booking-body .booking-title{font-size:clamp(22px,2.2vw,30px);line-height:1.15;overflow-wrap:anywhere;hyphens:auto}
body.booking-body .booking-month{background:transparent;border:0;border-radius:0;box-shadow:none}
body.booking-body .booking-month th,body.booking-body .booking-month td,body.booking-body .booking-month thead th,body.booking-body .booking-month thead td{background:transparent;border:0;box-shadow:none;text-shadow:none}
body.booking-body .booking-month th{color:#667085;-webkit-text-fill-color:#667085;font-weight:800;padding:6px 0}
html.cliro-theme-dark body.booking-body .booking-month th{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
.booking-html{background:#f2f5fa}
html.booking-html.cliro-theme-dark{background:#0d1117}
body.booking-body{background:#f2f5fa}
body.booking-body::before{display:none}
html.cliro-theme-dark body.booking-body{background:#0d1117}
/* V701.04: Native Formular-Controls (Selects etc.) im Light-Modus hell erzwingen,
   auch wenn das Betriebssystem auf Dark steht. Dark-Modus uebersteuert via
   html.cliro-theme-dark{color-scheme:dark} weiter oben. */
:root{color-scheme:light}

/* V702.01: Buchungsformular und Verschiebe-Seiten als eigene Vollseite (Zoom-Stil).
   Eigener Block nach dem Vorbild des V701.04-Schutzschilds: body.booking-body-Scoping,
   explizite Light- UND Dark-Varianten,  gegen generische App-Regeln. */
body.booking-body .booking-shell-form{max-width:760px}
body.booking-body .booking-form-page{padding:34px 36px}
body.booking-body .booking-form-company{display:block;font-size:26px;font-weight:900;letter-spacing:-.01em;color:#101828;-webkit-text-fill-color:#101828}
body.booking-body .booking-form-host{display:flex;align-items:center;gap:10px;margin-top:8px;color:#475467;-webkit-text-fill-color:#475467;font-size:15px;font-weight:700}
body.booking-body .booking-form-host img{width:34px;height:34px;border-radius:999px;object-fit:cover;border:1px solid #e2e8f2;background:#fff;padding:2px}
body.booking-body .booking-hr{border:0;border-top:1px solid #e2e8f2;margin:20px 0}
body.booking-body .booking-facts-lg{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body.booking-body .booking-facts-lg li{display:flex;gap:10px;align-items:center;font-size:16px;font-weight:700;color:#344054;-webkit-text-fill-color:#344054}
body.booking-body .booking-facts-lg .booking-ico{display:inline-flex;width:22px;justify-content:center}
body.booking-body .booking-form-heading{margin:0 0 14px;font-size:20px;font-weight:900;line-height:1.2;color:#101828;-webkit-text-fill-color:#101828}
body.booking-body .booking-name-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.booking-body .booking-btn-block{width:100%}
body.booking-body .booking-details-wide{width:100%}
body.booking-body .booking-notice{max-width:1100px;margin:0 auto 14px;padding:12px 16px;border:1px solid #bfd7ff;border-radius:14px;background:#eef4ff;color:#1d4ed8;-webkit-text-fill-color:#1d4ed8;font-size:14px;font-weight:700}
@media (max-width:640px){
  body.booking-body .booking-name-row{grid-template-columns:1fr}
  body.booking-body .booking-form-page{padding:24px 18px}
}
html.cliro-theme-dark body.booking-body .booking-form-company{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark body.booking-body .booking-form-host{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark body.booking-body .booking-form-host img{border-color:#3c465f}
html.cliro-theme-dark body.booking-body .booking-hr{border-top-color:#3c465f}
html.cliro-theme-dark body.booking-body .booking-facts-lg li{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark body.booking-body .booking-form-heading{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark body.booking-body .booking-notice{background:#12203a;border-color:#274b8f;color:#9ec1ff;-webkit-text-fill-color:#9ec1ff}

/* V702.02: Buchungsseite nutzt die volle Bildschirmbreite (breite Monitore).
   Ueberschreibt bewusst die aelteren max-width/grid-Regeln; die Farbwerte
   kommen weiterhin aus den V701.04/V702.01-Bloecken (Light UND Dark). */
body.booking-body .booking-shell{max-width:min(1560px,calc(100% - 40px))}
body.booking-body .booking-grid{grid-template-columns:320px minmax(0,1fr) 360px}
body.booking-body .booking-month{width:100%;table-layout:fixed}
body.booking-body .booking-day{width:52px;height:52px;min-height:52px;font-size:17px;border-radius:14px}
body.booking-body .booking-cal-head h2{font-size:22px}
body.booking-body .booking-slots-head h2{font-size:19px}
body.booking-body .booking-slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}
body.booking-body .booking-shell-form{max-width:860px}
/* Responsive: unter 1100px wieder einspaltig (zieht die aeltere 900px-Regel nach). */
@media (max-width:1100px){
  body.booking-body .booking-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  body.booking-body .booking-slot-list{grid-template-columns:minmax(0,1fr)}
}
html.cliro-theme-dark body.booking-body .booking-day-open:hover{background:rgba(143,184,255,.14)}
html.cliro-theme-dark body.booking-body .booking-slot:hover{border-color:#8fb8ff;background:rgba(143,184,255,.10)}
/* V702.03: Buchungsseite vertikal zentrieren und die volle Hoehe nutzen.
   Body wird Flex-Container, die Karte bekommt eine groessere Mindesthoehe,
   damit sie auf grossen Monitoren nicht oben klebt. */
body.booking-body{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
body.booking-body .booking-shell{width:min(1560px,calc(100% - 40px));max-width:none;padding-top:20px;padding-bottom:20px}
body.booking-body .booking-grid{min-height:min(780px,calc(100vh - 160px))}
body.booking-body .booking-calendar{display:flex;flex-direction:column}
body.booking-body .booking-month{flex:1 1 auto}
@media(max-width:1100px){body.booking-body .booking-grid{min-height:0}}
/* V702.04: Generische V363-Input-Regeln (input[type=text]/input mit background:#fff
   und color:#111827 als ) auf der oeffentlichen Buchungsseite neutralisieren.
   Ohne dieses Shield bleiben die Formularfelder im Darkmode weiss mit heller Schrift. */
body.booking-body input[type="text"],body.booking-body input[type="email"],body.booking-body input[type="url"],body.booking-body textarea,body.booking-body select{background:#fff;color:#101828;-webkit-text-fill-color:#101828;border-color:#d6dfeb}
html.cliro-theme-dark body.booking-body input[type="text"],html.cliro-theme-dark body.booking-body input[type="email"],html.cliro-theme-dark body.booking-body input[type="url"],html.cliro-theme-dark body.booking-body textarea,html.cliro-theme-dark body.booking-body select{background:#0d1117;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#3c465f}
body.booking-body input::placeholder,body.booking-body textarea::placeholder{color:#98a2b3;-webkit-text-fill-color:#98a2b3}
html.cliro-theme-dark body.booking-body input::placeholder,html.cliro-theme-dark body.booking-body textarea::placeholder{color:#7d8aa5;-webkit-text-fill-color:#7d8aa5}
/* V702.05: Feste Breite 1300px, Inhalte fuellen die volle Hoehe der Karte aus.
   Kalender-Reihen und Slot-Liste strecken sich, keine Leerflaechen mehr. */
body.booking-body .booking-shell{width:min(1300px,calc(100% - 40px))}
body.booking-body .booking-calendar{display:flex;flex-direction:column}
body.booking-body .booking-month{flex:1 1 auto;height:100%}
body.booking-body .booking-month td{vertical-align:middle;height:auto}
body.booking-body .booking-day{width:100%;height:100%;min-height:56px;display:flex;align-items:center;justify-content:center}
body.booking-body .booking-slots{display:flex;flex-direction:column}
body.booking-body .booking-slot-list{flex:1 1 auto;grid-auto-rows:1fr}
body.booking-body .booking-slot{height:100%}
@media(max-width:1100px){
  body.booking-body .booking-month{height:auto}
  body.booking-body .booking-slot-list{grid-auto-rows:auto}
}
/* V702.05b: Ausgewaehlter Tag bleibt kompakte Pille in Zellenmitte,
   auch wenn die Zelle auf volle Hoehe gestreckt ist. */
body.booking-body .booking-day-selected{width:56px;height:56px;min-height:56px;margin:0 auto}
/* V702.13: Darkmode-Optik des Kalenders schaerfen + Theme-Umschalter.
   Freie Tage als erkennbare Pills, Zellraster sichtbar, Slots mit klarer Kontur. */
body.booking-body .booking-month td{border:1px solid rgba(15,23,42,.07)}
html.cliro-theme-dark body.booking-body .booking-month td{border-color:rgba(255,255,255,.06)}
body.booking-body .booking-day-open{background:rgba(18,57,91,.07);border:1px solid rgba(18,57,91,.22)}
body.booking-body .booking-day-open:hover{background:rgba(18,57,91,.15)}
html.cliro-theme-dark body.booking-body .booking-day-open{background:rgba(96,140,255,.10);border:1px solid rgba(96,140,255,.30)}
html.cliro-theme-dark body.booking-body .booking-day-open:hover{background:rgba(96,140,255,.20)}
html.cliro-theme-dark body.booking-body .booking-day-off{color:#7d8aa5;-webkit-text-fill-color:#7d8aa5}
html.cliro-theme-dark body.booking-body .booking-slot{border-color:#3c465f;background:#111827}
html.cliro-theme-dark body.booking-body .booking-slot:hover{border-color:#9ec1ff;background:#16203a}
.booking-theme-toggle{position:fixed;top:14px;right:16px;z-index:60;width:46px;height:46px;border-radius:999px;border:1px solid #d6dfeb;background:#fff;color:#334155;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(15,23,42,.12);transition:transform .15s ease,box-shadow .15s ease}
.booking-theme-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.18)}
html.cliro-theme-dark .booking-theme-toggle{background:#161d29;border-color:#3c465f;color:#e9edf6;box-shadow:0 8px 20px rgba(0,0,0,.45)}

/* V702.13: Farblogik Darkmode konsequent - dunkle Flaechen bekommen immer helle Schrift.
   Brandfarben laufen ueber die serverseitig berechneten Kontrast-Variablen
   (--brand-text-dark, >= 4.5:1 auf #0d1117) mit Fallbacks fuer jede Kundenfarbe. */
/* V702.13c: eyebrow bekommt dieselbe Spezifitaet wie die aeltere color-mix-Regel
   (V699, Zeile ~16755) und steht spaeter im Stylesheet, damit der serverseitig
   berechnete Kontrastwert (>= 4.5:1) gewinnt - inkl. fill-color fuer WAVE. */
html.cliro-theme-dark body main .eyebrow,html.cliro-theme-dark body .page-head .eyebrow{color:var(--brand-text-dark,#b8c4d8);-webkit-text-fill-color:var(--brand-text-dark,#b8c4d8)}
html.cliro-theme-dark input[type="checkbox"],html.cliro-theme-dark input[type="radio"]{accent-color:#608cff}
html.cliro-theme-dark body.booking-body .booking-slots-head,html.cliro-theme-dark body.booking-body .booking-slots-head strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}

/* V702.13b: Header-Firmauswahl (business-switch-logo) im Darkmode */
html.cliro-theme-dark .business-switch-logo summary{background:#161d29;border-color:#3c465f}
html.cliro-theme-dark .business-switch-current strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .business-switch-current small{color:#8fa0b8;-webkit-text-fill-color:#8fa0b8}
html.cliro-theme-dark .business-switch-caret{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .business-switch-menu{background:#161d29;border-color:#3c465f}
html.cliro-theme-dark .business-switch-option{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark .business-switch-option strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .business-switch-option small{color:#8fa0b8;-webkit-text-fill-color:#8fa0b8}
html.cliro-theme-dark .business-switch-option:hover{background:#1a2333;border-color:#556284}

/* V702.13: Darkmode ohne Ausnahme - keine weissen Flaechen, keine weissen Buttons.
   Standard-Buttons werden dunkel mit weisser Schrift; Signalfarben (primary/success) bleiben.
   Pills, To-do-Karten, Hinweisboxen und der Klingel-Indikator bekommen dunkle Oberflaechen. */
html.cliro-theme-dark .btn:not(.primary):not(.success):not(.ghost):not(.accent):not(.booking-btn):not(.todo-done-btn):not(.primary-btn):not(.timer-stop-btn):not(.sidebar-collapse){background:#161d29;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#3c465f;box-shadow:none}
html.cliro-theme-dark .btn:not(.primary):not(.success):not(.ghost):not(.accent):not(.booking-btn):not(.todo-done-btn):not(.primary-btn):not(.timer-stop-btn):not(.sidebar-collapse):hover{background:#1a2333;border-color:#556284}
html.cliro-theme-dark .btn.danger,html.cliro-theme-dark .btn.small.danger{background:#2a1518;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab;border-color:#7f1d1d}
html.cliro-theme-dark .top-notification-bell .bell-badge{background:#0d1117;color:#ffffff;-webkit-text-fill-color:#ffffff;border:1px solid #556284}
html.cliro-theme-dark .home-hero > div:first-child .todo-count{background:#161d29;border-color:#3c465f;color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item,html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-inline .dashboard-todo-item:hover{background:#111827;border-color:#3c465f;box-shadow:none}
html.cliro-theme-dark .home-hero > div:first-child .todo-due-pill{background:#1a2333;color:#d7deeb;-webkit-text-fill-color:#d7deeb}
html.cliro-theme-dark .home-hero > div:first-child .todo-due-overdue .todo-due-pill{background:#2a1518;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab}
html.cliro-theme-dark .home-hero > div:first-child .todo-due-today .todo-due-pill{background:#2b2113;color:#ffd98a;-webkit-text-fill-color:#ffd98a}
html.cliro-theme-dark .home-hero > div:first-child .todo-due-upcoming .todo-due-pill{background:#12233d;color:#9ec5fe;-webkit-text-fill-color:#9ec5fe}
html.cliro-theme-dark .home-hero > div:first-child .todo-meta-chip{background:#161d29;border-color:#3c465f;color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .home-hero > div:first-child .todo-note-box{background:#0d1117;border-color:#3c465f}
html.cliro-theme-dark .home-hero > div:first-child .todo-suggest-link{color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .expense-accounting-notice{background:#0d1117;border-color:#3c465f;color:#d7deeb;-webkit-text-fill-color:#d7deeb}
html.cliro-theme-dark .doc-editor-form input[name^="internal_"],html.cliro-theme-dark .doc-editor-form .split-money input,html.cliro-theme-dark .doc-editor-form .split-money-clean input{background:#05070b;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#556284}

/* V702.13b: Doc-Editor, To-do-Link und Hinweis-Button komplett dunkel */
html.cliro-theme-dark .doc-editor-form input,html.cliro-theme-dark .doc-editor-form select,html.cliro-theme-dark .doc-editor-form textarea{background:#05070b;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#556284}
html.cliro-theme-dark .doc-editor-form .rich,html.cliro-theme-dark .rich{background:#0d1117;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark .doc-editor-form .internal-split-card,html.cliro-theme-dark .internal-split-card{background:#111827;border-color:#3c465f;box-shadow:none}
html.cliro-theme-dark .doc-editor-form .split-person,html.cliro-theme-dark .split-person{background:#161d29;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .doc-editor-form .split-slider-wrap,html.cliro-theme-dark .split-slider-wrap,html.cliro-theme-dark .split-total{background:#0d1117;color:#e9edf6;-webkit-text-fill-color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark .doc-editor-form .split-currency,html.cliro-theme-dark .split-currency{color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .editor-payment-methods,html.cliro-theme-dark fieldset.editor-payment-methods{background:#111827;border-color:#3c465f}
html.cliro-theme-dark .editor-payment-method,html.cliro-theme-dark label.editor-payment-method{background:#161d29;border-color:#3c465f;color:#d7deeb;-webkit-text-fill-color:#d7deeb}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-all{background:#1a2333;color:#d7deeb;-webkit-text-fill-color:#d7deeb}
html.cliro-theme-dark .home-hero > div:first-child .dashboard-todo-all:hover{background:#22304a}

/* V702.13c: To-do-Bereich und WAVE-Farbgleichlauf. Die Inline-Stylesheets der dashboard.php
   (dashboard-todo-v195-accessible-muted, V124-Cockpit) setzen helle Flaechen und dunkle
   Schrift mit  und liegen NACH app.css - Dark-Regeln brauchen daher hoehere
   Spezifitaet. color und -webkit-text-fill-color werden immer gemeinsam gesetzt, damit
   WAVE/axe denselben Wert lesen wie der Browser rendert. */
html.cliro-theme-dark .home-hero .dashboard-todo-inline{background:linear-gradient(135deg,#0d1117,#111827);border-color:#3c465f;box-shadow:0 16px 42px rgba(0,0,0,.45)}
html.cliro-theme-dark .home-hero .dashboard-todo-inline-head{border-bottom-color:#3c465f}
html.cliro-theme-dark body .home-hero > div:first-child .dashboard-todo-inline .eyebrow,html.cliro-theme-dark body .home-hero .dashboard-todo-inline .eyebrow,html.cliro-theme-dark body .home-hero .todo-scope-note{color:var(--brand-text-dark,#b8c4d8);-webkit-text-fill-color:var(--brand-text-dark,#b8c4d8)}
html.cliro-theme-dark .home-hero .dashboard-todo-inline h3{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .home-hero .todo-count{background:#161d29;border-color:#3c465f;color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff);box-shadow:none}
html.cliro-theme-dark .home-hero .dashboard-todo-inline .dashboard-todo-item,html.cliro-theme-dark .home-hero .dashboard-todo-item{background:#111827;border-color:#3c465f;box-shadow:none}
html.cliro-theme-dark .home-hero .dashboard-todo-main strong,html.cliro-theme-dark .home-hero .dashboard-todo-inline .dashboard-todo-row strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .home-hero .dashboard-todo-main strong a{color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .home-hero .todo-due-pill,html.cliro-theme-dark .home-hero .todo-due-upcoming .todo-due-pill{background:#12233d;color:#9ec5fe;-webkit-text-fill-color:#9ec5fe;border-color:#2b4a80}
html.cliro-theme-dark .home-hero .todo-due-overdue .todo-due-pill{background:#2a1518;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab;border-color:#7f1d1d}
html.cliro-theme-dark .home-hero .todo-due-today .todo-due-pill{background:#2b2113;color:#ffd98a;-webkit-text-fill-color:#ffd98a;border-color:#6b4a12}
html.cliro-theme-dark .home-hero .dashboard-todo-meta span,html.cliro-theme-dark .home-hero .todo-meta-chip,html.cliro-theme-dark .home-hero .dashboard-todo-meta .todo-money-chip,html.cliro-theme-dark .home-hero .dashboard-todo-meta .todo-overdue-chip{background:#161d29;color:#c3cede;-webkit-text-fill-color:#c3cede;border-color:#3c465f}
html.cliro-theme-dark .home-hero a.todo-meta-chip{color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .home-hero > div:first-child .todo-suggest-link,html.cliro-theme-dark .home-hero > div:first-child .todo-suggest-link.primary{background:#161d29;border-color:#3c465f;color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .business-switch-option b{color:var(--brand-text-dark,#9ec1ff);-webkit-text-fill-color:var(--brand-text-dark,#9ec1ff)}
html.cliro-theme-dark .home-hero .dashboard-todo-all{background:#1a2333;color:#d7deeb;-webkit-text-fill-color:#d7deeb;border-color:#3c465f}
html.cliro-theme-dark .home-hero .dashboard-todo-all:hover{background:#22304a}

/* V702.13: Editor - interne Zuordnung und Summen komplett dunkel.
   Die ID-Regeln (.doc-editor-form #internal_split_total, .split-money-clean>input#internal_*)
   haben Spezifitaet (1,1,0)/(1,2,1) und schlagen klassenbasierte Dark-Regeln -> ID gespiegelt. */
html.cliro-theme-dark .doc-editor-form .split-money,html.cliro-theme-dark .doc-editor-form .split-money-clean,html.cliro-theme-dark .split-money{background:#05070b;border-color:#556284;box-shadow:none}
html.cliro-theme-dark .split-money b{background:#161d29;border-left-color:#3c465f;color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .doc-editor-form .split-money-clean .split-currency,html.cliro-theme-dark .doc-editor-form .split-money .split-currency,html.cliro-theme-dark .split-currency{background:#161d29;border-left-color:#3c465f;color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .doc-editor-form #editorTotals{background:#0d1117;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .doc-editor-form #internal_split_total{background:#0d1117;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .doc-editor-form .split-money-clean>input#internal_christopher_amount,html.cliro-theme-dark .doc-editor-form .split-money-clean>input#internal_linkitup_amount,html.cliro-theme-dark .doc-editor-form .split-money>input#internal_christopher_amount,html.cliro-theme-dark .doc-editor-form .split-money>input#internal_linkitup_amount{background:#05070b;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .split-money:focus-within{border-color:#8fb8ff;box-shadow:0 0 0 3px rgba(143,184,255,.15)}
html.cliro-theme-dark .split-note:focus{border-color:#8fb8ff;box-shadow:0 0 0 3px rgba(143,184,255,.15)}

/* V702.13b: Code-Audit - restliche helle Sonderfaelle (Dropdowns, Pills, Hinweisboxen).
   Alle setzen color und -webkit-text-fill-color gemeinsam (WAVE-Gleichlauf). */
html.cliro-theme-dark .doc-editor-form .split-ratio{background:#161d29;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .reverse-charge-note{background:#2a1518;border-color:#7f1d1d;color:#ffb4ab;-webkit-text-fill-color:#ffb4ab}
html.cliro-theme-dark .reverse-charge-note strong{color:#ffd3cb;-webkit-text-fill-color:#ffd3cb}
html.cliro-theme-dark .lmcs-column-panel-close-v638{background:#161d29;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .payment-code-plan-row .payment-public-note-inline{background:#0d1117;color:#c3cede;-webkit-text-fill-color:#c3cede}
html.cliro-theme-dark .pos-table-compact .position-desc-row td{background:#0d1117;border-bottom-color:#3c465f}
html.cliro-theme-dark .pos-table-compact .position-desc-inline{color:#b6c1d4;-webkit-text-fill-color:#b6c1d4}
html.cliro-theme-dark .sidebar-command .sidebar-company-switch select{background:#161d29;color:#e9edf6;border-color:#3c465f}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker>summary{background:#161d29;border-color:#3c465f;color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker[open]>.sidebar-company-picker-menu{background:#161d29;border-color:#3c465f;color-scheme:dark}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option{color:#e9edf6;-webkit-text-fill-color:#e9edf6}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:hover,html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:focus-visible{background:#1a2333}

/* V702.13: Leerer To-do-Zustand - der gruene Hinweistext verlor gegen die
   -Regel .home-hero > div:first-child .dashboard-todo-empty small (0,3,2).
   Dark-Regel mit (0,4,4) gespiegelt, sonst dunkles Gruen auf dunklem Gruen (WAVE). */
html.cliro-theme-dark body .home-hero > div:first-child .dashboard-todo-empty small,html.cliro-theme-dark body .home-hero .dashboard-todo-empty small{color:#7ce2a8;-webkit-text-fill-color:#7ce2a8}
html.cliro-theme-dark body .home-hero > div:first-child .dashboard-todo-empty strong{color:#e9edf6;-webkit-text-fill-color:#e9edf6}

/* V703: Barrierefreie Dropdowns im Darkmode – Google-Adresse + Sidebar-Firma. */
.lmcs-google-suggest-item.is-active{background:#eef6ff;outline:2px solid rgba(18,57,91,.28);outline-offset:-2px}
html.cliro-theme-dark .lmcs-google-suggest-box{
  background:#161d29;border-color:#4b5873;color:#e9edf6;
  box-shadow:0 18px 44px rgba(0,0,0,.55);color-scheme:dark;
  scrollbar-color:#6b7ca3 #161d29;
}
html.cliro-theme-dark .lmcs-google-suggest-item{
  background:#161d29;color:#e9edf6;-webkit-text-fill-color:#e9edf6;
  border:1px solid transparent;
}
html.cliro-theme-dark .lmcs-google-suggest-item:hover,
html.cliro-theme-dark .lmcs-google-suggest-item:focus-visible,
html.cliro-theme-dark .lmcs-google-suggest-item.is-active{
  background:#243044;border-color:#6b7ca3;color:#fff;-webkit-text-fill-color:#fff;
  outline:2px solid #8fb8ff;outline-offset:-2px;
}
html.cliro-theme-dark .lmcs-google-suggest-brand{
  color:#b6c1d4;-webkit-text-fill-color:#b6c1d4;border-top-color:#3c465f;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker>summary{
  background:#161d29;border-color:#4b5873;color:#e9edf6;-webkit-text-fill-color:#e9edf6;
  color-scheme:dark;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-value{
  color:#e9edf6;-webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-caret{
  border-right-color:#e9edf6;border-bottom-color:#e9edf6;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker[open]>.sidebar-company-picker-menu{
  background:#161d29;border-color:#4b5873;color:#e9edf6;color-scheme:dark;
  box-shadow:0 18px 38px rgba(0,0,0,.55);scrollbar-color:#6b7ca3 #161d29;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option,
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option span{
  background:#161d29;color:#e9edf6;-webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:hover,
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:focus-visible{
  background:#243044;border-color:#6b7ca3;color:#fff;-webkit-text-fill-color:#fff;
  outline:2px solid #8fb8ff;outline-offset:-2px;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:hover span,
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option:focus-visible span{
  color:#fff;-webkit-text-fill-color:#fff;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option.is-current{
  background:#202a3b;border-color:#6b7ca3;color:#e9edf6;-webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option.is-current span{
  color:#e9edf6;-webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .sidebar-command .sidebar-company-picker-option b{
  color:#8fb8ff;-webkit-text-fill-color:#8fb8ff;
}
@media (forced-colors:active){
  .lmcs-google-suggest-item.is-active,
  .sidebar-company-picker-option:focus-visible{outline:2px solid Highlight;forced-color-adjust:auto}
}

/* === CLIRO V673: ausschließlich Ebenenreihenfolge des Rettungsrings === */
.company-page-head .header-help-anchor-v670{
  z-index:500001;
}
.company-page-head .header-help-tooltip-v670{
  z-index:500002;
}


/* V704: Öffentlicher Theme-Toggle und WYSIWYG nur für den Angebotstext. */
.customer-theme-toggle-v704{margin-inline-start:auto;white-space:nowrap}
.customer-theme-toggle-v704 .theme-toggle-icon{font-size:16px}
html.cliro-theme-dark .customer-theme-toggle-v704{background:#161d29;color:#e9edf6;border-color:#556284}
html.cliro-theme-dark .customer-theme-toggle-v704:hover{background:#1f2940;border-color:#7d8fb8}

.wysiwyg-toolbar-v704{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px;margin-bottom:8px;border:1px solid var(--line);border-radius:12px;background:#f7f8fb}
.wysiwyg-toolbar-v704[hidden]{display:none}
.wysiwyg-btn-v704,.wysiwyg-select-v704{min-height:38px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#111827;font:inherit;font-weight:800;padding:7px 10px;cursor:pointer}
.wysiwyg-btn-v704:hover,.wysiwyg-select-v704:hover{border-color:var(--primary)}
.wysiwyg-btn-v704:focus-visible,.wysiwyg-select-v704:focus-visible{outline:3px solid rgba(127,108,255,.30);outline-offset:1px}
.wysiwyg-btn-v704.is-active,.wysiwyg-btn-v704[aria-pressed="true"]{background:#11131a;color:#fff;border-color:#11131a}
.wysiwyg-separator-v704{width:1px;height:28px;background:#d0d5dd;margin:0 2px}
.offer-text-rich-v704{min-height:180px}
.offer-text-rich-v704:empty::before{content:attr(data-placeholder);color:#667085;pointer-events:none}
.offer-text-help-v704{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px}
html.cliro-theme-dark .wysiwyg-toolbar-v704{background:#0d1117;border-color:#556284}
html.cliro-theme-dark .wysiwyg-btn-v704,html.cliro-theme-dark .wysiwyg-select-v704{background:#161d29;color:#e9edf6;border-color:#556284}
html.cliro-theme-dark .wysiwyg-btn-v704:hover,html.cliro-theme-dark .wysiwyg-select-v704:hover{background:#1f2940;border-color:#8fa2cc}
html.cliro-theme-dark .wysiwyg-btn-v704.is-active,html.cliro-theme-dark .wysiwyg-btn-v704[aria-pressed="true"]{background:#e9edf6;color:#111827;border-color:#e9edf6}
html.cliro-theme-dark .wysiwyg-separator-v704{background:#556284}
html.cliro-theme-dark .offer-text-rich-v704:empty::before{color:#aab7ce}
@media(max-width:760px){.wysiwyg-toolbar-v704{align-items:stretch}.wysiwyg-btn-v704,.wysiwyg-select-v704{flex:1 1 auto}.wysiwyg-separator-v704{display:none}.customer-theme-toggle-v704{margin-inline-start:0}}

/* ==========================================================================
   V706 Theme-Umschaltung: atomar + Dokument vollständig und deterministisch
   ========================================================================== */
html.clu-theme-switching-v706 *,
html.clu-theme-switching-v706 *::before,
html.clu-theme-switching-v706 *::after{
  transition:none;
  animation-duration:0s;
  animation-delay:0s;
}

/* Das Dokument wird nicht mehr vom dynamischen Kontrastscanner eingefärbt. */
.doc-sheet .clu-on-dark-v602,
.doc-sheet-long .clu-on-dark-v602{
  color:inherit;
  -webkit-text-fill-color:currentColor;
}

/* Vollständiges dunkles Dokument statt gemischter Papier-/Darkmode-Flächen. */
html.cliro-theme-dark .doc-sheet,
html.cliro-theme-dark .doc-sheet-long{
  background:#0b0f16;
  background-image:none;
  color:#e9edf6;
  border-color:#334155;
  box-shadow:0 18px 55px rgba(0,0,0,.48);
  color-scheme:dark;
}
html.cliro-theme-dark .doc-sheet :where(
  h1,h2,h3,h4,h5,h6,p,span,strong,b,em,i,u,small,label,li,dt,dd,
  th,td,summary,code,kbd,samp,.recipient,.doc-number,.doc-title,
  .document-content,.flow-content,.desc-html,.notes-render,.closing
){
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .doc-sheet :where(
  .doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata,.doc-docdata dt,
  .doc-footer,.muted,.payment-info h3,.payment-public-note small
){
  color:#c3cede;
  -webkit-text-fill-color:#c3cede;
}
html.cliro-theme-dark .doc-sheet :where(
  .meta,.doc-docdata,.payment-info,.payment-summary,.payment-public-note,
  .business-note,.notes-render,.attachments,.attachments-admin
){
  background:#111827;
  background-image:none;
  border-color:#334155;
  color:#e9edf6;
}
html.cliro-theme-dark .doc-sheet .doc-docdata{
  border-radius:12px;
  padding:12px;
}
html.cliro-theme-dark .doc-sheet :where(
  .pos-table,.pos-table-compact,.sum-table,.desc-html table,.notes-render table
){
  background:#0b0f16;
  color:#e9edf6;
}
html.cliro-theme-dark .doc-sheet :where(
  .pos-table td,.pos-table-compact td,.sum-table td,
  .desc-html td,.desc-html th,.notes-render td,.notes-render th
){
  background:#0b0f16;
  border-color:#334155;
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .doc-sheet :where(
  .position-desc-row td,.payment-summary .sum-table tr:not(.total-row):not(.gross) td
){
  background:#111827;
}
html.cliro-theme-dark .doc-sheet :where(
  .pos-table th,.pos-table-compact th,.sum-table .gross td,
  .sum-table .total-row td,.payment-summary .sum-table .total-row td
){
  background:#05070b;
  border-color:#334155;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-dark .doc-sheet :where(
  .pos-table th *,.pos-table-compact th *,.sum-table .gross td *,
  .sum-table .total-row td *,.payment-summary .sum-table .total-row td *
){
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-dark .doc-sheet :where(
  hr,.document-content>h2,.payment-final-block,.notes-render,.doc-footer,
  .sender-line,.pos-table td,.pos-table-compact td,.sum-table td
){
  border-color:#334155;
}
html.cliro-theme-dark .doc-sheet a{
  color:#9cc2ff;
  -webkit-text-fill-color:#9cc2ff;
}
html.cliro-theme-dark .doc-sheet .doc-company{
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark .doc-sheet .doc-kind-badge{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Heller Modus erhält immer wieder die echte Papierdarstellung. */
html.cliro-theme-light .doc-sheet,
html.cliro-theme-light .doc-sheet-long{
  background:#fff;
  color:#11131a;
  border-color:#dfe3ec;
  color-scheme:light;
}
html.cliro-theme-light .doc-sheet .clu-on-dark-v602.clu-on-dark-v602,
html.cliro-theme-light .doc-sheet-long .clu-on-dark-v602.clu-on-dark-v602{
  color:inherit;
  -webkit-text-fill-color:currentColor;
}

@media print{
  html.cliro-theme-dark .doc-sheet,
  html.cliro-theme-dark .doc-sheet-long{
    background:#fff;
    color:#111;
    border-color:#dfe3ec;
    box-shadow:none;
    color-scheme:light;
  }
  html.cliro-theme-dark .doc-sheet :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,i,u,small,label,li,dt,dd,td,summary,.recipient,.doc-number,.doc-title,.document-content,.flow-content,.desc-html,.notes-render,.closing){
    color:#111;
    -webkit-text-fill-color:#111;
  }
  html.cliro-theme-dark .doc-sheet :where(.doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata,.doc-docdata dt,.doc-footer,.muted,.payment-info h3){
    color:#555;
    -webkit-text-fill-color:#555;
  }
  html.cliro-theme-dark .doc-sheet :where(.meta,.doc-docdata,.payment-info,.payment-summary,.payment-public-note,.business-note,.notes-render,.attachments,.attachments-admin,.pos-table td,.pos-table-compact td,.sum-table td,.position-desc-row td){
    background:#fff;
    color:#111;
    -webkit-text-fill-color:#111;
    border-color:#d9dde7;
  }
  html.cliro-theme-dark .doc-sheet :where(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td,.payment-summary .sum-table .total-row td){
    background:#11131a;
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
}

/* ========================================================================== 
   V707 Dokumente: stabiler Kontrast + kompakte Zwei-Spalten-Struktur
   ========================================================================== */
/* Alte Laufzeit-Kontrastklassen dürfen Dokumentfarben niemals mehr bestimmen. */
html body .doc-sheet.doc-sheet-long .clu-on-dark-v602,
html body .doc-sheet .clu-on-dark-v602{
  color:inherit;
  -webkit-text-fill-color:currentColor;
}

/* Heller Dokumentzustand – bewusst vollständig gesetzt, damit nach einem
   Theme-Wechsel keine dunklen oder weißen Restfarben hängen bleiben. */
html.cliro-theme-light body .doc-sheet.doc-sheet-long,
html.cliro-theme-light body .doc-sheet{
  background:#fff;
  background-image:none;
  color:#111827;
  border-color:#dfe3ec;
  color-scheme:light;
}
html.cliro-theme-light body .doc-sheet.doc-sheet-long *,
html.cliro-theme-light body .doc-sheet *{
  color:#111827;
  -webkit-text-fill-color:#111827;
}
html.cliro-theme-light body .doc-sheet.doc-sheet-long :is(.doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata dt,.doc-footer,.muted),
html.cliro-theme-light body .doc-sheet :is(.doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata dt,.doc-footer,.muted){
  color:#64748b;
  -webkit-text-fill-color:#64748b;
}
html.cliro-theme-light body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td,.doc-kind-badge),
html.cliro-theme-light body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td,.doc-kind-badge){
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-light body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *,
html.cliro-theme-light body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-light body .doc-sheet.doc-sheet-long a,
html.cliro-theme-light body .doc-sheet a{
  color:#12395b;
  -webkit-text-fill-color:#12395b;
}

/* Dunkler Dokumentzustand – höhere Spezifität als historische mobile und
   Komponentenregeln mit . Damit bleibt kein dunkler Text auf dunkel. */
html.cliro-theme-dark body .doc-sheet.doc-sheet-long,
html.cliro-theme-dark body .doc-sheet{
  background:#0b0f16;
  background-image:none;
  color:#e9edf6;
  border-color:#3c465f;
  color-scheme:dark;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long *,
html.cliro-theme-dark body .doc-sheet *{
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata dt,.doc-footer,.muted),
html.cliro-theme-dark body .doc-sheet :is(.doc-sub,.doc-addr,.sender-line,.doc-label,.doc-docdata dt,.doc-footer,.muted){
  color:#c3cede;
  -webkit-text-fill-color:#c3cede;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long a,
html.cliro-theme-dark body .doc-sheet a{
  color:#9cc2ff;
  -webkit-text-fill-color:#9cc2ff;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.doc-docdata,.meta,.payment-info,.payment-summary,.payment-public-note,.business-note,.notes-render,.attachments,.attachments-admin),
html.cliro-theme-dark body .doc-sheet :is(.doc-docdata,.meta,.payment-info,.payment-summary,.payment-public-note,.business-note,.notes-render,.attachments,.attachments-admin){
  background:#111827;
  background-image:none;
  border-color:#3c465f;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.payment-final-block,.position-desc-row td,.pos-table tr,.pos-table td,.pos-table td:first-child,.pos-table-compact tr,.pos-table-compact td,.pos-table-compact td:first-child),
html.cliro-theme-dark body .doc-sheet :is(.payment-final-block,.position-desc-row td,.pos-table tr,.pos-table td,.pos-table td:first-child,.pos-table-compact tr,.pos-table-compact td,.pos-table-compact td:first-child){
  background:#0f1623;
  background-image:none;
  border-color:#3c465f;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td),
html.cliro-theme-dark body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td){
  background:#05070b;
  border-color:#3c465f;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *,
html.cliro-theme-dark body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Strukturierte Angebotstexte und Rechnungsbeschreibungen. */
body .doc-sheet.doc-sheet-long .desc-html table.pdf-structure-grid,
body .doc-sheet.doc-sheet-long .notes-render table.pdf-structure-grid,
body .doc-sheet .desc-html table.pdf-structure-grid,
body .doc-sheet .notes-render table.pdf-structure-grid{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:10px 10px;
  margin:8px -10px 10px;
  background:transparent;
}
body .doc-sheet.doc-sheet-long .pdf-structure-grid tr,
body .doc-sheet .pdf-structure-grid tr{
  break-inside:avoid;
  page-break-inside:avoid;
}
body .doc-sheet.doc-sheet-long .pdf-structure-grid td.pdf-structure-cell,
body .doc-sheet .pdf-structure-grid td.pdf-structure-cell{
  width:50%;
  vertical-align:top;
  padding:12px 13px;
  border:1px solid #dbe5ef;
  border-left:4px solid var(--brand-primary,#12395b);
  border-radius:10px;
  background:#fff;
  break-inside:avoid;
  page-break-inside:avoid;
}
body .doc-sheet.doc-sheet-long .pdf-structure-grid td.is-full-v707,
body .doc-sheet .pdf-structure-grid td.is-full-v707{
  width:100%;
}
body .doc-sheet.doc-sheet-long .doc-structure-section-v707 > :first-child,
body .doc-sheet .doc-structure-section-v707 > :first-child{margin-top:0}
body .doc-sheet.doc-sheet-long .doc-structure-section-v707 > :last-child,
body .doc-sheet .doc-structure-section-v707 > :last-child{margin-bottom:0}
body .doc-sheet.doc-sheet-long .pdf-structure-cell h2,
body .doc-sheet.doc-sheet-long .pdf-structure-cell h3,
body .doc-sheet.doc-sheet-long .pdf-structure-cell h4,
body .doc-sheet .pdf-structure-cell h2,
body .doc-sheet .pdf-structure-cell h3,
body .doc-sheet .pdf-structure-cell h4{
  margin:0 0 7px;
  padding:0 0 6px;
  border-bottom:1px solid #dbe5ef;
  font-size:13px;
  line-height:1.25;
}
body .doc-sheet.doc-sheet-long table.pdf-list-columns,
body .doc-sheet table.pdf-list-columns{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  margin:5px 0 9px;
  background:transparent;
}
body .doc-sheet.doc-sheet-long table.pdf-list-columns td,
body .doc-sheet table.pdf-list-columns td{
  width:50%;
  vertical-align:top;
  padding:0 10px 0 0;
  border:0;
  background:transparent;
}
body .doc-sheet.doc-sheet-long table.pdf-list-columns td+td,
body .doc-sheet table.pdf-list-columns td+td{
  padding:0 0 0 10px;
  border-left:1px solid #dbe5ef;
}
body .doc-sheet.doc-sheet-long .pdf-list-column-list,
body .doc-sheet .pdf-list-column-list{
  margin:0 0 0 18px;
  padding:0;
}
body .doc-sheet.doc-sheet-long .pdf-list-column-list li,
body .doc-sheet .pdf-list-column-list li{
  margin:2px 0;
  break-inside:avoid;
  page-break-inside:avoid;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pdf-structure-grid td.pdf-structure-cell,
html.cliro-theme-dark body .doc-sheet .pdf-structure-grid td.pdf-structure-cell{
  background:#111827;
  border-color:#3c465f;
  border-left-color:#8fb8ff;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.pdf-structure-cell h2,.pdf-structure-cell h3,.pdf-structure-cell h4),
html.cliro-theme-dark body .doc-sheet :is(.pdf-structure-cell h2,.pdf-structure-cell h3,.pdf-structure-cell h4){
  border-bottom-color:#3c465f;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long table.pdf-list-columns td+td,
html.cliro-theme-dark body .doc-sheet table.pdf-list-columns td+td{
  border-left-color:#3c465f;
}

@media(max-width:760px){
  body .doc-sheet.doc-sheet-long .desc-html table.pdf-structure-grid,
  body .doc-sheet.doc-sheet-long .notes-render table.pdf-structure-grid,
  body .doc-sheet .desc-html table.pdf-structure-grid,
  body .doc-sheet .notes-render table.pdf-structure-grid,
  body .doc-sheet.doc-sheet-long table.pdf-structure-grid tbody,
  body .doc-sheet table.pdf-structure-grid tbody,
  body .doc-sheet.doc-sheet-long table.pdf-structure-grid tr,
  body .doc-sheet table.pdf-structure-grid tr{
    display:block;
    width:100%;
    margin:0;
  }
  body .doc-sheet.doc-sheet-long .pdf-structure-grid td.pdf-structure-cell,
  body .doc-sheet .pdf-structure-grid td.pdf-structure-cell{
    display:block;
    width:100%;
    margin:0 0 10px;
  }
  body .doc-sheet.doc-sheet-long table.pdf-list-columns,
  body .doc-sheet table.pdf-list-columns,
  body .doc-sheet.doc-sheet-long table.pdf-list-columns tbody,
  body .doc-sheet table.pdf-list-columns tbody,
  body .doc-sheet.doc-sheet-long table.pdf-list-columns tr,
  body .doc-sheet table.pdf-list-columns tr{
    display:block;
    width:100%;
  }
  body .doc-sheet.doc-sheet-long table.pdf-list-columns td,
  body .doc-sheet table.pdf-list-columns td{
    display:block;
    width:100%;
    padding:0;
    border-left:0;
  }
}

@media print{
  html body .doc-sheet.doc-sheet-long,
  html body .doc-sheet{
    background:#fff;
    color:#111827;
    box-shadow:none;
    color-scheme:light;
  }
  html body .doc-sheet.doc-sheet-long *,
  html body .doc-sheet *{
    color:#111827;
    -webkit-text-fill-color:#111827;
  }
  html body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td,.doc-kind-badge),
  html body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td,.doc-kind-badge),
  html body .doc-sheet.doc-sheet-long :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *,
  html body .doc-sheet :is(.pos-table th,.pos-table-compact th,.sum-table .gross td,.sum-table .total-row td) *{
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
  html body .doc-sheet.doc-sheet-long .pdf-structure-grid td.pdf-structure-cell,
  html body .doc-sheet .pdf-structure-grid td.pdf-structure-cell{
    background:#fff;
    border-color:#dbe5ef;
    border-left-color:#12395b;
  }
}

/* V707 Korrektur: Summenzeile besitzt in beiden Themes eine definierte Fläche. */
html.cliro-theme-light body .doc-sheet.doc-sheet-long :is(.sum-table .gross td,.sum-table .total-row td,.payment-summary .sum-table .total-row td),
html.cliro-theme-light body .doc-sheet :is(.sum-table .gross td,.sum-table .total-row td,.payment-summary .sum-table .total-row td){
  background:#11131a;
  border-color:#11131a;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long :is(.sum-table .gross td,.sum-table .total-row td,.payment-summary .sum-table .total-row td),
html.cliro-theme-dark body .doc-sheet :is(.sum-table .gross td,.sum-table .total-row td,.payment-summary .sum-table .total-row td){
  background:#05070b;
  border-color:#3c465f;
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* V707 Korrektur: Historische Dokumentregeln V297–V302 besitzen hohe
   Spezifität. Diese Theme-Regeln überstimmen sie gezielt statt pauschal. */
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table tbody td,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table-compact tbody td,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table td:first-child,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table-compact td:first-child,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table td:first-child strong,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .pos-table-compact td:first-child strong,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .position-desc-row td strong,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .position-desc-row td b,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .sum-table td,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .recipient,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .recipient strong,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .recipient b{
  color:#e9edf6;
  -webkit-text-fill-color:#e9edf6;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .doc-label{
  color:#c3cede;
  -webkit-text-fill-color:#c3cede;
}
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .sum-table .total-row td,
html.cliro-theme-dark body .doc-sheet.doc-sheet-long .sum-table .gross td{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

@media(max-width:760px){
  html body .doc-sheet.doc-sheet-long .pos-table .desc-html table.pdf-list-columns > tbody > tr > td,
  html body .doc-sheet.doc-sheet-long .pos-table-compact .desc-html table.pdf-list-columns > tbody > tr > td,
  html body .doc-sheet .pos-table .desc-html table.pdf-list-columns > tbody > tr > td,
  html body .doc-sheet .pos-table-compact .desc-html table.pdf-list-columns > tbody > tr > td{
    display:block;
    width:100%;
    padding:0;
    border-left:0;
  }
}


/* V708: Responsive Website-Einbettung des Buchungskalenders.
   Im iframe wird die Vollseiten-Zentrierung deaktiviert. Die Karte nutzt die
   verfuegbare Breite, waehrend booking_embed.js die Hoehe automatisch meldet. */
body.booking-body.booking-embedded{
  min-height:0;
  display:block;
  align-items:initial;
  justify-content:initial;
  background:transparent;
  overflow-x:hidden;
}
html.cliro-theme-dark body.booking-body.booking-embedded{background:transparent}
body.booking-body.booking-embedded .booking-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:8px;
}
body.booking-body.booking-embedded .booking-grid{min-height:0}
body.booking-body.booking-embedded .booking-card{
  box-shadow:none;
  border-radius:18px;
}
body.booking-body.booking-embedded .booking-theme-toggle{
  position:absolute;
  top:14px;
  right:14px;
}
body.booking-body.booking-embedded .booking-notice{max-width:none;margin:0 8px 10px}
@media(max-width:900px){
  body.booking-body.booking-embedded .booking-shell{padding:4px}
  body.booking-body.booking-embedded .booking-grid>section,
  body.booking-body.booking-embedded .booking-grid>aside{padding:20px 16px}
  body.booking-body.booking-embedded .booking-theme-toggle{top:9px;right:9px;width:42px;height:42px}
}


/* V708: Druckvorschau folgt derselben Umbruchlogik wie das PDF. */
@media print{
  html body .doc-sheet .items-section,
  html body .doc-sheet .items-section.keep-together,
  html body .doc-sheet .position-desc-row,
  html body .doc-sheet .position-desc-row>td,
  html body .doc-sheet .doc-structure-section-v707,
  html body .doc-sheet .pdf-structure-grid tr,
  html body .doc-sheet .pdf-structure-grid td{
    break-inside:auto;
    page-break-inside:auto;
  }
  html body .doc-sheet :is(.pdf-structure-cell h2,.pdf-structure-cell h3,.pdf-structure-cell h4,.doc-structure-section-v707>h2,.doc-structure-section-v707>h3,.doc-structure-section-v707>h4){
    break-after:avoid;
    page-break-after:avoid;
  }
}


/* V715 – barrierefreie Zeiterfassung und sichtbarer Admin-Supportmodus */
.cliro-admin-mode-v715{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:13px 16px;border:2px solid #8a4b00;border-radius:18px;background:#fff4d6;color:#3b2300;box-shadow:0 12px 30px rgba(80,45,0,.14)}
.cliro-admin-mode-v715>div{display:grid;gap:2px;min-width:0}.cliro-admin-mode-v715 strong{font-size:14px;font-weight:950}.cliro-admin-mode-v715 span{font-size:13px;font-weight:750;overflow-wrap:anywhere}.cliro-admin-mode-v715 .btn{background:#3b2300;color:#fff;border-color:#3b2300;white-space:nowrap}
.timer-v715 .panel-headline{align-items:flex-start}.timer-session-v715{position:relative;border-width:2px}.timer-session-v715:not(.is-paused-v715){border-color:#137a4b}.timer-session-v715.is-paused-v715{border-color:#a84600;background:#fffaf2}
.timer-v715 .live-timer-wrap{display:grid;gap:8px;justify-items:start}.timer-v715 .timer-big{font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:1;font-size:clamp(42px,7vw,78px);color:#0b2438}
.timer-v715 .timer-running-note-actions-v564 button{min-width:132px;min-height:48px}.timer-v715 [aria-busy="true"]{opacity:.72}.timer-v715 [aria-busy="true"] button{cursor:wait}.timer-api-error-v715{display:block;margin:12px 0;padding:12px 14px;border:2px solid #b42318;border-radius:14px;background:#fff1f0;color:#7a271a;font-weight:850}
.time-table caption{caption-side:top}.time-table th,.time-table td{line-height:1.45}.time-table a:not(.btn){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
:where(.timer-v715,.time-table) button:focus-visible,:where(.timer-v715,.time-table) a:focus-visible{outline:4px solid #f4b000;outline-offset:3px;box-shadow:0 0 0 7px rgba(244,176,0,.22)}
@media(max-width:760px){.cliro-admin-mode-v715{position:relative;display:grid}.cliro-admin-mode-v715 .btn{width:100%}.timer-v715 .timer-running-note-actions-v564{grid-template-columns:1fr}.timer-v715 .timer-running-note-actions-v564 button{width:100%}.timer-v715 .timer-big{font-size:clamp(38px,15vw,58px)}.timer-v715 .timer-control-card{padding:16px}.timer-v715 .timer-start-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.timer-v715 *,.cliro-admin-mode-v715{scroll-behavior:auto;transition:none;animation:none}}
@media(forced-colors:active){.cliro-admin-mode-v715,.timer-session-v715,.timer-api-error-v715{border:2px solid CanvasText}.cliro-admin-mode-v715 .btn{forced-color-adjust:auto}}


/* Cliro V715.4 Fix 004 — public booking calendar clarity and accessibility. */
body.booking-body .cliro-v7153-tour-trigger{display:none}
body.booking-body{font-size:16px;line-height:1.5}
body.booking-body .booking-card{border-radius:22px;box-shadow:0 16px 44px rgba(15,23,42,.10);overflow:hidden}
body.booking-body .booking-grid{grid-template-columns:minmax(250px,310px) minmax(420px,1fr) minmax(250px,330px);min-height:0}
body.booking-body .booking-info,body.booking-body .booking-calendar,body.booking-body .booking-slots{padding:clamp(20px,2.4vw,30px)}
body.booking-body .booking-month{border-spacing:5px;border-collapse:separate}
body.booking-body .booking-month td{border:0;height:52px}
body.booking-body .booking-day{min-width:44px;min-height:44px;width:100%;height:100%;border-radius:12px}
body.booking-body .booking-day-open{background:#eef3f7;border:1px solid #c8d5df;color:#12395b;-webkit-text-fill-color:#12395b}
body.booking-body .booking-day-selected{background:#12395b;border-color:#12395b;color:#fff;-webkit-text-fill-color:#fff}
body.booking-body .booking-slot{min-height:48px;border-radius:12px;text-align:center}
body.booking-body :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-accent,#d99a28);outline-offset:3px}
body.booking-body .booking-form label{font-weight:850}
body.booking-body .booking-form input,body.booking-body .booking-form select,body.booking-body .booking-form textarea{min-height:48px;font-size:16px}
body.booking-body .booking-btn{min-height:48px;border-radius:12px}
body.booking-body .booking-theme-toggle{z-index:300}
html.cliro-theme-dark body.booking-body .booking-card{background:#102337;border-color:#31475d}
html.cliro-theme-dark body.booking-body .booking-day-open{background:#173049;border-color:#45627d;color:#e8f1f8;-webkit-text-fill-color:#e8f1f8}
html.cliro-theme-dark body.booking-body .booking-day-selected{background:#8fb8ff;border-color:#8fb8ff;color:#07111d;-webkit-text-fill-color:#07111d}
html.cliro-theme-dark body.booking-body .booking-slot{background:#13263a;border-color:#45627d;color:#f2f7fb;-webkit-text-fill-color:#f2f7fb}
@media(max-width:1080px){body.booking-body .booking-grid{grid-template-columns:1fr 1fr}body.booking-body .booking-info{grid-column:1/-1;border-right:0;border-bottom:1px solid #e2e8f2}}
@media(max-width:720px){body.booking-body .booking-shell{width:min(100% - 20px,720px);padding:10px 0 22px}body.booking-body .booking-grid{grid-template-columns:1fr}body.booking-body .booking-info,body.booking-body .booking-calendar{border-right:0;border-bottom:1px solid #e2e8f2}body.booking-body .booking-slot-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.booking-body *,body.booking-body *::before,body.booking-body *::after{scroll-behavior:auto;transition:none;animation:none}}


/* V717.17-004: Einrichtungstour vollständig entfernt.
   Der Schutz blendet auch DOM-Reste aus älteren Browser-Caches aus. */
.lmcs-tour-root-v657,
.cliro-v7153-tour-trigger,
.cliro-v7153-tour-overlay,
.cliro-v7153-tour-dialog,
.cliro-v71715-tour-spotlight,
.cliro-v71715-tour-shade,
.onboarding-tour-overlay,
#onboardingTour,
.driver-popover,
.driver-overlay,
.shepherd-element,
.shepherd-modal-overlay-container {
  display: none;
  pointer-events: none;
}
body.lmcs-tour-open-v657,
body.cliro-v716-tour-open {
  overflow: auto;
}


/* Cliro V717.17-012 – money suffix, CRM, customer detail and projects */
.lmcs-money-field-wrap{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:stretch;
  width:100%;
  max-width:100%;
  overflow:hidden;
  isolation:isolate;
  border-radius:14px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.lmcs-money-field-wrap > input{
  grid-column:1;
  min-width:0;
  width:100%;
  height:100%;
  margin:0;
  padding-right:12px;
  border-radius:14px 0 0 14px;
  border-right:0;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.lmcs-money-field-wrap > .lmcs-money-suffix{
  position:static;
  grid-column:2;
  transform:none;
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  min-height:var(--lmcs-control-h,44px);
  margin:0;
  padding:0;
  border:1px solid #dbe3ee;
  border-left:0;
  border-radius:0 14px 14px 0;
  background:#f8fafc;
  color:#344054;
  font-size:14px;
  font-weight:950;
  line-height:1;
  pointer-events:none;
  box-sizing:border-box;
}
.lmcs-money-field-wrap:focus-within > input,
.lmcs-money-field-wrap:focus-within > .lmcs-money-suffix{
  border-color:var(--brand-primary,#12395b);
}
.lmcs-money-field-wrap:focus-within > .lmcs-money-suffix{
  color:var(--brand-primary,#12395b);
  background:#eef5fb;
}

.crm-page-v012,.customer-detail-page-v012,.projects-page-v012{display:grid;gap:18px;min-width:0}
.crm-stats-v012{grid-template-columns:repeat(4,minmax(0,1fr))}
.crm-filter-panel-v012 .toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(160px,1fr));gap:10px;align-items:end}
.crm-filter-actions-v012{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.crm-pipeline-panel-v012{min-width:0;overflow:hidden}
.crm-pipeline-panel-v012 .pipeline-grid{align-items:start;padding-bottom:10px}
.crm-pipeline-panel-v012 .pipeline-col{min-width:290px;max-width:360px;border-radius:22px}
.crm-pipeline-panel-v012 .pipeline-col>h3{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crm-pipeline-panel-v012 .pipeline-dropzone{display:grid;gap:12px;min-height:100px}
.crm-pipeline-panel-v012 .crm-card{display:grid;gap:9px;padding:15px;border-radius:18px}
.crm-pipeline-panel-v012 .crm-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary,#12395b) 58%,#fff);outline-offset:3px}
.crm-card-stage-v012{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding-top:10px;border-top:1px solid #e5eaf1}
.crm-card-stage-v012 select{min-width:0;min-height:40px}
.crm-card-stage-v012 .btn{min-height:40px}
.crm-inline-panel-v012 .crm-inline-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(150px,.65fr) minmax(150px,.65fr) auto;gap:10px;align-items:end}
.crm-inline-panel-v012 .crm-inline-form>*{min-width:0}
.crm-dnd-message-v012{min-height:24px;margin-top:10px}

.customer-detail-page-v012 .customer-hero{align-items:start}
.customer-detail-page-v012 .customer-hero>div:first-child{min-width:0}
.customer-detail-page-v012 .customer-hero h2,.customer-detail-page-v012 .customer-hero p{overflow-wrap:anywhere}
.customer-detail-page-v012 .customer-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;min-width:min(760px,100%)}
.customer-detail-page-v012 .customer-facts>span{min-width:0;padding:12px 13px;border:1px solid #e4e9f0;border-radius:15px;background:#f8fafc;overflow-wrap:anywhere}
.customer-detail-page-v012 .customer-detail-main,.customer-detail-page-v012 .customer-detail-secondary{gap:18px;align-items:start}
.customer-detail-page-v012 .panel>.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.customer-detail-page-v012 .table-scroll{max-width:100%}
.customer-detail-page-v012 .note-card,.customer-detail-page-v012 .timeline-item-v120{overflow-wrap:anywhere}
.customer-detail-page-v012 .customer-log-v012{margin-top:0}

.projects-page-v012 .project-hero{align-items:center}
.projects-page-v012 .project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.projects-page-v012 .project-card{display:grid;gap:14px;min-width:0}
.projects-page-v012 .project-card-head{gap:14px}
.projects-page-v012 .project-inline-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.projects-page-v012 .card-actions{display:flex;flex-wrap:wrap;gap:8px}

:is(.crm-page-v012,.customer-detail-page-v012,.projects-page-v012,.task-board-shell-v108) :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid color-mix(in srgb,var(--brand-primary,#12395b) 64%,#fff);
  outline-offset:3px;
}

@media(max-width:1100px){
  .crm-stats-v012{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-filter-panel-v012 .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-inline-panel-v012 .crm-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-inline-panel-v012 .crm-inline-form .btn{width:100%;justify-content:center}
}
@media(max-width:720px){
  .crm-stats-v012,.crm-filter-panel-v012 .toolbar,.crm-inline-panel-v012 .crm-inline-form{grid-template-columns:1fr}
  .crm-filter-actions-v012{display:grid;grid-template-columns:1fr}
  .crm-filter-actions-v012 .btn{width:100%;justify-content:center}
  .crm-pipeline-panel-v012 .pipeline-col{min-width:84vw;max-width:84vw}
  .crm-card-stage-v012,.projects-page-v012 .project-inline-upload{grid-template-columns:1fr}
  .crm-card-stage-v012 .btn,.projects-page-v012 .project-inline-upload .btn{width:100%;justify-content:center}
  .customer-detail-page-v012 .customer-facts{grid-template-columns:1fr;min-width:0;width:100%}
  .customer-detail-page-v012 .panel>.row-actions,.projects-page-v012 .card-actions{display:grid;grid-template-columns:1fr}
  .customer-detail-page-v012 .panel>.row-actions .btn,.projects-page-v012 .card-actions .btn,.projects-page-v012 .card-actions form,.projects-page-v012 .card-actions button{width:100%;justify-content:center}
}

/* Cliro V717.17-015 – projects page structure, overflow and accessibility */
.projects-page-v012 .project-hero{gap:18px}
.projects-page-v012 .project-hero>div:first-child{min-width:0;max-width:780px}
.projects-page-v012 .project-hero :is(h2,p){overflow-wrap:anywhere}
.projects-page-v012 .project-form .field{display:grid;align-content:start;gap:7px;min-width:0}
.projects-page-v012 .project-form label,
.projects-page-v012 .project-inline-upload label{color:var(--cliro-text,#142033);font-weight:850;line-height:1.35}
.projects-page-v012 .project-form small{line-height:1.45}
.projects-page-v012 .project-form .form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.projects-page-v012 .project-card{min-width:0;overflow:hidden}
.projects-page-v012 .project-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.projects-page-v012 .project-card-copy-v015{min-width:0}
.projects-page-v012 .project-card-copy-v015 :is(h3,p){max-width:100%;overflow-wrap:anywhere;word-break:normal}
.projects-page-v012 .project-progress-value-v015{min-width:54px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.projects-page-v012 .progress{box-sizing:border-box;min-height:12px;border:1px solid var(--cliro-border,#d9e2ec);background:var(--cliro-surface-muted,#eef2f7)}
.projects-page-v012 .progress>span{min-width:0}
.projects-page-v012 .mini-kpis div{min-width:0}
.projects-page-v012 .mini-kpis :is(dt,dd){overflow-wrap:anywhere}
.projects-page-v012 .mini-kpis dd{font-variant-numeric:tabular-nums}
.projects-page-v012 .project-card-files{display:grid;gap:8px;min-width:0}
.projects-page-v012 .project-card-files :is(a,small,strong){overflow-wrap:anywhere}
.projects-page-v012 .project-inline-upload{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.projects-page-v012 .project-inline-upload-field-v015{display:grid;gap:6px;min-width:0}
.projects-page-v012 .project-inline-upload input[type="file"]{min-width:0;width:100%;max-width:100%}
.projects-page-v012 .project-empty-v015{grid-column:1/-1;display:grid;gap:5px;padding:22px;border:1px dashed var(--cliro-border-strong,#b8c4d1);border-radius:18px;background:var(--cliro-surface-muted,#f7f9fc);color:var(--cliro-text,#142033);text-align:center}
.projects-page-v012 .project-empty-v015 span{color:var(--cliro-text-muted,#5e6b7a)}
.projects-page-v012 .project-card:focus-within{border-color:color-mix(in srgb,var(--brand-primary,#12395b) 48%,var(--cliro-border,#d9e2ec));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary,#12395b) 18%,transparent),0 14px 36px rgba(15,23,42,.08)}
@media(max-width:720px){
  .projects-page-v012 .project-hero{align-items:stretch}
  .projects-page-v012 .project-hero>.btn{width:100%;justify-content:center}
  .projects-page-v012 .project-form .form-actions{display:grid;grid-template-columns:1fr}
  .projects-page-v012 .project-form .form-actions .btn{width:100%;justify-content:center}
  .projects-page-v012 .project-card-head{grid-template-columns:1fr}
  .projects-page-v012 .project-progress-value-v015{text-align:left}
  .projects-page-v012 .project-inline-upload{grid-template-columns:1fr}
  .projects-page-v012 .project-inline-upload .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .projects-page-v012 .project-card{scroll-behavior:auto}
}

/* Cliro V717.17-019 – preview.php accessibility contract */
.preview-actions-v018[aria-label]{
  align-items:center;
}
.preview-actions-v018 .preview-inline-form-v019{
  display:inline-flex;
  margin:0;
}
.preview-info-section-v019{
  width:100%;
}
.preview-info-bubbles{
  padding:0;
}
.preview-info-bubble :is(dt,dd){
  margin:0;
}
.document-check-v018 .document-check-title-v019{
  margin:0;
  color:inherit;
  font-size:1rem;
  line-height:1.35;
}
.document-check-v018 p{
  margin:.25rem 0 0;
  color:inherit;
}
.document-check-v018 ul{
  margin:.75rem 0 0;
}
.field-label-v019{
  display:block;
  margin:0 0 7px;
  color:var(--ink,#172033);
  font-size:13px;
  font-weight:850;
  line-height:1.35;
}
.timeline-list{
  list-style:none;
  padding-left:0;
}
.timeline-row time{
  color:inherit;
  font-weight:900;
}
.timeline-row .timeline-detail-v019{
  color:var(--muted);
  font-size:.875rem;
  font-weight:500;
  line-height:1.45;
  overflow-wrap:anywhere;
}
html.cliro-theme-dark .field-label-v019{
  color:var(--cliro-text,#f4f8fc);
}
@media(max-width:680px){
  .preview-actions-v018 .preview-inline-form-v019,
  .preview-actions-v018 .preview-inline-form-v019 .btn{
    width:100%;
  }
}

/* Cliro V717.17-020 – action-center contrast contract.
 * Final priority enforcement lives in cliro-v717-theme-classes.css. */
html.cliro-theme-dark .action-card-v583 .action-card-body-v583 strong{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark .action-card-v583 .action-card-body-v583 small{
  color:#cbd5e1;
  -webkit-text-fill-color:#cbd5e1;
}
html.cliro-theme-dark .action-card-v583 .action-card-body-v583>span{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark .action-card-v583:hover .action-card-body-v583>span,
html.cliro-theme-dark .action-card-v583:focus-visible .action-card-body-v583>span{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  text-decoration:underline;
  text-underline-offset:3px;
}
html.cliro-theme-dark .action-card-v583:focus-visible{
  outline:3px solid #7dd3fc;
  outline-offset:3px;
}


/* Cliro V717.17-021 – residual contrast and cache-consistency audit. */
.empty-col-v108{
  color:#64748b;
}
.top-notification-bell .bell-badge{
  background:#b91c1c;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
.action-center-update-icon-v640{
  background:#92400e;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}
html.cliro-theme-dark .badge{
  background:#3b465f;
  color:#f8fafc;
  -webkit-text-fill-color:#f8fafc;
}
html.cliro-theme-dark .top-notification-bell .bell-badge{
  border-color:#fecaca;
  background:#b91c1c;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
}

/* Cliro V717.17-022 – statistics, email-template and partner interaction refinements. */
.emailtpl-template-settings .field-label {
  display: block;
  font-weight: 850;
  margin-bottom: 7px;
}
.emailtpl-preview-mode [aria-pressed="true"] {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-primary,#12395b) 30%, transparent);
}
.partner-link-box-v436 .sr-only,
.copyline .sr-only {
  position: absolute;
}
@media (max-width: 760px) {
  .stats-page-v168 .toolbar[role="search"] {
    align-items: stretch;
  }
  .stats-page-v168 .toolbar[role="search"] > :is(input,select,.btn) {
    width: 100%;
  }
}


/* Cliro V717.17-023 – secure credential reveal and remaining form semantics. */
.credential-reveal-v023{white-space:nowrap}.credential-secret-v023{display:block;margin-top:8px;max-width:320px;padding:8px 10px;border:1px solid var(--line,#e5e7ef);border-radius:10px;background:var(--soft,#fafbfd);color:var(--ink,#11131a);white-space:pre-wrap;overflow-wrap:anywhere}.credential-secret-v023[hidden]{display:none}.vault-table td{vertical-align:top}.vault-warning code{overflow-wrap:anywhere}
html.cliro-theme-dark .credential-secret-v023{background:#0f2231;color:#fff;border-color:#365064}

/* V717.18: direkt aus der globalen Suche geöffnete Bereiche sichtbar markieren. */
.cliro-deep-link-highlight-v71718{
  outline:3px solid color-mix(in srgb,var(--brand-primary,#12395b) 62%,transparent);
  outline-offset:4px;
  scroll-margin-top:96px;
  transition:outline-color .35s ease,box-shadow .35s ease;
  box-shadow:0 0 0 7px color-mix(in srgb,var(--brand-primary,#12395b) 12%,transparent);
}
@media (prefers-reduced-motion:reduce){.cliro-deep-link-highlight-v71718{transition:none}}

/* V717.18-015: Premium public booking experience and consistent responsive hierarchy. */
body.booking-body{
  --booking-page-bg:#edf3f8;
  --booking-panel:#ffffff;
  --booking-panel-soft:#f7fafc;
  --booking-panel-strong:#edf3f7;
  --booking-text:#102033;
  --booking-muted-015:#617286;
  --booking-line:#d9e3eb;
  --booking-line-strong:#c4d2dd;
  background:
    radial-gradient(circle at 8% 0%,rgba(18,57,91,.11),transparent 34rem),
    radial-gradient(circle at 92% 100%,rgba(217,154,40,.10),transparent 30rem),
    var(--booking-page-bg);
  color:var(--booking-text);
  -webkit-text-fill-color:var(--booking-text);
}
body.booking-body .booking-shell{width:min(1380px,calc(100% - 40px));padding:28px 0 34px}
body.booking-body .booking-progress{display:flex;align-items:center;justify-content:center;gap:10px;max-width:690px;margin:0 auto 18px;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015);font-size:13px;font-weight:800}
body.booking-body .booking-progress-step{display:flex;align-items:center;gap:8px;white-space:nowrap}
body.booking-body .booking-progress-num{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid var(--booking-line-strong);border-radius:999px;background:rgba(255,255,255,.72);color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015);font-size:12px;box-shadow:0 4px 12px rgba(15,23,42,.05)}
body.booking-body .booking-progress-step.is-done .booking-progress-num,body.booking-body .booking-progress-step.is-active .booking-progress-num{border-color:var(--brand-primary,#12395b);background:var(--brand-primary,#12395b);color:#fff;-webkit-text-fill-color:#fff}
body.booking-body .booking-progress-step.is-active{color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-progress-line{width:clamp(24px,7vw,74px);height:1px;background:var(--booking-line-strong)}
body.booking-body .booking-card{border:1px solid rgba(154,174,190,.55);border-radius:28px;background:var(--booking-panel);box-shadow:0 28px 76px rgba(23,47,70,.13),0 3px 12px rgba(23,47,70,.06);overflow:hidden}
body.booking-body .booking-grid{grid-template-columns:minmax(280px,330px) minmax(440px,1fr) minmax(280px,350px)}
body.booking-body .booking-info,body.booking-body .booking-calendar,body.booking-body .booking-slots{padding:clamp(24px,2.7vw,38px)}
body.booking-body .booking-info{gap:17px;background:linear-gradient(160deg,#f9fbfd 0%,#f1f6f9 100%);border-right:1px solid var(--booking-line)}
body.booking-body .booking-brand{gap:13px;align-items:center}
body.booking-body .booking-logo{width:52px;height:52px;border-radius:15px;padding:5px;border-color:var(--booking-line);box-shadow:0 8px 20px rgba(15,23,42,.08)}
body.booking-body .booking-brand-copy{display:grid;gap:4px}
body.booking-body .booking-company{font-size:16px;line-height:1.25}
body.booking-body .booking-brand-badge{width:max-content;padding:3px 8px;border:1px solid rgba(18,57,91,.16);border-radius:999px;background:rgba(18,57,91,.07);color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);font-size:11px;font-weight:850;letter-spacing:.02em}
body.booking-body .booking-eyebrow,body.booking-body .booking-section-kicker{margin:5px 0 -7px;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
body.booking-body .booking-title{margin:0;font-size:clamp(29px,3.1vw,42px);line-height:1.05;letter-spacing:-.035em;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-intro{font-size:15px;line-height:1.65;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-facts{gap:10px}
body.booking-body .booking-facts li{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--booking-line);border-radius:15px;background:rgba(255,255,255,.78)}
body.booking-body .booking-facts .booking-ico{flex:0 0 36px;width:36px;height:36px;align-items:center;border-radius:11px;background:rgba(18,57,91,.08);font-size:17px}
body.booking-body .booking-facts li>span:last-child{display:grid;gap:1px}
body.booking-body .booking-facts strong{font-size:14px;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-facts small{font-size:12px;font-weight:650;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-trust{display:flex;align-items:flex-start;gap:10px;margin-top:auto;padding:12px;border-radius:15px;background:#eaf6ef;border:1px solid #c9e6d4;color:#174c32;-webkit-text-fill-color:#174c32}
body.booking-body .booking-trust>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:999px;background:#26744e;color:#fff;-webkit-text-fill-color:#fff;font-weight:900}
body.booking-body .booking-trust p{display:grid;gap:2px;margin:0}
body.booking-body .booking-trust strong{font-size:13px}
body.booking-body .booking-trust small{font-size:11px;line-height:1.45}
body.booking-body .booking-tz-form{margin-top:0;padding:13px;border:1px solid var(--booking-line);border-radius:15px;background:rgba(255,255,255,.75)}
body.booking-body .booking-tz-form label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-tz-form select{min-height:44px;border-radius:11px;border-color:var(--booking-line-strong);background:var(--booking-panel)}
body.booking-body .booking-section-intro{display:grid;gap:4px;margin-bottom:20px}
body.booking-body .booking-section-intro h2{margin:0;font-size:clamp(22px,2.2vw,29px);line-height:1.15;letter-spacing:-.025em;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-section-intro>p:last-child{margin:0;font-size:13px;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-calendar{border-right:1px solid var(--booking-line);background:var(--booking-panel)}
body.booking-body .booking-cal-head{grid-template-columns:46px minmax(0,1fr) 46px;margin-bottom:16px;padding:8px;border:1px solid var(--booking-line);border-radius:16px;background:var(--booking-panel-soft)}
body.booking-body .booking-month-title{text-align:center;font-size:17px;font-weight:900;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-nav{width:40px;height:40px;border-radius:12px;background:var(--booking-panel);border:1px solid var(--booking-line);font-size:25px;box-shadow:0 4px 12px rgba(15,23,42,.04)}
body.booking-body .booking-nav:hover{background:var(--booking-panel-strong);transform:translateY(-1px)}
body.booking-body .booking-month{border-spacing:6px}
body.booking-body .booking-month th{height:30px;color:#718397;-webkit-text-fill-color:#718397;font-size:11px;letter-spacing:.04em}
body.booking-body .booking-month td{height:54px}
body.booking-body .booking-day{position:relative;flex-direction:column;gap:4px;border-radius:14px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
body.booking-body .booking-day-open{background:#f1f6f9;border:1px solid #cedce6;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-day-open:hover{background:#e7f0f5;border-color:var(--brand-primary,#12395b);transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,57,91,.12)}
body.booking-body .booking-day-selected{background:var(--brand-primary,#12395b);border:1px solid var(--brand-primary,#12395b);color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 9px 20px rgba(18,57,91,.25)}
body.booking-body .booking-day-number{line-height:1}
body.booking-body .booking-day-dot{display:block;width:5px;height:5px;border-radius:999px;background:var(--brand-accent,#d99a28)}
body.booking-body .booking-day-selected .booking-day-dot{background:#fff}
body.booking-body .booking-day-off{color:#9aa8b5;-webkit-text-fill-color:#9aa8b5;font-weight:650}
body.booking-body .booking-cal-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid var(--booking-line);font-size:12px;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-availability-key{display:inline-flex;align-items:center;gap:7px;font-weight:800}
body.booking-body .booking-availability-key>span{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--brand-accent,#d99a28)}
body.booking-body .booking-slots{background:linear-gradient(180deg,#fbfcfd 0%,#f6f9fb 100%)}
body.booking-body .booking-section-intro-slots{margin-bottom:14px}
body.booking-body .booking-slots-head{padding:10px 0 14px;margin-bottom:14px;border-bottom:1px solid var(--booking-line)}
body.booking-body .booking-selected-date{font-size:13px;font-weight:900;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-tf-form{display:flex;align-items:center;gap:7px}
body.booking-body .booking-tf-form select{min-height:38px;border-radius:10px;border-color:var(--booking-line-strong);background:var(--booking-panel)}
body.booking-body .booking-slot-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
body.booking-body .booking-slot{position:relative;min-height:51px;border:1px solid var(--booking-line-strong);border-radius:13px;background:var(--booking-panel);color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);box-shadow:0 3px 9px rgba(15,23,42,.035);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
body.booking-body .booking-slot::after{content:'›';position:absolute;right:13px;font-size:19px;font-weight:500;opacity:.55}
body.booking-body .booking-slot:hover{transform:translateY(-2px);border-color:var(--brand-primary,#12395b);background:#fff;box-shadow:0 9px 20px rgba(18,57,91,.11)}
body.booking-body .booking-empty-state{display:grid;justify-items:center;gap:6px;padding:42px 18px;border:1px dashed var(--booking-line-strong);border-radius:18px;background:rgba(255,255,255,.62);text-align:center}
body.booking-body .booking-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:var(--booking-panel-strong);color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);font-size:24px}
body.booking-body .booking-empty-state strong{font-size:15px;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-empty-state p{margin:0;max-width:25ch;font-size:13px;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 5px 0;color:#718397;-webkit-text-fill-color:#718397;font-size:11px;font-weight:700}
body.booking-body .booking-form-page{padding:clamp(24px,4vw,46px);border-radius:28px}
body.booking-body .booking-progress-form{margin-bottom:18px}
body.booking-body .booking-form-hero{padding:0 0 20px}
body.booking-body .booking-form-company{display:block;margin-bottom:8px;color:var(--brand-primary,#12395b);-webkit-text-fill-color:var(--brand-primary,#12395b);font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
body.booking-body .booking-form-host{font-size:17px;font-weight:900}
body.booking-body .booking-form-host img{width:48px;height:48px;border-radius:14px;padding:4px;border:1px solid var(--booking-line);background:#fff}
body.booking-body .booking-facts-lg{display:grid;gap:9px;padding:16px;border:1px solid var(--booking-line);border-radius:18px;background:var(--booking-panel-soft)}
body.booking-body .booking-facts-lg li{display:flex;align-items:flex-start;gap:10px}
body.booking-body .booking-form-eyebrow{margin-top:4px}
body.booking-body .booking-form-heading{margin:7px 0 5px;font-size:clamp(26px,4vw,36px);letter-spacing:-.03em;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-form-lead{margin:0 0 18px}
body.booking-body .booking-field{gap:7px}
body.booking-body .booking-field label{font-size:13px;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
body.booking-body .booking-field input[type="text"],body.booking-body .booking-field input[type="email"],body.booking-body .booking-field textarea{border:1px solid var(--booking-line-strong);border-radius:13px;background:var(--booking-panel-soft);box-shadow:inset 0 1px 2px rgba(15,23,42,.025)}
body.booking-body .booking-field input:focus,body.booking-body .booking-field textarea:focus{background:var(--booking-panel);border-color:var(--brand-primary,#12395b)}
body.booking-body .booking-check{padding:13px;border:1px solid var(--booking-line);border-radius:14px;background:var(--booking-panel-soft)}
body.booking-body .booking-form-actions{margin-top:5px;padding-top:18px;border-top:1px solid var(--booking-line)}
body.booking-body .booking-btn-primary{box-shadow:0 10px 24px rgba(18,57,91,.20)}
body.booking-body .booking-result{padding:clamp(30px,5vw,58px);text-align:center}
body.booking-body .booking-result-icon{margin:0 auto 16px;width:66px;height:66px;border-radius:22px;background:#e7f6ed;border:1px solid #bfdfcb;color:#227148;-webkit-text-fill-color:#227148;box-shadow:0 12px 28px rgba(34,113,72,.13)}
body.booking-body .booking-details{overflow:hidden;border:1px solid var(--booking-line);border-radius:18px;background:var(--booking-panel-soft);text-align:left}
body.booking-body .booking-details>div{padding:13px 15px;border-bottom:1px solid var(--booking-line)}
body.booking-body .booking-details>div:last-child{border-bottom:0}
body.booking-body .booking-details dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
body.booking-body .booking-details dd{margin-top:3px;color:var(--booking-text);-webkit-text-fill-color:var(--booking-text);font-weight:850}
html.cliro-theme-dark body.booking-body{
  --booking-page-bg:#071521;
  --booking-panel:#102337;
  --booking-panel-soft:#132a40;
  --booking-panel-strong:#18334d;
  --booking-text:#edf4fa;
  --booking-muted-015:#adc0d0;
  --booking-line:#314b62;
  --booking-line-strong:#45647d;
  background:radial-gradient(circle at 8% 0%,rgba(76,132,180,.17),transparent 34rem),radial-gradient(circle at 92% 100%,rgba(217,154,40,.10),transparent 30rem),var(--booking-page-bg);
}
html.cliro-theme-dark body.booking-body .booking-card{background:var(--booking-panel);border-color:var(--booking-line);box-shadow:0 28px 76px rgba(0,0,0,.42)}
html.cliro-theme-dark body.booking-body .booking-info{background:linear-gradient(160deg,#10283d 0%,#0d2133 100%);border-color:var(--booking-line)}
html.cliro-theme-dark body.booking-body .booking-calendar{background:var(--booking-panel);border-color:var(--booking-line)}
html.cliro-theme-dark body.booking-body .booking-slots{background:linear-gradient(180deg,#102337 0%,#0d1f31 100%)}
html.cliro-theme-dark body.booking-body .booking-progress-num{background:#102337;border-color:var(--booking-line-strong);color:var(--booking-muted-015);-webkit-text-fill-color:var(--booking-muted-015)}
html.cliro-theme-dark body.booking-body .booking-progress-step.is-done .booking-progress-num,html.cliro-theme-dark body.booking-body .booking-progress-step.is-active .booking-progress-num{background:#9ec1ff;border-color:#9ec1ff;color:#071421;-webkit-text-fill-color:#071421}
html.cliro-theme-dark body.booking-body .booking-brand-badge{background:rgba(158,193,255,.10);border-color:rgba(158,193,255,.28);color:#c7dcff;-webkit-text-fill-color:#c7dcff}
html.cliro-theme-dark body.booking-body .booking-eyebrow,html.cliro-theme-dark body.booking-body .booking-section-kicker{color:#9ec1ff;-webkit-text-fill-color:#9ec1ff}
html.cliro-theme-dark body.booking-body .booking-facts li,html.cliro-theme-dark body.booking-body .booking-tz-form{background:rgba(7,20,33,.42);border-color:var(--booking-line)}
html.cliro-theme-dark body.booking-body .booking-facts .booking-ico{background:rgba(158,193,255,.12);color:#bcd5ff;-webkit-text-fill-color:#bcd5ff}
html.cliro-theme-dark body.booking-body .booking-trust{background:#113326;border-color:#2b644b;color:#c9f2db;-webkit-text-fill-color:#c9f2db}
html.cliro-theme-dark body.booking-body .booking-cal-head,html.cliro-theme-dark body.booking-body .booking-facts-lg,html.cliro-theme-dark body.booking-body .booking-check,html.cliro-theme-dark body.booking-body .booking-details{background:var(--booking-panel-soft);border-color:var(--booking-line)}
html.cliro-theme-dark body.booking-body .booking-nav,html.cliro-theme-dark body.booking-body .booking-slot,html.cliro-theme-dark body.booking-body .booking-tz-form select,html.cliro-theme-dark body.booking-body .booking-tf-form select{background:#0b1d2e;border-color:var(--booking-line-strong);color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
html.cliro-theme-dark body.booking-body .booking-day-open{background:#163149;border-color:#45647d;color:#edf4fa;-webkit-text-fill-color:#edf4fa}
html.cliro-theme-dark body.booking-body .booking-day-open:hover{background:#1c3b57;border-color:#9ec1ff}
html.cliro-theme-dark body.booking-body .booking-day-selected{background:#9ec1ff;border-color:#9ec1ff;color:#071421;-webkit-text-fill-color:#071421}
html.cliro-theme-dark body.booking-body .booking-day-selected .booking-day-dot{background:#071421}
html.cliro-theme-dark body.booking-body .booking-empty-state{background:rgba(7,20,33,.34);border-color:var(--booking-line-strong)}
html.cliro-theme-dark body.booking-body .booking-field input[type="text"],html.cliro-theme-dark body.booking-body .booking-field input[type="email"],html.cliro-theme-dark body.booking-body .booking-field textarea{background:#0b1d2e;border-color:var(--booking-line-strong);color:var(--booking-text);-webkit-text-fill-color:var(--booking-text)}
html.cliro-theme-dark body.booking-body .booking-result-icon{background:#123a2a;border-color:#2f6d4f;color:#bdebcf;-webkit-text-fill-color:#bdebcf}
@media(max-width:1120px){
  body.booking-body .booking-grid{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}
  body.booking-body .booking-info{grid-row:1/3}
  body.booking-body .booking-calendar{border-right:0;border-bottom:1px solid var(--booking-line)}
}
@media(max-width:760px){
  body.booking-body .booking-shell{width:min(100% - 20px,720px);padding:12px 0 24px}
  body.booking-body .booking-progress{gap:6px;margin-bottom:12px;font-size:11px}
  body.booking-body .booking-progress-line{width:18px}
  body.booking-body .booking-progress-num{width:26px;height:26px}
  body.booking-body .booking-grid{grid-template-columns:minmax(0,1fr)}
  body.booking-body .booking-info{grid-row:auto;border-right:0;border-bottom:1px solid var(--booking-line)}
  body.booking-body .booking-calendar{border-bottom:1px solid var(--booking-line)}
  body.booking-body .booking-info,body.booking-body .booking-calendar,body.booking-body .booking-slots{padding:22px 17px}
  body.booking-body .booking-title{font-size:32px}
  body.booking-body .booking-trust{margin-top:0}
  body.booking-body .booking-month{border-spacing:3px}
  body.booking-body .booking-month td{height:48px}
  body.booking-body .booking-day{min-width:42px;min-height:42px;border-radius:12px}
  body.booking-body .booking-slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.booking-body .booking-footer{display:grid;text-align:center;justify-content:center}
  body.booking-body .booking-form-page{padding:24px 18px}
}
@media(max-width:430px){
  body.booking-body .booking-progress-step>span:last-child{display:none}
  body.booking-body .booking-progress-line{width:30px}
  body.booking-body .booking-slot-list{grid-template-columns:1fr}
  body.booking-body .booking-cal-hint{align-items:flex-start;flex-direction:column}
  body.booking-body .booking-tf-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media(prefers-reduced-motion:reduce){body.booking-body .booking-day,body.booking-body .booking-slot,body.booking-body .booking-nav{transition:none}}


/* V717.18-016: Reloadfreie Terminwahl und einzeilige kurze Terminbezeichnung */
body.booking-body .booking-title{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  font-size:clamp(27px,3vw,42px);
}
body.booking-body.booking-ajax-loading main.booking-shell,
body.booking-body.booking-ajax-loading main.booking-shell-form,
body.booking-body.booking-ajax-loading main.booking-shell-narrow{
  opacity:.58;
  pointer-events:none;
  transition:opacity .16s ease;
}
body.booking-body.booking-ajax-loading::after{
  content:"Terminansicht wird aktualisiert …";
  position:fixed;
  z-index:9999;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  max-width:calc(100% - 32px);
  padding:11px 16px;
  border:1px solid var(--booking-line-strong,#b9c7d5);
  border-radius:999px;
  background:var(--booking-panel,#fff);
  color:var(--booking-text,#172033);
  -webkit-text-fill-color:var(--booking-text,#172033);
  font-weight:850;
  box-shadow:0 14px 34px rgba(15,23,42,.16);
}
@media(max-width:420px){
  body.booking-body .booking-title{font-size:clamp(24px,9vw,32px);letter-spacing:-.045em}
}
@media(prefers-reduced-motion:reduce){
  body.booking-body.booking-ajax-loading main.booking-shell,
  body.booking-body.booking-ajax-loading main.booking-shell-form,
  body.booking-body.booking-ajax-loading main.booking-shell-narrow{transition:none}
}

/* Cliro V717.18-017 – weiche Formularaktionen ohne Sprung zum Seitenanfang. */
form.cliro-soft-submit-busy-v017{position:relative}
form.cliro-soft-submit-busy-v017::after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(255,255,255,.38);pointer-events:none}
html.cliro-theme-dark form.cliro-soft-submit-busy-v017::after{background:rgba(9,15,25,.34)}
.cliro-soft-submit-error-v017{margin:0 0 16px}
@media(prefers-reduced-motion:reduce){form.cliro-soft-submit-busy-v017::after{transition:none}}
