/* ==========================================================================
   SparCar24 Admin Portal — shared theme
   File: assets/css/app.css
   Version: 1.1.0 (build 2026-09-23) — 1.1.0: library themes, palette, panels
   Bootstrap 5.3 override + app components. Code in English, UI in German.
   ========================================================================== */

@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(../vendor/inter/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(../vendor/inter/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(../vendor/inter/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url(../vendor/inter/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:800;font-display:swap;src:url(../vendor/inter/inter-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(../vendor/inter/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(../vendor/inter/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"SC Script";font-weight:600;font-display:swap;src:url(../vendor/caveat/caveat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"SC Script";font-weight:600;font-display:swap;src:url(../vendor/caveat/caveat-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}

/* ---------- Design tokens ---------- */
:root{
  --sc-lime:#62E22C;          /* active nav, primary CTA (dark text) */
  --sc-lime-hover:#55CF22;
  --sc-green:#16A01F;         /* solid green buttons (white text) */
  --sc-green-hover:#128A1A;
  --sc-green-text:#178A1F;
  --sc-green-soft:#E8F8E3;
  --sc-green-soft-2:#F3FBEF;

  --sc-red:#E0261B;
  --sc-red-soft:#FDE9E7;
  --sc-orange:#F07B0B;
  --sc-orange-soft:#FFF1E2;
  --sc-yellow-soft:#FFF6D6;
  --sc-yellow-border:#F7E3A1;
  --sc-blue:#2B6DE8;
  --sc-blue-soft:#E7F0FF;
  --sc-purple:#6E47D6;
  --sc-purple-soft:#EFE9FF;
  --sc-gray-soft:#F1F2F4;

  --sc-dark:#15171B;          /* sidebar + topbar */
  --sc-dark-2:#1E2126;
  --sc-dark-3:#2A2E35;
  --sc-dark-text:#E9EBEE;
  --sc-dark-muted:#9AA0A8;

  --sc-bg:#F5F6F8;
  --sc-card:#FFFFFF;
  --sc-border:#E4E7EB;
  --sc-border-strong:#D5D9DF;
  --sc-text:#14171C;
  --sc-muted:#6A7079;
  --sc-radius:10px;
  --sc-radius-sm:7px;
  --sc-shadow:0 1px 2px rgba(16,24,40,.04);

  --sc-sidebar-w:200px;
  --sc-font-script:"SC Script","Segoe Script","Brush Script MT",cursive;
  --sc-topbar-h:58px;

  --bs-body-font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --bs-body-font-size:.875rem;
  --bs-body-color:var(--sc-text);
  --bs-body-bg:var(--sc-bg);
  --bs-border-color:var(--sc-border);
  --bs-success:#16A01F;
  --bs-success-rgb:22,160,31;
  --bs-link-color:#178A1F;
  --bs-link-color-rgb:23,138,31;
  --bs-link-hover-color:#128A1A;
  --bs-focus-ring-color:rgba(98,226,44,.35);
}

[hidden]{display:none!important}
html{font-size:14px}
html,body{height:100%}
body{background:var(--sc-bg);color:var(--sc-text);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
a{text-decoration:none}
.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}
.text-muted,.sc-muted{color:var(--sc-muted)!important}
.text-green{color:var(--sc-green-text)!important}
.text-red{color:var(--sc-red)!important}
.text-orange{color:var(--sc-orange)!important}
.text-blue{color:var(--sc-blue)!important}
.fs-xs{font-size:.72rem!important}.fs-sm{font-size:.8rem!important}.fs-md{font-size:.9rem!important}
.tabular{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--sc-green);outline-offset:2px}

/* ---------- App shell ---------- */
.sc-app{display:flex;min-height:100vh}
.sc-sidebar{width:var(--sc-sidebar-w);flex:0 0 var(--sc-sidebar-w);background:var(--sc-dark);color:var(--sc-dark-text);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:1030;transition:width .2s,flex-basis .2s}
.sc-body{flex:1;min-width:0;display:flex;flex-direction:column}
.sc-topbar{height:var(--sc-topbar-h);background:var(--sc-dark);display:flex;align-items:center;gap:14px;padding:0 20px 0 14px;position:sticky;top:0;z-index:1020}
.sc-main{flex:1;padding:18px 20px 12px}
.sc-footer{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;padding:14px 20px 16px;font-size:.78rem;color:var(--sc-muted);border-top:1px solid var(--sc-border);margin:0 20px}
.sc-footer a{color:var(--sc-muted)}.sc-footer a:hover{color:var(--sc-text)}
.sc-footer .sep{display:inline-block;width:1px;height:12px;background:var(--sc-border-strong);margin:0 10px;vertical-align:middle}

/* Logo */
.sc-logo{display:flex;flex-direction:column;align-items:center;padding:12px 10px 14px;line-height:1}
.sc-logo .word{font-weight:800;font-style:italic;font-size:1.72rem;letter-spacing:-.02em;color:#fff;position:relative}
.sc-logo .word b{color:var(--sc-lime);font-weight:800}
.sc-logo .swoosh{position:absolute;left:12%;right:4%;top:-7px;height:9px;border-top:2px solid var(--sc-lime);border-radius:60% 60% 0 0/100% 100% 0 0}
.sc-logo .tag{font-size:.56rem;letter-spacing:.42em;color:#fff;margin-top:5px;display:flex;align-items:center;gap:8px;font-weight:600;font-style:italic}
.sc-logo .tag:before,.sc-logo .tag:after{content:"";width:18px;height:1.5px;background:var(--sc-lime)}
.sc-logo.on-light .word{color:#111}
.sc-logo.on-light .tag{color:#111}

/* Sidebar nav */
.sc-nav{list-style:none;margin:0;padding:4px 8px;overflow-y:auto;flex:1}
.sc-nav a,.sc-nav button{display:flex;align-items:center;gap:13px;width:100%;padding:9px 12px;margin:2px 0;border-radius:6px;color:var(--sc-dark-text);font-size:.9rem;font-weight:500;background:none;border:0;text-align:left}
.sc-nav a:hover,.sc-nav button:hover{background:var(--sc-dark-3)}
.sc-nav i{font-size:1.2rem;width:22px;text-align:center;opacity:.95}
.sc-nav .chev{margin-left:auto;font-size:.75rem;transition:transform .2s}
.sc-nav [aria-expanded="true"] .chev{transform:rotate(90deg)}
.sc-nav button.open{background:var(--sc-lime);color:#0c1a05;font-weight:600}
.sc-nav button.open:hover{background:var(--sc-lime-hover)}
.sc-nav a.active{background:var(--sc-lime);color:#0c1a05;font-weight:600;box-shadow:0 0 0 1px rgba(98,226,44,.4),0 4px 16px rgba(98,226,44,.18)}
.sc-nav .sub{list-style:none;padding:2px 0 6px 0;margin:0}
.sc-nav .sub a{padding:7px 12px 7px 44px;font-size:.82rem;margin:1px 0}
.sc-nav .sub a.active{padding-left:12px}
.sc-nav .sub a.active i{display:inline-block}
.sc-nav .sub a i{display:none;font-size:1rem}
.sc-support{margin:10px 12px 14px;padding:11px 12px;border:1px solid var(--sc-dark-3);background:var(--sc-dark-2);border-radius:8px;display:flex;gap:11px;align-items:center;color:var(--sc-dark-text)}
.sc-support i{font-size:1.45rem}
.sc-support small{display:block;color:var(--sc-dark-muted);font-size:.66rem;white-space:nowrap}
body.sc-collapsed .sc-sidebar{width:72px;flex-basis:72px}
body.sc-collapsed .sc-nav span,body.sc-collapsed .sc-nav .chev,body.sc-collapsed .sc-nav .sub,body.sc-collapsed .sc-support div,body.sc-collapsed .sc-logo .tag{display:none}
body.sc-collapsed .sc-logo .word{font-size:1rem}
body.sc-collapsed .sc-nav a{justify-content:center;padding:10px}

/* Topbar */
.sc-icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:0;background:transparent;color:#E9EBEE;font-size:1.3rem;position:relative}
.sc-icon-btn:hover{background:var(--sc-dark-3)}
.sc-icon-btn .dot{position:absolute;top:3px;right:3px;min-width:17px;height:17px;border-radius:9px;background:var(--sc-red);color:#fff;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--sc-dark)}
.sc-search{flex:0 1 475px;position:relative;margin-left:8px}
.sc-search input{width:100%;height:38px;border-radius:7px;border:1px solid #30343b;background:#262a30;color:#fff;padding:0 14px 0 40px;font-size:.84rem}
.sc-search input::placeholder{color:#AEB3BA}
.sc-search input:focus{outline:none;border-color:var(--sc-lime)}
.sc-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#D5D8DC}
.sc-quick{height:38px;border:1px solid var(--sc-lime);color:var(--sc-lime);background:rgba(98,226,44,.06);border-radius:6px;padding:0 14px;font-weight:500;font-size:.86rem;display:inline-flex;align-items:center;gap:8px}
.sc-quick:hover{background:rgba(98,226,44,.14);color:var(--sc-lime)}
.sc-user{display:flex;align-items:center;gap:11px;color:#fff;background:none;border:0;padding:4px 6px;border-radius:8px}
.sc-user:hover{background:var(--sc-dark-3)}
.sc-user .av{width:38px;height:38px;border-radius:50%;background:#D9F7CF;color:#178A1F;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.sc-user .nm{font-size:.86rem;font-weight:500;line-height:1.2;text-align:left}
.sc-user .nm small{display:block;color:var(--sc-dark-muted);font-weight:400;font-size:.76rem}

/* ---------- Page header ---------- */
.sc-page-title{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.2}
.sc-page-sub{color:var(--sc-muted);font-size:.92rem;margin:3px 0 0}

/* ---------- Cards ---------- */
.sc-card{background:var(--sc-card);border:1px solid var(--sc-border);border-radius:var(--sc-radius);box-shadow:var(--sc-shadow);padding:16px}
.sc-card.p-0{padding:0}
.sc-card-title{font-size:1.02rem;font-weight:700;margin:0 0 12px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.sc-card-title .link{margin-left:auto;font-size:.76rem;font-weight:500;color:var(--sc-green-text)}
.sc-link{color:var(--sc-green-text);font-weight:500;font-size:.8rem;white-space:nowrap}
.sc-link:hover{color:var(--sc-green-hover)}
.sc-card-soft{background:var(--sc-green-soft-2);border:1px solid #D5EFCB}

/* KPI tiles */
.sc-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--sc-border);border-radius:var(--sc-radius);padding:14px 16px;height:100%}
.sc-kpi .ic{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex:0 0 46px}
.sc-kpi .ic.sq{border-radius:10px}
.sc-kpi .val{font-size:1.35rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.sc-kpi .lbl{color:var(--sc-muted);font-size:.84rem}
.ic-green{background:var(--sc-green-soft);color:var(--sc-green-text)}
.ic-green-solid{background:#1DB32A;color:#fff}
.ic-red{background:var(--sc-red-soft);color:var(--sc-red)}
.ic-orange{background:var(--sc-orange-soft);color:var(--sc-orange)}
.ic-blue{background:var(--sc-blue-soft);color:var(--sc-blue)}
.ic-purple{background:var(--sc-purple-soft);color:var(--sc-purple)}
.ic-gray{background:var(--sc-gray-soft);color:#5B616A}
.ic-yellow{background:#FFF3D1;color:#E09A00}

/* ---------- Badges / status pills ---------- */
.sc-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:5px;font-size:.74rem;font-weight:500;line-height:1.35;white-space:nowrap}
.sc-badge.lg{font-size:.84rem;padding:4px 11px}
.sc-badge.green{background:var(--sc-green-soft);color:var(--sc-green-text)}
.sc-badge.green-solid{background:#1DB32A;color:#fff}
.sc-badge.red{background:var(--sc-red-soft);color:var(--sc-red)}
.sc-badge.orange{background:var(--sc-orange-soft);color:var(--sc-orange)}
.sc-badge.yellow{background:#FFF3D1;color:#B07A00}
.sc-badge.blue{background:var(--sc-blue-soft);color:var(--sc-blue)}
.sc-badge.purple{background:var(--sc-purple-soft);color:var(--sc-purple)}
.sc-badge.gray{background:var(--sc-gray-soft);color:#555B63}
.sc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px}
.sc-dot.green{background:#1DB32A}.sc-dot.red{background:var(--sc-red)}.sc-dot.orange{background:#F5A524}.sc-dot.gray{background:#A3A9B1}.sc-dot.blue{background:var(--sc-blue)}.sc-dot.yellow{background:#F2C200}
.sc-prio{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;padding:2px 8px;border-radius:5px}
.sc-prio.high{background:var(--sc-red-soft);color:var(--sc-red)}
.sc-prio.mid{background:var(--sc-orange-soft);color:var(--sc-orange)}
.sc-prio.low{background:var(--sc-green-soft);color:var(--sc-green-text)}

/* ---------- Buttons ---------- */
.btn{--bs-btn-font-size:.84rem;--bs-btn-font-weight:500;--bs-btn-border-radius:6px;--bs-btn-padding-y:.45rem;--bs-btn-padding-x:.9rem}
.btn-sm{--bs-btn-font-size:.76rem;--bs-btn-padding-y:.3rem;--bs-btn-padding-x:.65rem}
.btn-lime{--bs-btn-bg:var(--sc-lime);--bs-btn-border-color:var(--sc-lime);--bs-btn-color:#0c1a05;--bs-btn-hover-bg:var(--sc-lime-hover);--bs-btn-hover-border-color:var(--sc-lime-hover);--bs-btn-hover-color:#0c1a05;--bs-btn-active-bg:#4CBC1D;--bs-btn-active-border-color:#4CBC1D;--bs-btn-active-color:#0c1a05;--bs-btn-font-weight:600}
.btn-green{--bs-btn-bg:var(--sc-green);--bs-btn-border-color:var(--sc-green);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--sc-green-hover);--bs-btn-hover-border-color:var(--sc-green-hover);--bs-btn-hover-color:#fff;--bs-btn-active-bg:#0F7716;--bs-btn-active-color:#fff;--bs-btn-font-weight:600}
.btn-white{--bs-btn-bg:#fff;--bs-btn-border-color:var(--sc-border-strong);--bs-btn-color:var(--sc-text);--bs-btn-hover-bg:#F6F7F9;--bs-btn-hover-border-color:#C5CAD1;--bs-btn-hover-color:var(--sc-text);--bs-btn-active-bg:#EEF0F3;--bs-btn-active-border-color:#C5CAD1}
.btn-outline-red{--bs-btn-bg:#fff;--bs-btn-border-color:#F2A7A1;--bs-btn-color:var(--sc-red);--bs-btn-hover-bg:var(--sc-red-soft);--bs-btn-hover-border-color:var(--sc-red);--bs-btn-hover-color:var(--sc-red);--bs-btn-active-bg:var(--sc-red-soft);--bs-btn-active-color:var(--sc-red)}
.btn-red{--bs-btn-bg:#E3261A;--bs-btn-border-color:#E3261A;--bs-btn-color:#fff;--bs-btn-hover-bg:#C81F14;--bs-btn-hover-border-color:#C81F14;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#B01B12;--bs-btn-active-color:#fff;--bs-btn-font-weight:600}
.btn-soft-blue{--bs-btn-bg:var(--sc-blue-soft);--bs-btn-border-color:var(--sc-blue-soft);--bs-btn-color:var(--sc-blue);--bs-btn-hover-bg:#D6E5FF;--bs-btn-hover-color:var(--sc-blue);--bs-btn-hover-border-color:#D6E5FF}
.btn-soft-gray{--bs-btn-bg:#E9EBEE;--bs-btn-border-color:#E9EBEE;--bs-btn-color:var(--sc-text);--bs-btn-hover-bg:#DFE2E6;--bs-btn-hover-border-color:#DFE2E6;--bs-btn-hover-color:var(--sc-text)}
.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.btn i{vertical-align:-1px}

/* ---------- Forms ---------- */
.form-control,.form-select{font-size:.84rem;border-color:var(--sc-border-strong);border-radius:6px;min-height:36px}
.form-control:focus,.form-select:focus{border-color:#7ED957;box-shadow:0 0 0 .2rem rgba(98,226,44,.2)}
.form-control[readonly],.form-control.bg-soft{background:#F6F7F9}
.form-label{font-size:.8rem;color:#3A3F46;margin-bottom:5px;font-weight:500}
.form-check-input{border-color:#BFC5CC;width:1.15em;height:1.15em}
.form-check-input:checked{background-color:#1DB32A;border-color:#1DB32A}
.form-check-input:focus{box-shadow:0 0 0 .2rem rgba(98,226,44,.25);border-color:#7ED957}
.form-switch .form-check-input{width:2.4em;height:1.3em;cursor:pointer}
.form-switch .form-check-input:not(:checked){background-color:#D5D9DF;border-color:#D5D9DF;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}
.input-group-text{font-size:.8rem;background:#F6F7F9;border-color:var(--sc-border-strong);color:#3A3F46}
.sc-input-icon{position:relative}
.sc-input-icon>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8A9099;pointer-events:none}
.sc-input-icon>.form-control{padding-left:36px}
.form-check-label{cursor:pointer}

/* ---------- Tabs ---------- */
.sc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--sc-border);overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.sc-tabs::-webkit-scrollbar{display:none}
.sc-tabs button,.sc-tabs a{background:none;border:0;padding:9px 14px 10px;color:#3E444C;font-size:.86rem;font-weight:500;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap}
.sc-tabs button:hover{color:var(--sc-text)}
.sc-tabs .active{color:var(--sc-text);font-weight:700;border-bottom-color:#1DB32A}
.sc-tabs.sm button{font-size:.8rem;padding:7px 10px 8px}

/* Segmented "chip" tabs (Übersicht / Offen (6) ...) */
.sc-seg{display:flex;flex-wrap:wrap;gap:8px}
.sc-seg button{background:#EDEFF2;border:1px solid transparent;border-radius:6px;padding:8px 18px;font-size:.84rem;font-weight:500;color:#2A2F36}
.sc-seg button:hover{background:#E4E7EB}
.sc-seg button.active{background:var(--sc-green-soft);color:#0F5F14;border-color:#BFE8B0;font-weight:600;box-shadow:inset 0 -2px 0 #1DB32A}
.sc-seg.sm button{padding:6px 12px;font-size:.78rem}

/* Toggle group (Woche | Monat) */
.sc-toggle{display:inline-flex;border:1px solid var(--sc-border-strong);border-radius:7px;overflow:hidden;background:#fff}
.sc-toggle button{border:0;background:#fff;padding:8px 22px;font-weight:500;font-size:.86rem}
.sc-toggle button.active{background:var(--sc-green-soft);color:#0F5F14;font-weight:600}

/* ---------- Lists (master list, left column) ---------- */
.sc-list{display:flex;flex-direction:column;gap:6px}
.sc-list-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border:1px solid var(--sc-border);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s;text-align:left;width:100%}
.sc-list-item:hover{border-color:#BFE8B0;background:#FBFEF9}
.sc-list-item.active{border-color:#6FD64A;background:var(--sc-green-soft-2);box-shadow:0 0 0 1px #6FD64A}
.sc-list-item .t{font-weight:700;font-size:.86rem;line-height:1.25;white-space:nowrap}
.sc-list-item .s{color:var(--sc-muted);font-size:.78rem}
.sc-list-item .thumb{width:62px;height:38px;flex:0 0 62px;object-fit:contain}

/* ---------- Avatars ---------- */
.sc-av{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex:0 0 auto;letter-spacing:.02em}
.sc-av.sm{width:26px;height:26px;font-size:.66rem}
.sc-av.lg{width:48px;height:48px;font-size:1.05rem}
.sc-av.xl{width:80px;height:80px;font-size:1.9rem;font-weight:600}
.sc-av.c1{background:#E3EDFF;color:#2B6DE8}.sc-av.c2{background:#EEE7FF;color:#6E47D6}.sc-av.c3{background:#E6F0FF;color:#1C4FB8}
.sc-av.c4{background:#ECEDEF;color:#2F343A}.sc-av.c5{background:#FFE4E4;color:#D83434}.sc-av.c6{background:#E1F7DC;color:#178A1F}
.sc-av.c7{background:#FFF0DE;color:#D06A00}.sc-av.photo{background:linear-gradient(135deg,#C9CED6,#9BA3AE);color:#fff}

/* ---------- Tables ---------- */
.sc-table{width:100%;font-size:.8rem;border-collapse:separate;border-spacing:0}
.sc-table th{font-weight:600;color:#2A2F36;font-size:.76rem;padding:9px 10px;background:#F7F8FA;border-bottom:1px solid var(--sc-border);white-space:nowrap}
.sc-table td{padding:9px 10px;border-bottom:1px solid #EEF0F2;vertical-align:middle}
.sc-table tbody tr:last-child td{border-bottom:0}
.sc-table tbody tr.clickable{cursor:pointer}
.sc-table tbody tr.clickable:hover td{background:#FAFBFC}
.sc-table tbody tr.active td{background:#EEF6FF}
.sc-table tbody tr.row-green td{background:var(--sc-green-soft-2)}

/* Definition list (label / value) */
.sc-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.82rem;margin:0}
.sc-dl dt{font-weight:400;color:var(--sc-muted);display:flex;align-items:center;gap:8px}
.sc-dl dd{margin:0;color:var(--sc-text)}
.sc-dl.lined dt,.sc-dl.lined dd{padding:4px 0;border-bottom:1px solid #F0F1F3}

/* Pagination */
.sc-pager{display:flex;align-items:center;gap:4px;font-size:.8rem}
.sc-pager button{min-width:28px;height:28px;border:1px solid transparent;background:none;border-radius:5px;color:#2A2F36}
.sc-pager button:hover{background:#EEF0F2}
.sc-pager button.active{background:var(--sc-lime);color:#0c1a05;font-weight:700}
.sc-pager .nav{border-color:var(--sc-border-strong);background:#fff}

/* Progress */
.sc-progress{height:8px;border-radius:5px;background:#E6E8EB;overflow:hidden}
.sc-progress>span{display:block;height:100%;background:#1DB32A;border-radius:5px;transition:width .3s}

/* Donut (conic-gradient) — set --p (0-100) and optional --c */
.sc-donut{--p:75;--c:#1DB32A;--t:#E3E6EA;--w:10px;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--t) 0);display:grid;place-items:center;position:relative;flex:0 0 auto}
.sc-donut:before{content:"";position:absolute;inset:var(--w);background:#fff;border-radius:50%}
.sc-donut>*{position:relative;text-align:center}

/* Checklist */
.sc-check{display:flex;align-items:center;gap:9px;font-size:.82rem;padding:3px 0;cursor:pointer}
.sc-check input{margin:0;flex:0 0 auto}
.sc-check.done span{color:var(--sc-text)}
.sc-ok{display:flex;align-items:center;gap:9px;font-size:.84rem;padding:3px 0}
.sc-ok i{color:#1DB32A;font-size:1.05rem}

/* Photos (placeholders) */
.sc-photo{position:relative;border-radius:7px;overflow:hidden;background:linear-gradient(140deg,#8E959F 0%,#5B626C 60%,#3D434B 100%);aspect-ratio:4/3;display:flex;align-items:flex-end;padding:6px;color:#fff;font-size:.66rem;cursor:pointer}
.sc-photo i{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;opacity:.55}
.sc-photo span{position:relative;background:rgba(0,0,0,.35);padding:1px 6px;border-radius:4px}
.sc-photo.v2{background:linear-gradient(140deg,#B7BDC5,#7A828D)}
.sc-photo.v3{background:linear-gradient(140deg,#4E545C,#23272C)}
.sc-photo.v4{background:linear-gradient(140deg,#A9B1BB,#646C77)}
.sc-photo-add{border:1.5px dashed #C5CAD1;border-radius:7px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--sc-muted);font-size:.74rem;gap:4px;background:#fff;cursor:pointer;text-align:center;padding:4px}
.sc-photo-add i{font-size:1.4rem;color:#555B63}
.sc-photo-add:hover{border-color:#1DB32A;color:var(--sc-green-text)}

/* Alerts */
.sc-alert{border-radius:8px;padding:11px 14px;font-size:.8rem;display:flex;gap:10px;align-items:flex-start}
.sc-alert.yellow{background:var(--sc-yellow-soft);border:1px solid var(--sc-yellow-border);color:#3A2F00}
.sc-alert.green{background:var(--sc-green-soft);border:1px solid #C7EDB9}
.sc-alert i{font-size:1.1rem;flex:0 0 auto}

/* Timeline / stepper */
.sc-steps{display:flex;align-items:flex-start;justify-content:space-between;position:relative}
.sc-steps .st{flex:1;text-align:center;position:relative;font-size:.74rem;color:#3A3F46;line-height:1.3}
.sc-steps .st:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:#D5D9DF}
.sc-steps .st.done:not(:last-child):after{background:#1DB32A}
.sc-steps .n{width:28px;height:28px;border-radius:50%;background:#E6E8EB;color:#3A3F46;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;margin-bottom:5px;position:relative;z-index:1}
.sc-steps .done .n{background:#1DB32A;color:#fff}
.sc-steps .current .n{background:#1DB32A;color:#fff;box-shadow:0 0 0 4px #D6F3CC}
.sc-steps .current{font-weight:700}
.sc-steps small{display:block;color:var(--sc-muted);font-weight:400}

/* Doc list */
.sc-doc{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:.82rem;color:var(--sc-text)}
.sc-doc i.bi-file-earmark-pdf{color:var(--sc-red);font-size:1.25rem}

/* Tile buttons (Schnellaktionen) */
.sc-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--sc-border-strong);border-radius:8px;background:#fff;padding:12px 6px;font-size:.78rem;font-weight:500;color:var(--sc-text);width:100%;height:100%;text-align:center}
.sc-tile i{font-size:1.25rem}
.sc-tile:hover{border-color:#8BDB6B;background:#FBFEF9}
.sc-tile.danger{color:var(--sc-red)}
.sc-tile.danger:hover{border-color:#F2A7A1;background:#FFF8F7}

/* Action list buttons (Aktionen sidebar) */
.sc-action{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--sc-border-strong);background:#fff;border-radius:6px;padding:7px 12px;font-size:.8rem;font-weight:500;margin-bottom:7px;color:var(--sc-text);text-align:left}
.sc-action:hover{border-color:#9CDB82;background:#FBFEF9}
.sc-action.primary{background:var(--sc-lime);border-color:var(--sc-lime);font-weight:600}
.sc-action.primary:hover{background:var(--sc-lime-hover)}
.sc-action.solid{background:var(--sc-green);border-color:var(--sc-green);color:#fff;font-weight:600;padding:11px 14px}
.sc-action.danger{border-color:#F2A7A1;color:var(--sc-red)}
.sc-action.danger:hover{background:#FFF8F7}

/* Signature */
.sc-signature{border:1px solid var(--sc-border-strong);border-radius:6px;background:#fff;height:58px;display:flex;align-items:center;padding:0 12px;font-family:var(--sc-font-script);font-weight:600;font-size:1.9rem;color:#111;letter-spacing:.02em}
canvas.sc-sign-pad{border:1px dashed var(--sc-border-strong);border-radius:6px;width:100%;height:120px;background:#fff;touch-action:none;cursor:crosshair}

/* Toast */
.sc-toast-wrap{position:fixed;right:20px;bottom:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.sc-toast{background:#15171B;color:#fff;border-radius:8px;padding:10px 16px;font-size:.84rem;box-shadow:0 8px 24px rgba(0,0,0,.2);display:flex;align-items:center;gap:10px;animation:scIn .2s ease-out}
.sc-toast i{color:var(--sc-lime);font-size:1.1rem}
@keyframes scIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Car images */
.sc-car{width:100%;height:auto;display:block}
.sc-car-hero{max-width:320px;margin:auto}

/* Grid children never force overflow */
[class*="-grid"]>*,.row2>*,.row3>*{min-width:0}

/* Utilities */
.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}
.h-100c{height:100%}
.min-w-0{min-width:0}
.border-soft{border-color:var(--sc-border)!important}
.bg-soft{background:#F6F7F9}
.scroll-y{overflow-y:auto}
.cursor-pointer{cursor:pointer}
.sc-divider{height:1px;background:var(--sc-border);margin:12px 0}
.sc-empty{text-align:center;color:var(--sc-muted);padding:48px 16px}
.sc-empty i{font-size:2.2rem;display:block;margin-bottom:8px;color:#B5BBC3}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  .sc-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .22s;box-shadow:0 0 40px rgba(0,0,0,.4)}
  body.sc-nav-open .sc-sidebar{transform:none}
  body.sc-collapsed .sc-sidebar{width:var(--sc-sidebar-w)}
  .sc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1025;display:none}
  body.sc-nav-open .sc-backdrop{display:block}
  .sc-user .nm,.sc-user .bi-chevron-down{display:none}
  .sc-topbar{gap:6px;padding:0 10px}
  .sc-quick span{display:none}
  .sc-main{padding:14px 12px}
  .sc-footer{margin:0 12px}
}
@media (max-width: 575.98px){
  .sc-topbar .hide-xs{display:none!important}
  .sc-search{flex:1}
  .sc-page-title{font-size:1.35rem}
}
@media print{.sc-sidebar,.sc-topbar,.sc-footer{display:none}}

/* ==========================================================================
   1.1.0 — UI layer + library themes (Flatpickr, Tom Select, SortableJS,
   FullCalendar, GLightbox, Leaflet, Driver.js) and global panels
   ========================================================================== */
.sc-kbd{display:inline-block;font:500 .68rem/1 "Inter",sans-serif;padding:3px 6px;border-radius:4px;border:1px solid #C9CED5;border-bottom-width:2px;background:#fff;color:#3A3F46;white-space:nowrap}
.sc-search .sc-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#30343B;border-color:#454A52;color:#C9CED5}
.sc-search input{cursor:pointer}
.sc-fade-in{animation:scFade .18s ease-out}
@keyframes scFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.sc-toast-undo{margin-left:8px;background:none;border:0;color:var(--sc-lime);font-weight:600;font-size:.82rem;padding:0 2px}
.tooltip{--bs-tooltip-bg:#15171B;--bs-tooltip-font-size:.74rem}

/* Notifications */
.sc-notif{width:350px;max-width:calc(100vw - 20px)}
.sc-notif-list{max-height:360px;overflow-y:auto}
.sc-notif-item{display:flex;gap:10px;padding:10px 14px;color:var(--sc-text);font-size:.8rem;border-bottom:1px solid #F0F1F3;align-items:flex-start}
.sc-notif-item:hover{background:#F7F8FA;color:var(--sc-text)}
.sc-notif-item i.bi{font-size:1rem;margin-top:1px}
.sc-notif-item.unread{background:#FBFEF9}

/* Command palette */
.sc-palette .modal-dialog{margin-top:9vh}
.sc-palette .modal-content{border:0;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.sc-palette-in{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--sc-border)}
.sc-palette-in i{font-size:1.2rem;color:#6A7079}
.sc-palette-in input{flex:1;border:0;outline:0;font-size:1.05rem;background:none}
.sc-palette-list{max-height:min(60vh,460px);overflow-y:auto;padding:6px}
.sc-pal-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:var(--sc-text)}
.sc-pal-item.active{background:var(--sc-green-soft);color:var(--sc-text)}
.sc-pal-item .ic{width:34px;height:34px;border-radius:8px;background:#F1F2F4;display:grid;place-items:center;flex:0 0 34px;font-size:1rem}
.sc-pal-item.active .ic{background:#fff;color:var(--sc-green-text)}
.sc-pal-item mark{background:#DDF6D2;padding:0 1px;border-radius:2px;color:inherit}
.sc-palette-foot{display:flex;gap:16px;padding:9px 18px;border-top:1px solid var(--sc-border);font-size:.72rem;color:var(--sc-muted);background:#FAFBFC}
.sc-palette-foot .sc-kbd{margin-right:3px}

/* Offcanvas panels */
.sc-cal-panel{--bs-offcanvas-width:min(860px,100vw)}
.sc-msg-panel{--bs-offcanvas-width:min(420px,100vw)}
.sc-cal-legend{font-size:.72rem;color:var(--sc-muted)}
.sc-cal-legend span{display:inline-flex;align-items:center;gap:4px}
.sc-threads{display:flex;gap:6px;overflow-x:auto;padding:10px;border-bottom:1px solid var(--sc-border);flex:0 0 auto}
.sc-thread{display:flex;align-items:center;gap:8px;border:1px solid var(--sc-border);background:#fff;border-radius:8px;padding:6px 9px;min-width:170px;font-size:.78rem}
.sc-thread.active{border-color:#6FD64A;background:var(--sc-green-soft-2)}
.sc-chat{overflow-y:auto;padding:14px;background:#F3F4F1;display:flex;flex-direction:column;gap:8px;min-height:200px}
.sc-chat-head{font-size:.8rem;font-weight:600;display:flex;gap:8px;align-items:center;margin-bottom:4px}
.sc-bubble{max-width:82%;padding:8px 11px;border-radius:10px;font-size:.82rem;box-shadow:0 1px 1px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:2px}
.sc-bubble.in{background:#fff;align-self:flex-start;border-top-left-radius:3px}
.sc-bubble.out{background:#DCF8C6;align-self:flex-end;border-top-right-radius:3px}
.sc-bubble small{font-size:.66rem;color:#6A7079;align-self:flex-end}
.sc-bubble.out small i{color:#34B7F1}
.sc-chat-in{display:flex;gap:6px;padding:10px;border-top:1px solid var(--sc-border);background:#fff}

/* Sortable table headers */
th.sc-sortable{cursor:pointer;user-select:none;position:relative;padding-right:20px!important}
th.sc-sortable:after{content:"\F127";font-family:"bootstrap-icons";position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:.7rem;opacity:.3}
th.sc-sortable[aria-sort="ascending"]:after{content:"\F235";opacity:.9;color:var(--sc-green-text)}
th.sc-sortable[aria-sort="descending"]:after{content:"\F229";opacity:.9;color:var(--sc-green-text)}
th.sc-sortable:hover{background:#EEF0F2}

/* SortableJS */
.sc-ghost{opacity:.35;background:var(--sc-green-soft)!important;outline:2px dashed #6FD64A;outline-offset:-2px}
.sc-chosen{box-shadow:0 8px 22px rgba(16,24,40,.16)!important}
.sc-drag{transform:rotate(1.5deg)}
.sc-drag-handle{cursor:grab;color:#A3A9B1;padding:0 2px}
.sc-drag-handle:active{cursor:grabbing}
[data-sortable]>*{cursor:grab}
[data-sortable]>*:active{cursor:grabbing}

/* Signature pad */
canvas.sc-sign-pad{background:#fff repeating-linear-gradient(0deg,transparent 0 calc(100% - 26px),#E4E7EB calc(100% - 26px) calc(100% - 25px),transparent calc(100% - 25px))}

/* Flatpickr */
.flatpickr-calendar{font-family:"Inter",sans-serif;border-radius:10px;box-shadow:0 12px 32px rgba(16,24,40,.16);border:1px solid var(--sc-border)}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:#1DB32A;border-color:#1DB32A;color:#fff}
.flatpickr-day.inRange{background:var(--sc-green-soft);border-color:var(--sc-green-soft);box-shadow:-5px 0 0 var(--sc-green-soft),5px 0 0 var(--sc-green-soft)}
.flatpickr-day.today{border-color:#1DB32A}
.flatpickr-day:hover{background:#F1F2F4}
.flatpickr-months .flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months{font-weight:600}
.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus{background:var(--sc-green-soft)}
input[data-date]{background-image:none}
input.flatpickr-input[readonly]{background:#fff;cursor:pointer}

/* Tom Select */
.ts-wrapper.form-select,.ts-wrapper.form-control{padding:0;min-height:36px}
.ts-wrapper .ts-control{border-color:var(--sc-border-strong);border-radius:6px;font-size:.84rem;min-height:36px;padding:6px 10px;box-shadow:none}
.ts-wrapper.form-select-sm .ts-control{min-height:31px;padding:4px 8px;font-size:.8rem}
.ts-wrapper.focus .ts-control{border-color:#7ED957;box-shadow:0 0 0 .2rem rgba(98,226,44,.2)}
.ts-dropdown{font-size:.84rem;border-color:var(--sc-border);border-radius:8px;box-shadow:0 12px 28px rgba(16,24,40,.14);margin-top:4px}
.ts-dropdown .active{background:var(--sc-green-soft);color:var(--sc-text)}
.ts-dropdown .option{padding:7px 10px}
.ts-wrapper.multi .ts-control>div{background:var(--sc-green-soft);color:#0F5F14;border-radius:4px;border:0;padding:1px 6px}
.ts-wrapper .clear-button{color:#8A9099}

/* FullCalendar */
.fc{--fc-border-color:#E4E7EB;--fc-today-bg-color:#F3FBEF;--fc-button-bg-color:#fff;--fc-button-border-color:#D5D9DF;--fc-button-text-color:#14171C;--fc-button-hover-bg-color:#F6F7F9;--fc-button-hover-border-color:#C5CAD1;--fc-button-active-bg-color:#E8F8E3;--fc-button-active-border-color:#9CDB82;--fc-event-border-color:transparent;font-size:.8rem}
.fc .fc-button{font-size:.8rem;font-weight:500;padding:.35rem .7rem;box-shadow:none!important}
.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#0F5F14}
.fc .fc-toolbar-title{font-size:1.1rem;font-weight:700}
.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--sc-text)}
.fc .fc-event{border-radius:4px;padding:1px 3px;font-weight:500;cursor:pointer}
.fc .ev-booking{background:#1DB32A;color:#fff}
.fc .ev-return{background:#F5A524;color:#1A1200}
.fc .ev-clean{background:#2B6DE8;color:#fff}
.fc .ev-service{background:#E0261B;color:#fff}
.fc .fc-daygrid-dot-event.ev-return .fc-daygrid-event-dot{border-color:#F5A524}
.fc .fc-daygrid-dot-event{background:transparent;color:var(--sc-text)}
.fc .fc-daygrid-dot-event.ev-booking .fc-daygrid-event-dot{border-color:#1DB32A}
.fc .fc-daygrid-dot-event.ev-clean .fc-daygrid-event-dot{border-color:#2B6DE8}
.fc .fc-daygrid-dot-event.ev-service .fc-daygrid-event-dot{border-color:#E0261B}
.fc .fc-highlight{background:#E8F8E3}
.fc .fc-list-event:hover td{background:#F7F8FA}

/* GLightbox */
.glightbox-clean .gslide-description{background:#15171B}
.glightbox-clean .gdesc-inner{padding:10px 16px}
.glightbox-clean .gslide-desc{color:#E9EBEE;font-family:"Inter",sans-serif;font-size:.85rem}
.sc-photo{transition:transform .15s,box-shadow .15s}
.sc-photo:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18)}

/* Leaflet */
.leaflet-container{font-family:"Inter",sans-serif;background:#EEF1EC;border-radius:8px}
.sc-map-pin{color:#1DB32A;font-size:2rem;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));text-align:center}
.leaflet-bar a{color:#14171C}

/* Driver.js tour */
.driver-popover{font-family:"Inter",sans-serif;border-radius:10px;padding:16px 18px;max-width:320px}
.driver-popover-title{font-size:1rem;font-weight:700}
.driver-popover-description{font-size:.84rem;color:#3A3F46}
.driver-popover-footer button{font-family:"Inter",sans-serif;border-radius:6px;font-size:.8rem;text-shadow:none;padding:5px 10px}
.driver-popover-next-btn{background:#1DB32A!important;color:#fff!important;border-color:#1DB32A!important}
.driver-popover-progress-text{font-size:.74rem}

/* Skeleton loading */
.sc-skel{background:linear-gradient(90deg,#EEF0F2 25%,#F6F7F9 50%,#EEF0F2 75%);background-size:200% 100%;animation:scSkel 1.1s infinite;border-radius:6px;min-height:14px}
@keyframes scSkel{to{background-position:-200% 0}}

@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* 1.1.1 fixes: single Tom Select never wraps; pager arrows vs Bootstrap .nav */
.ts-wrapper.single .ts-control{flex-wrap:nowrap;overflow:hidden}
.ts-wrapper.single .ts-control>.item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ts-wrapper.single.input-active .ts-control>.item{display:none}
.sc-pager .nav{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;padding:0;margin:0;list-style:none}
.sc-pager button:disabled{opacity:.4;cursor:default}
