/* ds.css — Euromovers CRM Design-System v1
   Markenfarben aus dem Logo: Blau #061B8C (Struktur/Navigation), Orange #FFFF00 (Aktionen/Highlights)
   Wird als letzte Stylesheet-Datei auf allen CRM-Seiten geladen. */
:root{
  --b:#061B8C; --b-d:#04136A; --b-9:#040D4A; --b-50:#ECEEF9; --b-100:#D5DAF2; --b-rgb:6,27,140;
  --o:#FFFF00; --o-d:#E6E600; --o-logo:#FFFF00; --o-50:#FFFFE5; --o-100:#FFFFB8; --o-rgb:255,255,0;
  --ink:#101828; --ink-2:#344054; --mut:#5D6778; --mut-2:#8A94A6;
  --line:#E3E8F0; --line-2:#EEF1F6; --bg:#F4F6FA; --card:#fff;
  --ok:#12753A; --ok-50:#E6F6EC; --warn:#8A5A00; --warn-50:#FFF4D6; --err:#B42318; --err-50:#FDECEC;
  --r-s:10px; --r:14px; --r-l:18px;
  --sh-1:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.04);
  --sh-2:0 8px 24px rgba(16,24,40,.08);
  --sh-3:0 20px 50px rgba(16,24,40,.16);
  --ring:0 0 0 4px rgba(var(--b-rgb),.16);
  --f:'Google Sans Flex','Google Sans',Roboto,system-ui,-apple-system,'Segoe UI',sans-serif;
  --tap:46px;
}

/* ---------- Basis & Typografie ---------- */
body.ds{font-family:var(--f)!important;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg)!important;letter-spacing:.1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.ds a{color:inherit}
body.ds :focus-visible{outline:none;box-shadow:var(--ring)!important;border-radius:var(--r-s)}
body.ds ::selection{background:rgba(var(--b-rgb),.18)}
body.ds h1,body.ds h2,body.ds h3{color:var(--ink);letter-spacing:-.2px}

/* ---------- Sidebar (alle Varianten: Layout .sb, Cockpit .sidebar, Kalender .sidebar) ---------- */
body.ds .sb,body.ds .sidebar{background:#fff!important;border-right:1px solid var(--line)!important}
body.ds .sb .lg,body.ds .sidebar .logo-area,body.ds .sidebar .logo{height:72px!important;border-bottom:1px solid var(--line)!important}
body.ds .sb .lg,body.ds .sidebar .logo{position:relative}
body.ds .sb .lg::before,body.ds .sidebar .logo-area::before,body.ds .sidebar .logo::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--b) 0 62%,var(--o-logo) 62% 100%)}
body.ds .ds-nav{display:flex;flex-direction:column;padding:6px 10px 20px}
body.ds .ds-sec{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--mut-2);margin:16px 10px 4px}
body.ds .ds-sec:first-child{margin-top:4px}
body.ds .ds-link,body.ds .sidebar .ds-link.nav-link,body.ds .sb nav a.ds-link,body.ds .nav a.ds-link{
  display:flex!important;align-items:center;gap:10px;min-height:34px;height:34px;padding:0 10px!important;margin:1px 0!important;border-radius:8px!important;
  color:var(--ink-2)!important;font-size:14px!important;font-weight:500!important;background:transparent!important;text-decoration:none;white-space:nowrap;position:relative;flex:none;min-width:0;transition:background .12s,color .12s}
