:root{--bg:#f5f7fb;--card:#fff;--border:rgba(15,23,42,.12);--text:#0f172a;--muted:rgba(15,23,42,.70);--accent:#2b7cff;--accent-weak:rgba(43,124,255,.10);}
body{background:var(--bg);color:var(--text);}
.brand-hero{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 10px 24px rgba(15,23,42,.08);margin-bottom:18px;background:var(--card);}
.brand-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;background:radial-gradient(900px 240px at 15% 0%, rgba(43,124,255,.18), transparent 55%),linear-gradient(90deg, rgba(43,124,255,.10), rgba(255,255,255,1));}
.brand-left{display:flex;align-items:flex-start;gap:14px;min-width:360px;}
.brand-logo{width:300px;height:120px;border-radius:18px;border:1px solid rgba(15,23,42,.14);background:#fff;display:flex;align-items:center;justify-content:center;padding:14px;}
.brand-title{padding-top:6px;line-height:1.05;}
.brand-title .h{font-size:20px;font-weight:900;color:var(--text);}
.brand-title .s{margin-top:6px;font-size:12px;color:var(--muted);letter-spacing:.2px;}
.brand-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding-top:6px;}
.brand-nav a{color:rgba(15,23,42,.92);text-decoration:none;padding:9px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.16);background:rgba(255,255,255,.95);}
.brand-nav a:hover{background:var(--accent-weak);border-color:rgba(43,124,255,.35);}
.brand-nav a.active{background:rgba(43,124,255,.16);border-color:rgba(43,124,255,.55);color:rgba(15,23,42,.96);}
.card,.shadow,.bg-white{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;}
.table{color:var(--text)!important;}
.table thead th{color:var(--text)!important;background:rgba(15,23,42,.03)!important;border-color:var(--border)!important;}
.table td,.table th{border-color:var(--border)!important;}
.table-striped>tbody>tr:nth-of-type(odd)>*{background:rgba(15,23,42,.02)!important;color:var(--text)!important;}
.list-group-item{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important;}
.alert-info{background:rgba(43,124,255,.10)!important;border-color:rgba(43,124,255,.35)!important;color:var(--text)!important;}
.btn-primary{background-color:var(--accent)!important;border-color:var(--accent)!important;}
.btn-success{background-color:rgba(43,124,255,.85)!important;border-color:rgba(43,124,255,.85)!important;}
.btn-dark{background-color:rgba(15,23,42,.92)!important;border-color:rgba(15,23,42,.92)!important;}
.form-label,label{color:var(--text)!important;font-weight:700;}
.form-control,.form-select{color:var(--text)!important;background:#fff!important;border-color:rgba(15,23,42,.18)!important;}
.ts-wrapper .ts-control{background:#fff!important;color:var(--text)!important;border-color:rgba(15,23,42,.18)!important;}
.ts-wrapper.multi .ts-control>div.item{display:none!important;}
.ts-control .ts-count{opacity:.85;margin-left:6px;color:rgba(15,23,42,.75)!important;}
.ts-dropdown{background:#fff!important;color:var(--text)!important;border-color:rgba(15,23,42,.18)!important;}
.ts-dropdown .option{color:var(--text)!important;}
.ts-dropdown .active{background:rgba(43,124,255,.12)!important;}
/* row "Alle (gefilterten)" */
.ts-all-filtered-row{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.98);cursor:pointer;}
.ts-all-filtered-row:hover{background:rgba(43,124,255,.08);}
.ts-all-filtered-row .hits{margin-left:auto;color:rgba(15,23,42,.65);font-size:12px;}
@media print{.no-print{display:none!important;}body{background:#fff;}.brand-hero{box-shadow:none;}.card,.bg-white{box-shadow:none!important;}}


/* Compact Quick Filter (Kunden & Artikel) */
.quick-compact {
  margin-top: 8px !important;
}
.quick-compact .form-label {
  font-size: 13px;
  margin-bottom: 4px;
}
.quick-compact .form-control,
.quick-compact .form-select {
  padding: 6px 10px;
  font-size: 14px;
}

.quick-presets .btn { padding:4px 10px; font-size:12px; }
@media (max-width: 768px){
  .quick-presets{flex-wrap:wrap}
}

/* Quick filter inside header */
.brand-hero .quick-presets { padding: 0 16px; }
.brand-hero .quick-compact { margin: 10px 16px 14px 16px !important; }


/* Header: Jahr / Quartal / Monat */
.header-quick-wrap{
  margin-top: 14px;
  padding: 14px 16px 16px 16px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(6px);
}
.header-quick-wrap label{
  font-size: 13px;
  margin-bottom: 4px;
  font-weight: 800;
}
.header-quick-wrap .form-select{
  width: 100%;
  min-width: 280px;
  padding: 10px 12px;
  font-size: 15px;
}


/* Excel-like filter panel */
.excel-filter-wrap{
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,.75);
}
.excel-filter-search{
  margin-bottom: 8px;
}
.excel-filter-selectall{
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 700;
  margin: 2px 0 8px 0;
}
.excel-filter-selectall input{
  width: 16px;
  height: 16px;
}
.excel-filter-list{
  max-height: 220px;
  overflow: auto;
  padding-right: 6px;
}
.excel-filter-items{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.excel-filter-item{
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 4px 4px;
  border-radius: 6px;
}
.excel-filter-item:hover{
  background: rgba(43,124,255,.08);
}
.excel-filter-item input{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}


/* Excel-like filter panel */
.excel-filter-wrap{
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,.75);
}
.excel-filter-search{ margin-bottom: 8px; }
.excel-filter-bar{
  display:flex;
  justify-content: space-between;
  align-items:center;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 8px;
  padding: 8px 10px;
  margin-bottom: 8px;
  background: rgba(255,255,255,.65);
}
.excel-filter-placeholder{ color: rgba(15,23,42,.7); font-weight: 600; }
.excel-filter-count{ color: rgba(15,23,42,.7); font-weight: 700; }

.excel-filter-selectall{
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 800;
  margin: 2px 0 8px 0;
}
.excel-filter-list{
  max-height: 240px;
  overflow: auto;
  padding-right: 6px;
  border: 1px dotted rgba(15,23,42,.18);
  border-radius: 8px;
  padding: 8px;
  background: rgba(255,255,255,.5);
}
.excel-filter-items{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.excel-filter-item{
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 4px 4px;
  border-radius: 6px;
}
.excel-filter-item:hover{ background: rgba(43,124,255,.08); }
.excel-filter-item input{ width: 16px; height: 16px; flex: 0 0 auto; }
.excel-filter-hint{ color: rgba(15,23,42,.55); font-style: italic; padding: 4px 2px; }