body.ds .ds-link span{overflow:hidden;text-overflow:ellipsis}
body.ds .ds-link .ti{font-size:18px!important;color:var(--mut-2);flex:none;transition:color .12s}
body.ds .ds-nav a.ds-link:hover{background:#F2F4F7!important;color:var(--ink)!important}
body.ds .ds-link:hover .ti{color:var(--ink-2)}
body.ds .ds-nav a.ds-link.on,body.ds .ds-nav a.ds-link.active{background:var(--b-50)!important;color:var(--b)!important;font-weight:600!important}
body.ds .ds-link.on .ti,body.ds .ds-link.active .ti{color:var(--b)}
/* Gruppen mit Untermenü: aufklappbar, ohne Linie */
body.ds .ds-row{display:flex;align-items:center;border-radius:8px;margin:1px 0}
body.ds .ds-row:hover{background:#F2F4F7}
body.ds .ds-row .ds-link{flex:1!important;margin:0!important}
body.ds .ds-nav .ds-row:hover a.ds-link{background:transparent!important}
body.ds .ds-nav .ds-row a.ds-link.on,body.ds .ds-nav .ds-row a.ds-link.active{background:var(--b-50)!important}
body.ds .ds-nav .ds-grp.has-on>.ds-row a.ds-link{color:var(--ink)!important}
body.ds .ds-grp.has-on>.ds-row .ds-link .ti{color:var(--b)}
body.ds .ds-tog{flex:none;width:28px;height:28px;margin-right:3px;border:0;background:transparent;border-radius:6px;display:grid;place-items:center;color:var(--mut-2);cursor:pointer;padding:0}
body.ds .ds-tog:hover{background:#E7EAF0;color:var(--ink-2)}
body.ds .ds-tog .ti{font-size:16px;transition:transform .18s}
body.ds .ds-grp.open .ds-tog .ti{transform:rotate(180deg)}
body.ds .ds-kids{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}
body.ds .ds-grp.open .ds-kids{grid-template-rows:1fr}
body.ds .ds-kids>div{overflow:hidden;display:flex;flex-direction:column}
body.ds .ds-grp.open .ds-kids>div{padding:1px 0 4px}
body.ds .ds-nav a.ds-link.ds-sub{height:32px;min-height:32px;padding-left:38px!important;font-size:13.5px!important;color:var(--mut)!important}
body.ds .ds-link.ds-sub .ti{font-size:16px!important}
body.ds .ds-nav a.ds-link.ds-sub:hover{color:var(--ink)!important}
body.ds .ds-nav a.ds-link.ds-sub.on,body.ds .ds-nav a.ds-link.ds-sub.active{color:var(--b)!important}
@media (pointer:coarse){
  body.ds .ds-link{height:44px;min-height:44px;font-size:15px!important}
  body.ds .ds-link.ds-sub{height:42px;min-height:42px}
  body.ds .ds-tog{width:40px;height:40px}
}

/* ---------- Kopfzeile ---------- */
body.ds .top,body.ds .topbar{background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)!important;box-shadow:none!important}
body.ds .top h1,body.ds .tb-title{font-size:22px!important;font-weight:650!important;color:var(--b-9)!important;letter-spacing:-.3px}
body.ds .mnu,body.ds .mbtn-menu,body.ds #mobileBtn{width:var(--tap)!important;height:var(--tap)!important;border-radius:12px!important;background:var(--b-50)!important;color:var(--b)!important;border:0!important;font-size:22px!important;align-items:center;justify-content:center}
body.ds .crm-um-btn>span:first-child{background:var(--b)!important;color:#fff!important}
body.ds .crm-um-menu{border:1px solid var(--line);box-shadow:var(--sh-3)!important;border-radius:16px!important}
body.ds .crm-um-menu a{min-height:44px;font-size:15.5px!important}
body.ds .crm-um-menu a:hover{background:var(--b-50)!important;color:var(--b)!important}

/* ---------- Karten ---------- */
body.ds .card,body.ds .kt,body.ds .o-card{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-l)!important;box-shadow:var(--sh-1)!important}
body.ds .kt{padding:18px 20px}
body.ds .kt .ic{border-radius:14px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
body.ds .kt .lb{font-size:15px!important;color:var(--mut)!important;font-weight:500}
body.ds .kt .nr{font-weight:700!important;letter-spacing:-.4px}
body.ds .dg .hd,body.ds .pc .hd{background:#FAFBFD!important;border-bottom:1px solid var(--line-2)!important}
body.ds .h3{color:var(--b-9)}
body.ds .h3 .ti,body.ds .sec h2 .ti{color:var(--b)!important}
body.ds .pad{padding:22px 24px}
body.ds .empty{color:var(--mut)!important;font-size:15.5px}

/* ---------- Buttons ---------- */
body.ds .btn{min-height:var(--tap);border-radius:12px!important;padding:10px 18px;font-size:15.5px!important;font-weight:600!important;gap:8px;line-height:1.2;transition:background .15s,box-shadow .15s,transform .05s,color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.ds .btn:active{transform:translateY(1px)}
body.ds:not(.ds-index) .btn{background:#fff;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line)}
body.ds:not(.ds-index) .btn:hover{background:var(--bg);filter:none}
body.ds .btn.btn-o,body.ds .btn-o,body.ds .btn-primary,body.ds .btn-new,body.ds .mbtn-ok,body.ds .mf .cmp{background:var(--o)!important;border-color:var(--o)!important;color:#061B8C!important;box-shadow:0 1px 2px rgba(var(--o-rgb),.25),0 4px 12px rgba(var(--o-rgb),.22)!important}
body.ds .btn.btn-o:hover,body.ds .btn-o:hover,body.ds .btn-primary:hover,body.ds .btn-new:hover,body.ds .mbtn-ok:hover{background:var(--o-d)!important;border-color:var(--o-d)!important}
body.ds .btn.btn-b,body.ds .btn-b{background:var(--b)!important;color:#fff!important;box-shadow:0 4px 12px rgba(var(--b-rgb),.22)!important}
body.ds .btn.btn-d,body.ds .btn-d{background:var(--err-50)!important;color:var(--err)!important;box-shadow:none!important}
body.ds .btn-sm{min-height:40px;padding:8px 14px!important;font-size:14.5px!important;border-radius:11px!important}
body.ds .lnk{color:var(--b)!important;font-size:14.5px!important;font-weight:600;min-height:32px;display:inline-flex;align-items:center;gap:4px}
body.ds .lnk:hover{text-decoration:underline;text-underline-offset:3px}
body.ds .px{min-width:36px;min-height:36px;border-radius:10px}
body.ds .px:hover{background:var(--err-50);color:var(--err)}

/* ---------- Tabs / Segmente (Navigation = Blau) ---------- */
body.ds .tabs{gap:8px!important;margin-bottom:20px}
body.ds .tabs a{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px!important;border-radius:12px!important;background:#fff!important;border:1.5px solid var(--line)!important;color:var(--ink-2)!important;font-size:15px!important;font-weight:600;transition:all .15s}
body.ds .tabs a:hover{border-color:var(--b-100)!important;color:var(--b)!important}
body.ds .tabs a.on{background:var(--b)!important;border-color:var(--b)!important;color:#fff!important;box-shadow:0 4px 12px rgba(var(--b-rgb),.22)}
body.ds .tabs .bd,body.ds .tabs a .bd{background:var(--o)!important;color:#061B8C!important;font-weight:700}
body.ds .seg a.on,body.ds .seg label:has(input:checked){background:var(--b)!important;border-color:var(--b)!important;color:#fff!important}
body.ds .seg input:checked+span{color:var(--b)!important}
body.ds .fbar a.on{border-color:var(--b)!important;color:var(--b)!important;background:var(--b-50)!important}
body.ds .stp span.on{border-color:var(--b)!important;color:var(--b)!important;background:var(--b-50)!important}
body.ds .vseg button.on{color:var(--b)!important}
body.ds .chip.active{border-color:var(--b)!important;color:var(--b);box-shadow:0 0 0 3px rgba(var(--b-rgb),.12)!important}

/* ---------- Formulare ---------- */
body.ds .inp,body.ds select.inp,body.ds textarea.inp,body.ds .form-control,body.ds .form-select,body.ds .modal input:not([type=checkbox]):not([type=radio]),body.ds .modal select,body.ds .modal textarea{
  min-height:var(--tap);border:1.5px solid #D3DAE6!important;border-radius:12px!important;font-size:16px!important;color:var(--ink)!important;background-color:#fff!important;padding:10px 13px;transition:border-color .15s,box-shadow .15s}
body.ds textarea.inp,body.ds textarea.form-control,body.ds .modal textarea{min-height:92px}
body.ds select.inp,body.ds .form-select,body.ds .modal select,body.ds .fbar select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6778' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important;padding-right:38px!important}
body.ds .inp:hover,body.ds .form-control:hover,body.ds .form-select:hover{border-color:#B9C3D4!important}
body.ds .inp:focus,body.ds .form-control:focus,body.ds .form-select:focus,body.ds .modal input:focus,body.ds .modal select:focus,body.ds .modal textarea:focus{outline:none!important;border-color:var(--b)!important;box-shadow:var(--ring)!important}
body.ds .inp[readonly],body.ds .inp:disabled{background:#F6F8FB!important;color:var(--mut)!important}
body.ds label.l,body.ds .l,body.ds .form-label-sm,body.ds .grid label{font-size:14px!important;font-weight:600!important;color:var(--ink-2)!important;margin-bottom:6px}
body.ds input[type=checkbox],body.ds input[type=radio]{accent-color:var(--b);width:20px;height:20px}
body.ds .form-check-input:checked{background-color:var(--b)!important;border-color:var(--b)!important}
body.ds input[type=date],body.ds input[type=time],body.ds input[type=datetime-local]{min-width:0;max-width:100%}
body.ds ::placeholder{color:#98A2B3;opacity:1}
body.ds .fbar .inp{min-height:44px;font-size:15px!important}
body.ds .sum{background:#FAFBFD!important;border:1px solid var(--line-2);border-radius:14px!important;font-size:15.5px!important}
body.ds .sum .big{color:var(--b-9)}

/* ---------- Status-Badges ---------- */
body.ds .st,body.ds .pill{font-size:13px!important;font-weight:600!important;border-radius:999px!important;padding:4px 11px!important;letter-spacing:.1px}
body.ds .st.r{background:var(--b-50)!important;color:var(--b)!important}

/* ---------- Tabellen ---------- */
body.ds table.t{font-size:15px!important}
body.ds table.t th{font-size:12.5px!important;font-weight:700!important;color:var(--mut)!important;letter-spacing:.5px;background:#FAFBFD!important;padding:12px 10px!important;border-bottom:1px solid var(--line)!important}
body.ds table.t td{padding:12px 10px!important;border-bottom:1px solid var(--line-2)!important;color:var(--ink)}
body.ds table.t td small{font-size:13px!important;color:var(--mut)!important}
body.ds table.t tbody tr{transition:background .12s}
body.ds table.t tbody tr:hover td{background:#F8FAFE}
body.ds table.t tfoot td{background:#FAFBFD!important;color:var(--b-9)}

/* ---------- Modals ---------- */
body.ds .modal .box,body.ds .modal .mc,body.ds .modal-content{border-radius:20px!important;box-shadow:var(--sh-3)!important;border:0}
body.ds .modal h3{font-size:20px!important;color:var(--b-9)}
body.ds .modal-backdrop.show{opacity:.45}

/* ---------- Hinweise ---------- */
body.ds .flash{border-radius:14px!important;font-size:15.5px!important;padding:13px 16px!important;border:1px solid transparent}
body.ds .flash.ok{background:var(--ok-50)!important;color:var(--ok)!important;border-color:#C8EBD4}
body.ds .flash.err{background:var(--err-50)!important;color:var(--err)!important;border-color:#F7CFCB}

/* ---------- Cockpit (Bootstrap) ---------- */
body.ds-index{--bs-primary:#061B8C;--bs-primary-rgb:242,84,15;--bs-link-color:#061B8C;--bs-link-color-rgb:3,80,234;--bs-link-hover-color:#04136A;--bs-body-font-size:16px}
body.ds-index .content .table thead th{font-size:12.5px!important;color:var(--mut)!important;background:#FAFBFD!important}
body.ds-index .content .table tbody td{font-size:15.5px!important}
body.ds-index #rows .btn-light{width:38px!important;height:38px!important;border-radius:11px!important}
body.ds-index #rows .btn-light:hover{background:var(--b)!important;color:#fff!important}
body.ds-index .btn-light{background:#fff;border:1.5px solid var(--line)}
body.ds-index .offcanvas{border-left:0!important}
body.ds-index .offcanvas-header{border-bottom:1px solid var(--line)}
body.ds-index .sec-title,body.ds-index .o-sec{color:var(--b)!important;border-bottom-color:var(--b-100)!important}
body.ds-index #topbar .me-auto>div{background:var(--bg)!important;border:1.5px solid transparent!important}
body.ds-index #topbar .me-auto>div:focus-within{background:#fff!important;border-color:var(--b)!important;box-shadow:var(--ring)!important}
body.ds-index .kpi-filter:hover,body.ds-index .kpi-ofilter:hover{border-color:var(--b-100)!important}
body.ds-index .vseg button.on{color:var(--b)!important}
body.ds-index .nav-link{white-space:nowrap}

/* ---------- Kalender ---------- */
body.ds-kal .fc .fc-button-primary:not(:disabled).fc-button-active,body.ds-kal .fc .fc-button-primary:hover{background:var(--b)!important;border-color:var(--b)!important;color:#fff!important}
body.ds-kal .fc .fc-button{min-height:42px;border-radius:11px!important}
body.ds-kal .nav{padding:0!important;gap:0!important}

/* ---------- Login / Partner ---------- */
body.ds-login{background:radial-gradient(1200px 600px at 10% -10%,rgba(var(--b-rgb),.10),transparent 60%),radial-gradient(900px 500px at 110% 110%,rgba(var(--o-rgb),.10),transparent 60%),var(--bg)!important}
body.ds-login .box{border:1px solid var(--line);position:relative;overflow:hidden}
body.ds-login .box::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--b) 0 62%,var(--o-logo) 62% 100%)}
body.ds-login h1{color:var(--b-9)}
body.ds-login input{border-color:#D3DAE6!important}
body.ds-login input:focus{border-color:var(--b)!important;box-shadow:var(--ring)!important}
body.ds-login button{border-radius:14px!important;background:var(--o)!important;box-shadow:0 6px 16px rgba(var(--o-rgb),.28)}
body.ds-partner .card{border-top:4px solid var(--b)!important}

/* ---------- Click & Select: Chips (von ds.js aus kleinen Auswahllisten erzeugt) ---------- */
.ds-chips{display:flex;flex-wrap:wrap;gap:8px}
.ds-chips button{min-height:44px;padding:9px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .12s;-webkit-tap-highlight-color:transparent}
.ds-chips button:hover{border-color:var(--b-100);color:var(--b)}
.ds-chips button.on{background:var(--b);border-color:var(--b);color:#fff;box-shadow:0 3px 10px rgba(var(--b-rgb),.22)}
.ds-chips button:disabled{opacity:.5;cursor:not-allowed}

/* ---------- Tabellen -> Karten (ds.js setzt .ds-cm auf Smartphone und wenn die Tabelle auf dem Tablet nicht passt) ---------- */
body.ds .tscroll:has(table.ds-cm){overflow:visible!important}
body.ds table.ds-cm{min-width:0!important;table-layout:auto!important;border:0!important;background:transparent!important;width:100%!important}
body.ds table.ds-cm thead{display:none!important}
body.ds table.ds-cm,body.ds table.ds-cm tbody,body.ds table.ds-cm tfoot{display:block!important}
body.ds table.ds-cm tr{display:block!important;background:#fff;border:1px solid var(--line);border-radius:16px;margin:0 0 12px;padding:6px 14px;box-shadow:var(--sh-1)}
body.ds .dg table.ds-cm,body.ds .pc table.ds-cm,body.ds .card table.ds-cm{padding:12px 12px 2px}
body.ds table.ds-cm td{display:grid!important;grid-template-columns:minmax(92px,36%) minmax(0,1fr);column-gap:14px;row-gap:0;align-items:center;justify-items:end;padding:10px 0!important;border:0!important;border-bottom:1px solid var(--line-2)!important;text-align:right!important;white-space:normal!important;max-width:none!important;overflow:visible!important;min-height:44px;background:transparent!important;font-size:15.5px;overflow-wrap:anywhere}
body.ds table.ds-cm td:last-child{border-bottom:0!important}
body.ds table.ds-cm td::before{content:attr(data-label);grid-column:1;grid-row:1/span 12;align-self:center;justify-self:start;text-align:left;font-size:13px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;overflow-wrap:normal}
body.ds table.ds-cm td[data-label=""]::before,body.ds table.ds-cm td.ds-full::before{display:none}
body.ds table.ds-cm td[data-label=""],body.ds table.ds-cm td.ds-full{display:flex!important;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:flex-start;text-align:left!important}
body.ds table.ds-cm td.ds-first{font-size:17px;font-weight:600;border-bottom:1px solid var(--line)!important}
body.ds table.ds-cm td>*{grid-column:2;max-width:100%}
body.ds table.ds-cm td>*+*{margin-top:4px}
body.ds table.ds-cm td[data-label=""]>*,body.ds table.ds-cm td.ds-full>*{margin-top:0!important}
body.ds table.ds-cm td .inp,body.ds table.ds-cm td select,body.ds table.ds-cm td input:not([type=checkbox]):not([type=radio]){width:100%!important;min-width:0!important}
body.ds table.ds-cm td:empty{display:none!important}
body.ds table.ds-cm tfoot tr{background:var(--b-50);border-color:var(--b-100)}
body.ds table.ds-cm tr:hover td{background:transparent!important}

@media (min-width:600px){body.ds table.ds-cm tbody{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}body.ds table.ds-cm tbody tr{margin:0!important}body.ds table.ds-cm tbody tr:has(>td.ds-full:only-child){grid-column:1/-1}}
body.ds .flt>*,body.ds .g2>*,body.ds .g3>*,body.ds .g4>*{min-width:0}


/* ============ Dashboard-Stil für das gesamte CRM (v2) ============ */
/* Karten: runder, ruhiger, gleiche Linie wie Dashboard */
body.ds .card,body.ds .kt,body.ds .o-card,body.ds-index .card{border-radius:20px!important;border:1px solid var(--line)!important;box-shadow:var(--sh-1)!important}
body.ds .card .card{border-radius:16px!important}
/* KPI-Kacheln: weisse Kachel, getöntes Icon, Zahl in Dunkelblau */
body.ds .kt{padding:14px 16px!important;min-height:76px;gap:12px!important;align-items:center}
body.ds .kt:hover{border-color:var(--b-100)!important;transform:none!important;box-shadow:var(--sh-1)!important}
body.ds .kt .ic{width:44px!important;height:44px!important;border-radius:13px!important;font-size:22px!important;box-shadow:none!important;background:var(--b-50)!important;background:color-mix(in srgb,var(--kc,var(--b)) 13%,#fff)!important;color:var(--kc,var(--b))!important}
body.ds .kt .nr{color:var(--b-9)!important;font-size:24px!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.3px}
body.ds .kt .lb{font-size:13.5px!important;color:var(--mut)!important;font-weight:500!important;line-height:1.3}
body.ds .kt small{font-size:12.5px;color:var(--mut-2)}
body.ds .kt.on{border-color:var(--b)!important;box-shadow:0 0 0 2px var(--b) inset!important}
/* Lead-Cockpit KPI (Bootstrap) */
body.ds-index .kpi-filter,body.ds-index .kpi-ofilter{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--sh-1)!important;padding:14px 16px!important}
body.ds-index .kpi-filter:hover,body.ds-index .kpi-ofilter:hover{transform:none!important}
body.ds-index .kpi-filter .icon-shape,body.ds-index .kpi-ofilter .icon-shape{width:44px!important;height:44px!important;border-radius:13px!important;background:var(--b-50)!important;color:var(--b)!important}
body.ds-index .kpi-filter .icon-shape.bg-primary,body.ds-index .kpi-ofilter .icon-shape.bg-primary,body.ds-index .kpi-filter .icon-shape.bg-warning,body.ds-index .kpi-ofilter .icon-shape.bg-warning{background:var(--o-50)!important;color:#061B8C!important}
body.ds-index .kpi-filter .icon-shape.bg-success,body.ds-index .kpi-ofilter .icon-shape.bg-success{background:var(--ok-50)!important;color:var(--ok)!important}
body.ds-index .kpi-filter .icon-shape.bg-danger{background:var(--err-50)!important;color:var(--err)!important}
body.ds-index .kpi-filter .icon-shape.bg-secondary,body.ds-index .kpi-ofilter .icon-shape.bg-secondary{background:#F1F3F6!important;color:var(--ink-2)!important}
body.ds-index .kpi-filter h3,body.ds-index .kpi-ofilter h3{color:var(--b-9)!important;font-size:24px!important;font-weight:700!important}
body.ds-index .kpi-filter h2,body.ds-index .kpi-ofilter h2{font-size:13.5px!important;color:var(--mut)!important}
/* Karten-Kopfzeilen wie im Dashboard */
body.ds .hd,body.ds-index .card-header{background:#fff!important;border-bottom:1px solid var(--line-2)!important;padding:14px 18px!important}
body.ds .hd b,body.ds .hd strong,body.ds .hd h3,body.ds-index .card-header h4,body.ds-index .card-header h5,body.ds-index .card-header .h4,body.ds-index .card-header .h5{color:var(--b-9)!important;font-weight:700!important}
body.ds-index .card-header h4,body.ds-index .card-header h5{font-size:18.5px!important}
body.ds .h3,body.ds .sec h2{font-size:18px!important;font-weight:700!important;color:var(--b-9)!important;letter-spacing:-.2px;display:flex;align-items:center;gap:10px}
body.ds .h3>.ti:first-child,body.ds .sec h2>.ti:first-child,body.ds .sec-h>.ti:first-child,body.ds .day>.ti:first-child{flex:none;width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;background:var(--b-50);color:var(--b)!important}
/* Abschnitts-Überschriften über Karten (bisher klein und grau in Grossbuchstaben) */
body.ds .sec-h,body.ds .day{font-size:18px!important;font-weight:700!important;color:var(--b-9)!important;text-transform:none!important;letter-spacing:-.2px!important;display:flex;align-items:center;gap:10px}
/* Status-Badges wie im Dashboard */
body.ds .st,body.ds .pill,body.ds .bd,body.ds-index .badge{border-radius:9px!important;font-size:12.5px!important;font-weight:700!important;padding:3px 9px!important;line-height:1.3!important;letter-spacing:0!important}
body.ds .tabs .bd,body.ds .tabs a .bd{border-radius:10px!important;padding:1px 8px!important}
/* Buttons: kräftiger wie die Dashboard-Aktionen */
body.ds .btn{border-radius:13px!important}
body.ds .btn.btn-o,body.ds .btn-o,body.ds .btn-primary,body.ds .btn-new,body.ds .mbtn-ok,body.ds .btn.btn-b,body.ds .btn-b{font-weight:700!important}
body.ds .btn-sm{border-radius:12px!important}
/* Tabs/Segmente */
body.ds .tabs a,body.ds .seg a,body.ds .seg label{border-radius:12px!important}
/* Tabellen in Karten: helle Kopfzeile, luftige Zeilen */
body.ds .th,body.ds .th2{background:#fff!important;color:var(--mut-2)!important}
body.ds table.t th{background:#fff!important}

/* ---------- Mobile Daumen-Navigation ---------- */
.ds-bnav{display:none}

/* ---------- Tablet (iPad) ---------- */
@media (max-width:1199.98px){
  body.ds .kg{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:991.98px){
  body.ds .sb{width:min(300px,86vw)!important}
  body.ds .ds-link{height:44px;min-height:44px}
  body.ds .ds-link.ds-sub{height:42px;min-height:42px}
}

/* ---------- Smartphone (iPhone, Samsung) ---------- */
@media (max-width:767.98px){
  body.ds{font-size:16px}
  body.ds .main{padding:80px 12px calc(96px + env(safe-area-inset-bottom))!important}
  body.ds-index .content{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important;padding-left:12px!important;padding-right:12px!important}
  body.ds-kal .content,body.ds-kal main{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  body.ds .top h1,body.ds .tb-title{font-size:19px!important}
  body.ds .pad{padding:16px}
  body.ds .kg{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.ds .kt{padding:12px!important;gap:10px!important;flex-direction:row;align-items:center!important;min-height:68px}
  body.ds-index .kpi-filter .d-flex,body.ds-index .kpi-ofilter .d-flex{flex-direction:row!important;align-items:center}
  body.ds-index .kpi-filter,body.ds-index .kpi-ofilter{padding:12px!important}
  body.ds-index .kpi-filter .icon-shape,body.ds-index .kpi-ofilter .icon-shape{width:38px!important;height:38px!important;flex:none}
  body.ds-index .kpi-filter h3,body.ds-index .kpi-ofilter h3{font-size:21px!important}
  body.ds .kt .ic{width:38px!important;height:38px!important;font-size:19px!important;border-radius:11px!important}
  body.ds .kt .lb{white-space:normal!important;font-size:13.5px!important;line-height:1.25}
  body.ds .kt .nr{font-size:20px!important;white-space:normal!important}
  body.ds .kt .ic{width:38px!important;height:38px!important;font-size:19px!important;border-radius:11px!important}
  body.ds .h3,body.ds .sec h2,body.ds .sec-h,body.ds .day{font-size:17px!important}
  body.ds .g2,body.ds .g3,body.ds .grid2{grid-template-columns:minmax(0,1fr)!important}
  body.ds .g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ds .tabs{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-12px;margin-right:-12px;padding:2px 12px 4px;scroll-snap-type:x proximity}
  body.ds .tabs::-webkit-scrollbar{display:none}
  body.ds .tabs a{flex:none;scroll-snap-align:start}
  body.ds .tabs .sp{display:none}
  body.ds .fbar{gap:8px!important}
  body.ds .fbar .inp{flex:1 1 140px;width:auto!important}
  body.ds .acts{gap:8px}
  body.ds .acts .btn{flex:1 1 auto;justify-content:center}
  /* Positionszeilen (Stunden, Mitarbeiter, Kosten) umbrechen */
  body.ds:not(.ds-index) .row,body.ds .krow,body.ds .mrow,body.ds .srow,body.ds .prow{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:10px;border:1px solid var(--line-2);border-radius:12px;background:#FAFBFD}
  body.ds:not(.ds-index) .row>:first-child,body.ds .krow>:first-child,body.ds .krow>:nth-child(2),body.ds .mrow>:first-child,body.ds .srow>:first-child,body.ds .prow>:first-child{grid-column:1/-1}
  /* Modals als Bottom-Sheet */
  body.ds .modal:has(>.box){align-items:flex-end!important;padding:0!important}
  body.ds .modal .box{border-radius:22px 22px 0 0!important;max-height:92vh;overflow:auto;padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important}
  /* Daumen-Navigation */
  body.ds .ds-bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(16,24,40,.06)}
  body.ds .ds-bnav a,body.ds .ds-bnav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;border:0;background:none;border-radius:12px;color:var(--mut);font:inherit;font-size:12px;font-weight:600;text-decoration:none;-webkit-tap-highlight-color:transparent}
  body.ds .ds-bnav .ti{font-size:24px}
  body.ds .ds-bnav a.on{color:var(--b);background:var(--b-50)}
  /* Sticky Aktionsleiste über der Daumen-Navigation */
  body.ds .ds-sticky{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:30;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;box-shadow:0 -4px 22px rgba(16,24,40,.10);padding:10px!important;margin-top:14px}
  body.ds .ds-sticky .btn{flex:1 1 auto;justify-content:center}
  body.ds .savebar,body.ds .stick{bottom:calc(66px + env(safe-area-inset-bottom))!important;z-index:30;box-shadow:0 -4px 22px rgba(16,24,40,.10)}
  body.ds .savebar .btn,body.ds .stick .btn{flex:1 1 auto;justify-content:center}
  body.ds #leadToast{top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;left:12px;right:12px}
}
@media (pointer:coarse){
  body.ds .inp,body.ds .form-control,body.ds .form-select,body.ds select{font-size:16px!important}
  body.ds .lnk{min-height:40px}
}
@media print{.ds-bnav,.ds-chips{display:none!important}body.ds{background:#fff!important}}
