@font-face{font-family:'Eros';src:url('../fonts/Eros-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}

[data-theme="dark"] .nv-card,[data-theme="dark"] .section-card{border:1px solid rgba(255,255,255,.08)}
[data-theme="dark"] .nv-panel,[data-theme="dark"] .bottom-sheet{background:var(--k-bg)!important}
[data-theme="dark"] .chip.active{background:#fff;color:#000;box-shadow:none}

/* ══════════════════════════════════════════════════
   Z-INDEX SCALE — Central definition, use these vars!
   0-100: Content, nav, headers
   9500: Sidebar
   9800: Admin bubble
   9900-9999: Standard overlays/modals
   10000: Bottom sheet backdrop
   10050: Elevated dialogs, toasts
   10100: Full-screen overlays (phone, video, camera)
   10150-10200: System-critical (confirm, phone call)
   ══════════════════════════════════════════════════ */
:root{
  --z-content:1;
  --z-header:50;
  --z-sticky:100;
  --z-sidebar:9500;
  --z-admin-bubble:9800;
  --z-overlay:9999;
  --z-sheet:10000;
  --z-dialog:10050;
  --z-fullscreen:10100;
  --z-confirm:10150;
  --z-phone:10200
}

/* ══════════════════════════════════════════════════
   KEEVA EDITORIAL DESIGN — Fashion-Brand Level
   Gucci / Chanel / Dior inspired.
   S/W dominant, luxurioes, grosszuegig, editorial.
   Glassmorphism, Pill-Buttons, Outline-Icons.
   Applies to keeva-white (mono) and keeva-black.
   ══════════════════════════════════════════════════ */

/* ── GLOBAL: All icons thin outline ── */
[data-theme="light"] .material-symbols-outlined,
[data-theme="dark"] .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 300 !important
}

/* ══ TYPOGRAPHY: Editorial, oversized, dramatic ══ */
[data-theme="light"],
[data-theme="dark"]{
  --fw-bold:800;
  --fw-black:900;
  letter-spacing:-.01em;
}
[data-theme="light"] .nv-module-title,
[data-theme="dark"] .nv-module-title{
  font-size:2rem;font-weight:var(--k-fw-black);letter-spacing:-.06em;
  line-height:1.05;text-transform:uppercase;
}
[data-theme="light"] h1,[data-theme="dark"] h1{font-size:1.8rem;font-weight:var(--k-fw-black);letter-spacing:-.05em;text-transform:uppercase}
[data-theme="light"] h2,[data-theme="dark"] h2{font-size:1.3rem;font-weight:var(--k-fw-bold);letter-spacing:-.04em}
[data-theme="light"] h3,[data-theme="dark"] h3{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);letter-spacing:-.03em}
[data-theme="light"] .home-greeting-name,
[data-theme="dark"] .home-greeting-name{font-size:2.2rem;font-weight:var(--k-fw-black);letter-spacing:-.06em;line-height:1;text-transform:uppercase}
[data-theme="light"] .home-greeting-sub,
[data-theme="dark"] .home-greeting-sub{font-size:var(--k-fs-caption);font-weight:var(--k-fw-medium);letter-spacing:.08em;text-transform:uppercase;opacity:.5}

/* ══ CARDS: Glassmorphism, luxurious spacing ══ */
[data-theme="light"] .nv-card,
[data-theme="dark"] .nv-card{
  border-radius:var(--k-r-sm);padding:28px;
  transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s;
}
[data-theme="light"] .nv-card{
  background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 20px rgba(0,0,0,.03);
}
[data-theme="dark"] .nv-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  box-shadow:0 2px 20px rgba(0,0,0,.2);
}
[data-theme="light"] .section-card,
[data-theme="dark"] .section-card{border-radius:var(--k-r-sm);padding:28px}
[data-theme="light"] .section-card{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.05)}
[data-theme="dark"] .section-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05)}

/* ══ BUTTONS: Pill-shape, tall, dramatic ══ */
[data-theme="light"] .nv-btn,
[data-theme="dark"] .nv-btn{
  border-radius:var(--k-r-full);font-weight:var(--k-fw-bold);letter-spacing:-.01em;
  padding:14px 32px;font-size:var(--k-fs-body);min-height:52px;
  text-transform:uppercase;letter-spacing:.04em;
  transition:background-color .2s cubic-bezier(.32,.72,0,1), color .2s cubic-bezier(.32,.72,0,1), border-color .2s cubic-bezier(.32,.72,0,1), box-shadow .2s cubic-bezier(.32,.72,0,1), transform .2s cubic-bezier(.32,.72,0,1), opacity .2s cubic-bezier(.32,.72,0,1);
}
[data-theme="light"] .nv-btn:active,
[data-theme="dark"] .nv-btn:active{transform:scale(.97)}

/* ══ CHIPS: Pill, refined ══ */
[data-theme="light"] .nv-chip,
[data-theme="dark"] .nv-chip{border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);letter-spacing:.02em;padding:10px 22px;font-size:var(--k-fs-caption);text-transform:uppercase}
[data-theme="light"] .chip{border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);box-shadow:none;border:1.5px solid rgba(0,0,0,.15);background:#fff;letter-spacing:.02em;text-transform:uppercase;font-size:var(--k-fs-micro);padding:8px 18px}
[data-theme="dark"] .chip{border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);box-shadow:none;border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;letter-spacing:.02em;text-transform:uppercase;font-size:var(--k-fs-micro);padding:8px 18px}
[data-theme="light"] .chip.active{background:#000;color:#fff;border-color:#000;box-shadow:none}
[data-theme="dark"] .chip.active{background:#fff;color:#000;border-color:#fff;box-shadow:none}

/* ══ STAT GRID: Fashion lookbook feel ══ */
[data-theme="light"] .nv-stat-grid .nv-stat-item,
[data-theme="dark"] .nv-stat-grid .nv-stat-item{border-radius:var(--k-r-sm);padding:24px 20px}
[data-theme="light"] .nv-stat-grid .nv-stat-item{background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.04)}
[data-theme="dark"] .nv-stat-grid .nv-stat-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
[data-theme="light"] .nv-stat-val,
[data-theme="dark"] .nv-stat-val{font-size:1.6rem;font-weight:var(--k-fw-black);letter-spacing:-.04em;line-height:1}
[data-theme="light"] .nv-stat-lbl,
[data-theme="dark"] .nv-stat-lbl{font-size:var(--k-fs-micro);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--k-fw-semibold);margin-top:8px}

/* ══ SIDEBAR: Editorial, generous spacing ══ */
[data-theme="light"] .nv-sidebar-item,
[data-theme="dark"] .nv-sidebar-item{padding:16px 20px;font-weight:var(--k-fw-medium);letter-spacing:-.01em;font-size:var(--k-fs-body)}
[data-theme="light"] .nv-sidebar-section-label,
[data-theme="dark"] .nv-sidebar-section-label{font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);letter-spacing:.14em;text-transform:uppercase;padding:24px 20px 8px;opacity:.4}

/* ══ BOTTOM NAV: Glass, floating feel ══ */
[data-theme="light"] .bottom-nav{
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  background:rgba(255,255,255,.85);border-top:none;
  box-shadow:0 4px 20px rgba(0,0,0,.06),0 1px 0 rgba(255,255,255,.6) inset;
}
[data-theme="dark"] .bottom-nav{
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  background:rgba(10,10,10,.88);border-top:none;
  box-shadow:0 4px 20px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.04) inset;
  border:1px solid rgba(255,255,255,.05);
}

/* ══ INPUTS: Clean, generous ══ */
[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] select,[data-theme="light"] textarea,
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] select,[data-theme="dark"] textarea{
  border-radius:var(--k-r-xs);padding:14px 18px;font-weight:var(--k-fw-medium);font-size:var(--k-fs-body);
  transition:border-color .15s,box-shadow .15s;
}
[data-theme="light"] input:focus,[data-theme="light"] select:focus,[data-theme="light"] textarea:focus{
  border-color:#000;box-shadow:0 0 0 4px rgba(0,0,0,.06);
}
[data-theme="dark"] input:focus,[data-theme="dark"] select:focus,[data-theme="dark"] textarea:focus{
  border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.06);
}
[data-theme="light"] .nv-search,[data-theme="dark"] .nv-search{border-radius:var(--k-r-full)}
[data-theme="light"] .nv-search input,[data-theme="dark"] .nv-search input{font-weight:var(--k-fw-medium);letter-spacing:.01em}

/* ══ PANELS: Glass overlays ══ */
[data-theme="light"] .nv-panel{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
}
[data-theme="dark"] .nv-panel{
  background:rgba(10,10,10,.92)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
}

/* ══ BOTTOM SHEETS: Glass, oversized radius ══ */
[data-theme="light"] .bottom-sheet{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  border-radius:28px 28px 0 0;
}
[data-theme="dark"] .bottom-sheet{
  background:rgba(12,12,12,.94)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  border-radius:28px 28px 0 0;
  overscroll-behavior:contain;
}

/* ══ APP HEADER: Glass, invisible border ══ */
[data-theme="light"] .app-header{
  background:rgba(255,255,255,.8);border-bottom:none;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
[data-theme="dark"] .app-header{
  background:rgba(10,10,10,.85);border-bottom:none;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  box-shadow:0 1px 0 rgba(255,255,255,.04);
}
[data-theme="light"] .header-btn{
  background:rgba(0,0,0,.04);border:1.5px solid rgba(0,0,0,.08);border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);
}
[data-theme="dark"] .header-btn{
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);color:#fff;border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);
}

/* ══ LAVA/HERO BG: Killed in Keeva (clean) ══ */
/* ══ OVERLAYS: Full-screen clean ══ */
[data-theme="light"] #quick-rechner-overlay,[data-theme="light"] #kunden-profil-overlay{background:#fff}
[data-theme="dark"] #quick-rechner-overlay,[data-theme="dark"] #kunden-profil-overlay{background:var(--k-bg)}

/* ══ NV-CARD-ROW: More breathing room ══ */
[data-theme="light"] .nv-card-row,
[data-theme="dark"] .nv-card-row{padding:16px 4px;gap:16px}
[data-theme="light"] .nv-card-row h3,
[data-theme="dark"] .nv-card-row h3{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);letter-spacing:-.02em}
[data-theme="light"] .nv-card-row p,
[data-theme="dark"] .nv-card-row p{font-size:var(--k-fs-caption);letter-spacing:.01em}

/* ══ SM-ITEM (Mobile Menu): Generous, editorial ══ */
[data-theme="light"] .sm-item,
[data-theme="dark"] .sm-item{padding:14px 8px;gap:14px}
[data-theme="light"] .sm-item-icon,
[data-theme="dark"] .sm-item-icon{
  width:42px;height:42px;border-radius:var(--k-r-xs);
  background:rgba(0,0,0,.03)!important;color:var(--k-text)!important;
}
[data-theme="dark"] .sm-item-icon{background:rgba(255,255,255,.06)!important;color:#fff!important}
[data-theme="light"] .sm-item-label,
[data-theme="dark"] .sm-item-label{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);letter-spacing:-.01em}
[data-theme="light"] .sm-section-title,
[data-theme="dark"] .sm-section-title{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);letter-spacing:.14em;text-transform:uppercase;
  padding:20px 8px 6px;opacity:.35;
}

/* ══ SALON MENU: Glass overlay ══ */
[data-theme="light"] .salon-menu{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
}
[data-theme="dark"] .salon-menu{
  background:rgba(12,12,12,.94)!important;
  backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
}

/* ══ KALENDER: Glass chips ══ */
[data-theme="light"] .kal-glass-chip{background:rgba(255,255,255,.6);border-color:rgba(0,0,0,.08);border-radius:var(--k-r-full)}
[data-theme="light"] .kal-glass-chip.active{background:#000;color:#fff;box-shadow:none;border-color:#000}
[data-theme="light"] .kal-glass-btn{background:rgba(255,255,255,.6);border-color:rgba(0,0,0,.08);border-radius:var(--k-r-full)}
[data-theme="light"] .kal-glass-grid{background:rgba(255,255,255,.5);border-color:rgba(0,0,0,.06);border-radius:var(--k-r-sm)}
[data-theme="light"] .kal-col-header{background:rgba(0,0,0,.02)}
[data-theme="light"] .kal-termin-block{box-shadow:0 1px 8px rgba(0,0,0,.05);border-radius:12px}

/* ══ HR/Finance Module headers ══ */
[data-theme="light"] [style*="font-weight:var(--k-fw-bold)"],
[data-theme="dark"] [style*="font-weight:var(--k-fw-bold)"]{letter-spacing:-.02em!important}

/* ══ TOAST: Pill, dramatic ══ */
[data-theme="light"] .nv-toast{border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);letter-spacing:.01em;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
[data-theme="dark"] .nv-toast{border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);letter-spacing:.01em;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}

/* ── Mono overrides — Entsaettigt, clean schwarz/weiss/grau ── */
[data-theme="light"] .nv-card,[data-theme="light"] .section-card{
  border:1px solid rgba(0,0,0,.08)
}
[data-theme="light"] .nv-panel,[data-theme="light"] .bottom-sheet{
  background:var(--k-bg)!important
}
[data-theme="light"] .chip.active{background:#000;color:#fff;box-shadow:none}
[data-theme="light"] .kal-glass-chip{background:#fff;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .kal-glass-chip.active{background:#000;color:#fff;box-shadow:none}
[data-theme="light"] .kal-glass-btn{background:#fff;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .kal-glass-grid{background:#fff;border-color:rgba(0,0,0,.08)}
[data-theme="light"] .kal-col-header{background:rgba(0,0,0,.03)}
[data-theme="light"] .kal-termin-block{box-shadow:0 0 6px rgba(0,0,0,.06)}
/* CLEAN SLATE: mono home-lava-bg Override entfernt */
[data-theme="light"] .home-lava-bg::before,[data-theme="light"] .home-lava-bg::after,[data-theme="light"] .home-lava-blob3{opacity:0!important}
[data-theme="light"] .home-lava-bg .blob{opacity:0!important}
[data-theme="light"] .nv-stat-grid .nv-stat-item{background:#fff}
/* Mono: Kill ALL remaining hardcoded colors — nothing may be colored */
[data-theme="light"] .home-wetter-block .home-wetter-icon{color:#000!important}
[data-theme="light"] .home-greeting-wetter .material-symbols-outlined{color:#000!important}
[data-theme="light"] .home-stat-icon--orange,
[data-theme="light"] .home-stat-icon--blue,
[data-theme="light"] .home-stat-icon--green{background:rgba(0,0,0,.06)!important;color:#000!important}
[data-theme="light"] .home-tag--orange{background:rgba(0,0,0,.06)!important;color:#000!important}
[data-theme="light"] .home-warn-icon{color:#000!important}
[data-theme="light"] .home-perf-bar-fill--warn{background:#666!important}
[data-theme="light"] .home-wetter-widget .home-wetter-icon{color:#000!important}
[data-theme="light"] .home-wetter-hour-icon{color:#000!important}
[data-theme="light"] .nv-stat-val--danger{color:#000!important}
[data-theme="light"] .home-stat-change--up{color:#000!important;background:rgba(0,0,0,.06)!important}
[data-theme="light"] .home-stat-change--down{color:#666!important;background:rgba(0,0,0,.04)!important}
[data-theme="light"] .home-pulse-dot{background:#000!important}
[data-theme="light"] .home-action-btn--active,
[data-theme="light"] .home-action-btn--active .material-symbols-outlined{color:#000!important}
[data-theme="light"] .home-clock-dot--in{background:#000!important;box-shadow:none!important}
[data-theme="light"] .home-clock-action--in{background:#000!important;color:#fff!important;box-shadow:0 4px 12px rgba(0,0,0,.2)!important}
/* ══════════════════════════════════════════════════
   BOLD MODERN — Headings, Buttons, Cards (Instagram/X Style)
   ══════════════════════════════════════════════════ */

/* Bold Headings — Outfit Black */
h1,h2,h3,.nv-title,.home-greeting-name,.dash-greeting,
.home-stat-big,.nv-stat-val,.stat-num{
  font-weight:var(--k-fw-black);letter-spacing:-.3px
}

/* Dark mode cards — elevated surface with border */
[data-theme="dark"] .nv-card,[data-theme="dark"] .section-card,
[data-theme="dark"] .home-qa-btn,[data-theme="dark"] .overview-stat-card{
  background:var(--k-surface-solid)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important
}
[data-theme="dark"] .nv-stat-item{background:var(--k-surface-solid)!important;border:1px solid rgba(255,255,255,.08)}
[data-theme="dark"] .nv-quick-action{background:var(--k-surface-solid)!important;border:1px solid rgba(255,255,255,.08)}

/* Dark mode bottom bar — glass black */
[data-theme="dark"] .bottom-bar-v2{
  background:rgba(0,0,0,.92)!important;
  backdrop-filter:blur(20px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(180%)!important;
  border-top:1px solid rgba(255,255,255,.08)!important
}

/* Dark mode header — glass black */
[data-theme="dark"] #dashboard .app-header,
[data-theme="dark"] .app-header,
[data-theme="dark"] .nv-header{
  background:rgba(0,0,0,.88)!important;
  backdrop-filter:blur(20px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(180%)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important
}

/* Dark mode panel header — glass */
[data-theme="dark"] .nv-panel-header{
  background:rgba(0,0,0,.7)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important
}

/* Dark scope dropdown */
[data-theme="dark"] .nv-scope-dropdown{
  background:var(--k-bg3)!important;border:1px solid rgba(255,255,255,.1)!important
}

/* Dark mode inputs — elevated surface */
[data-theme="dark"] .field input,[data-theme="dark"] .field select,
[data-theme="dark"] .field textarea,[data-theme="dark"] .input-standard{
  background:var(--k-bg3);border-color:var(--k-border-strong)
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;overscroll-behavior-y:contain;background:var(--k-bg);
  -webkit-overflow-scrolling:touch}
[data-theme="dark"] html{background:#09080e}
[data-theme="dark"] body{background:transparent!important}
body{font-family:var(--k-font);font-weight:var(--k-fw-regular);background:transparent;color:var(--k-text);
  min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  -webkit-text-size-adjust:100%;transition:background-color .3s,color .3s;overscroll-behavior-y:contain}
body::before{content:none}
/* Aurora visible: body+dashboard transparent, content above aurora */
body.k-ui #dashboard,body.k-ui #dash-content{background:transparent!important;position:relative;z-index:1}
body.k-ui .k-aurora{z-index:0!important}
/* Background Image Support — bg is rendered via #bg-fixed-layer div */
/* When background image active: make containers transparent so bg shows through */
body.has-bg #dashboard{background:transparent}
/* Hide lava bg blobs when image bg active */
body.has-bg .home-lava-bg{display:none}
/* Fixed background div (works on iOS unlike background-attachment:fixed) */
#bg-fixed-layer{
  position:fixed;inset:-20px;z-index:-1;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  pointer-events:none;
  transition:opacity .4s;
  will-change:transform;
  transform:scale(1.08)
}

/* Parallax-ready: smooth transform for gyroscope + scroll movement */
.section-card,.overview-stat-card,.overview-action-btn,.task-card,.order-card,.news-card,
.lager-product-card,.zeit-status-card,.zeit-team-card{
  will-change:transform;
  transition:transform .08s cubic-bezier(.2,.8,.2,1);
  -webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);
  backface-visibility:hidden
}
.section-card>*,.overview-stat-card>*,.overview-action-btn>*,.task-card>*,.order-card>*,.news-card>*{
  will-change:transform;
  transition:transform .1s cubic-bezier(.2,.8,.2,1);
  backface-visibility:hidden
}
/* Frosted glass for all cards/boxes on dashboard — Enhanced V2 */
body.has-bg .section-card,body.has-bg .overview-stat-card,body.has-bg .overview-action-btn{
  background:rgba(255,255,255,.45)!important;
  box-shadow:0 8px 32px rgba(0,0,0,.08),0 0 0 .5px rgba(255,255,255,.6) inset,0 1px 0 rgba(255,255,255,.8) inset;
  border:1px solid rgba(255,255,255,.35)!important
}
body.has-bg .task-card,body.has-bg .order-card,body.has-bg .news-card,
body.has-bg .lager-product-card,body.has-bg .zeit-status-card,body.has-bg .zeit-team-card{
  background:rgba(255,255,255,.4)!important;
  box-shadow:0 6px 24px rgba(0,0,0,.06),0 0 0 .5px rgba(255,255,255,.5) inset,0 1px 0 rgba(255,255,255,.7) inset;
  border:1px solid rgba(255,255,255,.3)!important
}
/* Calendar: clean glass on grid + containers */
body.has-bg .kal-glass-grid{
  background:rgba(255,255,255,.3)!important;
  border:1px solid rgba(255,255,255,.2)!important
}
body.has-bg .kal-glass-btn{
  background:rgba(255,255,255,.35)!important;
  border:1px solid rgba(255,255,255,.25)!important
}
body.has-bg .kal-glass-chip{
  background:rgba(255,255,255,.32)!important;
  border:1px solid rgba(255,255,255,.2)!important
}
body.has-bg .kal-col-header{
  background:rgba(255,255,255,.35)!important;
  border:1px solid rgba(255,255,255,.22)!important
}
/* Tag/Woche toggle with frosted glass */
body.has-bg .kal-view-toggle{
  background:rgba(255,255,255,.3)!important;
  border-color:rgba(255,255,255,.3)!important
}

/* --- Dark mode with background — Enhanced Glass V2 --- */
[data-theme="dark"] body.has-bg .section-card,
[data-theme="dark"] body.has-bg .overview-stat-card,
[data-theme="dark"] body.has-bg .overview-action-btn{
  background:rgba(20,20,24,.5)!important;
  box-shadow:0 8px 32px rgba(0,0,0,.25),0 0 0 .5px rgba(255,255,255,.08) inset,0 1px 0 rgba(255,255,255,.1) inset;
  border:1px solid rgba(255,255,255,.08)!important
}
[data-theme="dark"] body.has-bg .task-card,
[data-theme="dark"] body.has-bg .order-card,
[data-theme="dark"] body.has-bg .news-card,
[data-theme="dark"] body.has-bg .lager-product-card,
[data-theme="dark"] body.has-bg .zeit-status-card,
[data-theme="dark"] body.has-bg .zeit-team-card{
  background:rgba(22,22,26,.48)!important;
  box-shadow:0 6px 24px rgba(0,0,0,.2),0 0 0 .5px rgba(255,255,255,.06) inset,0 1px 0 rgba(255,255,255,.08) inset;
  border:1px solid rgba(255,255,255,.06)!important
}
[data-theme="dark"] body.has-bg .kal-glass-grid{
  background:rgba(16,16,20,.4)!important;
  border:1px solid rgba(255,255,255,.05)!important
}
[data-theme="dark"] body.has-bg .kal-glass-btn{
  background:rgba(28,28,34,.45)!important;
  border:1px solid rgba(255,255,255,.06)!important
}
[data-theme="dark"] body.has-bg .kal-glass-chip{
  background:rgba(28,28,34,.42)!important;
  border:1px solid rgba(255,255,255,.05)!important
}
[data-theme="dark"] body.has-bg .kal-col-header{
  background:rgba(20,20,26,.45)!important;
  border:1px solid rgba(255,255,255,.06)!important
}
[data-theme="dark"] body.has-bg .kal-view-toggle{
  background:rgba(24,24,28,.4)!important;
  border-color:rgba(255,255,255,.1)!important
}

/* --- Crazy mode with background — Enhanced Glass V2 --- */
[data-theme="light"] body.has-bg .section-card,
[data-theme="light"] body.has-bg .overview-stat-card,
[data-theme="light"] body.has-bg .overview-action-btn{
  background:rgba(255,255,255,.85)!important;
  box-shadow:0 2px 12px rgba(0,0,0,.06),0 0 0 .5px rgba(0,0,0,.06) inset;
  border:1px solid rgba(0,0,0,.08)!important
}
[data-theme="light"] body.has-bg .task-card,
[data-theme="light"] body.has-bg .order-card,
[data-theme="light"] body.has-bg .news-card,
[data-theme="light"] body.has-bg .lager-product-card{
  background:rgba(255,255,255,.85)!important;
  box-shadow:0 2px 12px rgba(0,0,0,.06),0 0 0 .5px rgba(0,0,0,.06) inset;
  border:1px solid rgba(0,0,0,.06)!important
}
[data-theme="light"] body.has-bg .kal-glass-grid{
  background:rgba(255,255,255,.8)!important;
  border:1px solid rgba(0,0,0,.06)!important
}
[data-theme="light"] body.has-bg .kal-view-toggle{
  background:rgba(255,255,255,.8)!important;
  border-color:rgba(242,113,130,.12)!important
}
a{color:inherit;-webkit-tap-highlight-color:transparent}
button,a,input,select,textarea,.chip,.check-item,.pin-btn{touch-action:manipulation}

/* Material Symbols — Mapped to Rounded (consistency with InvoiceHub) */
.material-symbols-outlined,.material-symbols-rounded{font-family:'Material Symbols Rounded';font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;
  vertical-align:middle;line-height:1;display:inline-block}
.mat-filled{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}

/* Icon variants — standard system */
.icon-filled{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
.icon-thin{font-variation-settings:'FILL' 0,'wght' 200,'GRAD' 0,'opsz' 24}

/* PIN Screen */
#pin-overlay{position:fixed;inset:0;z-index:9999;background:#0A0A0A;display:flex;align-items:center;justify-content:center}
#pin-overlay.hidden{opacity:0;pointer-events:none;transition:opacity .4s}
.pin-box{text-align:center;color:#fff;width:320px;padding:0 20px}
.pin-sub{font-size:var(--k-fs-body);color:#aaa;margin-bottom:2.5rem;font-weight:var(--k-fw-regular)}
.pin-dots{display:flex;gap:12px;justify-content:center;margin-bottom:2.5rem}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--k-border-strong, #444);transition:background-color .25s}
, color .25s}
, border-color .25s}
, box-shadow .25s}
, transform .25s}
, opacity .25s}
.pin-dot.filled{background:var(--k-brand);border-color:var(--k-brand);box-shadow:0 0 12px rgba(242,113,130,.4)}
.pin-dot.error{border-color:var(--k-red);background:var(--k-red)}
.pin-logo{margin-bottom:.3rem}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:280px;margin:0 auto}
.pin-btn{background:var(--k-bg2, #1A1A1A);border:1.5px solid var(--k-border-strong, #444);color:var(--k-text, #fff);font-size:1.5rem;width:72px;height:72px;border-radius:50%;cursor:pointer;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;font-family:var(--k-font);font-weight:var(--k-fw-medium);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;margin:0 auto}
.pin-btn:active{background:#d9576a;border-color:var(--k-brand);transform:scale(.95)}
.pin-btn.empty{visibility:hidden}
.pin-btn.del{font-size:1.1rem;color:var(--k-text3, #ccc);border-color:var(--k-border-strong, #444)}
.pin-error{color:var(--k-red);font-size:var(--k-fs-body);margin-top:1.2rem;min-height:1.2rem}
.login-field{margin-bottom:14px}
.login-field input{width:100%;padding:14px 16px;border-radius:var(--k-r-sm,14px);border:1.5px solid var(--k-border-strong, #444);background:var(--k-bg2, #1A1A1A);color:var(--k-text, #fff);font-size:var(--k-fs-title);font-family:var(--k-font);outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.login-field input:focus{border-color:var(--k-brand);box-shadow:0 0 0 3px var(--k-brand-glow, rgba(242,113,130,.15))}
.login-field input::placeholder{color:#888}
.login-btn{width:100%;padding:14px;border-radius:var(--k-r-sm,14px);border:none;background:var(--k-brand);color:#fff;font-size:var(--k-fs-title);font-weight:var(--k-fw-semibold);font-family:var(--k-font);cursor:pointer;transition:opacity .2s;margin-top:8px}
.login-btn:active{opacity:.8}
.login-btn:disabled{opacity:.5;cursor:not-allowed}
#login-form{max-width:280px;margin:0 auto}

/* App Layout */
#app{display:none;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));position:relative;z-index:2;background:var(--k-bg)}
[data-theme="dark"] #app{background:#0a0a0a}

/* Header */
.app-header{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--k-glass-border);padding:14px 16px;padding-top:max(14px, env(safe-area-inset-top, 14px));
  display:flex;align-items:center;
  justify-content:space-between;position:sticky;top:0;z-index:100;transition:background-color .3s;
  box-shadow:0 1px 8px rgba(0,0,0,.04)}
[data-theme="dark"] .app-header{background:rgba(10,10,10,.75);border-bottom-color:rgba(255,255,255,.06)}
.app-header h1{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);letter-spacing:2px;min-width:0;overflow:hidden;flex:1}
.app-header h1 span{color:var(--k-text2);font-weight:var(--k-fw-medium);font-size:var(--k-fs-body)}
.header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.header-btn{background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);color:var(--k-text2);padding:10px 16px;
  border-radius:var(--k-r-full);font-size:var(--k-fs-caption);cursor:pointer;font-family:var(--k-font);
  font-weight:var(--k-fw-semibold);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.header-btn:active{border-color:var(--k-brand);color:var(--k-brand)}
.header-btn.save-btn{border-color:var(--k-green);color:var(--k-green)}
.header-btn-icon{width:44px;height:44px;padding:0;font-size:var(--k-fs-title);border-radius:50%}

/* Dashboard Overview */
.dash-overview{padding:16px 16px 12px}
.dash-greeting{font-size:1.4rem;font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:-.2px;line-height:1.2}
.dash-date{font-size:var(--k-fs-body);color:var(--k-text3);font-weight:var(--k-fw-medium);margin-top:4px}
/* Legacy aliases → mapped to nv-stat-grid/nv-stat-item */
.overview-stats,.nv-stat-grid{display:grid;gap:8px;margin-bottom:16px}
.overview-stat-card,.nv-stat-item{background:var(--k-surface-solid);border-radius:var(--k-r-md);padding:16px;text-align:center;
  cursor:pointer;border:none;box-shadow:none;
  transition:transform var(--k-dur-fast) ease;-webkit-tap-highlight-color:transparent}
.overview-stat-card:active,.nv-stat-item:active{transform:scale(.97)}
.stat-num,.nv-stat-val{font-size:1.25rem;font-weight:var(--k-fw-bold);color:var(--k-text);line-height:1}
.stat-label,.nv-stat-lbl{font-size:var(--k-fs-caption);color:var(--k-text3);font-weight:var(--k-fw-medium);margin-top:4px;text-transform:uppercase;letter-spacing:.3px}
.stat-red{border-color:rgba(255,59,48,.2)}
.stat-red .stat-num{color:var(--k-red)}
.stat-orange{border-color:rgba(255,149,0,.2)}
.stat-orange .stat-num{color:var(--k-yellow)}
.stat-green .stat-num{color:var(--k-green)}
/* Home Quick Access (4 buttons: Kalender, Kasse, Telefon, Kunden) */
.home-quick-access{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 12px}
.home-qa-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;background:var(--k-surface-solid);border:1px solid var(--k-border-strong);border-radius:var(--k-r-sm);cursor:pointer;font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text);transition:transform var(--k-dur-fast) ease;-webkit-tap-highlight-color:transparent;font-family:var(--k-font)}
.home-qa-btn:active{transform:scale(.97)}
.home-qa-btn .material-symbols-outlined{font-size:28px;color:var(--k-text3)}
.home-qa-accent{background:var(--k-brand,#F27182);color:#fff;border-color:var(--k-brand,#F27182)}
.home-qa-accent .material-symbols-outlined{color:#fff}
body.has-bg .home-qa-btn{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
body.has-bg .home-qa-accent{background:var(--k-brand,#F27182);border-color:var(--k-brand,#F27182)}
[data-theme="dark"] .home-qa-btn{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
[data-theme="dark"] .home-qa-accent{background:var(--k-brand);border-color:var(--k-brand)}

.overview-actions{display:flex;gap:10px;margin-top:14px}
.overview-action-btn{flex:1;padding:13px 10px;border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);
  background:var(--k-glass-bg);
  font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);cursor:pointer;
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;min-height:44px;text-align:center;-webkit-tap-highlight-color:transparent;
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.overview-action-btn:active{border-color:var(--k-brand);transform:scale(.97)}

/* Progress */
.progress-bar{height:3px;background:var(--k-border-strong);position:sticky;top:56px;z-index:99}
.progress-fill{height:100%;background:var(--k-brand);transition:width .4s ease;width:0%}

/* Steps Nav */
.steps-nav{display:flex;gap:6px;padding:12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:sticky;top:59px;z-index:98;
  background:rgba(247,248,250,.8);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}
.steps-nav::-webkit-scrollbar{display:none}
.step-dot{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--k-glass-border);
  background:var(--k-glass-bg);
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;color:var(--k-text2);
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.step-dot.active{border-color:var(--k-brand);background:var(--k-brand);color:#fff}
.step-dot.done{border-color:var(--k-text);background:var(--k-text);color:#fff}
.step-dot.has-warning{border-color:var(--k-yellow);box-shadow:0 0 0 3px rgba(230,126,34,.2)}

/* Sections */
.form-section{padding:16px;display:none;animation:fadeIn .3s ease}
.form-section.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Apple HIG: Grouped List Section Card — unified with nv-card-ds */
.section-card{
  background:var(--nv-glass-bg, var(--k-surface-solid));
  border-radius:var(--nv-r-card, var(--k-r-md));
  padding:16px;
  border:1px solid var(--nv-glass-border, var(--k-border, transparent));
  box-shadow:var(--k-shadow-sm);
  margin-bottom:12px;
  transition:transform var(--k-dur-fast) ease, box-shadow var(--k-dur-fast) ease;
}
.section-header{font-size:1.2rem;font-weight:var(--k-fw-bold);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.section-header .num{width:28px;height:28px;border-radius:50%;background:var(--k-brand);color:#fff;font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.section-sub{font-size:var(--k-fs-body);color:var(--k-text2);margin-bottom:14px;line-height:1.5}

/* Form Fields */
.field{margin-bottom:14px}
.field:last-child{margin-bottom:0}
/* Apple HIG: Form labels + inputs */
.field label{display:block;font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text2);margin-bottom:4px;letter-spacing:.2px}
.field input,.field select,.field textarea{width:100%;padding:12px 16px;border:1px solid var(--k-border-strong);
  border-radius:var(--k-r-sm);background:var(--k-surface-solid);
  font-size:var(--k-fs-title);font-family:var(--k-font);
  font-weight:var(--k-fw-regular);color:var(--k-text);-webkit-appearance:none;appearance:none;
  transition:border-color var(--k-dur-fast),box-shadow var(--k-dur-fast)}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{
  background:rgba(28,28,30,.4);border-color:rgba(255,255,255,.08)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--k-brand);
  box-shadow:0 0 0 3px rgba(242,113,130,.12)}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.field textarea{resize:vertical;min-height:80px}
.field-row{display:flex;gap:10px}
.field-row .field{flex:1}
.field-hint{font-size:var(--k-fs-body);color:var(--k-text2);margin-top:4px}

/* Checkbox Grid */
.check-grid{display:flex;flex-direction:column;gap:8px}
.check-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--k-glass-border);
  border-radius:var(--k-r-sm);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;background:var(--k-glass-bg);
  -webkit-tap-highlight-color:transparent;min-height:48px;
  box-shadow:0 1px 4px rgba(0,0,0,.03)}
.check-item:active{transform:scale(.97)}
.check-item.checked{border-color:var(--k-brand);background:var(--k-brand-light)}
.check-item.risk.checked{border-color:var(--k-yellow);background:var(--warn-light)}
.check-box{width:44px;height:44px;border:2px solid var(--k-border-strong);border-radius:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;font-size:var(--k-fs-caption);color:#fff;
  padding:7px;background-clip:content-box;-webkit-tap-highlight-color:transparent}
.check-item.checked .check-box{background:var(--k-brand);border-color:var(--k-brand)}
.check-item.risk.checked .check-box{background:var(--k-yellow);border-color:var(--k-yellow)}
.check-label{font-size:var(--k-fs-title);font-weight:var(--k-fw-regular);flex:1}
.check-sub{font-size:var(--k-fs-body);color:var(--k-text2)}

/* Multi-column check grid for tablets+ */
.check-grid-multi{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:500px){.check-grid-multi{grid-template-columns:1fr 1fr}}

/* Rating Scale (1-10) */
.rating-scale{display:flex;gap:4px;flex-wrap:wrap}
.rating-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--k-glass-border);
  background:var(--k-glass-bg);
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;font-family:var(--k-font);-webkit-tap-highlight-color:transparent;
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.rating-btn:active{transform:scale(.97)}
.rating-btn.active{background:var(--k-brand);color:#fff;border-color:var(--k-brand)}
.rating-labels{display:flex;justify-content:space-between;font-size:var(--k-fs-caption);color:var(--k-text2);margin-top:4px;padding:0 4px}

/* Disclaimer Box */
.disclaimer-box{background:var(--warn-light);border:1.5px solid var(--warn-border);border-radius:var(--k-r-md);
  padding:14px 16px;margin-top:12px;display:none;animation:fadeIn .3s}
.disclaimer-box.show{display:block}
.disclaimer-icon{font-size:1.2rem;margin-bottom:6px}
.disclaimer-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text);margin-bottom:6px}
.disclaimer-text{font-size:var(--k-fs-caption);color:var(--k-text);line-height:1.6}

/* Budget Chips */
.chip-grid{display:flex;gap:8px;flex-wrap:wrap}
/* Apple HIG: Chip/Pill Button (like iOS Segmented Control item) */
/* .chip = Legacy alias for .nv-chip (used in consultation form selectChip()) */
.chip{
  padding:12px 20px;
  border-radius:var(--k-r-full);
  border:1px solid var(--k-border-strong);
  background:var(--k-surface-solid);
  font-size:var(--k-fs-title);
  font-weight:var(--k-fw-medium);
  color:var(--k-text);
  cursor:pointer;
  transition:background-color var(--k-dur), color var(--k-dur), border-color var(--k-dur), box-shadow var(--k-dur), transform var(--k-dur), opacity var(--k-dur);
  font-family:var(--k-font);
  box-shadow:var(--k-shadow-sm);
  -webkit-tap-highlight-color:transparent;
  white-space:nowrap;
}
.chip:active{transform:scale(.97)}
.chip.active{background:var(--k-brand);color:#fff;border-color:var(--k-brand);box-shadow:0 4px 12px var(--k-brand-glow)}

/* Navigation Buttons */
.nav-buttons{display:flex;gap:10px;padding:20px 16px;position:sticky;bottom:0;
  background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border-top:1px solid var(--k-glass-border);z-index:90;box-shadow:0 -2px 12px rgba(0,0,0,.04)}
.nav-btn{flex:1;padding:16px;border-radius:var(--k-r-md);border:none;font-family:var(--k-font);font-size:var(--k-fs-title);
  font-weight:var(--k-fw-semibold);cursor:pointer;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;-webkit-tap-highlight-color:transparent}
.nav-btn:active{transform:scale(.97)}
.nav-btn.prev{background:var(--k-glass-bg);
  color:var(--k-text2);border:1px solid var(--k-glass-border)}
.nav-btn.next{background:var(--k-brand);color:#fff;box-shadow:0 4px 12px var(--k-brand-glow)}
.nav-btn:disabled{opacity:.4;cursor:default;transform:none}

/* Shared Button Styles */
/* Unified Button Base */
.nav-btn,.login-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-family:var(--k-font);font-weight:var(--k-fw-semibold);font-size:var(--k-fs-title);
  border:none;cursor:pointer;transition:background-color var(--k-dur-fast) ease, color var(--k-dur-fast) ease, border-color var(--k-dur-fast) ease, box-shadow var(--k-dur-fast) ease, transform var(--k-dur-fast) ease, opacity var(--k-dur-fast) ease;
  -webkit-tap-highlight-color:transparent;
  padding:12px 20px;border-radius:var(--k-r-sm);color:var(--k-text);
}
.nav-btn:active,.login-btn:active{
  transform:scale(.97);
}
/* Legacy button aliases → verwende stattdessen .nv-btn--* (BEM) aus design-system.css */
/* REMOVED unused: .nv-btn-glass{border:1px solid var(--k-glass-border);background:var(--k-glass-bg);box-shadow:0 1px 4px rgba(0,0,0,.04)} */
/* REMOVED unused: .nv-btn-accent{background:var(--k-brand);color:#fff;border-color:var(--k-brand)} */
/* REMOVED unused: .nv-btn-accent:active{background:#d9576a} */
/* REMOVED unused: .nv-btn-success{background:var(--k-green);color:#fff;border-color:var(--k-green)} */
/* REMOVED unused: .nv-btn-error{background:var(--k-red);color:#fff;border-color:var(--k-red)} */
/* REMOVED unused: .nv-btn-outline{background:none;border:1.5px solid var(--k-brand);color:var(--k-brand)} */
/* REMOVED unused: .nv-btn-sm{padding:8px 14px;font-size:var(--k-fs-body);min-height:44px;border-radius:var(--k-r-xs,10px)} */
/* REMOVED unused: .nv-btn-lg{padding:14px 24px;font-size:var(--k-fs-body)} */
.nv-btn:disabled{opacity:.5;cursor:default;transform:none}

/* Shared Input Styles */
.input-standard{width:100%;padding:14px 16px;border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm,14px);
  background:var(--k-surface-solid);font-family:var(--k-font);font-size:var(--k-fs-title);color:var(--k-text);
  font-weight:var(--k-fw-regular);
  -webkit-appearance:none;appearance:none;transition:border-color var(--k-dur-fast),box-shadow var(--k-dur-fast)}
.input-standard:focus{outline:none;border-color:var(--k-brand);box-shadow:0 0 0 3px var(--k-brand-light)}
[data-theme="dark"] .input-standard{background:var(--k-surface-solid);color:var(--k-text);border-color:var(--k-border-strong)}

/* Disabled check-item (Addons) */
.check-item.disabled{opacity:.45;cursor:default}
.check-item.disabled:active{transform:none}

/* Disclaimer Accept Checkbox */
.disclaimer-accept.checked{border-color:var(--k-green);background:rgba(45,138,78,.08)}
.disclaimer-accept.checked .check-box{background:var(--k-green);border-color:var(--k-green)}

/* Google Places Autocomplete Dropdown */
.pac-container{font-family:var(--k-font)!important;border-radius:var(--k-r-sm)!important;border:1.5px solid var(--k-border-strong)!important;
  box-shadow:var(--k-shadow-md)!important;margin-top:4px!important;z-index:9999!important}
.pac-item{padding:10px 14px!important;font-size:var(--k-fs-body)!important;cursor:pointer!important;border-top:1px solid var(--k-border-strong)!important}
.pac-item:first-child{border-top:none!important}
.pac-item:hover,.pac-item-selected{background:var(--k-brand-light)!important}
.pac-icon{display:none!important}
.pac-item-query{font-weight:var(--k-fw-semibold)!important;color:var(--k-text)!important}

/* Health Slider */
.slider-wrap{position:relative;padding:8px 0}
.slider-labels{display:flex;justify-content:space-between;font-size:var(--k-fs-body);color:var(--k-text2);padding:0 2px;margin-bottom:4px;font-weight:var(--k-fw-medium)}
.health-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;outline:none;
  background:linear-gradient(to right,var(--k-red) 0%,var(--k-yellow) 50%,var(--k-green) 100%)}
.health-slider::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;
  background:var(--k-surface-solid);border:3px solid var(--k-brand);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.health-slider::-moz-range-thumb{width:32px;height:32px;border-radius:50%;
  background:var(--k-surface-solid);border:3px solid var(--k-brand);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.slider-value{text-align:center;font-size:1.5rem;font-weight:var(--k-fw-black);color:var(--k-text);margin-top:4px}

/* Fixed Price Bar (Step 4) — calmer design */
.price-fixed-bar{position:fixed;bottom:65px;left:0;right:0;z-index:95;background:rgba(255,255,255,.75);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  border-top:1px solid var(--k-glass-border);
  padding:10px 16px;display:none;animation:slideUp .3s ease;align-items:center;
  box-shadow:0 -2px 12px rgba(0,0,0,.04)}
[data-theme="dark"] .price-fixed-bar{background:rgba(28,28,30,.95)}
.price-fixed-bar.show{display:flex}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}

/* Price Bar Detail (expandable) */
.price-bar-detail{position:fixed;bottom:110px;left:0;right:0;z-index:94;background:rgba(255,255,255,.8);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  border-top:1px solid var(--k-glass-border);
  padding:12px 16px;max-height:200px;overflow-y:auto;font-size:var(--k-fs-caption);line-height:1.6;animation:slideUp .2s ease}

/* Price toggle button */
.price-toggle-btn{transition:transform .2s}
.price-toggle-btn.expanded{transform:rotate(180deg)}

/* Bestseller Border — rendered via JS div, no ::after */
.pkg-bestseller{border:2px solid var(--k-text);position:relative}

/* Bestseller Badge (rendered as child div in JS) */
.bestseller-badge{background:var(--k-text);color:#fff;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);padding:2px 8px;
  border-radius:10px;letter-spacing:.5px;text-transform:uppercase;position:absolute;top:-10px;right:12px;
  display:flex;align-items:center;gap:4px}

/* Toast */
.toast{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);
  background:rgba(26,26,26,.88);color:#fff;
  -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  padding:12px 24px;border-radius:var(--k-r-full);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);z-index:10300;
  opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;max-width:90%;text-align:center;
  box-shadow:0 4px 24px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center}
.toast.show{opacity:1}
.toast--success{background:rgba(22,163,74,.92);box-shadow:0 4px 20px rgba(34,197,94,.2)}
.toast--error{background:rgba(220,38,38,.92);box-shadow:0 4px 20px rgba(239,68,68,.2)}
.toast--info{background:rgba(37,99,235,.92);box-shadow:0 4px 20px rgba(59,130,246,.2)}

/* Dashboard */
#dashboard{display:none;background:transparent;min-height:100vh;min-height:100dvh}
#dashboard .app-header{position:sticky;top:0;z-index:100;background:rgba(247,248,250,.85);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--k-glass-border);box-shadow:0 1px 8px rgba(0,0,0,.04)}
[data-theme="dark"] #dashboard .app-header{background:rgba(10,10,10,.7)}

/* Nothing Phone 3a Pro optimization (~412px viewport) */
@media(max-width:420px){
  .pin-pad{gap:10px;max-width:260px}
  .pin-btn{width:66px;height:66px;font-size:1.4rem}
  .pin-dots{gap:10px}
  .pin-dot{width:12px;height:12px}
  .section-card{padding:18px 16px}
  .field input,.field select,.field textarea{padding:12px;font-size:var(--k-fs-title)}
  .field label{font-size:var(--k-fs-body)}
  .field-hint{font-size:var(--k-fs-body)}
  .check-item{padding:10px 12px;min-height:48px}
  .check-label{font-size:var(--k-fs-title)}
  .check-sub{font-size:var(--k-fs-body)}
  .chip{padding:12px 18px;font-size:var(--k-fs-body)}
  .header-btn{padding:8px 12px;font-size:var(--k-fs-caption);min-height:44px}
  .header-btn-icon{width:44px;height:44px;font-size:var(--k-fs-body)}
  .step-dot{width:32px;height:32px;font-size:var(--k-fs-caption)}
  .nav-btn{padding:14px;font-size:var(--k-fs-title)}
  .nav-buttons{padding:16px 14px}
  .price-fixed-bar{padding:8px 14px}
  .slider-labels{font-size:var(--k-fs-body)}
  .section-sub{font-size:var(--k-fs-body)}
  .photo-grid{grid-template-columns:repeat(3,1fr)}
  .sig-canvas{height:160px}
  /* sig-overlay is now JS-managed, no CSS rotation */
}

/* Signature Canvas */
/* Signature Preview (in-form) */
.sig-preview-box{border:2px dashed var(--k-border-strong);border-radius:var(--k-r-sm);padding:24px;text-align:center;cursor:pointer;
  background:#fff;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;min-height:80px;display:flex;align-items:center;justify-content:center}
.sig-preview-box:active{transform:scale(.97);border-color:var(--k-brand)}
.sig-preview-box.has-sig{border-style:solid;border-color:var(--k-brand);padding:8px}
.sig-preview-placeholder{font-size:var(--k-fs-title);font-weight:var(--k-fw-semibold);color:var(--k-brand);letter-spacing:.5px}
.sig-preview-img{width:100%;height:auto;max-height:120px;object-fit:contain}

/* Signature Fullscreen Overlay */
.sig-overlay-btn{padding:10px 14px;border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm);
  background:var(--k-surface-solid);font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;
  touch-action:manipulation;color:var(--k-text)}
.sig-overlay-btn:active{transform:scale(.97)}
.sig-overlay-btn.primary{background:var(--k-brand);color:#fff;border-color:var(--k-brand)}

/* Old sig styles — keep for backwards compat */
.sig-wrapper{position:relative;border:2px solid var(--k-border-strong);border-radius:var(--k-r-sm);overflow:hidden;background:#fff}
.sig-canvas{display:block;width:100%;height:200px;touch-action:none;cursor:crosshair}
.sig-clear-btn{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.85);border:1px solid var(--k-border-strong);
  border-radius:var(--k-r-full);padding:6px 14px;font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;
  font-family:var(--k-font);color:var(--k-text2);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s}
.sig-clear-btn:active{background:var(--k-red);color:#fff;border-color:var(--k-red)}

/* Photo Upload */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.photo-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.photo-add-btn{border:2px dashed var(--k-border-strong);border-radius:var(--k-r-sm);aspect-ratio:3/4;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--k-bg);
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;font-family:var(--k-font);color:var(--k-text3);-webkit-tap-highlight-color:transparent}
.photo-add-btn:active{border-color:var(--k-brand);color:var(--k-brand)}
.photo-add-btn .plus{font-size:1.5rem;font-weight:300}
.photo-add-btn span{font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold)}
.photo-label-input{width:100%;margin-top:4px;padding:4px 6px;border:1px solid var(--k-border-strong);border-radius:4px;
  font-family:var(--k-font);font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);text-align:center;background:var(--k-surface-solid);color:var(--k-text)}
.photo-open-btn{position:absolute;bottom:0;left:0;width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;font-size:var(--k-fs-caption);
  display:flex;align-items:center;justify-content:center;z-index:2;-webkit-tap-highlight-color:transparent}
.photo-card{border:2px dashed var(--k-border-strong);border-radius:var(--k-r-sm);overflow:hidden;cursor:pointer;
  aspect-ratio:3/4;position:relative;transition:border-color .2s;background:var(--k-bg)}
.photo-card:active{border-color:var(--k-brand)}
.photo-card.has-photo{border-style:solid;border-color:var(--k-brand)}
.photo-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-placeholder{text-align:center;font-size:1.5rem;color:var(--k-text3);line-height:1.6}
.photo-placeholder span{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);display:block}
.photo-remove{position:absolute;top:0;right:0;width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;font-size:var(--k-fs-caption);
  display:flex;align-items:center;justify-content:center;z-index:2;-webkit-tap-highlight-color:transparent}

/* Neukunden Status Badges */
.nk-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--k-r-full);
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);letter-spacing:.3px;text-transform:uppercase;border:1.5px solid;flex-shrink:0}
.nk-status-badge.offen{color:var(--k-red);border-color:var(--k-red);background:rgba(255,59,48,.06)}
.nk-status-badge.ausstehend{color:var(--k-yellow);border-color:var(--k-yellow);background:rgba(255,149,0,.06)}
.nk-status-badge.erledigt{color:var(--k-green);border-color:var(--k-green);background:rgba(52,199,89,.06)}

/* Neukunden Status Dot (Liste) */
.nk-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.nk-dot.offen{background:var(--k-red)}
.nk-dot.ausstehend{background:var(--k-yellow)}
.nk-dot.erledigt{background:var(--k-green)}

/* Neukunden Filter Tabs */
.nk-filter-bar{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}
.nk-filter-btn{background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);color:var(--k-text2);padding:8px 14px;
  border-radius:var(--k-r-full);font-size:var(--k-fs-caption);cursor:pointer;font-family:var(--k-font);
  font-weight:var(--k-fw-semibold);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.nk-filter-btn.active{background:var(--k-text);color:#fff;border-color:var(--k-text)}
.nk-filter-btn .nk-count{display:inline-block;min-width:16px;text-align:center;background:rgba(0,0,0,.1);
  border-radius:50%;padding:1px 5px;font-size:var(--k-fs-micro);margin-left:4px}
.nk-filter-btn.active .nk-count{background:rgba(255,255,255,.25)}

/* Neukunden Detail Overlay */
.nk-detail-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--k-border-strong)}
.nk-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.nk-detail-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.nk-detail-value{font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);line-height:1.5}

/* Neukunden Kontakt-Buttons */
.nk-kontakt-bar{display:flex;gap:8px;margin:12px 0}
.nk-kontakt-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);background:var(--k-glass-bg);
  cursor:pointer;
  font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent;min-height:44px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.nk-kontakt-btn:active{border-color:var(--k-brand);background:var(--k-brand-light)}
.nk-kontakt-btn .icon{font-size:1.1rem}

/* Neukunden Historie Timeline */
.nk-timeline{padding:0;margin:0;list-style:none}
.nk-timeline-item{position:relative;padding-left:24px;padding-bottom:16px}
.nk-timeline-item:last-child{padding-bottom:0}
.nk-timeline-item::before{content:'';position:absolute;left:5px;top:8px;bottom:0;width:2px;background:var(--k-border-strong)}
.nk-timeline-item:last-child::before{display:none}
.nk-timeline-item .dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--k-border-strong);background:var(--k-surface-solid)}
.nk-timeline-item.status .dot{background:#e67e22;border-color:#e67e22}
.nk-timeline-item.kontakt .dot{background:var(--k-brand);border-color:var(--k-brand)}
.nk-timeline-item.notiz .dot{background:var(--k-text2);border-color:var(--k-text2)}
.nk-timeline-meta{font-size:var(--k-fs-micro);color:var(--k-text3);margin-bottom:2px}
.nk-timeline-text{font-size:var(--k-fs-body);line-height:1.5}

/* Neukunden Notiz-Box */
.nk-notiz-box{margin-top:12px;padding:12px;border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm);background:var(--k-bg)}
.nk-notiz-box textarea{width:100%;border:none;background:transparent;font-family:var(--k-font);font-size:var(--k-fs-body);
  resize:vertical;min-height:60px;outline:none;color:var(--k-text)}
.nk-notiz-box .nk-notiz-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}
.nk-notiz-send{padding:8px 18px;border:none;border-radius:var(--k-r-full);background:var(--k-brand);color:#fff;
  font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;min-height:36px}
.nk-notiz-send:active{background:#d9576a}

/* Thank You Page Overlay */
.thankyou-overlay{position:fixed;inset:0;z-index:10000;background:var(--k-bg);display:flex;align-items:center;
  justify-content:center;animation:fadeIn .6s ease}
.thankyou-box{text-align:center;padding:40px 24px;max-width:360px;width:100%}
.thankyou-sparkle{font-size:4rem;margin-bottom:16px;animation:sparkle 1.5s ease infinite}
.thankyou-title{font-family:var(--k-font);font-size:1.6rem;font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:1px;
  margin-bottom:12px;line-height:1.3}
.thankyou-sub{font-size:var(--k-fs-body);color:var(--k-text2);font-weight:var(--k-fw-regular);margin-bottom:32px;line-height:1.6}
.thankyou-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--k-brand);color:#fff;
  border:none;border-radius:var(--k-r-full);font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;box-shadow:0 4px 12px var(--k-brand-glow)}
.thankyou-btn:active{background:#d9576a;transform:scale(.97)}
.thankyou-id{display:inline-block;margin-top:16px;font-size:var(--k-fs-caption);color:var(--k-text3);font-weight:var(--k-fw-medium)}
@keyframes sparkle{0%,100%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.15) rotate(3deg)}75%{transform:scale(1.05) rotate(-2deg)}}

/* Badge System */
.header-badge-wrap{position:relative;display:inline-flex}
.badge-dot{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;border-radius:50%;background:var(--k-red);
  color:#fff;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);display:flex;align-items:center;justify-content:center;
  padding:0 4px;box-shadow:0 2px 6px rgba(192,57,43,.4);animation:badgePop .3s ease}
.badge-dot.hidden{display:none}
@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}

/* Mail Template Selector */
.nk-mail-section{margin-top:4px}
.nk-mail-template-bar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.nk-mail-tpl-btn{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 10px;border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);background:var(--k-glass-bg);
  cursor:pointer;font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent;min-height:44px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.nk-mail-tpl-btn:active,.nk-mail-tpl-btn.active{border-color:var(--k-brand);background:var(--k-brand-light);color:var(--k-brand)}
.nk-lang-bar{display:flex;gap:6px;margin:8px 0}
.nk-lang-btn{padding:8px 16px;border:1px solid var(--k-glass-border);border-radius:var(--k-r-full);
  background:var(--k-glass-bg);
  cursor:pointer;font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text2);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent}
.nk-lang-btn.active{background:var(--k-text);color:#fff;border-color:var(--k-text)}
.nk-mail-preview{margin:12px 0;padding:14px;border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm);
  background:var(--k-surface-solid);font-size:var(--k-fs-body);line-height:1.7;color:var(--k-text2)}
.nk-mail-preview strong{color:var(--k-text);font-weight:var(--k-fw-semibold)}
.nk-mail-send-btn{width:100%;padding:14px;border:none;border-radius:var(--k-r-sm);background:var(--k-brand);
  color:#fff;font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}
.nk-mail-send-btn:active{background:#d9576a}
.nk-mail-send-btn:disabled{opacity:.5;cursor:not-allowed}

/* ============================================================
   Task-System Styles (Phase 5)
   ============================================================ */

/* Task Sub-Tabs */
.task-sub-tabs{display:flex;gap:0;margin-bottom:12px;background:var(--k-glass-bg);
  border-radius:var(--k-r-sm);border:1px solid var(--k-glass-border);overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04)}
.task-sub-tab{flex:1;padding:12px 8px;border:none;background:none;font-family:var(--k-font);font-size:var(--k-fs-body);
  font-weight:var(--k-fw-semibold);color:var(--k-text2);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;
  text-align:center;min-height:44px}
.task-sub-tab:not(:last-child){border-right:1.5px solid var(--k-border-strong)}
.task-sub-tab.active{background:var(--k-text);color:#fff}
.task-sub-tab:active{opacity:.7}

/* Task Cards */
.task-card{display:flex;align-items:flex-start;gap:10px;padding:14px var(--k-sp-md);
  background:var(--k-surface-solid);border-radius:var(--k-r-xs);border:1px solid var(--k-border-strong);box-shadow:none;
  margin-bottom:10px;cursor:pointer;transition:transform var(--k-dur-fast) ease;
  -webkit-tap-highlight-color:transparent}
.task-card:active{transform:scale(.97)}
.task-card.overdue{box-shadow:var(--k-shadow-sm), -3px 0 0 var(--k-red) inset}
.task-card.today{box-shadow:var(--k-shadow-sm), -3px 0 0 var(--k-brand) inset}
.task-card.done{opacity:.6}

/* Task Checkbox */
.task-check{width:44px;height:44px;border-radius:50%;border:2px solid var(--k-border-strong);flex-shrink:0;
  cursor:pointer;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
  padding:9px;background-clip:content-box;-webkit-tap-highlight-color:transparent}
.task-check:hover,.task-check:active{border-color:var(--k-brand);background:var(--k-brand-light)}
.task-check.checked{background:var(--k-green);border-color:var(--k-green)}

/* Task Content */
.task-content{flex:1;min-width:0}
.task-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text);line-height:1.3;word-break:break-word}
.task-title.done{text-decoration:line-through;color:var(--k-text3)}
.task-meta{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:3px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}

/* Task Detail Overlay */
.task-overlay{position:fixed;inset:0;z-index:9998;background:var(--k-bg);overflow-y:auto;animation:fadeIn .3s;padding-top:env(safe-area-inset-top,0px)}
.task-overlay-inner{max-width:600px;margin:0 auto}

/* Task Detail Grid */
.task-detail-grid{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.task-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--k-fs-body);
  padding:6px 0;border-bottom:1px solid var(--k-border-strong)}
.task-detail-row:last-child{border-bottom:none}
.task-detail-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text2);text-transform:uppercase;letter-spacing:.3px}

/* Task Priority */
.task-card.priority{box-shadow:var(--k-shadow-sm), -3px 0 0 var(--priority) inset}
.task-star{font-size:var(--k-fs-body);flex-shrink:0;cursor:pointer;margin-top:1px;-webkit-tap-highlight-color:transparent;line-height:1}
.task-star.active,.task-star.filled{color:var(--priority)}
.task-star.empty{color:var(--k-border-strong);font-size:var(--k-fs-body)}
.task-card.overdue{box-shadow:var(--k-shadow-sm), -3px 0 0 var(--k-red) inset;background:rgba(255,59,48,.04)}
[data-theme="dark"] .task-card.overdue{background:rgba(255,69,58,.08)}
.task-overdue-badge{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  background:rgba(255,59,48,.1);color:var(--k-red);text-transform:uppercase;letter-spacing:.3px}
.task-kategorie-badge{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);
  background:var(--k-bg2);color:var(--k-text2);text-transform:uppercase;letter-spacing:.3px}

/* Hamburger Menu */
.hamburger-overlay{position:fixed;inset:0;z-index:10000;display:flex;justify-content:flex-end}
.hamburger-backdrop{flex:1;background:rgba(0,0,0,.4)}
[data-theme="light"] .hamburger-backdrop,
[data-theme="light"] .hamburger-backdrop{background:rgba(0,0,0,.25)}
.hamburger-panel{width:280px;background:var(--k-surface-solid);overflow-y:auto;
  animation:slideInRight .25s ease;border-left:1px solid var(--k-border-strong)}
[data-theme="dark"] .hamburger-panel{background:#1C1C1E}
@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}
.hamburger-header{padding:24px 20px 16px;border-bottom:1px solid var(--k-border-strong)}
.hamburger-user{padding:24px 20px 16px;border-bottom:1px solid var(--k-border-strong)}
.hamburger-user-name{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold)}
.hamburger-user-role{font-size:var(--k-fs-caption);color:var(--k-text2);margin-top:2px;text-transform:capitalize}
.hamburger-nav{padding:8px 0}
.hamburger-item{display:flex;align-items:center;gap:14px;padding:14px 20px;cursor:pointer;
  transition:background .15s;font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);color:var(--k-text);
  -webkit-tap-highlight-color:transparent;min-height:48px}
.hamburger-item:active{background:var(--k-bg2)}
[data-theme="dark"] .hamburger-item:active{background:#2C2C2E}
.hamburger-item.active{color:var(--k-brand);font-weight:var(--k-fw-semibold)}
.hamburger-item .hi-icon{font-size:1.2rem;width:28px;text-align:center;flex-shrink:0}
.hamburger-item .hi-badge{margin-left:auto;min-width:20px;height:20px;border-radius:10px;
  background:var(--k-red);color:#fff;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;padding:0 6px}
.hamburger-divider{height:1px;background:var(--k-border-strong);margin:4px 20px}
.hamburger-item.logout{color:var(--k-red)}
.hamburger-badge{min-width:20px;height:20px;border-radius:10px;background:var(--k-brand);color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);display:flex;align-items:center;justify-content:center;padding:0 6px}

/* ============================================
 * HOME DASHBOARD v5.0 — PINK GLASSMORPHISM
 * Brand Pink (#F27182), no glass borders,
 * sidebar+header unified, clean feminine look
 * ============================================ */

/* Container */
.home-screen{
  padding:20px 16px 120px;max-width:1200px;margin:0 auto;
  min-height:100vh;position:relative}
@media(min-width:500px){.home-screen{padding:28px 24px 120px}}

/* ── Gradient Background on #dashboard ── */
#dashboard.home-gradient{
  background:
    linear-gradient(135deg, rgba(242,113,130,.18) 0%, rgba(252,228,232,.2) 30%, transparent 60%),
    linear-gradient(225deg, rgba(242,113,130,.08) 0%, transparent 50%),
    linear-gradient(180deg, #FFF5F6 0%, #FEFAFB 40%, #FEFEFE 100%) !important}
[data-theme="dark"] #dashboard.home-gradient{
  background:transparent !important}
[data-theme="light"] #dashboard.home-gradient{
  background:transparent !important}

/* Header glass on gradient — unified with sidebar */
#dashboard.home-gradient .app-header-new{
  background:rgba(255,245,246,.55)!important;
  backdrop-filter:blur(28px) saturate(180%)!important;-webkit-backdrop-filter:blur(28px) saturate(180%)!important;
  border-bottom:none!important;
  box-shadow:none!important}
#dashboard.home-gradient .header-icon-btn.outline-btn{
  border:none;
  background:rgba(242,113,130,.06);
  box-shadow:none}
#dashboard.home-gradient .header-icon-btn .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 300;color:rgba(242,113,130,.7)}
#dashboard.home-gradient .header-avatar{
  box-shadow:0 0 0 2px #fff, 0 0 0 3.5px rgba(242,113,130,.25)}
[data-theme="dark"] #dashboard.home-gradient .app-header-new{
  background:rgba(10,10,10,.5)!important;
  box-shadow:none!important}
[data-theme="dark"] #dashboard.home-gradient .header-icon-btn.outline-btn{
  border:none;background:rgba(255,255,255,.06)}

/* Rounded content area — ENTFERNT: kein abgerundetes Rechteck mehr */
#dashboard.home-gradient #dash-content{
  border-radius:0;
  background:transparent;
  margin-top:0}
[data-theme="dark"] #dashboard.home-gradient #dash-content{
  background:transparent}

/* Desktop 2-Column Layout */
.home-grid{display:grid;grid-template-columns:1fr;gap:20px}
.home-main{display:flex;flex-direction:column;gap:14px}
.home-side{display:flex;flex-direction:column;gap:14px}
@media(min-width:769px){
  .home-grid{grid-template-columns:1fr 340px;gap:24px;align-items:start}
  .home-main{display:flex;flex-direction:column;gap:16px}
  .home-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:80px}
}

/* Widget rows — single column on mobile */
@media(max-width:600px){
  .home-widget-row{grid-template-columns:1fr}
}

/* Greeting — Bold Modern */
.home-greeting{padding:4px 0 20px}
@media(min-width:500px){.home-greeting{padding:4px 0 28px}}
.home-greeting-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:0 0 4px;font-size:var(--k-fs-body);color:var(--k-text3);font-weight:var(--k-fw-regular)}
.home-greeting-name{margin:0;font-size:2rem;font-weight:var(--k-fw-black);color:var(--k-text);
  letter-spacing:-.8px;line-height:1.05}
/* Wetter Inline — Prominent mit Tages-Range */
.home-greeting-wetter{display:inline-flex;align-items:center;gap:4px;font-weight:var(--k-fw-medium);color:var(--k-text2)}
.home-greeting-wetter .material-symbols-outlined{font-size:18px;color:#FF9500;font-variation-settings:'FILL' 1,'wght' 300}
.home-wetter-prominent{margin-top:10px}
.home-wetter-block{display:flex;align-items:center;gap:8px}
.home-wetter-block .home-wetter-icon{font-size:36px;color:#FF9500;font-variation-settings:'FILL' 1,'wght' 300}
.home-wetter-block .home-wetter-temp{font-size:1.8rem;font-weight:var(--k-fw-black);color:var(--k-text);letter-spacing:-.5px}
.home-wetter-range{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text2)}
.home-wetter-desc{font-size:var(--k-fs-body);color:var(--k-text2);text-transform:capitalize;font-weight:var(--k-fw-medium)}
.home-greeting-version{font-family:monospace;font-size:var(--k-fs-micro);opacity:.4;letter-spacing:.5px}

/* Quick Access v2 */
.home-qa-btn{border-radius:var(--k-r-md)}
.home-qa-btn .material-symbols-outlined{font-variation-settings:'FILL' 1,'wght' 400;font-size:26px}
.home-qa-btn span:last-child{font-size:var(--k-fs-caption)}

/* Stats as Grouped List */
.home-stats-list{border-radius:var(--k-r-md);overflow:hidden;margin-bottom:20px}
.home-stats-list .nv-card-row:last-child{border-bottom:none}
.home-stats-list .nv-card-row{border-bottom:1px solid var(--k-border)}
.home-stat-value-inline{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);color:var(--k-text);
  min-width:32px;text-align:right}
.home-stat-label-inline{font-size:var(--k-fs-body);color:var(--k-text2);font-weight:var(--k-fw-medium)}

/* Performance Grid (inside card) */
.home-perf-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.home-perf-compact-item{text-align:center;padding:8px 4px}
.home-perf-compact-val{font-size:1.25rem;font-weight:var(--k-fw-bold);color:var(--k-text);
  line-height:1;letter-spacing:-.3px}
.home-perf-compact-lbl{font-size:var(--k-fs-micro);color:var(--k-text3);margin-top:4px;
  font-weight:var(--k-fw-medium);text-transform:uppercase;letter-spacing:.3px}

/* Home Section Headers (unified) */
.home-section-hdr{display:flex;align-items:center;gap:8px;padding:16px 16px 8px}
.home-section-hdr-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0}
.home-section-hdr-icon .material-symbols-outlined{font-size:16px;font-variation-settings:'FILL' 1,'wght' 400}
.home-section-hdr-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text);flex:1}
.home-section-hdr-link{font-size:var(--k-fs-body);color:var(--k-brand);font-weight:var(--k-fw-semibold);
  cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:2px}

/* ── Bold Stats (Mockup-Style: 4 nebeneinander) ── */
.home-bold-stats{
  display:flex;gap:0;margin:0 0 20px;
  border-bottom:1px solid var(--k-border);
  padding-bottom:16px;
}
.home-bold-stat{
  flex:1;text-align:center;cursor:pointer;padding:8px 4px;
  -webkit-tap-highlight-color:transparent;
  position:relative;
}
.home-bold-stat:not(:last-child)::after{
  content:'';position:absolute;right:0;top:20%;bottom:20%;
  width:1px;background:var(--k-border);
}
.home-bold-val{
  font-size:1.5rem;font-weight:var(--k-fw-black);color:var(--k-text);
  line-height:1;letter-spacing:-.5px;
}
.home-bold-val--danger{color:var(--k-red)}
.home-bold-lbl{
  font-size:9px;font-weight:var(--k-fw-bold);color:var(--k-text3);
  margin-top:4px;text-transform:uppercase;letter-spacing:.8px;
}

/* Bottom Spacer */
.home-spacer{height:80px}

/* ── Glass Card (Foundation) ── */
.home-glass{
  background:rgba(255,255,255,.55);
  border:none;
  border-radius:var(--k-r-sm);padding:16px;
  box-shadow:
    0 4px 20px rgba(242,113,130,.05),
    0 8px 32px rgba(0,0,0,.03);
  transition:transform var(--k-dur-fast),box-shadow var(--k-dur-fast)}
.home-glass:active{transform:scale(.97)}
.home-glass:hover{box-shadow:
    0 6px 24px rgba(242,113,130,.07),
    0 12px 40px rgba(0,0,0,.04)}
[data-theme="dark"] .home-glass{
  background:rgba(28,28,30,.45);
  box-shadow:0 4px 16px rgba(0,0,0,.15),0 12px 40px rgba(0,0,0,.12)}
[data-theme="light"] .home-glass{
  background:rgba(255,255,255,.7);
  box-shadow:0 2px 12px rgba(0,0,0,.06),0 8px 32px rgba(0,0,0,.04)}

/* ── Stat Cards (Top Row) ── */
.home-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
@media(min-width:500px){.home-stats{grid-template-columns:repeat(4,1fr);gap:12px}}

.home-stat{cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}
.home-stat-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  margin-bottom:10px}
@media(min-width:500px){.home-stat-icon{width:44px;height:44px;border-radius:var(--k-r-xs);margin-bottom:14px}}
@media(min-width:500px){.home-glass{padding:22px;border-radius:var(--k-r-sm)}}
.home-stat-icon .material-symbols-outlined{font-size:24px;font-variation-settings:'FILL' 0,'wght' 300}
.home-stat-icon--blue{background:rgba(88,86,214,.08);color:#5856D6}
.home-stat-icon--green{background:rgba(52,199,89,.08);color:#34C759}
.home-stat-icon--orange{background:rgba(255,149,0,.08);color:#FF9500}
.home-stat-icon--purple{background:rgba(130,100,200,.1);color:#8264C8}
.home-stat-icon--pink{background:rgba(242,113,130,.08);color:#F27182}
.home-stat-value{font-size:1.75rem;font-weight:var(--k-fw-bold);color:var(--k-text);line-height:1;letter-spacing:-.5px}
.home-stat-value .home-stat-cents{font-size:1rem;font-weight:var(--k-fw-regular);color:var(--k-text3)}
.home-stat-label{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:6px;font-weight:var(--k-fw-medium);
  letter-spacing:.3px;text-transform:uppercase}
.home-stat-change{display:inline-flex;align-items:center;gap:2px;font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);
  padding:3px 9px;border-radius:var(--k-r-full);margin-top:8px}
.home-stat-change--up{color:#34C759;background:rgba(52,199,89,.1)}
.home-stat-change--down{color:#FF3B30;background:rgba(255,59,48,.08)}

/* Online-Anfragen pulsierender Punkt */
.home-pulse-dot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:#007AFF;animation:homePulseDot 1.5s ease-in-out infinite}
.home-pulse-dot::before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;background:rgba(0,122,255,.3);animation:homePulseRing 1.5s ease-out infinite}
@keyframes homePulseDot{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes homePulseRing{0%{transform:scale(.8);opacity:1}100%{transform:scale(2);opacity:0}}

/* ── Card Header (shared) ── */
.home-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.home-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0}
.home-card-icon .material-symbols-outlined{font-size:20px;font-variation-settings:'FILL' 0,'wght' 300}
.home-card-title{font-weight:var(--k-fw-semibold);font-size:var(--k-fs-title);color:var(--k-text);flex:1}
.home-card-link{font-size:var(--k-fs-body);color:var(--k-brand);font-weight:var(--k-fw-semibold);
  cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:2px}
.home-card-link .material-symbols-outlined{font-size:16px}

/* ── Umsatz Widget ── */
.home-umsatz-hero{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.home-umsatz-big{font-size:2.2rem;font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:-1px;line-height:1}
.home-umsatz-big .umsatz-cents{font-size:1.1rem;font-weight:var(--k-fw-regular);color:var(--k-text3)}
.home-umsatz-period{font-size:var(--k-fs-body);color:var(--k-text3);font-weight:var(--k-fw-medium)}
.home-umsatz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;
  border-top:1px solid rgba(0,0,0,.04);padding-top:16px}
[data-theme="dark"] .home-umsatz-grid{border-top-color:rgba(255,255,255,.08)}
.home-umsatz-val{font-weight:var(--k-fw-bold);font-size:1.1rem;color:var(--k-text);letter-spacing:-.3px}
.home-umsatz-lbl{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:3px;font-weight:var(--k-fw-medium)}
.home-umsatz-sub{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:2px}

/* ── Quick Actions ── */
.home-actions{display:flex;gap:10px;margin-bottom:8px}
.home-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 16px;border:none;border-radius:var(--k-r-sm);cursor:pointer;
  font-weight:var(--k-fw-semibold);font-size:var(--k-fs-title);font-family:var(--k-font);
  color:var(--k-text);-webkit-tap-highlight-color:transparent;
  background:rgba(255,255,255,.55);
  box-shadow:0 4px 16px rgba(242,113,130,.05),0 8px 32px rgba(0,0,0,.03);
  transition:transform var(--k-dur-fast)}
.home-action-btn:active{transform:scale(.97)}
.home-action-btn .material-symbols-outlined{font-size:20px;color:var(--k-brand);
  font-variation-settings:'FILL' 0,'wght' 300}
.home-action-btn--active{background:rgba(52,199,89,.08)}
.home-action-btn--active,.home-action-btn--active .material-symbols-outlined{color:#34C759}
[data-theme="dark"] .home-action-btn{
  background:rgba(28,28,30,.45);
  box-shadow:0 4px 16px rgba(0,0,0,.15)}

/* ── Clock Widget ── */
.home-clock{display:flex;align-items:center;gap:14px}
.home-clock-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.home-clock-dot--in{background:#34C759;box-shadow:0 0 8px rgba(52,199,89,.4)}
.home-clock-dot--out{background:var(--k-text3)}
.home-clock-info{flex:1}
.home-clock-status{font-weight:var(--k-fw-semibold);font-size:var(--k-fs-title);color:var(--k-text)}
.home-clock-hours{font-size:var(--k-fs-body);color:var(--k-text3);margin-top:2px}
.home-clock-action{padding:8px 18px;border-radius:var(--k-r-full);border:none;cursor:pointer;
  font-family:var(--k-font);font-weight:var(--k-fw-semibold);font-size:var(--k-fs-body);
  transition:transform var(--k-dur-fast);-webkit-tap-highlight-color:transparent}
.home-clock-action--in{background:#34C759;color:#fff;box-shadow:0 4px 12px rgba(52,199,89,.25)}
.home-clock-action--out{background:rgba(255,59,48,.08);color:#FF3B30}
.home-clock-action--protokoll{background:rgba(242,113,130,.08);color:var(--k-brand);
  display:flex;align-items:center}

/* ── Row (shared) ── */
.home-row{display:flex;align-items:center;gap:10px;padding:10px 0;
  border-bottom:1px solid rgba(0,0,0,.04)}
.home-row:last-child{border-bottom:none;padding-bottom:0}
[data-theme="dark"] .home-row{border-bottom-color:rgba(255,255,255,.06)}
.home-row-icon{font-size:20px;color:var(--k-text3);flex-shrink:0;
  font-variation-settings:'FILL' 0,'wght' 300}
.home-row-icon--urgent{color:#FF3B30;font-variation-settings:'FILL' 1,'wght' 400}
.home-row-icon--green{color:#34C759}
.home-row-text{flex:1;font-size:var(--k-fs-title);color:var(--k-text);line-height:1.3}
.home-row-text-sub{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:2px}
.home-row-meta{font-size:var(--k-fs-caption);color:var(--k-text3);flex-shrink:0}
.home-row-arrow{font-size:16px;color:var(--k-text3);flex-shrink:0}

/* Tags — farbige Pills */
.home-tag{font-size:var(--k-fs-caption);padding:3px 10px;border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold)}
.home-tag--blue{background:rgba(88,86,214,.08);color:#5856D6}
.home-tag--purple{background:rgba(130,100,200,.08);color:#8264C8}
.home-tag--green{background:rgba(52,199,89,.08);color:#34C759}
.home-tag--pink{background:rgba(242,113,130,.08);color:#F27182}
.home-tag--orange{background:rgba(255,149,0,.08);color:#FF9500}

/* Badge */
.home-badge{background:var(--k-brand);color:#fff;font-size:var(--k-fs-caption);padding:2px 8px;
  border-radius:var(--k-r-full);font-weight:var(--k-fw-semibold);margin-left:auto}

/* News Items */
.home-news-item{padding:12px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  border-bottom:1px solid rgba(0,0,0,.04);display:flex;gap:12px;align-items:flex-start}
.home-news-item:last-child{border-bottom:none;padding-bottom:0}
[data-theme="dark"] .home-news-item{border-bottom-color:rgba(255,255,255,.06)}
.home-news-item--read{opacity:.5}
.home-news-title{font-size:var(--k-fs-title);font-weight:var(--k-fw-semibold);display:flex;align-items:center;gap:6px;
  color:var(--k-text);line-height:1.3}
.home-news-item--read .home-news-title{font-weight:var(--k-fw-regular)}
.home-news-pin{font-size:14px;color:var(--k-brand)}
.home-news-dot{color:var(--k-brand);font-size:10px;line-height:1}
.home-news-img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--k-bg2)}
.home-news-body{flex:1;min-width:0}
.home-news-preview{font-size:var(--k-fs-body);color:var(--k-text3);margin-top:3px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-news-meta{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:4px}

/* Task Checkbox */
.home-task-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--k-border-strong);
  background:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;padding:0}
.home-task-check:active{transform:scale(.9)}
.home-task-check .material-symbols-outlined{font-size:16px;opacity:0;color:#fff;
  font-variation-settings:'FILL' 1,'wght' 400}
.home-task-check.done{background:var(--k-brand);border-color:var(--k-brand)}
.home-task-check.done .material-symbols-outlined{opacity:1}

/* Lager Warning */
.home-warn{display:flex;align-items:center;gap:12px;
  background:rgba(255,149,0,.06);border:1px solid rgba(255,149,0,.12);border-radius:var(--k-r-xs);padding:14px 16px}
.home-warn-icon{font-size:22px;color:#FF9500;flex-shrink:0;font-variation-settings:'FILL' 0,'wght' 300}
.home-warn-text{font-size:var(--k-fs-body);color:var(--k-text);font-weight:var(--k-fw-medium)}
.home-warn-text strong{font-weight:var(--k-fw-bold)}

/* ── Stamp Slider ── */
.home-stamp-slider{position:relative;height:56px;border-radius:28px;overflow:hidden;
  background:rgba(52,199,89,.08);-webkit-tap-highlight-color:transparent;touch-action:none}
.home-stamp-slider.is-out{background:rgba(255,59,48,.06)}
.home-stamp-slider-track{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-weight:var(--k-fw-semibold);font-size:var(--k-fs-title);
  color:var(--k-text3);pointer-events:none;letter-spacing:.3px}
.home-stamp-slider-track .material-symbols-outlined{font-size:16px;margin-left:6px;
  animation:slideHint 1.5s ease-in-out infinite}
@keyframes slideHint{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateX(6px);opacity:1}}
.home-stamp-thumb{position:absolute;top:4px;left:4px;width:48px;height:48px;
  border-radius:var(--k-r-sm);background:#34C759;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(52,199,89,.3);cursor:grab;z-index:2;
  transition:box-shadow .2s;touch-action:none}
.home-stamp-slider.is-out .home-stamp-thumb{background:#FF3B30;
  box-shadow:0 4px 12px rgba(255,59,48,.3)}
.home-stamp-thumb:active{cursor:grabbing;box-shadow:0 6px 20px rgba(52,199,89,.4)}
.home-stamp-thumb .material-symbols-outlined{font-size:24px;font-variation-settings:'FILL' 1,'wght' 400}
.home-stamp-fill{position:absolute;top:0;left:0;bottom:0;width:52px;
  background:rgba(52,199,89,.12);border-radius:28px;transition:width .1s linear;z-index:1}
.home-stamp-slider.is-out .home-stamp-fill{background:rgba(255,59,48,.1)}

/* ── Performance Card ── */
.home-perf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:8px}
.home-perf-item{text-align:center;padding:10px 4px}
.home-perf-val{font-size:1.4rem;font-weight:var(--k-fw-bold);color:var(--k-text);line-height:1;letter-spacing:-.3px}
.home-perf-label{font-size:var(--k-fs-micro);color:var(--k-text3);margin-top:5px;font-weight:var(--k-fw-medium);
  text-transform:uppercase;letter-spacing:.3px}
.home-perf-bar{height:6px;border-radius:3px;background:rgba(0,0,0,.04);margin-top:6px;overflow:hidden}
.home-perf-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}
.home-perf-bar-fill--good{background:var(--k-green)}
.home-perf-bar-fill--warn{background:#FF9500}
.home-perf-bar-fill--bad{background:var(--k-red)}

/* ── Team Ranking ── */
.home-rank-row{display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.04)}
.home-rank-row:last-child{border-bottom:none}
.home-rank-pos{width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);flex-shrink:0}
.home-rank-pos--1{background:linear-gradient(135deg,#FFD700,#FFA500);color:#fff}
.home-rank-pos--2{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#fff}
.home-rank-pos--3{background:linear-gradient(135deg,#CD7F32,#A0522D);color:#fff}
.home-rank-pos--other{background:var(--k-bg2);color:var(--k-text3)}
.home-rank-name{flex:1;font-size:var(--k-fs-title);font-weight:var(--k-fw-medium)}
.home-rank-name.is-me{font-weight:var(--k-fw-bold);color:var(--k-brand)}
.home-rank-val{font-size:var(--k-fs-body);color:var(--k-text3);font-weight:var(--k-fw-semibold)}

/* Loading & Error */
.home-loading{text-align:center;padding:80px}
.home-error{text-align:center;padding:80px;color:var(--k-red)}
.home-error .material-symbols-outlined{font-size:48px;opacity:.6}
.home-error p{margin-top:12px;font-size:var(--k-fs-title)}

/* Desktop sidebar offset fix */
body.has-sidebar .home-screen{max-width:1200px}

/* Legacy (keep for other sections) */
.home-section{margin-bottom:16px}
.home-section-header{display:flex;align-items:center;justify-content:space-between;
  padding:0 4px;margin-bottom:10px}
.home-section-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:-.1px}
.home-section-link{font-size:var(--k-fs-caption);color:var(--k-brand);font-weight:var(--k-fw-semibold);cursor:pointer;
  -webkit-tap-highlight-color:transparent}

/* Theme Toggle */
.theme-toggle{background:none;border:1.5px solid var(--k-border-strong);width:44px;height:44px;border-radius:50%;
  cursor:pointer;font-size:var(--k-fs-title);display:flex;align-items:center;justify-content:center;
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;color:var(--k-text2)}
.theme-toggle:active{border-color:var(--k-brand);color:var(--k-brand)}
[data-theme="dark"] .theme-toggle{border-color:var(--k-border-strong);color:var(--k-text2)}
[data-theme="dark"] .header-btn{border-color:var(--k-border-strong);color:var(--k-text2)}

/* Bestellungen (Orders) */
.order-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);margin-bottom:8px;cursor:pointer;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;-webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 8px rgba(0,0,0,.04),0 0 0 1px rgba(255,255,255,.2) inset}
.order-card:active{transform:scale(.97);border-color:var(--k-brand)}
.order-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.order-dot.bestellt{background:var(--k-brand)}
.order-dot.angekommen{background:var(--k-yellow)}
.order-dot.komplett{background:var(--k-green)}
.order-dot.nicht_komplett{background:var(--k-red)}
.order-status-badge{display:inline-flex;padding:4px 10px;border-radius:var(--k-r-full);
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);letter-spacing:.3px;text-transform:uppercase;border:1.5px solid;flex-shrink:0}
.order-status-badge.bestellt{color:var(--k-brand);border-color:var(--k-brand);background:var(--k-brand-light)}
.order-status-badge.angekommen{color:var(--k-yellow);border-color:var(--k-yellow);background:var(--warn-light)}
.order-status-badge.komplett{color:var(--k-green);border-color:var(--k-green);background:rgba(52,199,89,.08)}
.order-status-badge.nicht_komplett{color:var(--k-red);border-color:var(--k-red);background:rgba(255,59,48,.06)}

/* Profile View */
.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--k-brand-light);
  color:var(--k-brand);font-size:1.8rem;font-weight:var(--k-fw-bold);display:flex;align-items:center;
  justify-content:center;margin:0 auto 12px}
.profile-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.profile-stat{background:var(--k-bg2);border-radius:var(--k-r-sm);padding:14px;text-align:center}
.profile-stat-num{font-size:1.4rem;font-weight:var(--k-fw-bold);color:var(--k-brand)}
.profile-stat-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text2);text-transform:uppercase;margin-top:2px}

/* Bestellungen Status Badges (form.js naming) */
.best-status-badge{display:inline-flex;padding:4px 10px;border-radius:var(--k-r-full);
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);letter-spacing:.3px;text-transform:uppercase;border:1.5px solid}
.best-status-bestellt{color:var(--k-brand);border-color:var(--k-brand);background:var(--k-brand-light)}
.best-status-angekommen{color:var(--k-yellow);border-color:var(--k-yellow);background:rgba(255,149,0,.08)}
.best-status-komplett{color:var(--k-green);border-color:var(--k-green);background:rgba(52,199,89,.08)}
.best-status-nicht{color:var(--k-red);border-color:var(--k-red);background:rgba(255,59,48,.06)}

/* News Cards */
.news-card{padding:14px var(--k-sp-md);background:var(--k-surface-solid);border-radius:var(--k-r-xs);
  border:1px solid var(--k-border-strong);box-shadow:none;margin-bottom:10px;cursor:pointer;
  transition:transform var(--k-dur-fast) ease;-webkit-tap-highlight-color:transparent}
.news-card:active{transform:scale(.97)}
.news-card.unread{border-left:3px solid var(--k-brand)}
.news-card.pinned{background:var(--k-brand-light)}
[data-theme="dark"] .news-card.pinned{background:rgba(242,113,130,.08)}
.news-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--k-brand);flex-shrink:0;margin-top:5px}
.news-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text);line-height:1.3}
.news-excerpt{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:4px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-meta{font-size:var(--k-fs-micro);color:var(--k-text3);margin-top:6px;display:flex;align-items:center;gap:6px}
.news-more{color:var(--k-brand);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);margin-top:8px;display:inline-block}
.news-read-list{margin-top:12px;padding:12px;background:var(--k-bg2);border-radius:var(--k-r-sm);font-size:var(--k-fs-caption)}
.news-read-item{display:flex;align-items:center;gap:8px;padding:4px 0}
.news-read-check{color:var(--k-green);font-size:var(--k-fs-body)}
.news-unread-check{color:var(--k-text3);font-size:var(--k-fs-body)}
.news-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  border-radius:9px;background:var(--k-brand);color:#fff;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);padding:0 5px}

/* ZEITERFASSUNG (Time Tracking) */
.zeit-clock-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:20px;
  border-radius:var(--k-r-md);font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);border:1.5px solid var(--k-glass-border);
  background:var(--k-glass-bg);
  color:var(--k-text);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;letter-spacing:.5px;
  box-shadow:0 2px 12px rgba(0,0,0,.04)}
.zeit-clock-btn:active{transform:scale(.97)}
.zeit-clock-btn.clock-in{border-color:var(--k-green);color:var(--k-green);background:rgba(52,199,89,.06)}
.zeit-clock-btn.clock-out{border-color:var(--k-red);color:var(--k-red);background:rgba(255,59,48,.06)}
.zeit-clock-btn .material-symbols-outlined{font-size:28px}

/* ---- Slide-to-Unlock Stempeln ---- */
.slide-unlock{margin-bottom:16px;user-select:none;-webkit-user-select:none}
.slide-unlock-track{position:relative;height:64px;border-radius:32px;overflow:hidden;border:1.5px solid var(--k-border-strong)}
.slide-unlock.slide-in .slide-unlock-track{
  background:linear-gradient(135deg,rgba(52,199,89,.08),rgba(52,199,89,.03));
  border-color:var(--k-green)
}
.slide-unlock.slide-out .slide-unlock-track{
  background:linear-gradient(135deg,rgba(255,59,48,.08),rgba(255,59,48,.03));
  border-color:var(--k-red)
}
.slide-unlock-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text2);pointer-events:none;letter-spacing:.2px;
  transition:opacity .15s}
.slide-unlock.slide-in .slide-unlock-label{color:var(--k-green)}
.slide-unlock.slide-out .slide-unlock-label{color:var(--k-red)}
.slide-unlock-thumb{position:absolute;left:3px;top:3px;bottom:3px;width:56px;border-radius:28px;
  display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;
  transition:transform .35s cubic-bezier(.32,.72,0,1),background .2s,box-shadow .2s;z-index:2}
.slide-unlock.slide-in .slide-unlock-thumb{
  background:var(--k-green);color:#fff;
  box-shadow:0 2px 8px rgba(52,199,89,.3)
}
.slide-unlock.slide-out .slide-unlock-thumb{
  background:var(--k-red);color:#fff;
  box-shadow:0 2px 8px rgba(255,59,48,.3)
}
.slide-unlock-thumb .material-symbols-outlined{font-size:28px;transition:transform .2s}
.slide-unlock.sliding .slide-unlock-thumb{cursor:grabbing}
.slide-unlock-thumb.ready{transform:scale(1.05)}
.slide-unlock-thumb.ready .material-symbols-outlined{animation:slideChevronPulse .4s ease infinite alternate}
.slide-unlock.triggered .slide-unlock-thumb{opacity:.7}
.slide-unlock.triggered .slide-unlock-track{opacity:.6}

/* Chevron shimmer animation auf idle */
.slide-unlock:not(.sliding):not(.triggered) .slide-unlock-thumb .material-symbols-outlined{
  animation:slideChevronHint 2s ease-in-out infinite
}
@keyframes slideChevronHint{
  0%,100%{transform:translateX(0);opacity:1}
  50%{transform:translateX(4px);opacity:.6}
}
@keyframes slideChevronPulse{
  from{transform:scale(1)}to{transform:scale(1.2)}
}

/* Dark mode */
[data-theme="dark"] .slide-unlock.slide-in .slide-unlock-track{background:rgba(52,199,89,.1);border-color:rgba(52,199,89,.4)}
[data-theme="dark"] .slide-unlock.slide-out .slide-unlock-track{background:rgba(255,59,48,.1);border-color:rgba(255,59,48,.4)}
[data-theme="dark"] .slide-unlock-label{color:var(--k-text2)}
/* Mono mode */
[data-theme="light"] .slide-unlock .slide-unlock-track{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}

.zeit-status-card{background:var(--k-glass-bg);
  border-radius:var(--k-r-md);padding:20px;text-align:center;
  border:1px solid var(--k-glass-border);margin-bottom:16px;
  box-shadow:0 2px 12px rgba(0,0,0,.04),0 0 0 1px rgba(255,255,255,.2) inset}
.zeit-status-label{font-size:var(--k-fs-caption);color:var(--k-text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.zeit-status-value{font-size:2rem;font-weight:var(--k-fw-black);letter-spacing:-1px}
.zeit-status-sub{font-size:var(--k-fs-caption);color:var(--k-text2);margin-top:4px}

.zeit-day-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--k-border-strong);gap:8px}
.zeit-day-row:last-child{border-bottom:none}
.zeit-day-name{width:32px;font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text2);text-transform:uppercase;flex-shrink:0}
.zeit-day-date{font-size:var(--k-fs-caption);color:var(--k-text3);width:48px;flex-shrink:0}
.zeit-day-bar{flex:1;height:6px;background:var(--k-border-strong);border-radius:3px;overflow:hidden;position:relative}
.zeit-day-fill{height:100%;border-radius:3px;transition:width .3s}
.zeit-day-hours{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);width:80px;text-align:right;flex-shrink:0}
.zeit-day-row.weekend{opacity:.4}
.zeit-day-row.holiday{opacity:.6}
.zeit-day-row.holiday .zeit-day-name{color:var(--k-brand)}
.zeit-day-row.vacation .zeit-day-name{color:var(--k-green)}
.zeit-day-row.absent{opacity:.7}
.zeit-day-row.absent .zeit-day-name{color:var(--k-red)}
.zeit-day-row.absent .zeit-day-hours{color:var(--k-red)}
.zeit-day-row.today{background:var(--k-brand-light);margin:0 -18px;padding:10px 18px;border-radius:var(--k-r-sm)}

.zeit-stempel-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--k-border-strong)}
.zeit-stempel-item:last-child{border-bottom:none}
.zeit-stempel-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.zeit-stempel-icon.ein{background:rgba(52,199,89,.1);color:var(--k-green)}
.zeit-stempel-icon.aus{background:rgba(255,59,48,.1);color:var(--k-red)}
.zeit-stempel-time{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold)}
.zeit-stempel-label{font-size:var(--k-fs-caption);color:var(--k-text2)}

.zeit-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--k-border-strong);margin-bottom:16px}
.zeit-tab{flex:1;text-align:center;padding:10px 8px;font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text3);
  cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:background-color .2s}
, color .2s}
, border-color .2s}
, box-shadow .2s}
, transform .2s}
, opacity .2s}
.zeit-tab.active{color:var(--k-brand);border-bottom-color:var(--k-brand)}
.zeit-tab:active{opacity:.7}

.zeit-summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:var(--k-fs-body)}
.zeit-summary-label{color:var(--k-text2)}
.zeit-summary-val{font-weight:var(--k-fw-bold)}
.zeit-summary-val.positive{color:var(--k-green)}
.zeit-summary-val.negative{color:var(--k-red)}

.zeit-team-card{background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);
  padding:14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.04),0 0 0 1px rgba(255,255,255,.2) inset}
.zeit-team-card:active{transform:scale(.97);border-color:var(--k-brand)}
.zeit-team-avatar{width:36px;height:36px;border-radius:50%;background:var(--k-brand-light);display:flex;
  align-items:center;justify-content:center;font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-brand);flex-shrink:0}
.zeit-team-info{flex:1;min-width:0}
.zeit-team-name{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold)}
.zeit-team-status{font-size:var(--k-fs-caption);margin-top:1px}
.zeit-team-hours{text-align:right;flex-shrink:0}
.zeit-team-hours-val{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold)}
.zeit-team-hours-label{font-size:var(--k-fs-micro);color:var(--k-text3)}

.zeit-online-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}
.zeit-online-dot.on{background:var(--k-green)}
.zeit-online-dot.off{background:var(--k-text3)}

.zeit-ferien-card{background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);
  padding:14px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.zeit-ferien-status{display:inline-block;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);padding:2px 8px;border-radius:10px;
  text-transform:uppercase;letter-spacing:.3px}
.zeit-ferien-status.beantragt{background:rgba(255,149,0,.12);color:var(--k-yellow)}
.zeit-ferien-status.genehmigt{background:rgba(52,199,89,.1);color:var(--k-green)}
.zeit-ferien-status.abgelehnt{background:rgba(255,59,48,.08);color:var(--k-red)}

.zeit-soll-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}
.zeit-soll-day{text-align:center;background:var(--k-bg2);border-radius:var(--k-r-sm);padding:8px 4px}
.zeit-soll-day-label{font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);color:var(--k-text3);text-transform:uppercase;margin-bottom:4px}
.zeit-soll-day input{width:100%;text-align:center;border:1px solid var(--k-border-strong);border-radius:6px;
  padding:6px 2px;font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);background:var(--k-surface-solid);color:var(--k-text);
  font-family:var(--k-font)}
.zeit-soll-day input:focus{border-color:var(--k-brand);outline:none;box-shadow:0 0 0 3px var(--k-brand-glow, rgba(242,113,130,.15))}

.zeit-feiertag-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;
  border-bottom:1px solid var(--k-border-strong)}
.zeit-feiertag-item:last-child{border-bottom:none}

/* Dark mode: cards use solid --card (glass only with body.has-bg) */
[data-theme="dark"] .nav-buttons{background:rgba(10,10,10,.75);border-color:var(--k-glass-border)}
[data-theme="dark"] .steps-nav{background:rgba(10,10,10,.8)}
[data-theme="dark"] .step-dot.done{background:var(--k-brand);border-color:var(--k-brand);color:#fff}
[data-theme="dark"] .step-dot{background:var(--k-glass-bg);border-color:var(--k-glass-border);color:var(--k-text2)}
[data-theme="dark"] .sig-overlay-btn{background:var(--k-glass-bg);color:var(--k-text)}
[data-theme="dark"] .thankyou-overlay{background:var(--k-bg)}
[data-theme="dark"] .photo-card{background:var(--k-bg2)}
[data-theme="dark"] .photo-add-btn{background:var(--k-bg2)}
[data-theme="dark"] .nk-notiz-box{background:var(--k-bg2)}
[data-theme="dark"] .overview-stat-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
/* .chip inherits from tokens — dark uses var(--k-surface-solid), var(--k-border-strong) automatically */
[data-theme="dark"] .check-item{background:var(--k-glass-bg);border-color:var(--k-glass-border);color:var(--k-text)}
[data-theme="dark"] .sig-wrapper,
[data-theme="dark"] .sig-wrapper{background:var(--k-bg2, #1A1A1E)}
[data-theme="dark"] .sig-clear-btn,
[data-theme="dark"] .sig-clear-btn{background:rgba(40,40,45,.85);color:var(--k-text2)}
[data-theme="dark"] .sig-preview-box{background:var(--k-bg2);color:var(--k-text)}
[data-theme="dark"] .zeit-clock-btn{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .zeit-status-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .zeit-team-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .zeit-ferien-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .zeit-soll-day{background:var(--k-bg2)}
[data-theme="dark"] .zeit-soll-day input{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .order-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .nk-filter-btn{background:var(--k-glass-bg);color:var(--k-text2);border-color:var(--k-glass-border)}
[data-theme="dark"] .nk-kontakt-btn{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .nk-mail-tpl-btn{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .nk-lang-btn{background:var(--k-glass-bg);color:var(--k-text2);border-color:var(--k-glass-border)}
[data-theme="dark"] .nk-mail-preview{background:var(--k-glass-bg);color:var(--k-text2);border-color:var(--k-glass-border)}
[data-theme="dark"] .news-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .task-card{background:var(--k-glass-bg);color:var(--k-text);border-color:var(--k-glass-border)}
[data-theme="dark"] .task-sub-tab{color:var(--k-text2)}
[data-theme="dark"] .task-sub-tabs{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
[data-theme="dark"] .profile-stat{background:var(--k-bg2)}
[data-theme="dark"] .price-fixed-bar{background:rgba(28,28,30,.8);border-color:var(--k-glass-border)}
[data-theme="dark"] .disclaimer-box{background:rgba(255,159,10,.08);border-color:rgba(255,159,10,.25)}
[data-theme="dark"] .lager-product-card{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
[data-theme="dark"] .lager-thumb{background:var(--k-bg2)}
[data-theme="dark"] .lager-stock-btn{background:var(--k-glass-bg);color:var(--k-text)}
[data-theme="dark"] .lager-beleg-card{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
[data-theme="dark"] .lager-filter-btn{background:var(--k-glass-bg);border-color:var(--k-glass-border)}
/* Dark mode: Cards get border instead of shadow */
[data-theme="dark"] .nv-card,
[data-theme="dark"] .nv-card-row,
[data-theme="dark"] .overview-stat-card,
[data-theme="dark"] .section-card,
[data-theme="dark"] .task-card,
[data-theme="dark"] .news-card{
  border:1px solid var(--k-border-strong);
  box-shadow:none
}
/* Dark mode: Google Autocomplete */
[data-theme="dark"] .pac-container{background:var(--k-surface-solid)!important;border-color:var(--k-border-strong)!important}
[data-theme="dark"] .pac-item{color:var(--k-text)!important;border-color:var(--k-border-strong)!important}
[data-theme="dark"] .pac-item:hover,[data-theme="dark"] .pac-item-selected{background:var(--k-bg2)!important}
[data-theme="dark"] .pac-item-query{color:var(--k-text)!important}
[data-theme="dark"] .pac-matched{color:var(--k-brand)!important}

/* Profile Picture */
.profil-avatar-wrap{position:relative;width:72px;height:72px;margin:0 auto 12px}
.profil-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;display:flex;align-items:center;
  justify-content:center;background:var(--k-brand-light);color:var(--k-brand);font-size:1.8rem;font-weight:var(--k-fw-bold);overflow:hidden}
.profil-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profil-avatar-edit{position:absolute;bottom:-2px;right:-2px;width:28px;height:28px;border-radius:50%;
  background:var(--k-brand);color:#fff;border:2px solid var(--k-surface-solid);display:flex;align-items:center;
  justify-content:center;cursor:pointer;font-size:14px}

/* Kinder-Liste */
.kinder-list{display:flex;flex-direction:column;gap:8px}
.kinder-item{background:var(--k-bg);border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm);padding:12px;
  position:relative}
.kinder-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.kinder-item-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold)}
.kinder-remove{width:24px;height:24px;border-radius:50%;background:rgba(255,59,48,.08);color:var(--k-red);
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.kinder-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.kinder-add-btn{width:100%;padding:12px;border:1.5px dashed var(--k-border-strong);border-radius:var(--k-r-sm);
  background:none;color:var(--k-text2);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);cursor:pointer;font-family:var(--k-font);
  display:flex;align-items:center;justify-content:center;gap:6px;transition:background-color .2s}
, color .2s}
, border-color .2s}
, box-shadow .2s}
, transform .2s}
, opacity .2s}
.kinder-add-btn:active{border-color:var(--k-brand);color:var(--k-brand)}

/* Profil Change Log */
.profil-log-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--k-border-strong);font-size:var(--k-fs-caption)}
.profil-log-item:last-child{border-bottom:none}
.profil-log-date{flex-shrink:0;color:var(--k-text3);width:80px;font-size:var(--k-fs-caption)}
.profil-log-text{flex:1;color:var(--k-text2);line-height:1.4}

/* Jubiläum Badge */
.profil-jubilaeum{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--k-r-full);
  background:var(--priority-bg);color:#B8860B;font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);border:1px solid rgba(255,214,10,.4)}

/* Salonverbrauch / Lagerverwaltung */
.lager-product-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);margin-bottom:8px;cursor:pointer;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;-webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 8px rgba(0,0,0,.04),0 0 0 1px rgba(255,255,255,.2) inset}
.lager-product-card:active{transform:scale(.97);border-color:var(--k-brand)}
.lager-product-card.low-stock{border-left:3px solid var(--k-red)}
.lager-thumb{width:44px;height:44px;border-radius:var(--k-r-sm);background:var(--k-bg);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.lager-thumb img{width:100%;height:100%;object-fit:cover}
.lager-thumb-icon{font-size:22px;color:var(--k-text3)}
.lager-stock{font-size:1.8rem;font-weight:var(--k-fw-black);text-align:center;padding:16px 0}
.lager-stock.low{color:var(--k-red)}
.lager-stock-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:12px 0}
.lager-stock-btn{width:52px;height:52px;border-radius:50%;border:2px solid var(--k-border-strong);background:var(--k-surface-solid);
  font-size:1.4rem;font-weight:var(--k-fw-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;font-family:var(--k-font);color:var(--k-text)}
.lager-stock-btn:active{transform:scale(.97);border-color:var(--k-brand)}
.lager-stock-btn.minus{color:var(--k-red);border-color:rgba(255,59,48,.3)}
.lager-stock-btn.plus{color:var(--k-green);border-color:rgba(52,199,89,.3)}
.lager-filter-bar{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}
.lager-filter-btn{background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);color:var(--k-text2);padding:8px 14px;
  border-radius:var(--k-r-full);font-size:var(--k-fs-caption);cursor:pointer;font-family:var(--k-font);
  font-weight:var(--k-fw-semibold);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.04)}
.lager-filter-btn.active{background:var(--k-text);color:#fff;border-color:var(--k-text)}
.lager-historie-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--k-border-strong)}
.lager-historie-item:last-child{border-bottom:none}
.lager-historie-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold)}
.lager-historie-icon.eingang{background:rgba(52,199,89,.1);color:var(--k-green)}
.lager-historie-icon.ausgang{background:rgba(255,59,48,.1);color:var(--k-red)}
.lager-historie-icon.korrektur{background:rgba(255,149,0,.1);color:var(--k-yellow)}
.lager-beleg-card{display:flex;gap:12px;padding:12px;background:var(--k-surface-solid);border:1px solid var(--k-border-strong);
  border-radius:var(--k-r-sm);margin-bottom:8px}
.lager-beleg-thumb{width:60px;height:60px;border-radius:var(--k-r-sm);overflow:hidden;flex-shrink:0;background:var(--k-bg)}
.lager-beleg-thumb img{width:100%;height:100%;object-fit:cover}
/* lager dark mode is now in main dark mode block above */

/* ===== Bottom Navigation — V5 Pink Clean ===== */
.bottom-nav{
  position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));
  left:50%;transform:translateX(-50%);
  width:calc(100% - 32px);max-width:400px;
  display:flex;justify-content:space-around;align-items:center;
  height:56px;
  padding:0 4px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);
  border-top:none;
  border-radius:28px;
  box-shadow:0 4px 24px rgba(0,0,0,.08),0 1px 0 rgba(255,255,255,.5) inset;
  z-index:200;transition:transform .3s cubic-bezier(.32,.72,0,1)
}
[data-theme="dark"] .bottom-nav{
  background:rgba(20,20,20,.75);
  box-shadow:0 4px 24px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.06) inset;
  border:1px solid rgba(255,255,255,.06)
}
.bottom-nav.hidden{transform:translate(-50%,calc(100% + 20px))}

.bottom-nav-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;flex:1;padding:8px 0;
  cursor:pointer;color:var(--k-text3);
  -webkit-tap-highlight-color:transparent;
  transition:color .2s ease;position:relative
}
.bottom-nav-item:active{transform:scale(.97)}
.bottom-nav-item .material-symbols-outlined{
  font-size:24px;
  font-variation-settings:'FILL' 0,'wght' 300;
  transition:font-variation-settings .2s ease,color .2s
}
.bottom-nav-label{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-medium);letter-spacing:.2px;
  transition:color .2s
}
.bottom-nav-item.active{color:var(--k-brand)}
.bottom-nav-item.active .material-symbols-outlined{
  font-variation-settings:'FILL' 1,'wght' 400;
  color:var(--k-brand)
}
.bottom-nav-item.active .bottom-nav-label{color:var(--k-brand);font-weight:var(--k-fw-semibold)}
.bottom-nav-badge{
  position:absolute;top:2px;right:calc(50% - 18px);
  min-width:18px;height:18px;border-radius:9px;
  background:var(--k-brand);color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 5px;z-index:5
}
/* Neva center button — raised above nav */
.bottom-nav-neva{position:relative;flex:1.2}
.neva-nav-blob{
  width:48px;height:48px;
  display:block;
  margin-top:-22px;
  filter:drop-shadow(0 4px 12px rgba(242,113,130,.4));
  transition:transform .2s
}
[data-theme="dark"] .neva-nav-blob{filter:drop-shadow(0 4px 16px rgba(242,113,130,.3))}
.bottom-nav-neva:active .neva-nav-blob{transform:scale(.9)}
@keyframes nevaNavPulse{
  0%,100%{filter:drop-shadow(0 4px 12px rgba(242,113,130,.4))}
  50%{filter:drop-shadow(0 6px 20px rgba(242,113,130,.55))}
}
/* Stempeln aktiv state (clocked in) */
.bottom-nav-item.stempeln-aktiv{color:var(--k-green)}
.bottom-nav-item.stempeln-aktiv .material-symbols-outlined{
  font-variation-settings:'FILL' 1,'wght' 400;color:var(--k-green)
}
.bottom-nav-item.stempeln-aktiv .bottom-nav-label{color:var(--k-green)}

/* ===== Desktop Layout (>768px) ===== */
@media (min-width: 769px) {
  /* Dashboard grid — 2 columns */
  #dash-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 32px;
    padding-bottom: 32px;
  }
  /* home-grid is handled by home dashboard CSS (v3.0) */
  .home-grid-full { grid-column: 1 / -1; }

  /* Stat cards in row */
  .overview-stats {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  /* Header on desktop */
  .app-header-new {
    padding: 16px 24px;
    margin-bottom: 8px;
  }

  /* FAB position */
  #global-fab { right: 24px; bottom: 24px; }

  /* Bottom sheets: centered card on desktop */
  .bottom-sheet {
    left: 50%; right: auto;
    transform: translateX(-50%) translateY(100%);
    max-width: 480px; border-radius: var(--k-r-xs);
    bottom: 20px;
    box-shadow: 0 8px 40px rgba(0,0,0,.15);
  }
  .bottom-sheet-overlay.active .bottom-sheet {
    transform: translateX(-50%) translateY(0);
  }
}
@media (min-width: 1200px) {
  #dash-content { max-width: 1400px; padding: 32px 48px; }
}

/* ===== Sidebar Component ===== */
/* ===== SIDEBAR — V5 Pink, unified with header ===== */
/* ===== Desktop Sidebar — Collapsed/Expanded Modern ===== */
/* ===== SIDEBAR — Sachemo Mockup Design ===== */
.nv-sidebar {
  display: none;
  position: fixed; top: 12px; left: 12px; bottom: 12px;
  width: 72px;
  background: #fff;
  border: none;
  border-radius: var(--k-r-sm);
  z-index: 200;
  flex-direction: column;
  overflow-y: auto; overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transition: width .25s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.nv-sidebar::-webkit-scrollbar { display: none; }
.nv-sidebar.expanded { width: 260px; }

/* Header: Logo + Hamburger — collapsed = hamburger centered, expanded = logo left + hamburger right */
.nv-sidebar-header {
  display: flex; align-items: center; justify-content: center;
  padding: 16px 0 12px; min-height: 56px;
  transition: padding .25s;
  flex-direction: column; gap: 8px;
}
.nv-sidebar.expanded .nv-sidebar-header {
  padding: 20px 20px 16px; justify-content: space-between;
  flex-direction: row; gap: 0;
}
.nv-sidebar-logo-mini {
  font-size: 1.4rem; font-weight:var(--k-fw-black); color: var(--k-brand);
  letter-spacing: -.5px;
}
.nv-sidebar-logo-full { display: none; }
.nv-sidebar.expanded .nv-sidebar-logo-full { display: block; }
.nv-sidebar.expanded .nv-sidebar-logo-mini { display: none; }

/* Hamburger toggle — visible in BOTH states (Sachemo) */
.nv-sidebar-toggle {
  display: flex; align-items: center; justify-content: center;
  background: none; border: none;
  cursor: pointer; padding: 6px; border-radius: 8px;
  transition: background .15s;
  color: var(--k-text2);
}
.nv-sidebar-toggle:hover { background: var(--k-fill); }
.nv-sidebar-toggle .material-symbols-outlined { font-size: 22px; }

/* Nav container — Sachemo: generous spacing */
.nv-sidebar-nav {
  flex: 1; padding: 0 10px;
  display: flex; flex-direction: column; gap: 3px;
}

/* Nav items — Sachemo: generous whitespace (~52px), no bg-highlight for active */
.nv-sidebar-item {
  display: flex; align-items: center; gap: 0;
  padding: 0; border-radius: 10px;
  cursor: pointer; color: var(--k-text2);
  font-size: var(--k-fs-body); font-weight:var(--k-fw-medium);
  transition: background .15s, color .15s;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap; overflow: hidden;
  min-height: 52px; position: relative;
  justify-content: center;
}
.nv-sidebar.expanded .nv-sidebar-item {
  padding: 0 14px; gap: 14px; justify-content: flex-start;
}
.nv-sidebar-item:hover { background: var(--k-fill); color: var(--k-text); }
.nv-sidebar-item:active { transform: scale(.98); }
/* Active = bold text, NO background (Sachemo style) */
.nv-sidebar-item.active {
  font-weight:var(--k-fw-bold); color: var(--k-text);
  background: none;
}

/* Icons — outline style (wght 300, FILL 0) like Sachemo */
.nv-sidebar-item .material-symbols-outlined {
  font-size: 22px; width: 24px; min-width: 24px; text-align: center;
  color: var(--k-text3);
  font-variation-settings: 'FILL' 0, 'wght' 300, 'opsz' 24;
}
.nv-sidebar-item.active .material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'opsz' 24;
  color: var(--k-text);
}
.nv-sidebar-item:hover .material-symbols-outlined { color: var(--k-text2); }

/* Labels — hidden when collapsed */
.nv-sidebar-item-label {
  flex: 1; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  display: none;
}
.nv-sidebar.expanded .nv-sidebar-item-label { display: block; }

/* Badge — colored pills (Sachemo: each badge has own color) */
.nv-sidebar-badge {
  min-width: 20px; height: 20px; border-radius: 10px;
  background: var(--badge-color, #34C759); color: #fff;
  font-size: var(--k-fs-micro); font-weight:var(--k-fw-bold);
  display: flex; align-items: center; justify-content: center;
  padding: 0 6px;
}
/* Collapsed: badge becomes colored dot */
.nv-sidebar:not(.expanded) .nv-sidebar-badge {
  position: absolute; top: 8px; right: 8px;
  min-width: 8px; height: 8px; padding: 0;
  font-size: 0; border-radius: 50%;
}

/* NO divider lines — Sachemo uses only section labels */
.nv-sidebar-divider { display: none; }

/* Section labels — UPPERCASE, only visible when expanded (Sachemo) */
.nv-sidebar-section {
  padding: 20px 14px 6px 16px; margin: 0;
  font-size: var(--k-fs-micro); font-weight:var(--k-fw-bold); color: var(--k-text4);
  text-transform: uppercase; letter-spacing: 1.2px;
  display: none;
  cursor: pointer; user-select: none;
  transition: color .15s;
}
.nv-sidebar.expanded .nv-sidebar-section { display: flex; align-items: center; gap: 4px; }
.nv-sidebar-section:hover { color: var(--k-text3); }
.nv-sidebar-section-arrow {
  font-size: 16px; transition: transform .2s;
  font-variation-settings: 'wght' 400;
  margin-left: auto;
}
.nv-sidebar-section.collapsed .nv-sidebar-section-arrow { transform: rotate(-90deg); }
.nv-sidebar-section.collapsed + .nv-sidebar-group { display: none; }

/* Group container for section items */
.nv-sidebar-group { display: contents; }

/* Footer — Profile picture + name (Sachemo) */
.nv-sidebar-footer {
  padding: 12px 10px; margin-top: auto; flex-shrink: 0;
  border-top: none;
}
.nv-sidebar-profile {
  display: flex; align-items: center; gap: 0;
  padding: 8px 4px; border-radius: 12px;
  cursor: pointer; transition: background .15s;
  justify-content: center;
}
.nv-sidebar.expanded .nv-sidebar-profile {
  gap: 12px; padding: 10px 12px; justify-content: flex-start;
}
.nv-sidebar-profile:hover { background: var(--k-fill); }
.nv-sidebar-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, var(--k-brand), #d9576a);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: var(--k-fs-body); font-weight:var(--k-fw-bold); flex-shrink: 0;
  overflow: hidden;
}
.nv-sidebar-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nv-sidebar-profile-info { display: none; flex-direction: column; flex: 1; overflow: hidden; }
.nv-sidebar.expanded .nv-sidebar-profile-info { display: flex; }
.nv-sidebar-profile-name {
  font-size: var(--k-fs-body); font-weight:var(--k-fw-semibold); color: var(--k-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nv-sidebar-profile-email {
  font-size: var(--k-fs-caption); color: var(--k-text3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nv-sidebar-profile-arrow {
  display: none; color: var(--k-text3);
}
.nv-sidebar.expanded .nv-sidebar-profile-arrow { display: block; }
.nv-sidebar-profile-arrow .material-symbols-outlined { font-size: 18px; }

/* Collapsed tooltip on hover */
.nv-sidebar:not(.expanded) .nv-sidebar-item[data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  background: #1A1A1A; color: #fff; padding: 6px 12px;
  border-radius: 8px; font-size: var(--k-fs-caption); font-weight:var(--k-fw-semibold);
  white-space: nowrap; z-index: 300; margin-left: 12px;
  pointer-events: none; box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

/* Collapsed: click anywhere to expand */
.nv-sidebar:not(.expanded) { cursor: pointer; }

/* Desktop search bar (top right of content area) */
.nv-desktop-search {
  position: fixed; top: 12px; right: 16px; z-index: 150;
  display: none;
}
body.has-sidebar .nv-desktop-search { display: flex; }
/* Desktop search: gleicher Style wie .nv-search, nur kompakter */
.nv-desktop-search input {
  width: 240px; padding: 10px 14px 10px 40px;
  border: 1.5px solid var(--k-border-strong,#DFE2E8); border-radius: var(--k-r-sm,14px);
  background: var(--k-bg2,#EFF1F5); color: var(--k-text,#1a1a1a);
  font-size: var(--k-fs-body); font-family: var(--k-font,Outfit,sans-serif);
  outline: none; -webkit-appearance: none;
  transition: border-color .2s, width .25s, background .2s, box-shadow .2s;
}
.nv-desktop-search input:focus {
  border-color: var(--k-brand,#F27182); width: 320px;
  background: var(--k-surface-solid,#fff);
  box-shadow: 0 0 0 3px var(--k-brand-light,rgba(242,113,130,.12));
}
.nv-desktop-search input::placeholder{color:var(--k-text3)}
.nv-desktop-search .search-icon {
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  font-size: 20px; color: var(--k-text3,#8C909A); pointer-events: none;
}

/* Dark mode sidebar */
[data-theme="dark"] .nv-sidebar { background: var(--k-bg2); box-shadow: 0 2px 12px rgba(0,0,0,.2); }
[data-theme="dark"] .nv-sidebar-item.active { background: none; }
[data-theme="dark"] .nv-sidebar-item:hover { background: rgba(255,255,255,.06); }
[data-theme="dark"] .nv-sidebar-toggle { color: var(--k-text2); }
[data-theme="dark"] .nv-sidebar:not(.expanded) .nv-sidebar-item[data-tooltip]:hover::after { background: #333; }
[data-theme="dark"] .nv-desktop-search input { background: var(--k-bg2); border-color: var(--k-border-strong); }
[data-theme="light"] .nv-sidebar { background: #fff; box-shadow: 0 1px 8px rgba(0,0,0,.04); }
[data-theme="light"] .nv-sidebar-avatar { background: #000; }

/* ===== body.has-sidebar: Layout offsets (sidebar has 12px inset + rounded corners) ===== */
body.has-sidebar .bottom-bar-v2 { display: none !important; }
body.has-sidebar .bottom-nav { display: none !important; }
body.has-sidebar .k-tab-bar { display: none !important; }
body.has-sidebar .k-tab-brand { display: none !important; }
body.has-sidebar .k-ai-fab { display: none !important; }
body.has-sidebar .nv-sidebar { display: flex !important; z-index: 9500 !important; }
body.has-sidebar #dashboard { margin-left: 96px; transition: margin-left .25s cubic-bezier(.4,0,.2,1); }
body.has-sidebar #app { padding-bottom: 0; margin-left: 96px; transition: margin-left .25s cubic-bezier(.4,0,.2,1); }
body.has-sidebar .nv-header { margin-left: 96px; transition: margin-left .25s cubic-bezier(.4,0,.2,1); }
body.has-sidebar.sidebar-expanded #dashboard { margin-left: 284px; }
body.has-sidebar.sidebar-expanded #app { margin-left: 284px; }
body.has-sidebar.sidebar-expanded .nv-header { margin-left: 284px; }
body.has-sidebar .nv-panel { left: 96px !important; right: 0; width: auto; }
body.has-sidebar.sidebar-expanded .nv-panel { left: 284px !important; }
body.has-sidebar .nv-panel.active { box-shadow: none; }
body.has-sidebar .nv-panel-backdrop { left: 96px !important; }
body.has-sidebar #global-fab { bottom: 24px !important; }
body.has-sidebar .admin-bubble-wrap { left: 108px; }
body.has-sidebar .nv-sheet { left: 96px; right: 0; width: auto; }
body.has-sidebar .nv-sheet-overlay { left: 96px; }
body.has-sidebar #dashboard { max-width: none; }
body.has-sidebar #app { max-width: none; }

/* ===== Bottom Sheet (Mehr / Profil) ===== */
.bottom-sheet-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,0);
  transition:background .3s ease;
  -webkit-tap-highlight-color:transparent;
  overscroll-behavior:contain;
  touch-action:none
}
.bottom-sheet-overlay.active{background:rgba(0,0,0,.4)}
.bottom-sheet{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(255,250,251,.88);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  backdrop-filter:blur(28px) saturate(180%);
  border-radius:24px 24px 0 0;
  max-height:85vh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .35s var(--k-ease);
  padding-bottom:env(safe-area-inset-bottom,20px);
  box-shadow:0 -8px 40px rgba(242,113,130,.06),0 -2px 12px rgba(0,0,0,.04)
}
[data-theme="dark"] .bottom-sheet{background:rgba(18,18,20,.9)}
.bottom-sheet-overlay.active .bottom-sheet{transform:translateY(0)}
.bottom-sheet-overlay.closing{background:rgba(0,0,0,0);transition:background .25s}
.bottom-sheet-overlay.closing .bottom-sheet{transform:translateY(100%)}
.bottom-sheet-handle{
  width:36px;height:4px;border-radius:2px;
  background:var(--k-border-strong);
  margin:10px auto 6px
}
.bottom-sheet-title{
  padding:8px 20px 12px;font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);
  color:var(--k-text);letter-spacing:-.1px
}
.bottom-sheet-section-title{
  padding:12px 14px 6px;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);color:var(--k-text3);
  text-transform:uppercase;letter-spacing:.8px
}
.bottom-sheet-items{padding:0 8px}
.bottom-sheet-item{
  display:flex;align-items:center;gap:var(--k-sp-md);
  padding:14px var(--k-sp-md);border-radius:var(--k-r-xs);cursor:pointer;
  transition:background-color var(--k-dur-fast), color var(--k-dur-fast), border-color var(--k-dur-fast), box-shadow var(--k-dur-fast), transform var(--k-dur-fast), opacity var(--k-dur-fast);
  -webkit-tap-highlight-color:transparent
}
.bottom-sheet-item:active{background:var(--k-bg2)}
[data-theme="dark"] .bottom-sheet-item:active{background:rgba(242,113,130,.08)}
[data-theme="light"] .bottom-sheet-item:active{background:rgba(0,0,0,.05)}
.bsi-icon{font-size:22px;color:var(--k-text2)}
.bottom-sheet-item.active{background:var(--k-brand-light)}
.bottom-sheet-item.active .bsi-icon{color:var(--k-brand)}
.bottom-sheet-item.active .bsi-label{color:var(--k-brand);font-weight:var(--k-fw-bold)}
.bsi-label{font-size:var(--k-fs-title);font-weight:var(--k-fw-medium);color:var(--k-text);flex:1}
.bsi-badge{
  min-width:20px;height:20px;border-radius:10px;
  background:var(--k-brand);color:#fff;font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;padding:0 6px
}
.bottom-sheet-item.danger .bsi-icon{color:var(--k-red)}
.bottom-sheet-item.danger .bsi-label{color:var(--k-red)}
.bottom-sheet-divider{height:1px;background:var(--k-border-strong);margin:4px 14px}

/* ===== New Top Header (V5 Clean, unified with sidebar) ===== */
/* Apple HIG: Navigation Bar (sticky header) */
/* ===== NV-HEADER (Instagram-Style) ===== */
.nv-header,.app-header-new{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;
  padding-top:calc(12px + env(safe-area-inset-top,0px));
  min-height:52px;
  background:transparent;
  transition:transform .3s var(--k-ease);
  will-change:transform;
}
[data-theme="dark"] .nv-header,[data-theme="dark"] .app-header-new{background:transparent}
[data-theme="light"] .nv-header,[data-theme="light"] .app-header-new{background:transparent}

/* Profilbild links */
.nv-header-avatar{
  width:32px;height:32px;border-radius:50%;overflow:hidden;
  background:var(--k-fill);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-weight:var(--k-fw-bold);font-size:var(--k-fs-body);color:var(--k-text);
  flex-shrink:0;-webkit-tap-highlight-color:transparent;
  position:relative
}
.nv-header-avatar--lg{width:40px;height:40px;font-size:var(--k-fs-title)}
.nv-header-avatar img{width:100%;height:100%;object-fit:cover}
/* Keeva Home avatar — override @layer (css_layer_trap!) */
/* Avatar size: defined ONLY in keeva-ui.css (60px) — do NOT override here */
.nv-avatar-badge{
  position:absolute;top:-2px;right:-2px;
  min-width:18px;height:18px;border-radius:9px;
  background:#FF3B30;color:#fff;font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;border:2px solid var(--k-bg);
  line-height:1
}

/* Scope Dropdown (Mitte) */
.nv-header-scope{
  display:flex;align-items:center;gap:2px;
  background:none;border:none;cursor:pointer;
  font-family:var(--k-font);font-size:var(--k-fs-title);font-weight:var(--k-fw-black);
  color:var(--k-text);-webkit-tap-highlight-color:transparent;
  position:relative;
}
.nv-header-scope-arrow{font-size:20px;color:var(--k-text);transition:transform .2s}
.nv-header-scope-badge{
  position:absolute;top:-6px;right:-14px;
  min-width:16px;height:16px;border-radius:8px;
  background:var(--k-brand);color:#fff;
  font-size:9px;font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;
}

/* Notifications icon rechts */
.nv-header-icon{
  width:36px;height:36px;border-radius:50%;
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--k-text);position:relative;
  -webkit-tap-highlight-color:transparent;
}
.nv-header-icon .material-symbols-outlined{font-size:22px}
.nv-header-notif-badge{
  position:absolute;top:2px;right:2px;
  min-width:16px;height:16px;border-radius:8px;
  background:var(--k-brand);color:#fff;
  font-size:9px;font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;
}

/* Scope Dropdown Panel */
.nv-scope-dropdown{
  position:fixed;top:52px;left:50%;transform:translateX(-50%);
  z-index:101;
  display:flex;flex-direction:column;gap:2px;
  background:var(--k-surface-solid);border-radius:var(--k-r-md);
  padding:6px;min-width:200px;
  box-shadow:0 8px 32px rgba(0,0,0,.12);
  border:1px solid var(--k-border);
}
[data-theme="dark"] .nv-scope-dropdown{background:var(--k-bg2);box-shadow:0 8px 32px rgba(0,0,0,.4)}

/* Scope Toggle — Salon | Persoenlich (Instagram-Style Pill) */
.nv-scope-toggle{
  display:inline-flex;background:var(--k-fill);
  border-radius:var(--k-r-full);padding:3px;gap:2px
}
.nv-scope-btn{
  padding:8px 20px;border-radius:var(--k-r-full);
  border:none;background:none;cursor:pointer;
  font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  color:var(--k-text3);transition:background-color .2s var(--k-ease), color .2s var(--k-ease), border-color .2s var(--k-ease), box-shadow .2s var(--k-ease), transform .2s var(--k-ease), opacity .2s var(--k-ease);
  -webkit-tap-highlight-color:transparent
}
.nv-scope-btn.active{background:var(--k-text);color:var(--k-bg);font-weight:var(--k-fw-bold)}
.nv-scope-btn:active{transform:scale(.97)}
[data-theme="dark"] .nv-scope-toggle{background:var(--k-fill)}
[data-theme="dark"] .nv-scope-btn.active{background:#FAFAFA;color:#000}
.nv-scope-option{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:var(--k-r-sm);
  border:none;background:none;cursor:pointer;
  font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  color:var(--k-text);-webkit-tap-highlight-color:transparent;
  transition:background .15s;
}
.nv-scope-option:active{background:var(--k-fill)}
.nv-scope-option.active{background:var(--k-fill);font-weight:var(--k-fw-black)}
.nv-scope-option .material-symbols-outlined{font-size:20px;color:var(--k-text3)}
.nv-scope-option.active .material-symbols-outlined{color:var(--k-brand)}

/* Legacy compat */
.header-switcher{display:none}
.header-scope-btn{display:none}
.header-icon-btn{-webkit-tap-highlight-color:transparent}
.header-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg, var(--k-brand), #d9576a);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);
  cursor:pointer;
  box-shadow:0 0 0 2px var(--k-bg), 0 0 0 3.5px var(--k-brand-light);
  overflow:hidden
}
.header-avatar img{width:100%;height:100%;object-fit:cover}
#bug-avatar-badge{
  position:absolute;top:-2px;right:-2px;
  width:18px;height:18px;border-radius:50%;
  background:#EC407A;border:2px solid var(--k-bg);
  display:flex;align-items:center;justify-content:center;
  z-index:2;pointer-events:none
}
#bug-mode-glow.subtle{
  animation:none;
  border-color:rgba(236,64,122,.25);
  box-shadow:inset 0 0 20px rgba(236,64,122,.08)
}
#bug-mode-glow.locked{
  border-width:3px;
  animation:bugGlowPulse 1.5s ease-in-out infinite
}
.header-avatar:active{transform:scale(.97)}
.header-center{
  display:flex;align-items:center;justify-content:center
}
.header-right-actions{
  display:flex;gap:6px;align-items:center;flex-shrink:0
}
.header-icon-btn{
  width:40px;height:40px;border-radius:50%;
  border:none;background:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;position:relative;
  color:var(--k-text2);
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
  -webkit-tap-highlight-color:transparent
}
.header-icon-btn:active{background:rgba(242,113,130,.08);transform:scale(.97)}
[data-theme="dark"] .header-icon-btn:active{background:rgba(255,255,255,.08)}
.header-icon-btn .material-symbols-outlined{font-size:21px;font-variation-settings:'FILL' 0,'wght' 300}
.header-icon-btn.outline-btn{
  border:none;
  background:rgba(242,113,130,.06);
}
.header-icon-btn.outline-btn:active{background:rgba(242,113,130,.12)}
[data-theme="dark"] .header-icon-btn.outline-btn{
  background:rgba(255,255,255,.06)}
.header-icon-btn.outline-btn:active{border-color:var(--k-brand);color:var(--k-brand)}
[data-theme="dark"] .header-icon-btn.outline-btn{border-color:var(--k-border-strong);background:var(--k-surface-solid)}
.header-icon-btn.accent-btn{
  background:var(--k-brand);color:#fff;
  border:none
}
.header-icon-btn.accent-btn:active{background:#d9576a}
.header-icon-btn.employee-fab-btn{
  background:#34C759;color:#fff;
  border:none;
  box-shadow:0 4px 16px rgba(52,199,89,.35)
}
.header-icon-btn.employee-fab-btn:active{background:#2DB84D}
.header-icon-btn.employee-fab-btn:hover{box-shadow:0 8px 28px rgba(52,199,89,.4);transform:scale(1.05)}
.header-icon-btn .icon-badge{
  position:absolute;top:4px;right:4px;
  width:8px;height:8px;border-radius:50%;
  background:var(--k-red);
  border:2px solid var(--k-bg)
}
[data-theme="dark"] .header-icon-btn .icon-badge{border-color:var(--k-bg)}

/* ===== Profil Bottom Sheet ===== */
.profil-sheet-avatar{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg, var(--k-brand), #d9576a);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:var(--k-fw-bold);
  margin:0 auto 12px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(242,113,130,.25)
}
.profil-sheet-avatar img{width:100%;height:100%;object-fit:cover}
.profil-sheet-name{font-size:1.15rem;font-weight:var(--k-fw-bold);color:var(--k-text);text-align:center}
.profil-sheet-role{font-size:var(--k-fs-caption);color:var(--k-text3);font-weight:var(--k-fw-medium);margin-top:2px;text-align:center;text-transform:capitalize}
.profil-sheet-stats{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:8px;padding:16px 20px;margin:8px 0
}
.profil-sheet-stat{
  text-align:center;padding:12px 8px;
  background:var(--k-bg2);border-radius:12px
}
.profil-sheet-stat:last-child{border-right:none}
.profil-sheet-stat-num{font-size:1.2rem;font-weight:var(--k-fw-bold);color:var(--k-text)}
.profil-sheet-stat-label{font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);color:var(--k-text3);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}

/* ===== Animated Blob Background ===== */
.home-lava-bg{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;
  overflow:hidden;pointer-events:none
  /* CLEAN SLATE: background entfernt, wird in Schritt 2 neu gesetzt */
}
#dashboard{position:relative;z-index:1}

/* Hintergrundbild überschreibt Blobs */
body.has-bg .home-lava-bg{display:none}

/* Section Title with Eros — defined above in .home-section-title */

/* ===== Theme Toggle (3-mode) ===== */
.theme-mode-toggle{
  display:flex;align-items:center;gap:4px;
  background:var(--k-bg2);border-radius:var(--k-r-full);padding:3px;
  border:1px solid var(--k-border-strong)
}
.theme-mode-btn{
  width:32px;height:28px;border-radius:var(--k-r-full);
  border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-body);color:var(--k-text3);transition:background-color .2s
, color .2s
, border-color .2s
, box-shadow .2s
, transform .2s
, opacity .2s
}
.theme-mode-btn.active{background:var(--k-surface-solid);color:var(--k-text);box-shadow:var(--k-shadow-sm)}

/* Desktop: Boxed but comfortable */
@media(min-width:600px){
  #app{max-width:960px;margin:0 auto}
  #dashboard{max-width:960px;margin:0 auto}
  .price-fixed-bar{max-width:960px;left:50%;transform:translateX(-50%)}
  .price-bar-detail{max-width:960px;left:50%;transform:translateX(-50%)}
  .nav-buttons{max-width:960px;margin:0 auto}
  .toast{max-width:960px}
  .pin-box{width:380px}
  /* Comfortable cards on desktop */
  .section-card{padding:24px}
  .check-grid-multi{grid-template-columns:1fr 1fr}
  .field-row{gap:14px}
  .overview-stats{grid-template-columns:repeat(4,1fr)}
  /* Two-column layouts on desktop */
  .kunden-list{max-width:960px;margin:0 auto}
  .termin-erstellen-overlay,.kunden-profil-overlay,.kunden-form-overlay{max-width:960px;left:50%;transform:translateX(-50%);width:100%}
}

/* Desktop: Keep bottom nav centered (no sidebar) */

/* ===== Kunden / Kalender / Leistungen Overlays ===== */
.kunden-profil-overlay,
.kunden-form-overlay,
.termin-erstellen-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:var(--k-bg);z-index:500;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  animation:kalSlideUp .25s ease-out
}
@keyframes kalSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.termin-detail-overlay{z-index:510}

/* Kalender timeline */
.kalender-timeline{
  position:relative;min-height:1200px;
  border-left:2px solid var(--k-border-strong);margin-left:44px
}

/* Kunden list */
.kunden-list{padding:0 16px 100px}
.kunden-search{
  width:100%;padding:12px 12px 12px 40px;
  border:1px solid var(--k-glass-border);border-radius:var(--k-r-sm);
  font-family:var(--k-font);font-size:var(--k-fs-body);
  background:rgba(255,255,255,.7);color:var(--k-text);
  box-shadow:0 1px 2px rgba(0,0,0,.03) inset
}
.kunden-search:focus{border-color:var(--k-brand);outline:none}

/* AZ grid */
.az-grid{margin-top:12px}
.az-rows .az-row{
  display:grid;grid-template-columns:38px 1fr 1fr 1fr 1fr 40px;
  gap:4px;align-items:center;padding:6px 0;
  border-bottom:1px solid var(--k-border-strong)
}
.az-rows .az-row:last-child{border-bottom:none}
.az-rows input[type="time"]{
  padding:6px 4px;border:1px solid var(--k-border-strong);border-radius:6px;
  font-family:var(--k-font);font-size:var(--k-fs-caption);
  background:var(--k-surface-solid);color:var(--k-text);width:100%
}

/* Mobile adjustments */
@media(max-width:420px){
  .header-icon-btn{width:38px;height:38px}
  .header-icon-btn .material-symbols-outlined{font-size:20px}
  .header-avatar{width:34px;height:34px;font-size:var(--k-fs-body)}
  .bottom-nav{height:calc(58px + env(safe-area-inset-bottom, 0px))}
  .bottom-nav-label{font-size:var(--k-fs-micro)}
  .task-sub-tab{font-size:var(--k-fs-caption);padding:10px 6px}
  .task-card{padding:12px;gap:10px}
  .task-title{font-size:var(--k-fs-body)}
  .overview-stats{gap:8px}
  .overview-stat-card{padding:14px 12px}
  .stat-num{font-size:1.5rem}
  .stat-label{font-size:var(--k-fs-micro)}
  .hamburger-panel{width:260px}
  .kinder-fields{grid-template-columns:1fr}
  .dash-greeting{font-size:1.45rem}
  .home-section-title{font-size:var(--k-fs-body)}
}

/* ===== Calendar Clean UI (v2026-03-16) ===== */

/* Clean termin blocks — glass-optik matching home-glass */
.kal-termin-block{
  transition:box-shadow .15s,transform .1s;
  -webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;
  border-radius:8px;
}
.kal-termin-block *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.kal-termin-block:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  transform:translateY(-0.5px);
}
.kal-termin-block:active{transform:scale(.97)}

/* Pause blocks — subtle */
.kal-pause-block{
}
.kal-pause-block:hover{opacity:.85}

/* Column headers — clean, no heavy blur */
.kal-col-header{
}

/* Header buttons — minimal, flat-ish */
.kal-glass-btn{
  background:rgba(255,255,255,.5);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.kal-glass-btn:hover{
  background:rgba(255,255,255,.65);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}

/* Chip bar — cleaner, lighter */
.kal-glass-chip{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:none;
}
.kal-glass-chip:hover{background:rgba(255,255,255,.6)}
.kal-glass-chip.active{
  background:var(--k-brand);
  border-color:var(--k-brand);
  box-shadow:0 2px 8px rgba(242,113,130,.25);
}

/* Grid container — glass-optik matching home-glass */
.kal-glass-grid{
  background:rgba(255,255,255,.65);
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 4px 20px rgba(242,113,130,.05),0 8px 32px rgba(0,0,0,.03);
}

/* Subtle inner highlight on termin blocks */
.kal-termin-block::after{
  content:'';pointer-events:none;position:absolute;inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 40%);
}

/* Online-Anfrage pulsing dot */
.kal-online-dot{
  position:relative;width:40px;height:40px;border-radius:50%;
  background:#007AFF;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;-webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 12px rgba(0,122,255,.35);
  animation:kalOnlinePulse 2s ease-in-out infinite;
}
.kal-online-dot .material-symbols-outlined{font-size:18px;color:#fff}
.kal-online-dot-badge{
  position:absolute;top:-3px;right:-3px;
  min-width:18px;height:18px;border-radius:9px;
  background:#FF3B30;color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);font-family:var(--k-font);
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;border:2px solid #fff;
  line-height:1;
}
@keyframes kalOnlinePulse{
  0%{box-shadow:0 0 0 0 rgba(0,122,255,.5),0 2px 12px rgba(0,122,255,.35)}
  50%{box-shadow:0 0 0 8px rgba(0,122,255,0),0 2px 12px rgba(0,122,255,.35)}
  100%{box-shadow:0 0 0 0 rgba(0,122,255,.5),0 2px 12px rgba(0,122,255,.35)}
}

/* Team filter dropdown */
.kal-team-filter-dropdown{
  padding:8px 10px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--k-r-xs);
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  display:flex;flex-wrap:wrap;gap:6px;
  animation:slideUp .15s cubic-bezier(.32,.72,0,1);
}
[data-theme="dark"] .kal-team-filter-dropdown{
  background:rgba(40,40,45,.92);
  border-color:rgba(255,255,255,.1);
}

/* Animations */
@keyframes kalLockPulse{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes kalLockSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes kalPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}

/* Slot hover */
.kal-slot{transition:background .1s}

/* Grid top border — subtle */
#kal-grid{border-top:1px solid rgba(0,0,0,.04)}

/* Calendar header */
#kal-date-anchor{margin-bottom:4px}
#kal-date-anchor button:active{transform:scale(.97)}

/* Chip bar scrollbar hide — tighter spacing */
.kal-team-chips::-webkit-scrollbar{display:none}
.kal-team-chips{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding:2px 0}
/* Dienst chip: hide text on small screens, show only icon */
@media(max-width:480px){.kal-dienst-text{display:none}}

/* ===== Dark mode clean calendar ===== */
[data-theme="dark"] .kal-termin-block{
}
[data-theme="dark"] .kal-termin-block::after{
  background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 40%);
}
[data-theme="dark"] .kal-termin-block:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.2)!important;
}
[data-theme="dark"] .kal-glass-btn{
  background:rgba(40,40,45,.55)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
[data-theme="dark"] .kal-glass-chip{
  background:rgba(40,40,45,.5)!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
[data-theme="dark"] .kal-glass-grid{
  background:rgba(28,28,30,.65)!important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 16px rgba(0,0,0,.15),0 12px 40px rgba(0,0,0,.12);
}
[data-theme="dark"] .kal-col-header{
  background:rgba(30,30,35,.55)!important;
}
[data-theme="dark"] #kal-grid{border-top-color:rgba(255,255,255,.04)}

/* ===== Global Hover/Tap Effects — Pink Glow & Animations ===== */
.section-card{transition:box-shadow .25s,transform .2s}
.section-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.3) inset}
.overview-stat-card:hover{box-shadow:0 8px 28px rgba(242,113,130,.12),0 0 0 1px rgba(255,255,255,.25) inset;transform:translateY(-2px)}
.overview-action-btn:hover{box-shadow:0 6px 24px rgba(242,113,130,.12);transform:translateY(-1px)}
.chip:hover{box-shadow:0 4px 16px rgba(242,113,130,.12);transform:translateY(-1px)}
.chip:active{transform:scale(.97)}
.header-icon-btn{transition:background-color .2s}
, color .2s}
, border-color .2s}
, box-shadow .2s}
, transform .2s}
, opacity .2s}
.header-icon-btn:hover{box-shadow:0 4px 16px rgba(242,113,130,.15);transform:scale(1.05)}
.header-icon-btn:active{transform:scale(.97)}
.bottom-sheet-item{transition:background .15s,transform .1s}
.bottom-sheet-item:hover{background:rgba(242,113,130,.04)}
.bottom-nav-item{transition:background-color .2s}
, color .2s}
, border-color .2s}
, box-shadow .2s}
, transform .2s}
, opacity .2s}
.bottom-nav-item:hover{background:rgba(242,113,130,.06);transform:translateY(-1px)}
.check-item:hover{box-shadow:0 4px 16px rgba(242,113,130,.08)}
/* Smooth page transitions */
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes slideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes popIn{from{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:none}}
/* Calendar entry animations — quicker, subtler */
.kal-termin-block{animation:popIn .2s cubic-bezier(.32,.72,0,1) both}
.kal-pause-block{animation:popIn .18s cubic-bezier(.32,.72,0,1) both}
/* Stagger calendar blocks */
.kal-termin-block:nth-child(2){animation-delay:.02s}
.kal-termin-block:nth-child(3){animation-delay:.04s}
.kal-termin-block:nth-child(4){animation-delay:.06s}
.kal-termin-block:nth-child(5){animation-delay:.08s}
/* Bottom sheet smooth */
.bottom-sheet{transition:transform .35s var(--k-ease)}
/* Enhanced card shadows */
.task-card,.order-card,.news-card,.lager-product-card,.zeit-status-card,.zeit-team-card{transition:box-shadow var(--k-dur-fast),transform var(--k-dur-fast)}
.task-card:hover,.order-card:hover,.news-card:hover,.lager-product-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.task-card:active,.order-card:active,.news-card:active{transform:scale(.97)}
/* Stronger inset glass glow on hover */
.kal-glass-chip:active{transform:scale(.97)}
.kal-glass-btn:active{transform:scale(.97);box-shadow:0 1px 4px rgba(242,113,130,.15)}

/* ===== Termin Detail Modernization ===== */
.termin-detail-overlay{animation:slideUp .3s cubic-bezier(.32,.72,0,1)}
.termin-detail-overlay .section-card,
.termin-detail-overlay > div > div[style*="background:var(--k-surface-solid)"],
.termin-detail-overlay > div > div[style*="background:var(--k-bg2)"]{
  box-shadow:var(--k-shadow-sm),0 0 0 1px rgba(255,255,255,.2) inset;
  transition:box-shadow .2s,transform .15s}
/* Status action pills — glass */
.termin-detail-overlay button[style*="border-radius:var(--k-r-full)"]{transition:background-color .15s}
, color .15s}
, border-color .15s}
, box-shadow .15s}
, transform .15s}
, opacity .15s}
.termin-detail-overlay button[style*="border-radius:var(--k-r-full)"]:active{transform:scale(.97)}

/* ===== Completed Appointment — subtle green ===== */
.kal-termin-done{
  border:1.5px solid var(--k-green);
  opacity:.65
}
.kal-termin-done::before{
  content:'';position:absolute;top:4px;right:4px;
  width:12px;height:12px;border-radius:50%;
  background:var(--k-green);
  display:flex;align-items:center;justify-content:center;
  z-index:5
}

/* ===== Quick Theme Toggle (Header) ===== */
.theme-quick-toggle{
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--k-border-strong);background:var(--k-surface-solid);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-body);color:var(--k-text2);transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden
}
.theme-quick-toggle:active{transform:scale(.97);border-color:var(--k-brand);color:var(--k-brand)}
[data-theme="dark"] .theme-quick-toggle{border-color:var(--k-border-strong);background:var(--k-surface-solid)}
[data-theme="light"] .theme-quick-toggle{border-color:rgba(0,0,0,.15);background:#f5f5f5;color:#000}

/* ===== Grab/Drag Animation ===== */
.kal-termin-grabbed{
  animation:kalGrabPulse .6s ease infinite;
  z-index:10;transform:scale(1.02)
}
@keyframes kalGrabPulse{
  0%{box-shadow:0 0 0 2px var(--k-brand),0 0 0 4px rgba(242,113,130,.3)}
  50%{box-shadow:0 0 0 3px var(--k-brand),0 0 0 10px rgba(242,113,130,.2)}
  100%{box-shadow:0 0 0 2px var(--k-brand),0 0 0 4px rgba(242,113,130,.3)}
}
/* Drag placeholder (original block during drag) */
.kal-drag-placeholder{
  opacity:.35!important;border:1.5px dashed var(--k-brand)!important;
  background:rgba(242,113,130,.04)!important;box-shadow:none!important;
  transition:opacity .2s;
}

/* ===== PREMIUM DESIGN SYSTEM — Global Refinements ===== */

/* --- Typography Refinements --- */
.dash-greeting{letter-spacing:-.3px;line-height:1.2}
.section-header{font-size:1.15rem;font-weight:var(--k-fw-bold);letter-spacing:-.2px}
.page-title,.zeit-title{font-family:var(--k-font);font-size:1.3rem;font-weight:var(--k-fw-bold);letter-spacing:-.3px;margin-bottom:4px}
.field label{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);text-transform:uppercase;letter-spacing:.6px;color:var(--k-text3)}
.stat-num{font-family:var(--k-font);letter-spacing:-.5px}
.zeit-status-value{letter-spacing:-1.5px;font-family:var(--k-font)}

/* --- Selection Color --- */
::selection{background:rgba(242,113,130,.25);color:inherit}
[data-theme="light"] ::selection{background:rgba(0,0,0,.15)}

/* --- Cards: Subtle Hover Lift --- */
.section-card,.overview-stat-card,.overview-action-btn,
.zeit-status-card,.zeit-team-card,.zeit-ferien-card,
.task-card,.order-card,.news-card,.lager-product-card{
  transition:transform var(--k-dur-fast) ease,box-shadow var(--k-dur-fast) ease,border-color var(--k-dur-fast)
}
@media(hover:hover){
  .section-card:hover,.overview-stat-card:hover,
  .zeit-status-card:hover,.zeit-team-card:hover,.task-card:hover,
  .order-card:hover,.news-card:hover{
    transform:translateY(-1px);box-shadow:var(--k-shadow-lg)
  }
}

/* --- Form Inputs: Premium Polish --- */
.field input,.field select,.field textarea{
  font-size:var(--k-fs-title);padding:14px 16px;border-radius:12px;
  transition:border-color var(--k-dur-fast),box-shadow var(--k-dur-fast),background var(--k-dur-fast)
}
.field input:focus,.field select:focus,.field textarea:focus{
  box-shadow:0 0 0 3px var(--k-brand-light);border-color:var(--k-brand)
}
[data-theme="dark"] .field input:focus,
[data-theme="dark"] .field select:focus,
[data-theme="dark"] .field textarea:focus{
  box-shadow:0 0 0 3px rgba(242,113,130,.12)
}
[data-theme="light"] .field input,[data-theme="light"] .field select,
[data-theme="light"] .field textarea{
  background:#f5f5f5;color:#000;border-color:rgba(0,0,0,.12)
}
[data-theme="light"] .field input:focus,[data-theme="light"] .field select:focus,
[data-theme="light"] .field textarea:focus{
  box-shadow:0 0 0 3px rgba(0,0,0,.08);border-color:#000
}

/* --- Input Standard (Search etc.) --- */
/* input-standard: radius unified to var(--k-r-sm) matching main definition */
.input-standard{border-radius:var(--k-r-sm);font-size:var(--k-fs-body);transition:border-color var(--k-dur-fast),box-shadow var(--k-dur-fast)}
.input-standard:focus{box-shadow:0 0 0 3px var(--k-brand-light)}
[data-theme="light"] .input-standard{background:#f5f5f5;color:#000;border-color:rgba(0,0,0,.12)}

/* --- Tab Bars: More Polished --- */
.zeit-tab-bar{border-bottom:1.5px solid var(--k-border-strong);gap:0}
.zeit-tab{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);letter-spacing:.3px;padding:11px 8px;
  border-bottom:2.5px solid transparent;transition:color .2s,border-color .2s}
.zeit-tab.active{border-bottom-width:2.5px}
[data-theme="light"] .zeit-tab-bar{border-color:rgba(0,0,0,.1)}
[data-theme="light"] .zeit-tab.active{color:#000;border-bottom-color:#000}

/* --- Dashboard Action Cards: Premium --- */
.overview-action-btn{border-radius:var(--k-r-xs);font-weight:var(--k-fw-semibold);position:relative;overflow:hidden}
.overview-action-btn .material-symbols-outlined{font-size:1.8rem;display:block;margin-bottom:4px}
.overview-action-btn.checkin-btn{border-color:var(--k-green);color:var(--k-green)}
.overview-action-btn.beratung-btn{border-color:var(--k-brand);color:var(--k-brand)}
[data-theme="dark"] .overview-action-btn.checkin-btn{background:rgba(52,199,89,.06)}
[data-theme="dark"] .overview-action-btn.beratung-btn{background:rgba(242,113,130,.06)}

/* --- Dashboard: Appointment List Refinement --- */
.dash-appointments .dash-apt-item{
  padding:12px 0;border-bottom:1px solid var(--k-border-strong);
  display:flex;align-items:center;gap:12px;
  transition:background .15s
}
.dash-appointments .dash-apt-item:last-child{border-bottom:none}
.dash-appointments .dash-apt-time{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text2);
  min-width:40px;font-variant-numeric:tabular-nums
}
.dash-appointments .dash-apt-name{font-weight:var(--k-fw-semibold);font-size:var(--k-fs-body)}
.dash-appointments .dash-apt-service{font-size:var(--k-fs-caption);color:var(--k-text3)}

/* --- Zeiterfassung: Premium Clock Button --- */
.zeit-clock-btn{border-radius:var(--k-r-sm);font-weight:var(--k-fw-bold);font-size:var(--k-fs-title);letter-spacing:.2px;
  position:relative;overflow:hidden}
.zeit-clock-btn::after{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;
  background:radial-gradient(circle at center,currentColor 0%,transparent 70%)}
.zeit-clock-btn:active::after{opacity:.08}

/* --- Zeiterfassung Status Card Premium --- */
.zeit-status-card{border-radius:var(--k-r-sm);text-align:center;padding:20px}
.zeit-status-label{font-weight:var(--k-fw-bold);font-size:var(--k-fs-micro);letter-spacing:1px}

/* --- Bottom Sheet: Premium Polish --- */
.bottom-sheet{border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom,20px);
  box-shadow:0 -8px 40px rgba(0,0,0,.12)}
.bottom-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--k-border-strong);margin:10px auto 6px}
.bottom-sheet-item{border-radius:var(--k-r-xs);margin:1px 8px;padding:14px var(--k-sp-md)}
.bottom-sheet-item .bsi-label{font-weight:var(--k-fw-medium);letter-spacing:-.1px}

/* --- Chips: Premium Pill --- */
/* .chip already defined above with Apple HIG tokens */
.chip:hover{border-color:var(--k-text3)}
.chip.active{box-shadow:0 4px 12px var(--k-brand-glow)}

/* --- Check Items: Premium --- */
.check-item{border-radius:12px}
.check-label{font-size:var(--k-fs-body);font-weight:var(--k-fw-medium)}

/* --- Buttons: Premium --- */
.nav-btn{border-radius:var(--k-r-xs);letter-spacing:-.1px}
.nav-btn.next{font-weight:var(--k-fw-bold)}

/* --- Cards: Token-basiert (erben automatisch von Theme) --- */
/* Keine harten Dark/Mono Overrides noetig: .section-card nutzt var(--k-surface-solid), var(--k-shadow-sm) */
/* Dark cards bekommen subtilen Border statt Shadow */
[data-theme="dark"] .section-card,
[data-theme="dark"] .overview-stat-card,
[data-theme="dark"] .overview-action-btn{
  border:1px solid var(--k-border-strong);
  box-shadow:none;
}
[data-theme="light"] .check-item{
  background:#f5f5f5;border-color:rgba(0,0,0,.08)
}
[data-theme="light"] .check-item.checked{
  border-color:#000;background:rgba(0,0,0,.06)
}
/* .chip inherits from tokens — mono uses var(--k-surface-solid), var(--k-border-strong) automatically */
[data-theme="light"] .rating-btn{background:#f5f5f5;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .rating-btn.active{background:#000;border-color:#000;color:#fff}
[data-theme="light"] .nav-btn.prev{background:#f5f5f5;border-color:rgba(0,0,0,.12);color:var(--k-text2)}
[data-theme="light"] .nav-btn.next{background:#000;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2)}
[data-theme="light"] .disclaimer-box{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}
[data-theme="light"] .zeit-clock-btn{background:#f5f5f5;border-color:rgba(0,0,0,.12)}
[data-theme="light"] .zeit-clock-btn.clock-in{border-color:#000;color:#000}
[data-theme="light"] .zeit-clock-btn.clock-out{border-color:#666;color:#666}
[data-theme="light"] .zeit-status-card{border-color:rgba(0,0,0,.08)}
[data-theme="light"] .zeit-team-card{border-color:rgba(0,0,0,.08)}
[data-theme="light"] .zeit-tab-bar{border-color:rgba(0,0,0,.1)}
[data-theme="light"] .zeit-tab.active{color:#000;border-bottom-color:#000}
[data-theme="light"] .bottom-sheet-divider{background:rgba(0,0,0,.08)}
[data-theme="light"] .bottom-sheet-item{color:var(--k-text)}
[data-theme="light"] .bottom-sheet-item .bsi-icon{background:rgba(0,0,0,.04);color:var(--k-text2)}
[data-theme="light"] .bottom-sheet-item.active .bsi-icon{background:rgba(0,0,0,.08);color:#000}
[data-theme="light"] .bottom-sheet-item.danger .bsi-label{color:#000}
[data-theme="light"] .bottom-sheet-item.danger .bsi-icon{background:rgba(0,0,0,.04);color:#000}

/* --- Scrollbar Styling (Desktop) --- */
@media(min-width:768px){
  ::-webkit-scrollbar{width:6px;height:6px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{background:var(--k-border-strong);border-radius:3px}
  ::-webkit-scrollbar-thumb:hover{background:var(--k-text3)}
  [data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}
  [data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12)}
}

/* --- Smooth Page Transitions --- */
#dash-content{
  transition:opacity .2s ease;
  padding:24px 20px;
  padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px));
}

/* --- Pin Screen: Mono Mode --- */
[data-theme="light"] #pin-overlay{background:#ffffff}
[data-theme="light"] .pin-box{color:#000}
[data-theme="light"] .pin-sub{color:#666}
[data-theme="light"] .pin-dot.filled{background:#000;border-color:#000;box-shadow:none}
[data-theme="light"] .pin-btn{background:var(--k-bg2);border-color:rgba(0,0,0,.12);color:#000}
[data-theme="light"] .pin-btn:active{background:rgba(0,0,0,.1);border-color:#000}

/* ===== v2026-03-07 — Comprehensive UI Polish ===== */

/* --- Termineingänge: Glass Items --- */
.tl-item-glass{box-shadow:var(--k-shadow-sm)}
@media(hover:hover){
  .tl-item-glass:hover{transform:translateY(-1px);box-shadow:var(--k-shadow-md)}
}
.tl-item-glass:active{transform:scale(.97)}
[data-theme="dark"] .tl-item-glass{background:rgba(28,28,30,.5);border-color:rgba(255,255,255,.06)}
[data-theme="light"] .tl-item-glass{border-color:rgba(0,0,0,.08)}

/* --- Font: Bigger body text, homogeneous sizing --- */
.section-card{font-size:var(--k-fs-body)}
.section-card .section-header{font-size:var(--k-fs-title)}
.nk-filter-btn{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);padding:8px 14px;border-radius:var(--k-r-full)}
.nk-filter-btn.active{box-shadow:0 4px 12px var(--k-brand-glow)}

/* --- Module Width Consistency --- */
.section-card,.overview-stats,.overview-actions,
.zeit-status-card,.zeit-team-card{
  border-radius:var(--k-r-md);overflow:hidden
}
#dash-content .section-card{margin:0 0 12px}

/* --- Better Hover & Selection Shadows --- */
@media(hover:hover){
  .section-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04)}
  .overview-stat-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}
  .overview-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
  .bottom-sheet-item:hover{background:rgba(0,0,0,.03)}
  .chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
  .nk-filter-btn:hover{background:rgba(0,0,0,.04)}
}
[data-theme="dark"] .section-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.05) inset}
[data-theme="dark"] .bottom-sheet-item:hover{background:rgba(255,255,255,.04)}
[data-theme="dark"] .chip:hover{box-shadow:0 4px 12px rgba(0,0,0,.25)}
[data-theme="light"] .section-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
[data-theme="light"] .bottom-sheet-item:hover{background:rgba(0,0,0,.03)}
[data-theme="light"] .chip:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}

/* --- Active/Selected State Glow --- */
.chip.active{box-shadow:0 4px 16px rgba(242,113,130,.3)}
.nk-filter-btn.active{background:var(--k-brand);color:#fff;border-color:var(--k-brand)}
.bottom-sheet-item:active{background:rgba(0,0,0,.05);transform:scale(.97)}
[data-theme="dark"] .bottom-sheet-item:active{background:rgba(255,255,255,.06)}
[data-theme="light"] .bottom-sheet-item:active{background:rgba(0,0,0,.05)}

/* --- Glass Effect: Even More Massive (stronger blur on key containers) --- */
.bottom-nav{
  -webkit-backdrop-filter:saturate(220%) blur(32px);
  backdrop-filter:saturate(220%) blur(32px);
}
.app-header,.app-header-new.scrolled{
  -webkit-backdrop-filter:saturate(200%) blur(28px);
  backdrop-filter:saturate(200%) blur(28px)
}

/* --- Formular Detail: Consistent Expansion --- */
.bottom-sheet .field{margin-bottom:14px}
.bottom-sheet .field label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--k-text3);margin-bottom:4px;display:block}
.bottom-sheet .field input,.bottom-sheet .field select,.bottom-sheet .field textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--k-border-strong);border-radius:12px;
  font-family:var(--k-font);font-size:var(--k-fs-body);background:var(--k-surface-solid);color:var(--k-text);
  transition:border-color .2s,box-shadow .2s
}
.bottom-sheet .field input:focus,.bottom-sheet .field select:focus,.bottom-sheet .field textarea:focus{
  border-color:var(--k-brand);box-shadow:0 0 0 3px var(--k-brand-light)
}

/* --- Stat Numbers: Bigger, bolder --- */
.stat-num{font-size:1.8rem;font-weight:var(--k-fw-bold)}

/* ══════════════════════════════════════════════════════════════
   SHARED MODULE COMPONENTS — Eine Aenderung, alle Module
   ══════════════════════════════════════════════════════════════
   Jedes Modul nutzt diese Klassen. Keine Inline-Styles.
   ══════════════════════════════════════════════════════════════ */

/* ── Module Page Header — migrated to .nv-page-header-ds in design-system.css ── */

/* ── Section Header (Aktivitaeten, Termine, etc.) ── */
.nv-section-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 16px 8px
}
.nv-section-title{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text);
  text-transform:uppercase;letter-spacing:.5px
}
.nv-section-action{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text3);
  cursor:pointer;background:none;border:none;font-family:var(--k-font);
  padding:4px 8px;border-radius:var(--k-r-sm);
  transition:background .15s;-webkit-tap-highlight-color:transparent
}
.nv-section-action:active{background:var(--k-fill)}

/* ── Card — unified with nv-card-ds ── */
.nv-card{
  background:var(--nv-glass-bg, var(--k-surface-solid));border-radius:var(--nv-r-card, var(--k-r-md));
  padding:16px;margin:0 16px 12px;
  box-shadow:var(--k-shadow-sm);
  border:1px solid var(--nv-glass-border, var(--k-border, transparent));
  transition:box-shadow .2s,border-color .2s
}
[data-theme="dark"] .nv-card,
[data-theme="dark"] .nv-card{
  border-color:var(--k-border-strong);box-shadow:none
}
.nv-card-flush{margin:0;border-radius:0;border-left:none;border-right:none}

/* ── Card Row (Kontakt, Aktivitaet, Menu-Item) ── */
.nv-card-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;min-height:44px;
  cursor:pointer;transition:background .15s;
  -webkit-tap-highlight-color:transparent;
  border-bottom:1px solid var(--k-border)
}
.nv-card-row:last-child{border-bottom:none}
.nv-card-row:active{background:var(--k-fill)}

/* ── Card Row: Icon ── */
.nv-card-icon{
  width:40px;height:40px;border-radius:var(--k-r-sm);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:20px
}
.nv-card-icon--circle{border-radius:50%}
.nv-card-icon--red{background:var(--c-red-light);color:var(--c-red)}
.nv-card-icon--blue{background:var(--c-blue-light);color:var(--c-blue)}
.nv-card-icon--green{background:var(--c-green-light);color:var(--c-green)}
.nv-card-icon--orange{background:var(--c-orange-light);color:var(--c-orange)}
.nv-card-icon--purple{background:var(--c-purple-light);color:var(--c-purple)}
.nv-card-icon--pink{background:var(--c-pink-light);color:var(--c-pink)}
.nv-card-icon--gray{background:var(--c-gray-light);color:var(--c-gray)}
.nv-card-icon--accent{background:var(--k-brand-light);color:var(--k-brand)}

/* ── Card Row: Content ── */
.nv-card-content{flex:1;min-width:0}
.nv-card-content h3{font-size:var(--k-fs-title);font-weight:var(--k-fw-semibold);color:var(--k-text);margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-card-content p{font-size:var(--k-fs-body);color:var(--k-text3);margin:2px 0 0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Card Row: Meta (right side) ── */
.nv-card-meta{
  flex-shrink:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px
}
.nv-card-time{font-size:var(--k-fs-caption);color:var(--k-text3);font-weight:var(--k-fw-medium)}

/* ── Badge — Single Source of Truth below (NV-BADGE section) ── */

/* ── Avatar ── */
.nv-avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--k-brand-light);color:var(--k-brand);
  font-weight:var(--k-fw-bold);font-size:var(--k-fs-body);overflow:hidden
}
.nv-avatar--sm{width:32px;height:32px;font-size:var(--k-fs-caption)}
.nv-avatar--lg{width:56px;height:56px;font-size:1.25rem}
.nv-avatar img{width:100%;height:100%;object-fit:cover}

/* ── Empty State: single definition at line ~4036 ── */

/* ── Tabs / Chips ── */
.nv-tabs{
  display:flex;gap:4px;padding:8px 16px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none
}
.nv-tabs::-webkit-scrollbar{display:none}
.nv-tab{
  padding:8px 16px;border-radius:var(--k-r-full);
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  background:var(--k-fill);color:var(--k-text2);border:none;
  cursor:pointer;white-space:nowrap;font-family:var(--k-font);
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;-webkit-tap-highlight-color:transparent
}
.nv-tab.active{background:var(--k-text);color:var(--k-bg)}
.nv-tab:active{transform:scale(.97)}
[data-theme="dark"] .nv-tab.active{background:#FAFAFA;color:#000}

/* ── Stat Grid (Umsatz, Termine, Dringend, Offen) ── */
.nv-stat-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--k-surface-solid);border-radius:var(--k-r-md);overflow:hidden;
  margin:0 16px 12px;box-shadow:var(--k-shadow-md)
}
[data-theme="dark"] .nv-stat-grid{border:1px solid var(--k-border-strong);box-shadow:none}
.nv-stat-item{
  padding:16px 8px;text-align:center;background:var(--k-surface-solid);
  cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent
}
.nv-stat-item:active{background:var(--k-fill)}
.nv-stat-val{font-size:1.6rem;font-weight:var(--k-fw-black);color:var(--k-text);letter-spacing:-.5px;line-height:1}
.nv-stat-val--danger{color:var(--k-red)}
.nv-stat-lbl{font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);color:var(--k-text3);
  text-transform:uppercase;letter-spacing:.5px;margin-top:4px}

/* ── Floating Action Button ── */
.nv-fab{
  position:fixed;width:52px;height:52px;border-radius:50%;
  background:var(--k-text);color:var(--k-bg);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.18);
  z-index:190;transition:transform .2s,opacity .2s;
  -webkit-tap-highlight-color:transparent
}
.nv-fab:active{transform:scale(.9)}
.nv-fab .material-symbols-outlined{font-size:24px;font-variation-settings:'FILL' 1,'wght' 400}
[data-theme="dark"] .nv-fab{background:#FAFAFA;color:#000}

/* ── Toggle Switch (legacy v1 — overridden by unified toggle at bottom) ── */
/* .nv-toggle-thumb kept for any existing HTML using child-element pattern */
.nv-toggle-thumb{
  width:24px;height:24px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
  transition:transform var(--k-dur-fast) var(--k-ease);pointer-events:none
}
.nv-toggle.active .nv-toggle-thumb{transform:translateX(22px)}

/* ── Input / Form ── */
.nv-input{
  width:100%;padding:12px 16px;
  border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-sm);
  font-family:var(--k-font);font-size:var(--k-fs-title);
  background:var(--k-surface-solid);color:var(--k-text);
  transition:border-color .2s,box-shadow .2s;outline:none
}
.nv-input:focus{border-color:var(--k-text);box-shadow:0 0 0 3px var(--k-fill)}
[data-theme="dark"] .nv-input{background:var(--k-bg3);border-color:var(--k-border-strong)}
.nv-input::placeholder{color:var(--k-text3)}

.nv-label{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  text-transform:uppercase;letter-spacing:.5px;color:var(--k-text3);
  margin-bottom:4px;display:block
}

/* ── Divider ── */
.nv-divider{height:1px;background:var(--k-border-strong);margin:8px 0}
.nv-divider--section{margin:16px 0}
@media(max-width:420px){.stat-num{font-size:1.5rem}}

/* --- Dashboard greeting: bolder --- */
.dash-greeting{font-size:1.6rem;font-weight:var(--k-fw-bold);line-height:1.2}
@media(max-width:420px){.dash-greeting{font-size:1.45rem}}

/* --- Consistent border-radius on all cards --- */
.task-card,.order-card,.news-card,.lager-product-card{border-radius:var(--k-r-xs)}

/* --- FAB: clean circle --- */
#kal-fab{
  box-shadow:0 2px 12px rgba(242,113,130,.3);
}
/* --- FAB/Zoom: Mobile alignment with nav --- */
@media(max-width:420px){
  #kal-fab{bottom:calc(74px + env(safe-area-inset-bottom,0px));width:48px;height:48px}
  #kal-fab .material-symbols-outlined{font-size:24px}
  #kal-zoom-controls{bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  #kal-zoom-controls button{width:36px;height:36px;font-size:var(--k-fs-body)}
}

/* ===== v2026-03-07-B — Kalender Status-Farben & Now-Line ===== */

/* Late pulse animation for "zu spät" appointments */
@keyframes kalLatePulse{
  0%,100%{box-shadow:0 4px 16px rgba(255,59,48,.15)}
  50%{box-shadow:0 4px 24px rgba(255,59,48,.35),0 0 0 3px rgba(255,59,48,.1)}
}

/* Abgeschlossen termin — subtle green glow */
.kal-termin-done{position:relative}
.kal-termin-done::after{content:'';position:absolute;inset:-1px;border-radius:7px;background:linear-gradient(135deg,rgba(52,199,89,.08),rgba(52,199,89,.02));pointer-events:none}

/* No-Show termin — greyed out with strikethrough feel */
.kal-termin-noshow{position:relative}
.kal-termin-noshow::after{content:'';position:absolute;top:50%;left:8px;right:8px;height:1.5px;background:rgba(255,59,48,.3);pointer-events:none}

/* Storniert — always visible, never hidden, diagonal line */
.kal-termin-storniert{position:relative}
.kal-termin-storniert::before{content:'';position:absolute;inset:0;border-radius:6px;background:repeating-linear-gradient(135deg,transparent,transparent 8px,rgba(142,142,147,.06) 8px,rgba(142,142,147,.06) 9px);pointer-events:none;z-index:1}

/* Now-line glow effect */
#kal-now-line{animation:kalNowGlow 3s ease-in-out infinite;transition:top 60s linear}
@keyframes kalNowGlow{
  0%,100%{box-shadow:0 0 8px rgba(242,113,130,.3),0 0 16px rgba(242,113,130,.1)}
  50%{box-shadow:0 0 14px rgba(242,113,130,.5),0 0 28px rgba(242,113,130,.15)}
}
#kal-now-badge{font-variant-numeric:tabular-nums}

/* Dark mode adjustments for status colors */
[data-theme="dark"] .kal-termin-done{border-color:rgba(52,199,89,.5)!important}
[data-theme="dark"] .kal-termin-noshow::after{background:rgba(255,69,58,.35)}
[data-theme="dark"] .kal-termin-storniert{opacity:.35!important}

/* Mono mode adjustments */
[data-theme="light"] .kal-termin-done{border-color:rgba(0,0,0,.3)!important}
[data-theme="light"] .kal-termin-storniert{opacity:.3!important}

/* ===== NV-PANEL: Fullscreen Slide-In (V5 Glass) ===== */
.nv-panel{
  position:fixed;inset:0;z-index:9950;
  background:var(--k-bg);
  color:var(--k-text);
  opacity:0;transform:translateY(8px);
  transition:opacity .25s var(--k-ease),transform .25s var(--k-ease);
  will-change:opacity,transform;
  display:flex;flex-direction:column;
  overflow:hidden;
  -webkit-overflow-scrolling:touch;
}
[data-theme="dark"] .nv-panel{background:var(--k-bg)}
#mediahub-panel{z-index:10000;background:#fff}
[data-theme="dark"] #mediahub-panel{background:#121214}
/* MediaHub Kamera: Flex-Chain reparieren damit Video sichtbar wird */
#mediahub-panel .nv-panel-body{display:flex;flex-direction:column;padding:0}
#mediahub-panel .mh-content{flex:1;display:flex;flex-direction:column;min-height:0}
#mediahub-panel .mh-camera{flex:1;position:relative;min-height:0}
#mediahub-panel .mh-camera-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}
.nv-panel.active{opacity:1;transform:translateY(0)}
.nv-panel.closing{opacity:0;transform:translateY(8px)}

/* Panel stacking: sub-panels slide over parent */
.nv-panel ~ .nv-panel{z-index:9960}
.nv-panel ~ .nv-panel ~ .nv-panel{z-index:9970}

/* Panel Backdrop (optional, for partial panels) */
.nv-panel-backdrop{
  position:fixed;inset:0;z-index:9949;
  background:rgba(0,0,0,.4);
  opacity:0;transition:opacity var(--k-dur) ease;
  pointer-events:none;
}
.nv-panel-backdrop.active{opacity:1;pointer-events:auto}

/* ===== NV-PANEL-HEADER ===== */
.nv-panel-header{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px 8px;min-height:44px;
  background:transparent;
  position:sticky;top:0;z-index:10;
  transition:background .2s,box-shadow .2s;
  border-bottom:none;
}
[data-theme="dark"] .nv-panel-header{background:rgba(18,18,20,.7)}
.nv-panel-header.scrolled{
  background:rgba(255,250,251,.75);
  backdrop-filter:blur(28px) saturate(200%);
  -webkit-backdrop-filter:blur(28px) saturate(200%);
  box-shadow:0 2px 12px rgba(242,113,130,.04);
}
[data-theme="dark"] .nv-panel-header.scrolled{background:rgba(18,18,20,.85);box-shadow:0 2px 12px rgba(0,0,0,.15)}
.nv-panel-title{
  font-size:17px;font-weight:600;color:var(--k-text,#1a1a1a);
  font-family:var(--k-font,'Outfit',sans-serif);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nv-panel-subtitle{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);color:var(--k-text3);margin-top:2px;
}
.nv-panel-actions{display:flex;align-items:center;gap:var(--k-sp-xs)}

/* ===== NV-BACK Button ===== */
.nv-back{
  width:36px;height:36px;border-radius:50%;
  border:none;background:var(--k-fill,rgba(255,255,255,.08));color:var(--k-text,#F5F5F5);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background .15s,transform .1s;
  -webkit-tap-highlight-color:transparent;
}
.nv-back:active{transform:scale(.9)}
.nv-back .material-symbols-outlined{font-size:22px}

/* ===== NV-PANEL-BODY (scrollable content) ===== */
.nv-panel-body{
  flex:1;overflow-y:auto;overflow-x:hidden;
  padding:var(--k-sp-md);
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}
.nv-panel-body::-webkit-scrollbar{display:none}

/* ===== NV-CARD (V5 Glass) ===== */
.nv-card{
  background:rgba(255,255,255,.55);
  border-radius:var(--k-r-lg,20px);padding:var(--k-sp-lg,20px);
  border:none;
  box-shadow:0 4px 20px rgba(242,113,130,.04),0 8px 32px rgba(0,0,0,.03);
  margin-bottom:var(--k-sp-md,16px);
  transition:transform var(--k-dur-fast) ease;
}
[data-theme="dark"] .nv-card{background:rgba(28,28,30,.45);
  box-shadow:0 4px 16px rgba(0,0,0,.12)}
.nv-card+.nv-card{margin-top:var(--k-sp-md,16px)}
.nv-card.clickable{cursor:pointer}
.nv-card.clickable:active{transform:scale(.97);box-shadow:0 8px 24px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.06)}

/* Card with icon-row layout */
/* Apple HIG: List Cell / Card Row */
.nv-card-row{
  display:flex;align-items:center;gap:12px;
  background:transparent;
  border-radius:var(--k-r-sm);
  padding:12px 12px;
  min-height:44px;
  box-shadow:none;
  cursor:pointer;
  transition:background var(--k-dur-fast);
  -webkit-tap-highlight-color:transparent;
}
.nv-card-row:active{background:var(--k-fill)}
.nv-card-row+.nv-card-row{margin-top:2px}
.nv-card-icon{
  width:36px;height:36px;border-radius:var(--k-r-sm);
  display:flex;align-items:center;justify-content:center;
  background:var(--k-fill);color:var(--k-text);flex-shrink:0;
}
.nv-card-icon .material-symbols-outlined{font-size:20px}
.nv-card-content{flex:1;min-width:0}
.nv-card-content h3{font-size:var(--k-fs-title);font-weight:var(--k-fw-medium);line-height:1.3;color:var(--k-text)}
.nv-card-content p{font-size:var(--k-fs-body);color:var(--k-text3);margin-top:1px;line-height:1.3}
.nv-card-chevron{color:var(--k-text3);flex-shrink:0}
.nv-card-chevron .material-symbols-outlined{font-size:18px}

/* Card Header (icon + title + action) */
.nv-card-header{
  display:flex;align-items:center;gap:12px;margin-bottom:12px
}

/* Quick Action Card (gradient CTA) */
.quick-action-card{
  padding:20px 16px;border-radius:var(--k-r-sm);
  color:#fff;cursor:pointer;
  transition:transform .15s ease;
  -webkit-tap-highlight-color:transparent
}
.quick-action-card:active{transform:scale(.97)}
.quick-action-card .material-symbols-outlined{font-size:28px;margin-bottom:6px;display:block}
.quick-action-card h4{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);margin:0}
.quick-action-card p{font-size:var(--k-fs-micro);opacity:.8;margin:2px 0 0}

/* ===== NV-SECTION ===== */
.nv-section{margin-bottom:var(--k-sp-lg)}
.nv-section-title{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--k-text3,#8C909A);padding:16px 16px 8px;
}

/* ===== NV-BUTTONS (Ergänzungen — Basis oben bei Unified Button Base) ===== */
.nv-btn{
  min-height:44px;
  text-decoration:none;white-space:nowrap;
}
.nv-btn .material-symbols-outlined{font-size:18px}

/* Primary — Bold Black */
/* [REMOVED] Duplicate .nv-btn-primary — Single Source of Truth above (line ~343) */

/* Secondary — Single Source of Truth above (line ~301) */

/* Ghost */
.nv-btn-ghost{
  background:transparent;color:var(--k-brand);
  padding:8px 12px;
}
.nv-btn-ghost:active{background:var(--k-brand-light)}

/* Danger */
.nv-btn-danger{
  background:var(--k-red);color:#fff;
}
.nv-btn-danger:active{opacity:.85}

/* Icon-only Button */
.nv-btn-icon{
  width:40px;height:40px;border-radius:50%;
  padding:0;border:none;
  background:var(--k-bg2,#EFF1F5);color:var(--k-text2,#5A5E66);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background .15s,transform .1s;
  -webkit-tap-highlight-color:transparent;
}
.nv-btn-icon:active{transform:scale(.97);background:var(--k-border-strong,#DFE2E8)}
.nv-btn-icon .material-symbols-outlined{font-size:20px}

/* Full Width */
.nv-btn-full{width:100%;justify-content:center}

/* Small — icon size */
/* REMOVED unused: .nv-btn-sm .material-symbols-outlined{font-size:16px} */

/* ===== NV-INPUT / NV-SELECT / NV-TEXTAREA ===== */
.nv-input,.nv-select,.nv-textarea{
  width:100%;padding:14px 16px;
  border:1.5px solid var(--k-border-strong);border-radius:12px;
  font-family:var(--k-font);font-size:var(--k-fs-title);font-weight:var(--k-fw-regular);
  background:var(--k-surface-solid);color:var(--k-text);
  transition:border-color var(--k-dur-fast) ease,box-shadow var(--k-dur-fast) ease;
  outline:none;
  -webkit-appearance:none;appearance:none;
}
.nv-input:focus,.nv-select:focus,.nv-textarea:focus{
  border-color:var(--k-brand);box-shadow:0 0 0 3px var(--k-brand-light);
}
.nv-input::placeholder{color:var(--k-text3);font-weight:var(--k-fw-regular);opacity:1}
.nv-textarea{min-height:100px;resize:vertical}
.nv-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238E8E93' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;
}
[data-theme="dark"] .nv-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2398989D' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
}

/* Form Group */
.nv-form-group{margin-bottom:var(--k-sp-md)}
.nv-label{
  display:block;font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  text-transform:uppercase;letter-spacing:.5px;
  color:var(--k-text3);margin-bottom:6px;
}

/* NV-TOGGLE: Single source of truth at bottom of file (UI Polish section) */

/* ===== NV-TAG ===== */
.nv-tag{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 10px;border-radius:50px;
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  line-height:1;
  background:var(--k-bg2);color:var(--k-text2);
  white-space:nowrap;
}
.nv-tag.accent{background:var(--k-brand-light);color:var(--k-brand)}
.nv-tag.success{background:rgba(52,199,89,.12);color:var(--k-green)}
.nv-tag.error{background:rgba(255,59,48,.1);color:var(--k-red)}
.nv-tag.warn{background:var(--warn-light);color:var(--k-yellow)}
.nv-tag .nv-tag-remove{
  cursor:pointer;margin-left:2px;opacity:.6;
  transition:opacity var(--k-dur-fast) ease;
}
.nv-tag .nv-tag-remove:hover{opacity:1}

/* ===== NV-TABS (Hub-Interne Tabs) ===== */
.nv-tabs{
  display:flex;gap:4px;padding:4px;
  margin:0 16px 16px;background:var(--k-bg2,#EFF1F5);
  border-radius:12px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.nv-tabs::-webkit-scrollbar{display:none}
.nv-tab{
  flex:1;min-width:0;padding:10px 12px;
  border-radius:10px;border:none;background:transparent;
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);font-family:var(--k-font,Outfit,sans-serif);
  color:var(--k-text3,#8C909A);cursor:pointer;white-space:nowrap;
  text-align:center;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.nv-tab.active{
  background:var(--k-surface-solid,#fff);color:var(--k-text,#1a1a1a);
  box-shadow:0 1px 6px rgba(0,0,0,.08);
}

/* ===== NV-LIST-ITEM ===== */
.nv-list-item{
  display:flex;align-items:center;gap:var(--k-sp-md);
  padding:14px var(--k-sp-md);border-radius:var(--k-r-xs);
  cursor:pointer;
  transition:background-color var(--k-dur-fast), color var(--k-dur-fast), border-color var(--k-dur-fast), box-shadow var(--k-dur-fast), transform var(--k-dur-fast), opacity var(--k-dur-fast);
  -webkit-tap-highlight-color:transparent;
}
.nv-list-item:active{background:var(--k-bg2,#EFF1F5);transform:scale(.97)}
.nv-list-item-icon{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--k-bg2);color:var(--k-text2);flex-shrink:0;
}
.nv-list-item-body{flex:1;min-width:0}
.nv-list-item-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold)}
.nv-list-item-sub{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:1px}
.nv-list-item-right{text-align:right;flex-shrink:0}
.nv-list-item-value{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold)}
.nv-list-item-meta{font-size:var(--k-fs-caption);color:var(--k-text3)}

/* ===== NV-EMPTY-STATE: single definition at line ~4036 ===== */

/* ===== NV-SHEET (Premium Bottom-Sheet) ===== */
.nv-sheet-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0);
  z-index:9500;transition:background .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.nv-sheet-overlay.active{background:rgba(0,0,0,.4)}
.nv-sheet{
  position:fixed;bottom:0;left:0;right:0;
  background:var(--k-surface-solid,#fff);
  border-radius:24px 24px 0 0;
  max-height:85vh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .35s var(--k-ease);
  z-index:9501;
  padding-bottom:env(safe-area-inset-bottom,20px);
  box-shadow:0 -8px 40px rgba(0,0,0,.12);
  -webkit-overflow-scrolling:touch;
}
.nv-sheet.active{transform:translateY(0)}
.nv-sheet-handle{
  width:36px;height:4px;border-radius:2px;
  background:var(--k-border-strong,#DFE2E8);
  margin:10px auto 6px;
}
.nv-sheet-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 20px 12px;
}
.nv-sheet-title{
  font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);color:var(--k-text,#1a1a1a);
  letter-spacing:-.2px;
}
.nv-sheet-body{padding:0 16px}
.nv-sheet-body::-webkit-scrollbar{display:none}

/* ===== NV-SEARCH ===== */
.nv-search{position:relative;margin:0 16px 16px}
.nv-search input{
  width:100%;padding:12px 14px 12px 42px;
  border:1.5px solid var(--k-border-strong,#DFE2E8);border-radius:var(--k-r-sm,14px);
  background:var(--k-bg2,#EFF1F5);color:var(--k-text,#1a1a1a);
  font-size:var(--k-fs-body);font-family:var(--k-font,Outfit,sans-serif);
  transition:border-color .2s,background .2s,box-shadow .2s;
  -webkit-appearance:none;
}
.nv-search input:focus{
  border-color:var(--k-brand,#F27182);
  background:var(--k-surface-solid,#fff);
  box-shadow:0 0 0 3px var(--k-brand-light,rgba(242,113,130,.12));
  outline:none;
}
.nv-search input::placeholder{color:var(--k-text3)}
.nv-search-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--k-text3,#8C909A);pointer-events:none;
}
.nv-search-icon .material-symbols-outlined{font-size:20px}

/* ===== NV-AVATAR ===== */
.nv-avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--k-brand-light);color:var(--k-brand);
  display:flex;align-items:center;justify-content:center;
  font-weight:var(--k-fw-bold);font-size:var(--k-fs-body);
  overflow:hidden;flex-shrink:0;
}
.nv-avatar img{width:100%;height:100%;object-fit:cover}
.nv-avatar.sm{width:32px;height:32px;font-size:var(--k-fs-caption)}
.nv-avatar.lg{width:56px;height:56px;font-size:var(--k-fs-title)}

/* ===== NV-DIVIDER ===== */
.nv-divider{
  height:1px;background:var(--k-border-strong);margin:var(--k-sp-md) 0;
}

/* ===== NV-MODULE-HEADER ===== */
.nv-module-header{display:flex;align-items:center;gap:12px;padding:0 0 16px}
.nv-module-title{font-family:var(--k-font);font-size:1.4rem;font-weight:var(--k-fw-black);color:var(--k-text);flex:1;margin:0;letter-spacing:-.02em}
.nv-module-actions{display:flex;gap:8px;align-items:center}

/* ===== NV-CHIP-GROUP ===== */
.nv-chip-group{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nv-chip-group::-webkit-scrollbar{display:none}

/* ===== NV-QUICK-ACTION (Grid Buttons) ===== */
.nv-quick-action{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 8px;border-radius:var(--k-r-md);
  background:var(--k-surface-solid);border:none;cursor:pointer;
  font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  color:var(--k-text);-webkit-tap-highlight-color:transparent;
  transition:transform var(--k-dur-fast);
}
.nv-quick-action:active{transform:scale(.97)}
.nv-quick-action .material-symbols-outlined{font-size:24px;color:var(--k-text)}
[data-theme="dark"] .nv-quick-action{background:var(--k-bg2)}

/* ===== NV-STAT ===== */
.nv-stat{text-align:center;padding:var(--k-sp-md)}
.nv-stat-value{font-size:1.8rem;font-weight:var(--k-fw-bold);line-height:1}
.nv-stat-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-medium);color:var(--k-text3);margin-top:4px}

/* ===== NV-STAT-GRID (Multi-stat row) ===== */
.nv-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:16px}
.nv-stat-item{background:var(--k-surface-solid);border-radius:var(--k-r-md);padding:16px;text-align:center;
  cursor:pointer;transition:transform var(--k-dur-fast);-webkit-tap-highlight-color:transparent}
.nv-stat-item:active{transform:scale(.97)}
.nv-stat-item .nv-stat-val{font-size:1.25rem;font-weight:var(--k-fw-bold);color:var(--k-text);line-height:1}
.nv-stat-item .nv-stat-lbl{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:4px;
  font-weight:var(--k-fw-medium);text-transform:uppercase;letter-spacing:.3px}
[data-theme="dark"] .nv-stat-item{background:var(--k-bg2)}

/* ===== NV-LOADING ===== */
.nv-loading{text-align:center;padding:40px 20px;color:var(--k-text3);font-size:var(--k-fs-body);
  display:flex;flex-direction:column;align-items:center;gap:12px}
.nv-loading::before{
  content:'';width:28px;height:28px;border-radius:50%;
  border:2.5px solid var(--k-border-strong);border-top-color:var(--k-brand);
  animation:nvSpin .7s linear infinite;
}
@keyframes nvSpin{to{transform:rotate(360deg)}}

/* ===== NV-FLOATING-ACTION ===== */
.nv-fab{
  position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:var(--k-sp-md);
  width:52px;height:52px;border-radius:50%;
  background:var(--k-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;z-index:8000;
  box-shadow:0 4px 12px var(--k-brand-glow);
  transition:transform var(--k-dur-fast) ease,box-shadow var(--k-dur-fast) ease;
}
.nv-fab .material-symbols-outlined{font-size:24px}
.nv-fab:active{transform:scale(.97)}

/* ===== NV-GRID (2-column cards) ===== */
.nv-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--k-sp-sm)}
.nv-grid.cols-1{grid-template-columns:1fr}
.nv-grid.cols-3{grid-template-columns:repeat(3,1fr)}

/* ===== NV-CHIP ===== */
.nv-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:6px 14px;border-radius:var(--k-r-full,9999px);
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  background:var(--k-bg2);color:var(--k-text2);
  border:1.5px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:background-color var(--k-dur-fast) ease, color var(--k-dur-fast) ease, border-color var(--k-dur-fast) ease, box-shadow var(--k-dur-fast) ease, transform var(--k-dur-fast) ease, opacity var(--k-dur-fast) ease;
}
.nv-chip.active{
  background:var(--k-brand-light);color:var(--k-brand);
  border-color:var(--k-brand);
}
.nv-chip:active{transform:scale(.97)}

/* ===== NV-PROGRESS ===== */
.nv-progress{
  height:6px;background:var(--k-bg2);border-radius:3px;overflow:hidden;
}
.nv-progress-bar{
  height:100%;background:var(--k-brand);border-radius:3px;
  transition:width var(--k-dur) var(--k-ease);
}

/* ===== UTILITY CLASSES ===== */
.nv-mt-xs{margin-top:var(--k-sp-xs)}.nv-mt-sm{margin-top:var(--k-sp-sm)}
.nv-mt-md{margin-top:var(--k-sp-md)}.nv-mt-lg{margin-top:var(--k-sp-lg)}
.nv-mb-xs{margin-bottom:var(--k-sp-xs)}.nv-mb-sm{margin-bottom:var(--k-sp-sm)}
.nv-mb-md{margin-bottom:var(--k-sp-md)}.nv-mb-lg{margin-bottom:var(--k-sp-lg)}
.nv-p-sm{padding:var(--k-sp-sm)}.nv-p-md{padding:var(--k-sp-md)}.nv-p-lg{padding:var(--k-sp-lg)}
.nv-gap-sm{gap:var(--k-sp-sm)}.nv-gap-md{gap:var(--k-sp-md)}.nv-gap-lg{gap:var(--k-sp-lg)}
.nv-flex{display:flex}.nv-flex-col{flex-direction:column}
.nv-flex-center{align-items:center;justify-content:center}
.nv-flex-between{justify-content:space-between;align-items:center}
.nv-flex-1{flex:1;min-width:0}
.nv-text-center{text-align:center}
.nv-text-right{text-align:right}
.nv-text-accent{color:var(--k-brand)}
.nv-text-muted{color:var(--k-text3)}
.nv-text-success{color:var(--k-green)}
.nv-text-error{color:var(--k-red)}
.nv-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== NV-PANEL JS Helper: nvPanel() ===== */
/* Panel with scrolled header detection is handled via JS IntersectionObserver */
/* Scroll sentinel element at top of panel-body triggers .scrolled on header */
.nv-scroll-sentinel{height:1px;margin-bottom:-1px;flex-shrink:0}

/* ===== MOBILE OPTIMIZATION ===== */
@media(max-width:420px){
  .nv-panel-header{padding:var(--k-sp-sm) var(--k-sp-md) var(--k-sp-xs)}
  .nv-panel-title{font-size:var(--k-fs-title)}
  .nv-btn{padding:10px 16px;font-size:var(--k-fs-body)}
  .nv-card{padding:14px}
  .nv-tabs{margin:0 var(--k-sp-sm) var(--k-sp-sm)}
  .nv-tab{padding:8px 10px;font-size:var(--k-fs-caption)}
  .nv-fab{bottom:calc(72px + env(safe-area-inset-bottom,0px));width:48px;height:48px}
}

/* ===== PREMIUM ADDITIONS — Apple-like Utilities ===== */

/* Utility: Gradient accent text */
.text-gradient{
  background:linear-gradient(135deg, var(--k-brand), #A855F7);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text
}

/* Smooth scrolling (no -webkit-overflow-scrolling on #dash-content — breaks sticky on iOS) */
.nv-panel-body,.bottom-sheet{
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth
}
#dash-content{
  scroll-behavior:smooth
}

/* Better focus states */
*:focus-visible{
  outline:2px solid var(--k-brand);
  outline-offset:2px
}

/* Global FAB refinement */
#global-fab{
  transition:transform .2s ease, box-shadow .2s ease
}
#global-fab:active{
  transform:scale(.97)
}

/* ===== WETTER WIDGET (Dashboard) ===== */
.home-wetter-widget{
  margin-bottom:8px
}
.home-wetter-main{
  display:flex;align-items:center;gap:12px
}
.home-wetter-icon{
  font-size:36px;color:#FF9500;flex-shrink:0
}
.home-wetter-temp{
  font-size:1.6rem;font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:-.5px;flex-shrink:0
}
.home-wetter-info{
  flex:1;min-width:0
}
.home-wetter-beschr{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text)
}
.home-wetter-detail{
  font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:2px
}
.home-wetter-ort{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-medium);color:var(--k-text3);flex-shrink:0;text-align:right
}

/* Stunden-Vorschau */
.home-wetter-forecast{
  display:flex;gap:0;margin-top:14px;padding-top:12px;
  border-top:1px solid rgba(0,0,0,.04);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none
}
.home-wetter-forecast::-webkit-scrollbar{display:none}
.home-wetter-forecast:empty{display:none}
.home-wetter-hour{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:52px;padding:4px 6px;flex-shrink:0
}
.home-wetter-hour-time{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);color:var(--k-text3)
}
.home-wetter-hour-icon{
  font-size:20px;color:#FF9500
}
.home-wetter-hour-temp{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text)
}

/* ===== BOTTOM NAV MOBILE KONSISTENZ ===== */
@media(max-width:500px){
  .bottom-nav{
    height:calc(58px + env(safe-area-inset-bottom,0px));
    background:rgba(255,250,251,.75);
    box-shadow:0 -2px 16px rgba(242,113,130,.05)
  }
  .bottom-nav-item .material-symbols-outlined{font-size:22px}
  .bottom-nav-label{font-size:var(--k-fs-micro)}
}

/* telefon-fab CSS entfernt — telefon.js hat eigene Styles (#tel-fab) */

/* ===== MUSIK MODULE ===== */

/* Mini Player auf Desktop verstecken (Header-Button reicht) */
@media(min-width:900px){ #musik-mini-player,.musik-fab,.musik-mini-player{display:none} }

/* Mini Player — fixed above bottom nav */
.musik-mini-player{
  position:fixed;left:0;right:0;bottom:60px;
  z-index:999;height:56px;
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--k-border-strong);
  display:flex;align-items:center;gap:0;
  padding:0 8px 0 0;
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:0 -2px 16px rgba(0,0,0,.06);
}
[data-theme="dark"] .musik-mini-player{
  background:rgba(30,30,30,.85);
}
.musik-mini-player.visible{transform:translateY(0)}
.musik-mini-player .mini-progress{
  position:absolute;top:-2px;left:0;right:0;height:2px;background:var(--k-border-strong);
}
.musik-mini-player .mini-progress-fill{
  height:100%;background:var(--k-brand);transition:width .3s linear;width:0%;
}
.musik-mini-player .mini-content{
  flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;
  cursor:pointer;min-width:0;overflow:hidden;
}
.musik-mini-player .mini-cover{
  width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;
}
.musik-mini-player .mini-cover-placeholder{
  background:var(--k-bg2);display:flex;align-items:center;justify-content:center;
}
.musik-mini-player .mini-cover-placeholder .material-symbols-outlined{font-size:20px;color:var(--k-text3)}
.musik-mini-player .mini-info{min-width:0;overflow:hidden}
.musik-mini-player .mini-title{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.musik-mini-player .mini-artist{
  font-size:var(--k-fs-caption);color:var(--k-text3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.musik-mini-play,.musik-mini-next{
  width:40px;height:40px;border-radius:50%;border:none;background:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  color:var(--k-text);flex-shrink:0;
}
.musik-mini-play .material-symbols-outlined{font-size:28px}
.musik-mini-next .material-symbols-outlined{font-size:22px;color:var(--k-text3)}

/* Push bottom nav down when mini player is showing */
body.has-mini-player .bottom-nav{transform:translateY(0)}
body.has-mini-player #dashboard #dash-content{padding-bottom:calc(146px + env(safe-area-inset-bottom,0px))}

/* Tabs */
.musik-tabs{
  display:flex;gap:0;border-bottom:1.5px solid var(--k-border-strong);
  padding:0 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.musik-tab{
  flex:none;padding:10px 14px;font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);
  background:none;border:none;border-bottom:2px solid transparent;
  color:var(--k-text3);cursor:pointer;white-space:nowrap;
  transition:color .2s,border-color .2s;
}
.musik-tab.active{color:var(--k-brand);border-bottom-color:var(--k-brand);font-weight:var(--k-fw-semibold)}

/* Player — kompakt, alle Controls sichtbar */
.musik-player{padding:8px 0;text-align:center}
.musik-cover-wrap{margin:0 auto 10px;max-width:200px}
.musik-cover-big{
  width:100%;max-width:200px;aspect-ratio:1;border-radius:var(--k-r-sm);
  object-fit:cover;box-shadow:0 6px 24px rgba(0,0,0,.1);
}
.musik-cover-placeholder{
  width:100%;max-width:200px;aspect-ratio:1;border-radius:var(--k-r-sm);
  background:var(--k-bg2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}
.musik-song-info{margin-bottom:10px}
.musik-song-title{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);color:var(--k-text)}
.musik-song-artist{font-size:var(--k-fs-body);color:var(--k-text2);margin-top:1px}

/* Progress */
.musik-progress-wrap{padding:0 8px;margin-bottom:10px}
.musik-progress{
  width:100%;height:4px;background:var(--k-border-strong);border-radius:2px;
  cursor:pointer;position:relative;
}
.musik-progress-fill{
  height:100%;background:var(--k-brand);border-radius:2px;
  transition:width .2s linear;width:0%;
}
.musik-time{
  display:flex;justify-content:space-between;
  font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:4px;padding:0 2px;
}

/* Controls */
.musik-controls{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-bottom:12px;
}
.musik-controls button{
  background:none;border:none;cursor:pointer;padding:3px;
  color:var(--k-text);display:flex;align-items:center;justify-content:center;
}
.musik-play-main{
  width:52px;height:52px;border-radius:50%;
  background:var(--k-brand);color:#fff;
  box-shadow:0 4px 16px rgba(242,113,130,.3);
}
.musik-play-main .material-symbols-outlined{font-size:28px}

/* Volume */
.musik-volume{
  display:flex;align-items:center;gap:8px;padding:0 16px;
}
.musik-volume input[type="range"]{
  flex:1;-webkit-appearance:none;height:4px;background:var(--k-border-strong);
  border-radius:2px;outline:none;
}
.musik-volume input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--k-brand);cursor:pointer;
}

/* Playlist Grid */
.musik-playlist-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:8px 0;
}
.musik-playlist-card{
  background:rgba(255,255,255,.45);
  border:none;border-radius:var(--k-r-sm);overflow:hidden;cursor:pointer;
  box-shadow:0 2px 16px rgba(242,113,130,.06);
  transition:transform .15s;
}
[data-theme="dark"] .musik-playlist-card{background:rgba(40,40,40,.6)}
.musik-playlist-card:active{transform:scale(.97)}
.musik-playlist-cover{width:100%;aspect-ratio:1;overflow:hidden;background:var(--k-bg2)}
.musik-playlist-name{
  font-weight:var(--k-fw-semibold);font-size:var(--k-fs-body);color:var(--k-text);
  padding:10px 12px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.musik-playlist-count{
  font-size:var(--k-fs-caption);color:var(--k-text3);padding:0 12px 10px;
}

/* Song Row */
.musik-song-row{
  display:flex;align-items:center;gap:10px;padding:8px 4px;
  border-bottom:1px solid var(--k-border-strong);cursor:pointer;
  transition:background .15s;
}
.musik-song-row:last-child{border-bottom:none}
.musik-song-row:active{background:rgba(242,113,130,.06)}
.musik-song-row.active{background:rgba(242,113,130,.08)}
.musik-song-row-info{flex:1;min-width:0;overflow:hidden}
.musik-song-row-title{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);color:var(--k-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.musik-song-row-artist{
  font-size:var(--k-fs-caption);color:var(--k-text3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* NV Switch (reused from other modules) */
.nv-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.nv-switch input{opacity:0;width:0;height:0}
.nv-switch-slider{
  position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;
  background:var(--k-border-strong);border-radius:var(--k-r-sm);transition:.3s;
}
.nv-switch-slider::before{
  content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;transition:.3s;
}
.nv-switch input:checked+.nv-switch-slider{background:var(--k-brand)}
.nv-switch input:checked+.nv-switch-slider::before{transform:translateX(20px)}

/* [REMOVED] Duplicate .nv-btn-primary/.nv-btn-secondary/.nv-card — Single Source of Truth at lines ~3237/3247/3155 */

@media(min-width:769px){
  .musik-mini-player{left:220px}
  .musik-playlist-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){
  .musik-playlist-grid{grid-template-columns:repeat(4,1fr)}
}

/* ============================================================
   UI REDESIGN v2 — Bottom Bar, Profil-Bubble, Slide-in Menus
   ============================================================ */

/* ---------- Bottom Action Bar v2 ---------- */
/* ===== BOTTOM BAR v3 — Floating Pill (wie Mockup) ===== */
.bottom-bar-v2{
  position:fixed;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  left:50%;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:8px 24px;
  background:var(--k-surface-solid);
  border:1px solid var(--k-border);
  border-radius:var(--k-r-full);
  box-shadow:0 4px 24px rgba(0,0,0,.1);
  z-index:200;
  transition:transform .3s var(--k-ease),opacity .3s;
}
[data-theme="dark"] .bottom-bar-v2{background:var(--k-bg2);border-color:var(--k-border-strong);box-shadow:0 4px 24px rgba(0,0,0,.4)}
.bottom-bar-v2.hidden{transform:translateX(-50%) translateY(calc(100% + 24px));opacity:0}

.bb-item{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  cursor:pointer;position:relative;
  color:var(--k-text3);
  background:none;border:none;border-radius:50%;
  font-family:var(--k-font);
  transition:color .15s,transform .1s,background .15s;
  -webkit-tap-highlight-color:transparent;
}
.bb-item:hover{background:var(--k-fill)}
.bb-item.active{color:var(--k-text)}
.bb-item.active .material-symbols-outlined{font-variation-settings:'FILL' 1,'wght' 400}
.bb-item:active{transform:scale(.9)}
.bb-item .material-symbols-outlined{font-size:28px;font-variation-settings:'FILL' 0,'wght' 300}
.bb-item.active .material-symbols-outlined{font-variation-settings:'FILL' 1,'wght' 400}
.bb-label{display:none}
.bb-badge{position:absolute;top:-2px;right:2px;min-width:16px;height:16px;border-radius:8px;
  background:var(--k-red);color:#fff;font-size:9px;font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;padding:0 4px}
.bb-avatar{width:26px;height:26px;border-radius:50%;background:var(--k-brand-light);color:var(--k-brand);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  border:2px solid transparent}
.bb-item.active .bb-avatar{border-color:var(--k-text)}

/* Center + Button — Bold, prominent */
.bb-center{
  width:44px;height:44px;border-radius:50%;
  background:var(--k-text);color:var(--k-bg);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:transform .15s;
  -webkit-tap-highlight-color:transparent;
  flex-shrink:0;
}
.bb-center:active{transform:scale(.9)}
.bb-center .material-symbols-outlined{font-size:28px;font-variation-settings:'FILL' 0,'wght' 400}

/* AI Floating Button */
.nv-ai-fab{
  position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:16px;
  width:48px;height:48px;border-radius:50%;
  background:var(--k-text);color:var(--k-bg);
  border:none;cursor:pointer;z-index:190;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  transition:transform .2s,box-shadow .2s;
  -webkit-tap-highlight-color:transparent;
}
.nv-ai-fab:active{transform:scale(.9)}
.nv-ai-fab .material-symbols-outlined{font-size:22px;font-variation-settings:'FILL' 1,'wght' 400}

@media(min-width:769px){
  .bottom-bar-v2{display:none !important}
  .nv-ai-fab{bottom:24px;right:24px}
}

/* ---------- Profil-Bubble (Header) ---------- */
.profil-bubble{
  width:42px;height:42px;border-radius:50%;
  overflow:hidden;cursor:pointer;position:relative;
  background:linear-gradient(135deg,var(--k-brand),#d9576a);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);
  box-shadow:0 0 0 2.5px var(--k-bg),0 0 0 4px transparent;
  transition:box-shadow .3s ease,transform .1s;
  flex-shrink:0;
}
.profil-bubble:active{transform:scale(.92)}
.profil-bubble img{width:100%;height:100%;object-fit:cover}
.profil-bubble.checked-in{
  box-shadow:0 0 0 2.5px var(--k-bg),0 0 0 4.5px #34C759;
}
.pb-badge{
  position:absolute;top:-3px;right:-3px;
  min-width:18px;height:18px;border-radius:9px;
  background:#FF3B30;color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;
  border:2px solid var(--k-bg);
  z-index:2;
}

/* ---------- Salon Menu (right slide-in) ---------- */
.salon-menu-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,0);
  transition:background .3s ease;
  pointer-events:none;
  overscroll-behavior:contain;
}
.salon-menu-overlay.active{background:rgba(0,0,0,.35);pointer-events:auto}

.salon-menu{
  position:absolute;top:0;right:0;bottom:0;
  width:85%;max-width:380px;
  background:var(--k-bg);
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.32,.72,0,1);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:env(safe-area-inset-top,20px) 16px calc(20px + env(safe-area-inset-bottom,0px)) 16px;
  box-shadow:-8px 0 40px rgba(0,0,0,.08);
}
.salon-menu-overlay.active .salon-menu{transform:translateX(0)}

.sm-handle{
  width:4px;height:36px;border-radius:2px;
  background:var(--k-border-strong);
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
}
.sm-section-title{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);text-transform:uppercase;letter-spacing:.8px;
  color:var(--k-text3);padding:20px 0 8px;
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:color .15s;
}
.sm-section-title:active{color:var(--k-text2)}
.sm-section-title:first-child{padding-top:8px}
.sm-section-arrow{
  font-size:16px;color:var(--k-text4);
  transition:transform .2s ease;
  font-variation-settings:'wght' 400;
}
.sm-section-title.collapsed .sm-section-arrow{transform:rotate(-90deg)}
.sm-section-group{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}
.sm-section-group>*{overflow:hidden;min-height:0}
.sm-section-group.collapsed{grid-template-rows:0fr}
.sm-item{
  display:flex;align-items:center;gap:14px;
  padding:13px 12px;border-radius:12px;
  cursor:pointer;transition:background .15s;
  -webkit-tap-highlight-color:transparent;
  pointer-events:auto;position:relative;z-index:1;
}
.sm-item:active{background:var(--k-brand-light)}
.sm-item-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
}
.sm-item-label{font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);color:var(--k-text)}
.sm-item-badge{
  margin-left:auto;
  min-width:20px;height:20px;border-radius:10px;
  background:var(--k-brand);color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 6px;
}

/* ---------- Profil Menu (left slide-in) ---------- */
.profil-menu-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,0);
  transition:background .3s ease;
  pointer-events:none;
}
.profil-menu-overlay.active{background:rgba(0,0,0,.35);pointer-events:auto}

.profil-menu{
  position:absolute;top:0;left:0;bottom:0;
  width:85%;max-width:380px;
  background:var(--k-bg);
  transform:translateX(-100%);
  transition:transform .4s cubic-bezier(.32,.72,0,1);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:env(safe-area-inset-top,20px) 16px calc(20px + env(safe-area-inset-bottom,0px)) 16px;
  box-shadow:8px 0 40px rgba(0,0,0,.08);
}
.profil-menu-overlay.active .profil-menu{transform:translateX(0)}

.pm-avatar{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,var(--k-brand),#d9576a);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:var(--k-fw-bold);
  margin:16px auto;overflow:hidden;
  box-shadow:0 4px 20px rgba(242,113,130,.2);
}
.pm-avatar img{width:100%;height:100%;object-fit:cover}
.pm-name{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);text-align:center;color:var(--k-text)}
.pm-role{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);text-align:center;color:var(--k-text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}

.pm-checkin-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-radius:var(--k-r-xs);
  background:var(--k-surface-solid);
  border:1.5px solid var(--k-border-strong);
  margin-bottom:12px;
}
.pm-checkin-label{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text)}
.pm-checkin-status{font-size:var(--k-fs-caption);color:var(--k-text3)}

/* Reuse .sm-item styles for profil menu items */
.pm-item{
  display:flex;align-items:center;gap:14px;
  padding:13px 12px;border-radius:12px;
  cursor:pointer;transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
.pm-item:active{background:var(--k-brand-light)}
.pm-item-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;color:var(--k-brand);
  background:var(--k-brand-light);
}
.pm-item-label{font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);color:var(--k-text)}
.pm-divider{height:1px;background:var(--k-border-strong);margin:8px 0}

/* ---------- Add Popup ---------- */
.add-popup-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0);
  transition:background .2s ease;
  pointer-events:none;
}
.add-popup-overlay.active{background:rgba(0,0,0,.25);pointer-events:auto}

.add-popup{
  position:fixed;
  bottom:calc(80px + env(safe-area-inset-bottom,0px));
  left:50%;transform:translateX(-50%) scale(.9);
  opacity:0;
  background:var(--k-surface-solid);
  border:1px solid var(--k-border-strong);
  border-radius:16px;
  padding:12px 0;
  min-width:250px;
  box-shadow:0 8px 32px rgba(0,0,0,0.4);
  transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .2s ease;
  z-index:10000;
}
.add-popup-overlay.active .add-popup{transform:translateX(-50%) scale(1);opacity:1}

.ap-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 20px;min-height:56px;border-radius:0;
  cursor:pointer;transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
.ap-item:active{background:var(--k-brand-light)}
.ap-item .material-symbols-outlined{
  width:46px;height:46px;border-radius:50%;
  background:var(--k-fill,rgba(255,255,255,.06));
  display:flex;align-items:center;justify-content:center;
  font-size:22px;color:var(--k-brand);flex-shrink:0;
}
.ap-item-label{font-size:17px;font-weight:500;color:var(--k-text);font-family:var(--k-font,'Outfit',sans-serif)}

/* ---------- Dark theme overrides for new components ---------- */
[data-theme="dark"] .bottom-bar-v2{
  background:rgba(30,30,30,.8);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 4px 24px rgba(0,0,0,.3);
}
[data-theme="dark"] .salon-menu{background:var(--k-bg);box-shadow:-8px 0 40px rgba(0,0,0,.3)}
[data-theme="dark"] .profil-menu{background:var(--k-bg);box-shadow:8px 0 40px rgba(0,0,0,.3)}
[data-theme="dark"] .add-popup{background:rgba(30,28,36,.95);border-color:rgba(255,255,255,.08);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}
[data-theme="dark"] .profil-bubble{box-shadow:0 0 0 2.5px var(--k-bg),0 0 0 4px transparent}
[data-theme="dark"] .profil-bubble.checked-in{box-shadow:0 0 0 2.5px var(--k-bg),0 0 0 4.5px #34C759}

/* ---------- Mono theme ---------- */
[data-theme="light"] .bottom-bar-v2{background:rgba(245,245,245,.92);border-color:rgba(0,0,0,.08)}
[data-theme="light"] .bb-item{color:#444}
[data-theme="light"] .salon-menu{background:#fff;color:#000}
[data-theme="light"] .profil-menu{background:#fff;color:#000}
[data-theme="light"] .sm-item:active,[data-theme="light"] .pm-item:active,[data-theme="light"] .ap-item:active{background:rgba(0,0,0,.06)}
[data-theme="light"] .sm-item-icon{background:rgba(0,0,0,.06);color:#000}
[data-theme="light"] .pm-item-icon{background:rgba(0,0,0,.06);color:#000}
[data-theme="light"] .sm-item-label,[data-theme="light"] .pm-item-label{color:#000}
[data-theme="light"] .sm-section-title{color:#888}
[data-theme="light"] .add-popup{background:#fff;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .ap-item .material-symbols-outlined{color:#000}
[data-theme="light"] .profil-bubble{background:#000;box-shadow:0 0 0 2.5px #fff,0 0 0 4px transparent}
[data-theme="light"] .profil-bubble.checked-in{box-shadow:0 0 0 2.5px #fff,0 0 0 4.5px #000}
[data-theme="light"] .pm-avatar{background:#000}
[data-theme="light"] .pm-checkin-toggle{background:#f5f5f5;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .pb-badge{background:#000;border-color:#fff}
/* Mono: ALL badges, icons, and accents must be grayscale */
[data-theme="light"] .nv-sidebar-badge{background:#000}
[data-theme="light"] .bb-badge{background:#000}
[data-theme="light"] .bb-center{background:#000;color:#fff}
[data-theme="light"] .nv-scope-btn.active{background:#000;color:#fff}
[data-theme="light"] .nv-section-action{color:#000}
[data-theme="light"] .nv-weather-icon{filter:grayscale(1)}

/* ===== Pull-to-Refresh ===== */
.ptr-indicator{
  position:fixed;top:-60px;left:50%;transform:translateX(-50%) translateY(-60px);
  z-index:10000;
  display:flex;align-items:center;gap:8px;
  background:var(--k-surface-solid);border:1px solid var(--k-border-strong);
  border-radius:var(--k-r-sm);padding:8px 16px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;
  pointer-events:none;
}
.ptr-spinner{display:flex;align-items:center;justify-content:center}
.ptr-icon{font-size:20px;color:var(--k-brand);transition:transform .2s}
.ptr-icon.ptr-spinning{animation:ptr-spin .6s linear infinite}
.ptr-text{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text2);white-space:nowrap}
@keyframes ptr-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
[data-theme="dark"] .ptr-indicator{background:var(--k-bg2);border-color:var(--k-border-strong);box-shadow:0 4px 20px rgba(0,0,0,.4)}
[data-theme="light"] .ptr-indicator{background:#fff;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .ptr-icon{color:#000}

/* ===== Dashboard Widgets v2 ===== */

/* Gauge Widget (SVG arc) */
.nv-gauge-widget{
  display:flex;flex-direction:column;align-items:center;
  padding:20px 16px 16px;
}
.nv-gauge-svg{width:140px;height:80px}
.nv-gauge-value{font-size:2rem;font-weight:var(--k-fw-bold);color:var(--k-text);margin-top:-8px;line-height:1}
.nv-gauge-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text3);text-transform:uppercase;margin-top:4px}
.nv-gauge-sub{font-size:var(--k-fs-body);color:var(--k-text2);margin-top:2px}

/* Progress Bar Widget */
.nv-progress-widget{padding:16px}
.nv-progress-row{margin-bottom:14px}
.nv-progress-row:last-child{margin-bottom:0}
.nv-progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.nv-progress-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text)}
.nv-progress-val{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-brand)}
.nv-progress-bar{height:8px;border-radius:4px;background:var(--k-fill);overflow:hidden}
.nv-progress-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.nv-progress-fill--accent{background:var(--k-brand)}
.nv-progress-fill--green{background:#34C759}
.nv-progress-fill--blue{background:#007AFF}
.nv-progress-fill--orange{background:#FF9500}

/* Ranking Widget */
.nv-ranking-widget{padding:0}
.nv-ranking-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--k-border);
}
.nv-ranking-item:last-child{border-bottom:none}
.nv-ranking-pos{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  background:var(--k-fill);color:var(--k-text2);flex-shrink:0;
}
.nv-ranking-pos--1{background:linear-gradient(135deg,#FFD700,#FFA500);color:#fff}
.nv-ranking-pos--2{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#fff}
.nv-ranking-pos--3{background:linear-gradient(135deg,#CD7F32,#A0522D);color:#fff}
.nv-ranking-name{flex:1;font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text)}
.nv-ranking-val{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text)}

/* Big Weather Widget */
.nv-weather-big{
  padding:20px;display:flex;align-items:center;gap:16px;
}
.nv-weather-icon{font-size:48px;color:var(--k-text)}
.nv-weather-temp{font-size:2.5rem;font-weight:var(--k-fw-bold);color:var(--k-text);line-height:1}
.nv-weather-desc{font-size:var(--k-fs-body);color:var(--k-text2);margin-top:2px}
.nv-weather-range{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:2px}
.nv-weather-detail{display:flex;gap:12px;margin-top:8px;font-size:var(--k-fs-caption);color:var(--k-text3)}

/* Music Mini Player Widget */
.nv-music-widget{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;cursor:pointer;
  transition:background .15s;
}
.nv-music-widget:active{background:var(--k-fill)}
.nv-music-cover{
  width:48px;height:48px;border-radius:8px;
  background:var(--k-fill);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.nv-music-cover img{width:100%;height:100%;object-fit:cover}
.nv-music-info{flex:1;min-width:0}
.nv-music-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:var(--k-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-music-artist{font-size:var(--k-fs-caption);color:var(--k-text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-music-controls{display:flex;align-items:center;gap:4px}
.nv-music-btn{
  width:36px;height:36px;border:none;background:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:background .15s;color:var(--k-text);
}
.nv-music-btn:hover{background:var(--k-fill)}
.nv-music-btn .material-symbols-outlined{font-size:22px}

/* ============================================================
   KUNDENPROFIL — Apple Kontakte Style (Fashion-Brand)
   ============================================================ */
.kp-container{max-width:600px;margin:0 auto;padding-bottom:40px}
.kp-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;padding:8px 12px;background:var(--k-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.kp-header-btn{background:none;border:none;cursor:pointer;padding:8px;color:var(--k-text);border-radius:50%;transition:background .15s}
.kp-header-btn:active{background:var(--k-fill)}
.kp-header-spacer{flex:1}
.kp-hero{text-align:center;padding:8px 24px 24px}
.kp-avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.kp-avatar-foto{background-size:cover;background-position:center}
.kp-avatar-initial{background:linear-gradient(135deg,#1A1A1A,#444);color:#fff;font-size:2rem;font-weight:var(--k-fw-bold);letter-spacing:-.02em}
.kp-name{font-size:1.5rem;font-weight:var(--k-fw-bold);letter-spacing:-.03em;margin:0 0 4px;color:var(--k-text);line-height:1.2}
.kp-contact-line{font-size:var(--k-fs-caption);color:var(--k-text3);margin-bottom:8px;letter-spacing:.01em}
.kp-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}
.kp-action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;background:var(--k-surface-solid,#fff);border:1px solid var(--k-border-strong);border-radius:var(--k-r-sm);color:var(--k-text);font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;text-decoration:none;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;min-width:64px}
.kp-action-btn:active{transform:scale(.96);background:var(--k-fill)}
.kp-action-btn .material-symbols-outlined{font-size:20px;color:var(--k-brand)}
.kp-stats{display:flex;gap:0;margin:0 24px;border-radius:var(--k-r-sm);background:var(--k-surface-solid,#fff);border:1px solid var(--k-border-strong);overflow:hidden}
.kp-stat{flex:1;text-align:center;padding:14px 8px}
.kp-stat+.kp-stat{border-left:1px solid var(--k-border-strong)}
.kp-stat-val{font-size:var(--k-fs-title);font-weight:var(--k-fw-bold);letter-spacing:-.02em;color:var(--k-text)}
.kp-stat-lbl{font-size:var(--k-fs-micro);color:var(--k-text3);margin-top:2px;font-weight:var(--k-fw-medium);text-transform:uppercase;letter-spacing:.04em}
.kp-tabs{display:flex;gap:6px;padding:20px 24px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.kp-tabs::-webkit-scrollbar{display:none}
.kp-tab{padding:8px 16px;border:1.5px solid var(--k-border-strong);border-radius:var(--k-r-full);background:none;color:var(--k-text2);font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;white-space:nowrap;transition:background-color .15s}
, color .15s}
, border-color .15s}
, box-shadow .15s}
, transform .15s}
, opacity .15s}
.kp-tab.active{background:var(--k-text);color:var(--k-bg);border-color:var(--k-text)}
.kp-tab:active{transform:scale(.96)}
.kp-content{padding:20px 24px}

/* Dark mode widget overrides */
[data-theme="dark"] .nv-progress-bar{background:rgba(255,255,255,.08)}
[data-theme="dark"] .nv-ranking-pos{background:rgba(255,255,255,.1)}
[data-theme="dark"] .nv-music-cover{background:rgba(255,255,255,.08)}

/* Mono mode: no colors */
[data-theme="light"] .nv-progress-fill--accent,[data-theme="light"] .nv-progress-fill--green,
[data-theme="light"] .nv-progress-fill--blue,[data-theme="light"] .nv-progress-fill--orange{background:#000}
[data-theme="light"] .nv-ranking-pos--1,[data-theme="light"] .nv-ranking-pos--2,
[data-theme="light"] .nv-ranking-pos--3{background:#000;color:#fff}
[data-theme="light"] .nv-progress-val{color:#000}
[data-theme="light"] .nv-gauge-value{color:#000}

/* ═══ KEEVA OVERRIDES (outside @layer, wins over keeva-ui.css) ═══ */
/* ME|Salon Toggle — bigger, Dear Me style */
body.k-ui .k-scope-pill{padding:10px 28px!important;font-size:var(--k-fs-body)!important}
body.k-ui .k-scope-toggle{padding:5px!important}
/* Home whitespace: defined ONLY in keeva-ui.css — do NOT override here */
body.k-ui .k-home-big-title{font-size:47px!important;line-height:.92!important}
/* Today card spacing: ONLY in keeva-ui.css */
/* Home spacing: ONLY in keeva-ui.css — removed all margin/padding overrides */
body.k-ui .k-home-quick-scroll{padding:0!important;gap:12px!important}
body.k-ui .k-home-quick-card{overflow:hidden!important}
body.k-ui .k-home-quick-card-label,body.k-ui .k-home-quick-card-sub{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.k-ui .k-home-feed{padding:0 18px!important}
body.k-ui .k-home-msg-title{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
/* Quick Cards: card sizing */
body.k-ui .k-home-quick-card{width:150px!important;height:110px!important;padding:16px!important}
body.k-ui .k-home-quick-card-label{font-size:var(--k-fs-title)!important;font-weight:var(--k-fw-bold)!important}
body.k-ui .k-home-quick-card-sub{font-size:var(--k-fs-caption)!important}
/* Pill Tab Bar: stronger glass like Fanvue screenshot */
body.k-ui .k-tab-bar{background:rgba(40,36,50,.85)!important;backdrop-filter:blur(20px) saturate(150%)!important;-webkit-backdrop-filter:blur(20px) saturate(150%)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 4px 20px rgba(0,0,0,.4)!important}
body.k-ui .k-tab-fab{border:2px solid rgba(242,113,130,.4)!important;background:rgba(242,113,130,.15)!important;box-shadow:0 0 24px rgba(242,113,130,.25)!important}
body.k-ui .k-tab-fab .material-symbols-rounded{color:rgba(255,255,255,.85)!important}
/* Search bar: compact, glass, Fanvue style */
/* REMOVED: body.k-ui .k-search-bar{background:var(--k-glass-bg)!important;backdrop-filter:blur(40px) saturate(180%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%)!important;border:1px solid var(--k-glass-border)!important;border-radius:var(--k-r-full)!important;padding:10px 16px!important;font-size:.82rem!important} */
/* Spaces title bolder */
body.k-ui .k-spaces-title,body.k-ui .k-module-title{font-weight:var(--k-fw-bold)!important;letter-spacing:-.03em!important}
/* ALL cards: prevent text overflow */
body.k-ui .k-home-quick-card,body.k-ui .k-space-card,body.k-ui .k-spaces-fav-card{overflow:hidden!important}
body.k-ui .k-space-card *,body.k-ui .k-spaces-fav-card *,body.k-ui .k-home-quick-card *{overflow:hidden!important;text-overflow:ellipsis!important}
/* ═══ KUNDENPROFIL — Aiden Black / Fanvue centered style ═══ */
body.k-ui .k-profile-hero-content{text-align:center!important;align-items:center!important;padding:0 24px 32px!important}
body.k-ui .k-profile-name{text-align:center!important;font-size:clamp(1.8rem,7vw,2.6rem)!important;font-weight:var(--k-fw-bold)!important;letter-spacing:-.04em!important}
body.k-ui .k-profile-sub{text-align:center!important;font-size:var(--k-fs-body)!important;margin-top:6px!important}
body.k-ui .k-profile-tags{justify-content:center!important;flex-wrap:wrap!important;gap:6px!important;margin-top:12px!important}
body.k-ui .kp-actions{justify-content:center!important;gap:16px!important;margin:0 24px!important;padding:20px 0!important}
body.k-ui .kp-action-btn{background:var(--k-glass-bg)!important;border:1px solid var(--k-glass-border)!important;border-radius:var(--k-r-sm)!important;padding:14px 20px!important;min-width:80px!important;gap:6px!important;font-size:var(--k-fs-caption)!important}
body.k-ui .k-stats{background:var(--k-glass-bg)!important;border:1px solid var(--k-glass-border)!important;border-radius:var(--k-r-sm)!important;margin:0 24px!important;padding:20px!important}
body.k-ui .k-stat{text-align:center!important}
body.k-ui .k-stat-value{font-size:1.4rem!important;font-weight:var(--k-fw-bold)!important}
body.k-ui .k-stat-label{font-size:var(--k-fs-micro)!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--k-text3)!important;margin-top:2px!important}
/* Profile hero gradient softer */
body.k-ui .k-profile-hero-gradient{background:linear-gradient(to top,var(--k-bg,#09080e) 0%,rgba(0,0,0,.4) 40%,transparent 100%)!important}
/* Tabs as pills centered */
body.k-ui .k-profile-tabs{justify-content:center!important;gap:4px!important;padding:16px 24px!important;border:none!important}
body.k-ui .k-profile-tab{border-radius:var(--k-r-full,50px)!important;padding:8px 16px!important;font-size:var(--k-fs-caption)!important;font-weight:var(--k-fw-semibold)!important}
/* ═══ SPACES CARDS — edge-to-edge scroll, text inside ═══ */
body.k-ui .k-spaces-fav-scroll{padding-right:0!important}
body.k-ui .k-spaces-fav-card{width:160px!important;height:100px!important;padding:14px 16px!important;overflow:hidden!important}
body.k-ui .k-spaces-fav-card *{white-space:nowrap!important}
/* Space grid cards: text inside, bigger labels */
body.k-ui .k-space-card{padding:16px!important;overflow:hidden!important}
body.k-ui .k-space-card-label{font-size:var(--k-fs-title)!important;font-weight:var(--k-fw-bold)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.k-ui .k-space-card-sub{font-size:var(--k-fs-caption)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Disable pull-to-refresh on the app (causes reload on swipe) */
body.k-ui{overscroll-behavior-y:contain!important}
body.k-ui #dashboard{overscroll-behavior-y:contain!important}

/* ═══ GLASSMORPHISM CARDS — Glass-Overlay OHNE Background zu ersetzen ═══ */
body.k-ui .k-home-quick-card,body.k-ui .k-spaces-fav-card,body.k-ui .k-space-card{border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 4px 16px rgba(0,0,0,.25)!important}
body.k-ui .k-neon-card{box-shadow:0 4px 20px rgba(0,0,0,.2),0 0 16px rgba(242,113,130,.08)!important;border:1px solid rgba(255,255,255,.1)!important}
body.k-ui .k-home-today-card{box-shadow:0 4px 20px rgba(0,0,0,.2)!important;border:1px solid rgba(255,255,255,.08)!important}
/* Light/Mono mode: subtler glass */
[data-theme="light"] body.k-ui .k-home-quick-card,[data-theme="light"] body.k-ui .k-spaces-fav-card,[data-theme="light"] body.k-ui .k-space-card,:root:not([data-theme]) body.k-ui .k-home-quick-card,:root:not([data-theme]) body.k-ui .k-spaces-fav-card,:root:not([data-theme]) body.k-ui .k-space-card{background:linear-gradient(135deg,rgba(242,113,130,.10),rgba(236,72,153,.05))!important;border:1px solid rgba(60,45,30,.08)!important;box-shadow:0 4px 20px rgba(60,45,30,.06),0 0 12px rgba(242,113,130,.06),inset 0 1px 0 rgba(255,255,255,.7)!important}
/* ═══ EDGE-TO-EDGE: ALL home spacing in keeva-ui.css only ═══ */
/* Progress/Msg margins: ONLY in keeva-ui.css */
/* Pill Tab Bar: real glass, not gray */
body.k-ui .k-tab-bar{background:rgba(20,18,28,.45)!important;border:1px solid rgba(255,255,255,.1)!important}
[data-theme="light"] body.k-ui .k-tab-bar,[data-theme="light"] body.k-ui .k-tab-bar{background:rgba(255,255,255,.75)!important;border:1px solid rgba(60,45,30,.08)!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important}

/* ═══ FINAL FIX BATCH — 19.03 Night ═══ */
/* Scroll boxes: NO right padding (cards extend beyond screen edge) */
body.k-ui .k-home-quick-scroll,body.k-ui .k-spaces-fav-scroll{margin-right:-18px!important}
/* Space cards + Quick cards: subtle text-shadow for readability on gradient bg (v105 fix) */
body.k-ui .k-space-card-label,body.k-ui .k-spaces-fav-label{text-shadow:0 1px 4px rgba(0,0,0,.4)!important}
body.k-ui .k-space-card-sub,body.k-ui .k-spaces-fav-sub{text-shadow:0 1px 3px rgba(0,0,0,.3)!important}
body.k-ui .k-home-quick-card-label{text-shadow:0 1px 4px rgba(0,0,0,.4)!important}
body.k-ui .k-home-quick-card-sub{text-shadow:0 1px 3px rgba(0,0,0,.3)!important}
/* Light/Mono: remove dark text-shadow that fights light backgrounds */
[data-theme="light"] body.k-ui .k-space-card-label,[data-theme="light"] body.k-ui .k-spaces-fav-label,[data-theme="light"] body.k-ui .k-space-card-label,[data-theme="light"] body.k-ui .k-spaces-fav-label,[data-theme="light"] body.k-ui .k-home-quick-card-label,[data-theme="light"] body.k-ui .k-home-quick-card-label{text-shadow:none!important}
[data-theme="light"] body.k-ui .k-space-card-sub,[data-theme="light"] body.k-ui .k-spaces-fav-sub,[data-theme="light"] body.k-ui .k-space-card-sub,[data-theme="light"] body.k-ui .k-spaces-fav-sub,[data-theme="light"] body.k-ui .k-home-quick-card-sub,[data-theme="light"] body.k-ui .k-home-quick-card-sub{text-shadow:none!important}
/* Spaces title: BOLD */
body.k-ui .k-spaces-title{font-size:2rem!important;font-weight:var(--k-fw-bold)!important;letter-spacing:-.04em!important}
/* Search bar: BIG glass pill like Fanvue screenshot */
/* REMOVED v105c: body.k-ui .k-search-bar,body.k-ui .k-spaces-search{height:48... */
/* REMOVED v105c: [data-theme="dark"] body.k-ui,[data-theme="dark"] bod... */
/* Pill Tab Bar: REAL glass like Fanvue (not gray) */
body.k-ui .k-tab-bar{background:rgba(60,55,75,.35)!important;backdrop-filter:blur(50px) saturate(200%)!important;-webkit-backdrop-filter:blur(50px) saturate(200%)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 4px 30px rgba(0,0,0,.3)!important}
[data-theme="light"] body.k-ui .k-tab-bar{background:rgba(240,238,244,.4)!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 4px 30px rgba(0,0,0,.08)!important}
/* Spaces grid: no gap at right edge */
body.k-ui .k-spaces-grid{padding:0 16px!important}

/* ═══ DARK MODE — Fanvue/Character AI reference (deep mauve-black + aurora) ═══ */
/* Search bar: dark glass pill, full width */
/* REMOVED v105c: [data-theme="dark"] body.k-ui,[data-theme="dark"] bod... */
/* REMOVED v105c: [data-theme="dark"] body.k-ui,[data-theme="dark"] bod... */
/* Aurora stronger in dark mode */
[data-theme="dark"] body.k-ui,[data-theme="dark"] body.k-ui .k-aurora::before{opacity:1!important;filter:blur(50px)!important}
/* Tab bar: colored icons like reference */
[data-theme="dark"] body.k-ui,[data-theme="dark"] body.k-ui .k-tab-item.active .material-symbols-rounded{color:var(--k-brand)!important;filter:drop-shadow(0 0 8px rgba(242,113,130,.4))!important}
/* Cards in dark mode: subtle glass border */
[data-theme="dark"] body.k-ui .k-home-today-card,[data-theme="dark"] body.k-ui .k-home-today-card,[data-theme="dark"] body.k-ui .k-home-stat-box,[data-theme="dark"] body.k-ui .k-home-stat-box{border:1px solid rgba(255,255,255,.06)!important}
[data-theme="dark"] body.k-ui .k-home-progress-card,[data-theme="dark"] body.k-ui .k-home-progress-card{border:1px solid rgba(255,255,255,.06)!important}
/* Light mode search bar: subtle gray */
/* REMOVED v105c: [data-theme="light"] body.k-ui .nv-searchbar,[data-theme="light"... */

/* ═══ SCROLL EDGE FIX — no white pixel right side ═══ */
body.k-ui .k-home-quick-scroll,body.k-ui .k-spaces-fav-scroll{overflow-x:auto!important;-ms-overflow-style:none!important}
body.k-ui{overflow-x:hidden!important}
body.k-ui .k-content{overflow-x:visible!important}
body.k-ui #dash-content{overflow-x:clip!important}
/* Space grid cards: flush to edges */
body.k-ui .k-spaces-grid .k-space-card:nth-child(odd){margin-left:0!important}
body.k-ui .k-spaces-grid .k-space-card:nth-child(even){margin-right:0!important}

/* ═══ TAB BAR GLASS — truly transparent with visible blur ═══ */
[data-theme="dark"] body.k-ui .k-tab-bar{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(60px) saturate(200%)!important;-webkit-backdrop-filter:blur(60px) saturate(200%)!important;box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 0 0 .5px rgba(255,255,255,.08)!important}
[data-theme="light"] body.k-ui .k-tab-bar{background:rgba(0,0,0,.04)!important;border:1px solid rgba(0,0,0,.06)!important;backdrop-filter:blur(60px) saturate(200%)!important;-webkit-backdrop-filter:blur(60px) saturate(200%)!important;box-shadow:0 8px 32px rgba(0,0,0,.06),inset 0 0 0 .5px rgba(255,255,255,.5)!important}

/* ═══════════════════════════════════════════════════════════
   KALENDER REDESIGN v2 — Bold Date Left, Compact Actions
   ═══════════════════════════════════════════════════════════ */

/* Header container */
.kal-header-v2{
  position:sticky;top:0;z-index:100;
  padding:12px 16px 0;
  background:transparent;
  font-family:var(--k-font,'Outfit',sans-serif);
}

/* Row 1: date left + actions right */
.kal-header-row1{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding-bottom:10px;
}

/* ── Date Block (left) ── */
.kal-date-block{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;
  min-width:0;
}
.kal-date-big{
  font-size:2.8rem;font-weight:var(--k-fw-black);line-height:1;letter-spacing:-.04em;
  color:var(--k-text);
  font-variant-numeric:tabular-nums;
}
.kal-date-sep{
  font-size:1.8rem;font-weight:300;opacity:.4;margin:0 1px;
}
.kal-date-meta{
  display:flex;flex-direction:column;gap:0;padding-top:4px;
}
.kal-date-weekday{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text);letter-spacing:.02em;line-height:1.2;
}
.kal-date-month{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text2);line-height:1.3;
}
.kal-date-year{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text2);line-height:1.3;
}

/* Nav arrows + Heute pill + Wetter (under the date) */
.kal-date-nav{
  display:flex;align-items:center;gap:6px;width:100%;margin-top:4px;
}
.kal-nav-arrow{
  width:32px;height:32px;border-radius:50%;border:none;
  background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--k-text2);-webkit-tap-highlight-color:transparent;
  transition:background .15s;
}
.kal-nav-arrow:active{background:rgba(0,0,0,.06);transform:scale(.95)}
.kal-nav-arrow .material-symbols-rounded{font-size:20px}

.kal-today-pill{
  padding:5px 14px;border-radius:var(--k-r-full);border:1.5px solid var(--k-brand);
  background:none;font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  color:var(--k-brand);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
}
.kal-today-pill:active{background:var(--k-brand);color:#fff;transform:scale(.97)}

/* Wetter badge inline */
.kal-wetter-inline{
  display:flex;align-items:center;gap:4px;
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text3);
  margin-left:auto;min-height:18px;
}

/* ── Action icons (right) ── */
.kal-header-actions{
  display:flex;align-items:center;gap:4px;flex-shrink:0;padding-top:6px;
}
.kal-action-icon{
  width:38px;height:38px;border-radius:50%;border:none;
  background:rgba(0,0,0,.04);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--k-text2);-webkit-tap-highlight-color:transparent;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
}
.kal-action-icon .material-symbols-rounded{font-size:20px}
.kal-action-icon:active{transform:scale(.93);background:rgba(0,0,0,.08)}
.kal-action-icon.active{background:var(--k-brand)!important;color:#fff!important}

/* ── Filter bar ── */
.kal-filter-bar{
  display:flex;gap:6px;overflow-x:auto;
  padding:0 16px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.kal-filter-bar::-webkit-scrollbar{display:none}

.kal-scope-compact{flex-shrink:0}

.kal-filter-chip{
  display:flex;align-items:center;gap:4px;flex-shrink:0;
  padding:7px 14px;border-radius:var(--k-r-full);border:1.5px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.03);
  font-family:var(--k-font);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  color:var(--k-text2);cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
  min-height:34px;
}
.kal-filter-chip:active{transform:scale(.97)}
.kal-filter-chip.active{
  background:var(--k-brand)!important;color:#fff!important;
  border-color:var(--k-brand)!important;
  box-shadow:0 2px 10px rgba(242,113,130,.25);
}
.kal-filter-chip.active .material-symbols-rounded{color:#fff!important}

.kal-filter-count{
  background:rgba(255,255,255,.3);border-radius:50%;
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
}

/* Compact avatar filter chips (team member initials) */
.kal-filter-avatar{
  width:34px;height:34px;min-height:34px;padding:0!important;
  justify-content:center;font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  border-radius:50%!important;
}

/* Team dropdown v2 (legacy) */
.kal-team-dropdown-v2{
  display:flex;flex-wrap:wrap;gap:6px;
  margin:0 16px 8px;padding:8px 0;
}

/* ── DARK MODE for Kalender v2 ── */
[data-theme="dark"] .kal-header-v2,
[data-theme="dark"] .kal-header-v2{
  background:transparent;
}
/* ── DARK MODE (keeva-black / dark) — high contrast ── */
[data-theme="dark"] .kal-action-icon,
[data-theme="dark"] .kal-action-icon{
  background:rgba(255,255,255,.12)!important;color:rgba(255,255,255,.85)!important;
}
[data-theme="dark"] .kal-action-icon .material-symbols-rounded,
[data-theme="dark"] .kal-action-icon .material-symbols-rounded{
  color:rgba(255,255,255,.85)!important;
}
[data-theme="dark"] .kal-action-icon:active,
[data-theme="dark"] .kal-action-icon:active{
  background:rgba(255,255,255,.22)!important;
}
[data-theme="dark"] .kal-nav-arrow,
[data-theme="dark"] .kal-nav-arrow{
  color:rgba(255,255,255,.75)!important;
}
[data-theme="dark"] .kal-nav-arrow .material-symbols-rounded,
[data-theme="dark"] .kal-nav-arrow .material-symbols-rounded{
  color:rgba(255,255,255,.75)!important;
}
[data-theme="dark"] .kal-nav-arrow:active,
[data-theme="dark"] .kal-nav-arrow:active{
  background:rgba(255,255,255,.12)!important;
}
[data-theme="dark"] .kal-filter-chip,
[data-theme="dark"] .kal-filter-chip{
  background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.15)!important;
  color:rgba(255,255,255,.85)!important;
}
[data-theme="dark"] .kal-filter-chip .material-symbols-rounded,
[data-theme="dark"] .kal-filter-chip .material-symbols-rounded{
  color:rgba(255,255,255,.75)!important;
}
[data-theme="dark"] .kal-filter-chip.active,
[data-theme="dark"] .kal-filter-chip.active{
  background:var(--k-brand)!important;color:#fff!important;border-color:var(--k-brand)!important;
}
[data-theme="dark"] .kal-filter-chip.active .material-symbols-rounded,
[data-theme="dark"] .kal-filter-chip.active .material-symbols-rounded{
  color:#fff!important;
}
[data-theme="dark"] .kal-date-big,
[data-theme="dark"] .kal-date-big{
  color:#fff!important;
}
[data-theme="dark"] .kal-date-weekday,
[data-theme="dark"] .kal-date-weekday{
  color:rgba(255,255,255,.9)!important;
}
[data-theme="dark"] .kal-date-month,
[data-theme="dark"] .kal-date-month,
[data-theme="dark"] .kal-date-year,
[data-theme="dark"] .kal-date-year{
  color:rgba(255,255,255,.55)!important;
}
[data-theme="dark"] .kal-wetter-inline,
[data-theme="dark"] .kal-wetter-inline{
  color:rgba(255,255,255,.5)!important;
}
[data-theme="dark"] .kal-today-pill,
[data-theme="dark"] .kal-today-pill{
  border-color:var(--k-brand)!important;color:var(--k-brand)!important;
}
[data-theme="dark"] .kal-today-pill:active,
[data-theme="dark"] .kal-today-pill:active{
  background:var(--k-brand)!important;color:#fff!important;
}
[data-theme="dark"] .k-scope-pill,
[data-theme="dark"] .k-scope-pill{
  color:rgba(255,255,255,.7)!important;
}
[data-theme="dark"] .k-scope-pill.active,
[data-theme="dark"] .k-scope-pill.active{
  color:#fff!important;
}

/* ── LIGHT MODE — clean bright white ── */
[data-theme="light"] .kal-header-v2{
  background:transparent!important;
}
[data-theme="light"] .kal-date-big{color:#1A1A1A!important}
[data-theme="light"] .kal-date-weekday{color:#1A1A1A!important}
[data-theme="light"] .kal-date-month,[data-theme="light"] .kal-date-year{color:rgba(0,0,0,.5)!important}
[data-theme="light"] .kal-nav-arrow{color:rgba(0,0,0,.5)!important}
[data-theme="light"] .kal-nav-arrow .material-symbols-rounded{color:rgba(0,0,0,.5)!important}
[data-theme="light"] .kal-action-icon{
  background:rgba(0,0,0,.06)!important;color:rgba(0,0,0,.6)!important;
}
[data-theme="light"] .kal-action-icon .material-symbols-rounded{color:rgba(0,0,0,.55)!important}
[data-theme="light"] .kal-filter-chip{
  background:rgba(0,0,0,.04)!important;border-color:rgba(0,0,0,.1)!important;
  color:rgba(0,0,0,.7)!important;
}
[data-theme="light"] .kal-filter-chip .material-symbols-rounded{color:rgba(0,0,0,.5)!important}
[data-theme="light"] .kal-filter-chip.active{
  background:var(--k-brand)!important;color:#fff!important;border-color:var(--k-brand)!important;
}
[data-theme="light"] .kal-filter-chip.active .material-symbols-rounded{color:#fff!important}
[data-theme="light"] .kal-wetter-inline{color:rgba(0,0,0,.4)!important}
[data-theme="light"] .k-scope-pill{color:rgba(0,0,0,.5)!important}
[data-theme="light"] .k-scope-pill.active{color:#1A1A1A!important}

/* ── Kalender Grid: Time labels + column headers — Dark/Light fixes ── */

/* Column header: dark mode glass */
[data-theme="dark"] .kal-col-header,
[data-theme="dark"] .kal-col-header{
  background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.06)!important;
}
/* Grid: dark mode glass */
[data-theme="dark"] .kal-glass-grid,
[data-theme="dark"] .kal-glass-grid{
  background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.06)!important;
}
/* Time labels in grid: brighter in dark mode */
[data-theme="dark"] #kal-grid > div:first-child > div,
[data-theme="dark"] #kal-grid > div:first-child > div{
  color:rgba(255,255,255,.5)!important;opacity:1!important;
}
/* Column header names: bright in dark */
[data-theme="dark"] .kal-col-header div[style*="color:var(--text)"],
[data-theme="dark"] .kal-col-header div[style*="color:var(--text)"]{
  color:rgba(255,255,255,.85)!important;
}
/* Column header work times: visible in dark */
[data-theme="dark"] .kal-col-header div[style*="color:var(--text3)"],
[data-theme="dark"] .kal-col-header div[style*="color:var(--text3)"]{
  color:rgba(255,255,255,.4)!important;
}

/* Light mode: clean white backgrounds */
[data-theme="light"] .kal-col-header{
  background:rgba(0,0,0,.02)!important;border-color:rgba(0,0,0,.06)!important;
}
[data-theme="light"] .kal-glass-grid{
  background:#fff!important;border-color:rgba(0,0,0,.06)!important;
}

/* ── MONO (light clean) ── */
[data-theme="light"] .kal-header-v2{
  background:transparent;
}
[data-theme="light"] .kal-action-icon{
  background:rgba(0,0,0,.04);
}
[data-theme="light"] .kal-filter-chip{
  background:#fff;border-color:rgba(0,0,0,.1);
}
[data-theme="light"] .kal-filter-chip.active{
  background:#000!important;color:#fff!important;border-color:#000!important;box-shadow:none!important;
}

/* ═══════════════════════════════════════════════════════════
   PROFIL HERO STYLE — Premium profile like customer profile
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   PROFIL — Aiden Black Inspired Layout
   Full-bleed hero, centered mini-avatar overlap, glass pills
   ═══════════════════════════════════════════════════════════ */

/* Hero — full bleed area */
.profil-hero--aiden{
  position:relative;min-height:45vh;overflow:hidden;
  text-align:center;padding:0;
  width:100vw;margin-left:-18px;margin-top:0;border-radius:0;
}
.profil-hero-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  background:linear-gradient(160deg,#e8e0d8 0%,#c9bfb6 40%,#b8aea5 100%);
  display:flex;align-items:center;justify-content:center;
}
.profil-hero-bg-img img{
  width:100%;height:100%;object-fit:cover;
}
.profil-hero-gradient-overlay{
  position:absolute;bottom:0;left:0;right:0;height:60%;
  background:linear-gradient(to top,var(--k-bg) 0%,rgba(0,0,0,.15) 50%,transparent 100%);
  pointer-events:none;
}
[data-theme="dark"] .profil-hero-gradient-overlay,
[data-theme="dark"] .profil-hero-gradient-overlay{
  background:linear-gradient(to top,var(--k-bg) 0%,rgba(0,0,0,.4) 50%,transparent 100%);
}
[data-theme="dark"] .profil-hero-bg-img,
[data-theme="dark"] .profil-hero-bg-img{
  background:linear-gradient(160deg,#1a1a2e 0%,#16213e 40%,#0f3460 100%);
}

/* Floating glass close/back button */
.profil-hero-float-actions{
  position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;z-index:10;
  display:flex;gap:8px;
}
.profil-hero-glass-btn{
  width:40px;height:40px;border-radius:50%;border:none;
  background:rgba(0,0,0,.25);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;-webkit-tap-highlight-color:transparent;
}
.profil-hero-glass-btn:active{transform:scale(.92);background:rgba(0,0,0,.4)}

/* Hero initial placeholder (when no photo) */
.profil-hero-initial{
  font-size:5rem;font-weight:var(--k-fw-bold);
  color:rgba(255,255,255,.15);
  letter-spacing:-.04em;
}

/* Edit hint overlay — shows on tap */
.profil-hero-edit-hint{
  position:absolute;bottom:0;left:0;right:0;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:16px;
  color:rgba(255,255,255,.7);font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);
  pointer-events:none;z-index:5;
}
.profil-hero--aiden:active .profil-hero-edit-hint{
  color:#fff;
}
.profil-hero--aiden{cursor:pointer;-webkit-tap-highlight-color:transparent}

/* Save/Cancel buttons over hero */
.profil-bild-save-wrap{
  display:flex;gap:8px;
  justify-content:center;
  padding:12px 16px 0;
}

/* Centered info below avatar */
.profil-centered-info{
  text-align:center;padding:0 16px;margin-top:12px;
}
.profil-hero-name{
  font-family:var(--k-font);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:var(--k-fw-black);
  color:var(--k-text);letter-spacing:-.04em;line-height:1.05;
}
.profil-hero-role{
  display:inline-block;margin-top:8px;
  padding:6px 18px;border-radius:var(--k-r-full);
  background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);
  color:var(--k-text2);
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);text-transform:uppercase;letter-spacing:.06em;
}
[data-theme="dark"] .profil-hero-role,
[data-theme="dark"] .profil-hero-role{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);
  color:rgba(240,238,244,.7);
}

/* Save/Cancel buttons */
.profil-hero-save-btn{
  padding:10px 24px;border:none;border-radius:var(--k-r-full);
  background:var(--k-brand);color:#fff;font-family:var(--k-font);
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);cursor:pointer;
}
.profil-hero-cancel-btn{
  padding:10px 16px;border:none;border-radius:var(--k-r-full);
  background:none;color:var(--k-text3);font-family:var(--k-font);
  font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);cursor:pointer;
}

/* Stats pills — glass, centered row */
.profil-stats-row{
  display:flex;justify-content:center;gap:8px;
  padding:20px 16px 16px;
}
.profil-stat-pill{
  flex:1;max-width:130px;text-align:center;
  padding:14px 12px;
  border-radius:var(--k-r-sm);
  background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);
}
.profil-stat-val{
  font-size:1.3rem;font-weight:var(--k-fw-black);color:var(--k-text);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.profil-stat-lbl{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);color:var(--k-text3);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;
}

/* Dark: stat pills glass */
[data-theme="dark"] .profil-stat-pill,
[data-theme="dark"] .profil-stat-pill{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

/* Glass cards for sections */
.profil-glass-card{
  margin:0 16px 12px;padding:16px;
  background:var(--k-glass-bg);
  border:1px solid var(--k-glass-border);
  border-radius:var(--k-r-sm);
}
.profil-section-title{
  display:flex;align-items:center;gap:6px;
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text2);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;
}
.profil-edit-link{
  border:none;background:none;color:var(--k-brand);
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);cursor:pointer;padding:4px 8px;
}

/* ── Profil Dark Mode ── */
[data-theme="dark"] .profil-glass-card,
[data-theme="dark"] .profil-glass-card{
  background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.06)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

/* Legacy compat: keep old class names working */
.profil-hero-bg{display:none}
.profil-stat-card{
  text-align:center;padding:14px 8px;
  background:var(--k-glass-bg);border:1px solid var(--k-glass-border);
  border-radius:var(--k-r-sm);
}
[data-theme="dark"] .profil-stat-card,
[data-theme="dark"] .profil-stat-card{
  background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.07)!important;
}

/* ═══════════════════════════════════════════════════════════
   GERÄTEVERWALTUNG — Device cards
   ═══════════════════════════════════════════════════════════ */
.geraete-card{
  display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--k-r-sm);
  background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);
  cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s;
  position:relative;z-index:1;box-shadow:none;
}
.geraete-card:active{transform:scale(.99)}
.geraete-thumb{
  width:48px;height:48px;border-radius:12px;overflow:hidden;flex-shrink:0;
  background:rgba(0,0,0,.04);display:flex;align-items:center;justify-content:center;
}
.geraete-thumb img{width:100%;height:100%;object-fit:cover}
.geraete-card-info{flex:1;min-width:0}
.geraete-card-name{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geraete-card-meta{font-size:var(--k-fs-caption);color:var(--k-text3);margin-top:1px}
.geraete-card-assign{font-size:var(--k-fs-micro);color:var(--k-text2);display:flex;align-items:center;gap:2px;margin-top:2px}
.geraete-card-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.geraete-zustand-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
[data-theme="dark"] .geraete-card,[data-theme="dark"] .geraete-card{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.06)!important}
[data-theme="dark"] .geraete-thumb,[data-theme="dark"] .geraete-thumb{background:rgba(255,255,255,.06)!important}

/* ═══ KALENDER: FREI-Person deutlich erkennbar ═══ */
.kal-col-frei{opacity:.4!important}
.kal-col-frei img{filter:grayscale(1) brightness(.85)!important}
.kal-col-frei div[style*="border-radius:50%"]{border-color:var(--k-border-strong)!important;opacity:.5}
[data-theme="dark"] .kal-col-frei,
[data-theme="dark"] .kal-col-frei{opacity:.25!important}

/* ═══ NO SCROLLBAR — hide all scrollbars globally ═══ */
body.k-ui ::-webkit-scrollbar{display:none!important}
body.k-ui{scrollbar-width:none!important}
body.k-ui *{scrollbar-width:none!important}

/* ═══ NO BOX-SHADOW on legacy cards only ═══ */
body.k-ui .nv-quick-action,
body.k-ui .nv-card,
body.k-ui .section-card{box-shadow:none!important}

/* ═══ BRAND LOGO — 80s neon glow, HINTER Content (z-index 0) ═══ */
.k-tab-brand{bottom:calc(90px + var(--k-safe-bottom,0px))!important;opacity:.9!important;z-index:0!important}
.k-tab-brand-logo{height:52px!important}
[data-theme="light"] .k-tab-brand,[data-theme="light"] .k-tab-brand,:root:not([data-theme]) .k-tab-brand{opacity:.85!important}
/* More bottom padding for content (brand + pill + safe area) */
/* CLEAN SLATE: Container-Regeln entfernt, werden in Schritt 2 neu gesetzt */
body.k-ui #dash-content{padding-left:18px!important;padding-right:18px!important}
.nv-page-scroll-area{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:160px}
body.k-ui .k-content{padding-bottom:160px!important}

/* ═══ AVATAR BADGE — not clipped ═══ */
.k-home-avatar-wrap{overflow:visible!important;-webkit-touch-callout:none}
.k-home-avatar-wrap img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}
.k-home-avatar-badge{top:-6px!important;right:-6px!important;z-index:2!important}

/* ═══ MISSED CALLS TOPBAR ICON ═══ */
.k-missed-calls-btn{position:relative}
.k-missed-badge{
  position:absolute;top:-4px;right:-6px;
  width:20px;height:20px;border-radius:50%;
  background:var(--k-brand,#F27182);color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(242,113,130,.4);
  animation:badgePulse 2s ease-in-out infinite;
}

/* Alle Badges: immer rund, kleinere Schrift bei 2+ Stellen */
.k-missed-badge,.k-home-avatar-badge,.k-tab-badge,.nv-avatar-badge,.bottom-nav-badge{
  animation:badgePulse 2s ease-in-out infinite;
}
@keyframes badgePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.15)}
}

/* ═══ TAB BAR ICONS — dark in light/mono mode ═══ */
[data-theme="light"] .k-tab-item .material-symbols-rounded,
[data-theme="light"] .k-tab-item .material-symbols-rounded{
  color:rgba(0,0,0,.3)!important;
}
[data-theme="light"] .k-tab-item.active .material-symbols-rounded,
[data-theme="light"] .k-tab-item.active .material-symbols-rounded{
  color:rgba(0,0,0,.85)!important;filter:none!important;
}

/* ═══ KI-PREISRECHNER — Upload Zones, Chips, Spinner ═══ */
.kir-upload-zone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  height:120px;border-radius:var(--k-r-sm);border:2px dashed rgba(0,0,0,.1);
  background:rgba(0,0,0,.02);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent;
}
.kir-upload-zone:active{transform:scale(.97);background:rgba(242,113,130,.04)}
.kir-upload-sm{width:80px;height:80px;border-radius:12px;flex-shrink:0}
.kir-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:8px 16px;border-radius:50px;
  border:1.5px solid rgba(0,0,0,.08);background:transparent;
  font-family:var(--k-font);font-size:var(--k-fs-body);font-weight:var(--k-fw-medium);
  color:var(--k-text);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
  -webkit-tap-highlight-color:transparent;white-space:nowrap;
}
.kir-chip:active{transform:scale(.95)}
.kir-chip.active{
  border-color:var(--k-brand);background:rgba(242,113,130,.08);
  color:var(--k-brand);font-weight:var(--k-fw-semibold);
}
.kir-chip-ai{
  border-color:rgba(126,87,194,.2);background:rgba(126,87,194,.06);
  color:#7E57C2;font-weight:var(--k-fw-semibold);pointer-events:none;
}
.kir-ai-spinner{
  width:40px;height:40px;border-radius:50%;
  border:3px solid rgba(242,113,130,.15);border-top-color:var(--k-brand);
  animation:kirSpin .8s linear infinite;margin:0 auto;
}
@keyframes kirSpin{to{transform:rotate(360deg)}}
/* Dark mode */
[data-theme="dark"] .kir-upload-zone{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
[data-theme="dark"] .kir-chip{border-color:rgba(255,255,255,.12);color:var(--k-text)}
[data-theme="dark"] .kir-chip.active{border-color:var(--k-brand);background:rgba(242,113,130,.12)}
[data-theme="dark"] .kir-upload-zone{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
[data-theme="dark"] .kir-chip{border-color:rgba(255,255,255,.12)}

/* ================================================================
 * BOX REDESIGN — v105 Squircle + Search Double-Border + Shadow Fix
 * ================================================================ */

/* Squircle Cards — iOS-style superellipse, nicht boring rund */
body.k-ui .k-space-card{
  border-radius:var(--k-r-sm)!important;
  position:relative!important;
  overflow:visible!important;
}
body.k-ui .k-spaces-fav-card{
  border-radius:var(--k-r-sm)!important;
  position:relative!important;
}
body.k-ui .k-home-quick-card{
  border-radius:var(--k-r-sm)!important;
}

/* Text auf Cards: KEIN harter Block-Shadow, nur subtiler Drop-Shadow fuer Lesbarkeit */
body.k-ui .k-space-card-label{
  text-shadow:0 1px 6px rgba(0,0,0,.5)!important;
  position:relative!important;z-index:1!important;
}
body.k-ui .k-space-card-sub{
  text-shadow:0 1px 4px rgba(0,0,0,.4)!important;
  position:relative!important;z-index:1!important;
}
body.k-ui .k-spaces-fav-label{
  text-shadow:0 1px 6px rgba(0,0,0,.5)!important;
}
body.k-ui .k-spaces-fav-sub{
  text-shadow:0 1px 4px rgba(0,0,0,.4)!important;
}
/* KEINEN background-overlay/box hinter dem Text */
body.k-ui .k-space-card-content{
  background:none!important;
  box-shadow:none!important;
  padding:0!important;
}

/* Search Bar — Glass Pill (same as Tab Bar: single border, glow, lupe inside) */
body.k-ui .nv-searchbar,
body.k-ui #keeva-spaces-search{
  height:52px!important;
  border-radius:40px!important;
  background:rgba(25,20,35,.5)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 4px 20px rgba(0,0,0,.3),0 0 30px rgba(180,120,220,.06),inset 0 1px 0 rgba(255,255,255,.1)!important;
  padding:0 18px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
}
body.k-ui .nv-searchbar input,
body.k-ui #keeva-spaces-search input{
  background:none!important;
  border:none!important;
  outline:none!important;
  padding:0!important;
  flex:1!important;
  font-size:var(--k-fs-body)!important;
  color:var(--k-text)!important;
  font-family:var(--k-font,Outfit,sans-serif)!important;
  height:100%!important;
}
body.k-ui .nv-searchbar .material-symbols-rounded{
  color:rgba(255,255,255,.35)!important;
  font-size:22px!important;
  flex-shrink:0!important;
  padding:0!important;
}
/* Light mode search */
[data-theme="light"] body.k-ui .nv-searchbar,
[data-theme="light"] body.k-ui #keeva-spaces-search{
  background:rgba(0,0,0,.04)!important;
  border:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 2px 12px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.5)!important;
}
[data-theme="light"] body.k-ui .nv-searchbar input,
[data-theme="light"] body.k-ui #keeva-spaces-search input{
  color:var(--k-text)!important;
}
[data-theme="light"] body.k-ui .nv-searchbar .material-symbols-rounded{
  color:rgba(0,0,0,.3)!important;
}


/* ================================================================
 * STORY RINGS + SOCIAL FEED — v105
 * ================================================================ */

/* ── Story Rings ── */
body.k-ui .k-story-scroll{
  display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:0 0 8px;scrollbar-width:none;
}
body.k-ui .k-story-scroll::-webkit-scrollbar{display:none}
body.k-ui .k-story-item{
  display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;
}
body.k-ui .k-story-ring{
  width:72px;height:72px;border-radius:50%;padding:2.5px;
  background:linear-gradient(135deg,var(--k-brand,#e84393),var(--k-violet,#ec4899),var(--k-brand,#e84393));
  background-size:200% 200%;
  animation:storyGradient 4s ease infinite;
}
@keyframes storyGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
body.k-ui .k-story-ring.seen{
  background:rgba(255,255,255,.15);
}
[data-theme="light"] body.k-ui .k-story-ring.seen{
  background:rgba(0,0,0,.1);
}
body.k-ui .k-story-ring-inner{
  width:100%;height:100%;border-radius:50%;overflow:hidden;
  border:3px solid var(--k-bg,#0d0d0f);
}
[data-theme="light"] body.k-ui .k-story-ring-inner{
  border-color:#fff;
}
body.k-ui .k-story-avatar{
  width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;
}
body.k-ui .k-story-avatar-ph{
  width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--k-fill,rgba(255,255,255,.06));
  font-size:1.2rem;font-weight:var(--k-fw-bold);color:var(--k-text,#f5f0e8);
}
body.k-ui .k-story-name{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-semibold);color:var(--k-text2,rgba(245,240,232,.55));
  max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;
}
body.k-ui .k-story-add-wrap{position:relative}
body.k-ui .k-story-add-badge{
  position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;border-radius:50%;
  background:var(--k-brand,#e84393);color:#fff;font-size:14px;font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--k-bg,#0d0d0f);
}
[data-theme="light"] body.k-ui .k-story-add-badge{border-color:#fff}

/* ── Feed Cards ── */
body.k-ui .k-feed-list{
  display:flex;flex-direction:column;gap:12px;padding:0 16px;
}
body.k-ui .k-feed-card{
  background:var(--k-glass-bg,rgba(255,255,255,.06));
  border:1px solid var(--k-glass-border,rgba(255,255,255,.08));
  border-radius:var(--k-r-sm);overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
  transition:transform .15s;
}
body.k-ui .k-feed-card:active{transform:scale(.99)}
body.k-ui .k-feed-card.pinned{
  border-left:3px solid var(--k-brand,#e84393);
}
body.k-ui .k-feed-header{
  display:flex;align-items:center;gap:10px;padding:14px 16px 0;
}
body.k-ui .k-feed-avatar{
  width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;
}
body.k-ui .k-feed-avatar-ph{
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--k-fill,rgba(255,255,255,.06));
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text,#f5f0e8);flex-shrink:0;
}
body.k-ui .k-feed-info{flex:1;min-width:0}
body.k-ui .k-feed-author{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text,#f5f0e8);
  display:flex;align-items:center;gap:6px;
}
body.k-ui .k-feed-role{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);text-transform:uppercase;letter-spacing:.05em;
  padding:2px 6px;border-radius:6px;
  background:rgba(232,67,147,.12);color:var(--k-brand,#e84393);
}
body.k-ui .k-feed-time{
  font-size:var(--k-fs-caption);color:var(--k-text3,rgba(245,240,232,.3));
}
body.k-ui .k-feed-pin-badge{
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);color:var(--k-brand,#e84393);
  display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0;
}
body.k-ui .k-feed-body{padding:10px 16px 0}
body.k-ui .k-feed-title{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:var(--k-text,#f5f0e8);margin-bottom:4px;
}
body.k-ui .k-feed-text{
  font-size:var(--k-fs-body);line-height:1.5;color:var(--k-text2,rgba(245,240,232,.55));
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
body.k-ui .k-feed-image{
  margin:10px 16px 0;border-radius:12px;overflow:hidden;max-height:300px;
}
body.k-ui .k-feed-image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
body.k-ui .k-feed-actions{
  display:flex;align-items:center;gap:4px;padding:10px 16px 14px;
}
body.k-ui .k-feed-reaction{
  display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--k-r-sm);
  background:var(--k-fill,rgba(255,255,255,.06));border:none;cursor:pointer;
  font-size:var(--k-fs-caption);color:var(--k-text2,rgba(245,240,232,.55));
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
}
body.k-ui .k-feed-reaction:active{transform:scale(.92)}
body.k-ui .k-feed-reaction.active{
  background:rgba(232,67,147,.12);color:var(--k-brand,#e84393);
}
body.k-ui .k-feed-reaction .emoji{font-size:1rem}
body.k-ui .k-feed-comment-btn{
  margin-left:auto;display:inline-flex;align-items:center;gap:4px;
  padding:6px 10px;border-radius:var(--k-r-sm);
  background:var(--k-fill,rgba(255,255,255,.06));border:none;cursor:pointer;
  font-size:var(--k-fs-caption);color:var(--k-text3,rgba(245,240,232,.3));
  transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
}
body.k-ui .k-feed-comment-btn:active{transform:scale(.92)}
body.k-ui .k-feed-empty{
  text-align:center;padding:32px 20px;color:var(--k-text3,rgba(245,240,232,.3));
  font-size:var(--k-fs-body);
}
body.k-ui .k-feed-more{
  text-align:center;padding:8px 0 0;
}
body.k-ui .k-feed-more a{
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-brand,#e84393);
  text-decoration:none;cursor:pointer;
}

/* ── Feed Comment Sheet ── */
body.k-ui .k-comment-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
body.k-ui .k-comment-item{display:flex;gap:10px;align-items:flex-start}
body.k-ui .k-comment-avatar{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--k-fill);font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text);
}
body.k-ui .k-comment-bubble{
  flex:1;background:var(--k-fill);border-radius:var(--k-r-xs);padding:10px 14px;
}
body.k-ui .k-comment-author{font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);color:var(--k-text)}
body.k-ui .k-comment-text{font-size:var(--k-fs-body);color:var(--k-text2);line-height:1.4;margin-top:2px}
body.k-ui .k-comment-time{font-size:var(--k-fs-micro);color:var(--k-text4);margin-top:4px}
body.k-ui .k-comment-input{
  display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--k-glass-border,rgba(255,255,255,.08));
}
body.k-ui .k-comment-input input{
  flex:1;background:var(--k-fill);border:none;border-radius:var(--k-r-sm);padding:10px 16px;
  font-size:var(--k-fs-body);color:var(--k-text);font-family:var(--k-font,Outfit,sans-serif);outline:none;
}
body.k-ui .k-comment-input button{
  width:40px;height:40px;border-radius:50%;border:none;
  background:var(--k-brand,#e84393);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s;flex-shrink:0;
}
body.k-ui .k-comment-input button:active{transform:scale(.9)}

/* ── Feed Post Create Sheet ── */
body.k-ui .k-post-create textarea{
  width:100%;min-height:100px;background:var(--k-fill);border:1px solid var(--k-glass-border);
  border-radius:var(--k-r-xs);padding:14px;font-size:var(--k-fs-body);color:var(--k-text);
  font-family:var(--k-font,Outfit,sans-serif);resize:vertical;outline:none;
}
body.k-ui .k-post-create textarea:focus{border-color:var(--k-brand)}
body.k-ui .k-post-type-pills{
  display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;
}
body.k-ui .k-post-type-pill{
  padding:6px 14px;border-radius:var(--k-r-sm);font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  background:var(--k-fill);color:var(--k-text2);border:1px solid transparent;
  cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s, opacity .2s;
}
body.k-ui .k-post-type-pill.active{
  background:rgba(232,67,147,.12);color:var(--k-brand);border-color:rgba(232,67,147,.25);
}
body.k-ui .k-post-submit{
  width:100%;padding:14px;border-radius:var(--k-r-sm);border:none;
  background:var(--k-brand,#e84393);color:#fff;font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);
  font-family:var(--k-font,Outfit,sans-serif);cursor:pointer;
  transition:transform .2s;margin-top:12px;
}
body.k-ui .k-post-submit:active{transform:scale(.97)}
body.k-ui .k-post-submit:disabled{opacity:.5;cursor:not-allowed}

/* ═══ SEARCH INPUT FIX — ultra-high specificity to beat keeva-ui.css (v105f) ═══ */
body.k-ui .nv-searchbar input,
body.k-ui .nv-searchbar input:not(.NEVER),
body.k-ui .nv-searchbar input[type="text"],
body.k-ui #keeva-spaces-search input,
body.k-ui #keeva-spaces-search input:not(.NEVER),
body.k-ui #keeva-spaces-search input[type="text"],
body.k-ui input[oninput*="filterSpaces"]{
  background:transparent!important;
  background-color:transparent!important;
  border:0 none transparent!important;
  border-width:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
}

/* ═══ SAFE AREA TOP — extend bg behind notch/dynamic island (v105e) ═══ */
body.k-ui{
  padding-top:env(safe-area-inset-top,0px)!important;
}
body.k-ui #dashboard{
  min-height:100dvh!important;
}
body.k-ui .k-content{
  padding-top:0!important;
}
/* Topbar padding: ONLY in keeva-ui.css — removed duplicate */

/* ═══ v106h Dashboard Polish — Banners, Mini Cards, Tasks ═══ */

/* Urgent Banner — rot pulsierend */
body.k-ui .k-urgent-banner{
  display:flex;align-items:center;gap:10px;
  margin:8px 16px 0;padding:12px 16px;border-radius:var(--k-r-sm);
  background:rgba(255,56,56,.12);border:1px solid rgba(255,56,56,.25);
  color:#ff3838;cursor:pointer;position:relative;overflow:hidden;
  animation:k-urgent-glow 2s ease-in-out infinite;
}
@keyframes k-urgent-glow{0%,100%{box-shadow:0 0 0 rgba(255,56,56,0)}50%{box-shadow:0 0 20px rgba(255,56,56,.15)}}
body.k-ui .k-urgent-pulse{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;background:#ff3838;
  animation:k-pulse-dot 1.5s ease-in-out infinite;
}
body.k-ui .k-urgent-banner>span:first-of-type{margin-left:14px}

/* Neue Buchungen Banner — grün */
body.k-ui .k-booking-banner{
  display:flex;align-items:center;gap:10px;
  margin:8px 16px 0;padding:12px 16px;border-radius:var(--k-r-sm);
  background:rgba(0,184,148,.10);
  border:1px solid rgba(0,184,148,.20);
  color:#00b894;cursor:pointer;
  transition:transform .15s,box-shadow .2s;
}
body.k-ui .k-booking-banner:active{transform:scale(.98)}
[data-theme="dark"] .k-booking-banner,
[data-theme="dark"] .k-booking-banner{
  background:rgba(0,184,148,.08)!important;
  border-color:rgba(0,184,148,.18)!important;
  color:#34d399!important;
}

/* Mini Cards (Gestern + Monat) */
body.k-ui .k-mini-card{
  background:rgba(255,255,255,.04);
  border:1px solid var(--k-glass-border,rgba(255,255,255,.08));
  border-radius:var(--k-r-md);padding:28px;
}
[data-theme="dark"] .k-mini-card{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:none;
}
body.k-ui .k-mini-card-label{font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);text-transform:uppercase;letter-spacing:.8px;color:var(--k-text3);margin-bottom:4px}
body.k-ui .k-mini-card-value{font-size:1.4rem;font-weight:var(--k-fw-black);color:var(--k-text);letter-spacing:-.02em}
body.k-ui .k-mini-card-trend{font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);margin-top:2px}
body.k-ui .k-mini-card-trend.up{color:#00b894}
body.k-ui .k-mini-card-trend.down{color:#ff3838}

/* Tasks Card */
body.k-ui .k-home-tasks-card{
  margin:0;padding:4px 0;
  background:var(--glass,rgba(255,255,255,.06));
  border:1px solid var(--glass-border,rgba(255,255,255,.08));
  border-radius:var(--k-r-sm);overflow:hidden;
}
body.k-ui .k-task-row{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;transition:opacity .3s,background .2s;
}
body.k-ui .k-task-row:active{background:rgba(255,255,255,.04)}
body.k-ui .k-task-check{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border:none;background:none;padding:0;cursor:pointer;color:var(--k-text3);
  -webkit-tap-highlight-color:transparent;flex-shrink:0;
}
body.k-ui .k-task-check span{font-size:22px;font-variation-settings:'FILL' 0,'wght' 300}
body.k-ui .k-task-urgent{color:#ff3838!important}
body.k-ui .k-task-urgent span{font-variation-settings:'FILL' 1,'wght' 400!important}
body.k-ui .k-task-text{flex:1;font-size:var(--k-fs-body);color:var(--k-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.k-ui .k-task-assignee{font-size:var(--k-fs-caption);font-weight:var(--k-fw-semibold);color:var(--k-text4);flex-shrink:0}
body.k-ui .k-task-done{opacity:.4}
body.k-ui .k-task-done .k-task-text{text-decoration:line-through}
body.k-ui .k-task-done .k-task-check{color:var(--k-brand)}
body.k-ui .k-task-done .k-task-check span{font-variation-settings:'FILL' 1,'wght' 400}

/* k-pulse-dot removed — replaced by fanvuePulseRing in keeva-ui.css */

/* ═══════════════════════════════════════════════════════════════
   UI POLISH — Dark Mode Readability, Glassmorphic Buttons,
   Glow Effects, Toggle Consistency, Element Sizes
   v108 — 2026-03-21
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. DARK MODE TEXT CONTRAST FIX ──
   --k-text3 at 30% opacity is unreadable on dark surfaces.
   Bump secondary/tertiary text to visible levels. */

[data-theme="dark"] .nv-label,
[data-theme="dark"] .nv-stat-lbl,
[data-theme="dark"] .stat-label,
[data-theme="dark"] .field label,
[data-theme="dark"] .field-hint,
[data-theme="dark"] .sm-section-title,
[data-theme="dark"] .nv-sidebar-section-label,
[data-theme="dark"] .dash-date,
[data-theme="dark"] .home-greeting-sub,
[data-theme="dark"] .home-section-title,
[data-theme="dark"] .rating-labels,
[data-theme="dark"] .slider-labels,
[data-theme="dark"] .k-mini-card-label,
[data-theme="dark"] .k-task-assignee{
  color:rgba(240,238,244,.50)
}
[data-theme="dark"] .nv-label,
[data-theme="dark"] .nv-stat-lbl,
[data-theme="dark"] .stat-label,
[data-theme="dark"] .field label,
[data-theme="dark"] .field-hint,
[data-theme="dark"] .sm-section-title,
[data-theme="dark"] .nv-sidebar-section-label,
[data-theme="dark"] .dash-date,
[data-theme="dark"] .home-greeting-sub,
[data-theme="dark"] .home-section-title,
[data-theme="dark"] .rating-labels,
[data-theme="dark"] .slider-labels,
[data-theme="dark"] .k-mini-card-label,
[data-theme="dark"] .k-task-assignee{
  color:rgba(240,238,244,.50)
}

/* Placeholder text: ensure visible in dark inputs */
[data-theme="dark"] .field input::placeholder,
[data-theme="dark"] .field textarea::placeholder,
[data-theme="dark"] .nv-input::placeholder,
[data-theme="dark"] .input-standard::placeholder,
[data-theme="dark"] .nv-desktop-search input::placeholder{
  color:rgba(240,238,244,.35)
}
[data-theme="dark"] .field input::placeholder,
[data-theme="dark"] .field textarea::placeholder,
[data-theme="dark"] .nv-input::placeholder,
[data-theme="dark"] .input-standard::placeholder,
[data-theme="dark"] .nv-desktop-search input::placeholder{
  color:rgba(240,238,244,.35)
}

/* Section titles & card-row text in dark */
[data-theme="dark"] .nv-card-row p,
[data-theme="dark"] .check-sub,
[data-theme="dark"] .pin-sub,
[data-theme="dark"] .disclaimer-text,
[data-theme="dark"] .nk-mail-preview{
  color:rgba(240,238,244,.50)
}
[data-theme="dark"] .nv-card-row p,
[data-theme="dark"] .check-sub,
[data-theme="dark"] .pin-sub,
[data-theme="dark"] .disclaimer-text,
[data-theme="dark"] .nk-mail-preview{
  color:rgba(240,238,244,.50)
}

/* ── 2. PIN OVERLAY & LOGIN — Better contrast ── */
[data-theme="dark"] #pin-overlay,
[data-theme="dark"] #pin-overlay{
  background:#050508
}
[data-theme="dark"] .pin-btn,
[data-theme="dark"] .pin-btn{
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.12);
  color:#f0eef4;
  box-shadow:0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06)
}
[data-theme="dark"] .pin-btn:active,
[data-theme="dark"] .pin-btn:active{
  background:rgba(242,113,130,.2);
  border-color:var(--k-brand);
  box-shadow:0 0 16px rgba(242,113,130,.25)
}
[data-theme="dark"] .pin-btn.del,
[data-theme="dark"] .pin-btn.del{
  color:rgba(240,238,244,.55);
  border-color:rgba(255,255,255,.08)
}
[data-theme="dark"] .pin-dot,
[data-theme="dark"] .pin-dot{
  border-color:rgba(255,255,255,.18)
}
[data-theme="dark"] .login-field input,
[data-theme="dark"] .login-field input{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.12);
  color:#f0eef4
}
[data-theme="dark"] .login-field input:focus,
[data-theme="dark"] .login-field input:focus{
  border-color:var(--k-brand);
  box-shadow:0 0 0 3px rgba(242,113,130,.15)
}
[data-theme="dark"] .login-field input::placeholder,
[data-theme="dark"] .login-field input::placeholder{
  color:rgba(240,238,244,.35)
}

/* ── 3. GLASSMORPHIC BUTTONS — Frosted glass with glow ── */

/* Glass button base — works on both dark themes */
/* REMOVED unused: [data-theme="dark"] .nv-btn-glass, */
[data-theme="dark"] .nv-btn-glass{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 2px 12px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);
  color:var(--k-text)
}
/* REMOVED unused: [data-theme="dark"] .nv-btn-glass:active, */
[data-theme="dark"] .nv-btn-glass:active{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14)
}

/* Header buttons glass polish */
[data-theme="dark"] .header-btn,
[data-theme="dark"] .header-btn{
  background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.1);
  color:rgba(240,238,244,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}

/* Quick access buttons glass */
[data-theme="dark"] .home-qa-btn,
[data-theme="dark"] .home-qa-btn{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
[data-theme="dark"] .home-qa-btn .material-symbols-outlined,
[data-theme="dark"] .home-qa-btn .material-symbols-outlined{
  color:rgba(240,238,244,.55)
}

/* Overview action buttons glass */
[data-theme="dark"] .overview-action-btn,
[data-theme="dark"] .overview-action-btn{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  color:var(--k-text)
}

/* ── 4. GLOWING BUTTONS & ACCENTS ── */

/* Primary action glow in dark mode */
[data-theme="dark"] .nv-primary-action{
  box-shadow:0 4px 20px rgba(255,255,255,.08),0 0 40px rgba(255,255,255,.03)
}
[data-theme="dark"] .nv-primary-action{
  box-shadow:0 4px 20px rgba(255,255,255,.1),0 0 40px rgba(255,255,255,.04)
}

/* Accent button (brand) glow */
/* REMOVED unused: [data-theme="dark"] .nv-btn-accent, */
[data-theme="dark"] .nv-btn-accent{
  box-shadow:0 4px 20px rgba(242,113,130,.25),0 0 40px rgba(242,113,130,.1)
}
/* REMOVED unused: [data-theme="dark"] .nv-btn-accent:active, */
[data-theme="dark"] .nv-btn-accent:active{
  box-shadow:0 2px 12px rgba(242,113,130,.35),0 0 24px rgba(242,113,130,.15)
}

/* Success button glow */
/* REMOVED unused: [data-theme="dark"] .nv-btn-success, */
[data-theme="dark"] .nv-btn-success{
  box-shadow:0 4px 20px rgba(52,211,153,.2),0 0 40px rgba(52,211,153,.08)
}

/* Error button glow */
/* REMOVED unused: [data-theme="dark"] .nv-btn-error, */
[data-theme="dark"] .nv-btn-error{
  box-shadow:0 4px 20px rgba(239,68,68,.2),0 0 40px rgba(239,68,68,.08)
}

/* Outline button — brand border glow */
/* REMOVED unused: [data-theme="dark"] .nv-btn-outline, */
[data-theme="dark"] .nv-btn-outline{
  box-shadow:0 0 16px rgba(242,113,130,.08);
  border-color:rgba(242,113,130,.5)
}
/* REMOVED unused: [data-theme="dark"] .nv-btn-outline:active, */
[data-theme="dark"] .nv-btn-outline:active{
  box-shadow:0 0 24px rgba(242,113,130,.15);
  background:rgba(242,113,130,.08)
}

/* Login button glow */
[data-theme="dark"] .login-btn,
[data-theme="dark"] .login-btn{
  box-shadow:0 4px 20px rgba(242,113,130,.3),0 0 40px rgba(242,113,130,.1)
}

/* FAB glow */
[data-theme="dark"] .nv-fab,
[data-theme="dark"] .nv-fab{
  box-shadow:0 4px 20px rgba(255,255,255,.1),0 0 40px rgba(255,255,255,.04)
}

/* Active chip glow */
[data-theme="dark"] .chip.active,
[data-theme="dark"] .chip.active{
  box-shadow:0 2px 12px rgba(255,255,255,.08)!important
}

/* Step dot active glow */
[data-theme="dark"] .step-dot.active,
[data-theme="dark"] .step-dot.active{
  box-shadow:0 0 16px rgba(242,113,130,.3)
}

/* PIN dot filled glow (keep existing but enhance) */
[data-theme="dark"] .pin-dot.filled,
[data-theme="dark"] .pin-dot.filled{
  box-shadow:0 0 16px rgba(242,113,130,.5),0 0 32px rgba(242,113,130,.2)
}

/* ── 5. TOGGLE SWITCH CONSISTENCY ──
   Unify .nv-toggle and .nv-switch to same visual language.
   Standard size: 50×28 (matching the later definition) */

.nv-toggle,
.nv-switch{
  position:relative;flex-shrink:0;cursor:pointer;
  border:none;padding:0;
  transition:background var(--k-dur-fast) ease
}

/* Unified toggle: 50×28 with 24px thumb */
.nv-toggle{
  width:50px;height:28px;border-radius:var(--k-r-xs);
  background:var(--k-border-strong)
}
.nv-toggle::after{
  content:'';position:absolute;top:2px;left:2px;
  width:24px;height:24px;border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
  transition:transform var(--k-dur-fast) var(--k-ease)
}
.nv-toggle.active{background:var(--k-brand)}
.nv-toggle.active::after{transform:translateX(22px)}

/* Dark toggle: subtle glow when active */
[data-theme="dark"] .nv-toggle,
[data-theme="dark"] .nv-toggle{
  background:rgba(255,255,255,.1)
}
[data-theme="dark"] .nv-toggle.active,
[data-theme="dark"] .nv-toggle.active{
  background:var(--k-brand);
  box-shadow:0 0 12px rgba(242,113,130,.3)
}
[data-theme="dark"] .nv-toggle::after,
[data-theme="dark"] .nv-toggle::after{
  box-shadow:0 1px 4px rgba(0,0,0,.4)
}

/* NV-Switch: match toggle sizing (44×24 with 18px thumb) */
.nv-switch{display:inline-block;width:44px;height:24px}
.nv-switch input{opacity:0;width:0;height:0;position:absolute}
.nv-switch-slider{
  position:absolute;cursor:pointer;inset:0;
  background:var(--k-border-strong);border-radius:var(--k-r-sm);
  transition:background .3s
}
.nv-switch-slider::before{
  content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .3s
}
.nv-switch input:checked+.nv-switch-slider{background:var(--k-brand)}
.nv-switch input:checked+.nv-switch-slider::before{transform:translateX(20px)}

/* Dark switch */
[data-theme="dark"] .nv-switch-slider,
[data-theme="dark"] .nv-switch-slider{
  background:rgba(255,255,255,.1)
}
[data-theme="dark"] .nv-switch input:checked+.nv-switch-slider,
[data-theme="dark"] .nv-switch input:checked+.nv-switch-slider{
  background:var(--k-brand);
  box-shadow:0 0 10px rgba(242,113,130,.25)
}
[data-theme="dark"] .nv-switch-slider::before,
[data-theme="dark"] .nv-switch-slider::before{
  box-shadow:0 1px 3px rgba(0,0,0,.5)
}

/* Theme quick toggle glass + glow */
[data-theme="dark"] .theme-quick-toggle,
[data-theme="dark"] .theme-quick-toggle{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.1);
  color:rgba(240,238,244,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
[data-theme="dark"] .theme-quick-toggle:active,
[data-theme="dark"] .theme-quick-toggle:active{
  border-color:var(--k-brand);color:var(--k-brand);
  box-shadow:0 0 12px rgba(242,113,130,.2)
}

/* Theme toggle in header */
[data-theme="dark"] .theme-toggle,
[data-theme="dark"] .theme-toggle{
  border-color:rgba(255,255,255,.1);
  color:rgba(240,238,244,.6)
}
[data-theme="dark"] .theme-toggle:active,
[data-theme="dark"] .theme-toggle:active{
  border-color:var(--k-brand);color:var(--k-brand);
  box-shadow:0 0 12px rgba(242,113,130,.2)
}

/* ── 6. ELEMENT SIZE CONSISTENCY ── */

/* All interactive elements: consistent min-height 44px (Apple HIG touch target) */
.nv-btn{min-height:44px}
/* REMOVED unused: .nv-btn-sm{min-height:36px} */
/* REMOVED unused: .nv-btn-lg{min-height:52px} */

/* Cards: consistent padding & radius */
[data-theme="dark"] .section-card,
[data-theme="dark"] .section-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 2px 12px rgba(0,0,0,.2)
}

/* Stat items in dark — glass with subtle inner glow */
[data-theme="dark"] .nv-stat-item,
[data-theme="dark"] .overview-stat-card{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important
}
[data-theme="dark"] .nv-stat-item,
[data-theme="dark"] .overview-stat-card{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important
}

/* Check items in dark — readable */
[data-theme="dark"] .check-item,
[data-theme="dark"] .check-item{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  color:var(--k-text)
}
[data-theme="dark"] .check-item.checked,
[data-theme="dark"] .check-item.checked{
  border-color:var(--k-brand);
  background:rgba(242,113,130,.08)
}

/* Check-box border visible in dark */
[data-theme="dark"] .check-box,
[data-theme="dark"] .check-box{
  border-color:rgba(255,255,255,.18)
}

/* Input focus glow in dark */
[data-theme="dark"] .nv-input:focus,
[data-theme="dark"] .nv-input:focus{
  border-color:var(--k-brand);
  box-shadow:0 0 0 3px rgba(242,113,130,.12)
}
[data-theme="dark"] .input-standard:focus,
[data-theme="dark"] .input-standard:focus{
  box-shadow:0 0 0 3px rgba(242,113,130,.12)
}

/* ── 7. TOAST VISIBILITY IN DARK ── */
[data-theme="dark"] .toast,
[data-theme="dark"] .toast{
  background:rgba(255,255,255,.12);
  color:#f0eef4;
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 32px rgba(0,0,0,.4)
}

/* ── 8. BOTTOM NAV GLASS POLISH ── */
[data-theme="dark"] .bottom-bar-v2,
[data-theme="dark"] .bottom-bar-v2{
  background:rgba(8,7,12,.88)!important;
  backdrop-filter:blur(32px) saturate(200%)!important;-webkit-backdrop-filter:blur(32px) saturate(200%)!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 -4px 24px rgba(0,0,0,.3)!important
}

/* ── 9. DARK MODE CARDS: inset light edge (glassmorphic depth) ── */
[data-theme="dark"] .nv-card,
[data-theme="dark"] .nv-card{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 12px rgba(0,0,0,.2)
}

/* Task cards glass */
[data-theme="dark"] .task-card,
[data-theme="dark"] .task-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)
}

/* News cards glass */
[data-theme="dark"] .news-card,
[data-theme="dark"] .news-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)
}

/* Order cards glass */
[data-theme="dark"] .order-card,
[data-theme="dark"] .order-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)
}

/* ── 10. SCOPE TOGGLE & FILTER BUTTONS ── */
[data-theme="dark"] .nv-scope-toggle,
[data-theme="dark"] .nv-scope-toggle{
  background:rgba(255,255,255,.04);
  border-radius:var(--k-r-full)
}
[data-theme="dark"] .nv-scope-btn.active,
[data-theme="dark"] .nv-scope-btn.active{
  background:#f0eef4;color:#08070c;
  box-shadow:0 2px 8px rgba(255,255,255,.08)
}

/* Filter buttons glass */
[data-theme="dark"] .nk-filter-btn.active,
[data-theme="dark"] .nk-filter-btn.active{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  color:var(--k-text)
}

/* ── 11. RATING BUTTONS IN DARK ── */
[data-theme="dark"] .rating-btn,
[data-theme="dark"] .rating-btn{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  color:var(--k-text2)
}
[data-theme="dark"] .rating-btn.active,
[data-theme="dark"] .rating-btn.active{
  box-shadow:0 0 16px rgba(242,113,130,.25)
}

/* ── 12. BOTTOM SHEET HANDLE + DARK POLISH ── */
[data-theme="dark"] .bottom-sheet,
[data-theme="dark"] .bottom-sheet{
  background:rgba(14,13,20,.96)!important;
  backdrop-filter:blur(40px) saturate(180%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%)!important;
  border:1px solid rgba(255,255,255,.06);
  border-bottom:none;
  box-shadow:0 -8px 40px rgba(0,0,0,.5)
}

/* ── 13. SIDEBAR DARK POLISH ── */
[data-theme="dark"] .nv-sidebar,
[data-theme="dark"] .nv-sidebar{
  background:rgba(14,13,20,.95);
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:2px 0 20px rgba(0,0,0,.3)
}
[data-theme="dark"] .nv-sidebar-item:hover,
[data-theme="dark"] .nv-sidebar-item:hover{
  background:rgba(255,255,255,.05)
}
[data-theme="dark"] .nv-sidebar-item.active,
[data-theme="dark"] .nv-sidebar-item.active{
  background:rgba(242,113,130,.08);
  color:var(--k-brand)
}

/* ── 14. PRICE BAR DARK ── */
[data-theme="dark"] .price-fixed-bar,
[data-theme="dark"] .price-fixed-bar{
  background:rgba(14,13,20,.92);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 -4px 20px rgba(0,0,0,.3)
}

/* ── 15. STEPS NAV DARK ── */
[data-theme="dark"] .steps-nav,
[data-theme="dark"] .steps-nav{
  background:rgba(14,13,20,.88);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);
}

/* ── 16. DISCLAIMER BOX DARK ── */
[data-theme="dark"] .disclaimer-box,
[data-theme="dark"] .disclaimer-box{
  background:rgba(251,191,36,.06);
  border-color:rgba(251,191,36,.2);
  color:var(--k-text)
}
[data-theme="dark"] .disclaimer-title,
[data-theme="dark"] .disclaimer-title{
  color:var(--k-yellow)
}

/* ── 17. KALENDER WETTER-DOTS ── */
.kal-wetter-dot{
  display:flex;align-items:center;justify-content:center;gap:2px;
  margin-top:2px;min-height:16px;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-medium);color:var(--k-text3);
}
.kal-wetter-dot .material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 300;
  color:var(--k-text3);
}
.kal-wetter-dot:empty{display:none}

/* ═══════════════════════════════════════════════════════════════
   18. LIGHT MODE POLISH — Glassmorphic consistency with Dark Mode
   Matching the editorial glass/depth/glow treatment from keeva-black
   ═══════════════════════════════════════════════════════════════ */

/* ── CARDS: Glass depth + subtle shadow ── */
[data-theme="light"] .nv-card,
[data-theme="light"] .section-card{
  background:rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 16px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .nv-stat-item,
[data-theme="light"] .overview-stat-card{
  background:rgba(255,255,255,.75);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 12px rgba(0,0,0,.03),inset 0 1px 0 rgba(255,255,255,.9)
}

/* ── HEADER: Frosted glass ── */
[data-theme="light"] .app-header,
[data-theme="light"] #dashboard .app-header{
  background:rgba(247,248,250,.8)!important;
  backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;
  border-bottom:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 1px 8px rgba(0,0,0,.04)!important
}
[data-theme="light"] .header-btn{
  background:rgba(0,0,0,.03);
  border:1.5px solid rgba(0,0,0,.08);
  color:var(--k-text2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)
}

/* ── BOTTOM NAV: Frosted glass ── */
[data-theme="light"] .bottom-bar-v2{
  background:rgba(247,248,250,.85)!important;
  backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;
  border-top:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 -2px 12px rgba(0,0,0,.04)!important
}

/* ── SIDEBAR: Frosted glass ── */
[data-theme="light"] .nv-sidebar{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:2px 0 16px rgba(0,0,0,.04)
}
[data-theme="light"] .nv-sidebar-item:hover{
  background:rgba(0,0,0,.03)
}
[data-theme="light"] .nv-sidebar-item.active{
  background:rgba(242,113,130,.06);
  color:var(--k-brand)
}

/* ── PANELS & BOTTOM SHEETS: Glass overlay ── */
[data-theme="light"] .nv-panel{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(32px) saturate(180%)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important
}
[data-theme="light"] .bottom-sheet{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(32px) saturate(180%)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important;
  box-shadow:0 -8px 40px rgba(0,0,0,.08)!important
}

/* ── BUTTONS: Depth + subtle glow ── */
[data-theme="light"] .nv-primary-action{
  box-shadow:0 4px 16px rgba(0,0,0,.1)
}
[data-theme="light"] .nv-btn-glass{
  background:rgba(255,255,255,.5);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .nv-btn-accent{
  box-shadow:0 4px 16px rgba(242,113,130,.2)
}
[data-theme="light"] .nv-btn-success{
  box-shadow:0 4px 16px rgba(52,211,153,.15)
}
[data-theme="light"] .nv-btn-error{
  box-shadow:0 4px 16px rgba(239,68,68,.15)
}
[data-theme="light"] .nv-btn-outline{
  box-shadow:0 0 12px rgba(242,113,130,.06)
}
[data-theme="light"] .nv-fab{
  box-shadow:0 4px 20px rgba(0,0,0,.1)
}

/* ── INPUTS: Glass + focus glow ── */
[data-theme="light"] .field input,
[data-theme="light"] .field select,
[data-theme="light"] .field textarea{
  background:rgba(255,255,255,.7);
  border-color:rgba(0,0,0,.08);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03)
}
[data-theme="light"] .field input:focus,
[data-theme="light"] .field select:focus,
[data-theme="light"] .field textarea:focus{
  border-color:var(--k-brand);
  box-shadow:0 0 0 3px rgba(242,113,130,.1)
}
[data-theme="light"] .nv-input{
  background:rgba(255,255,255,.7);
  border-color:rgba(0,0,0,.08)
}
[data-theme="light"] .nv-input:focus{
  border-color:var(--k-brand);
  box-shadow:0 0 0 3px rgba(242,113,130,.1)
}
[data-theme="light"] .input-standard:focus{
  box-shadow:0 0 0 3px rgba(242,113,130,.1)
}

/* ── TOGGLES: Subtle shadow ── */
[data-theme="light"] .nv-toggle{
  background:rgba(0,0,0,.12)
}
[data-theme="light"] .nv-toggle.active{
  box-shadow:0 0 10px rgba(242,113,130,.2)
}
[data-theme="light"] .nv-switch-slider{
  background:rgba(0,0,0,.12)
}
[data-theme="light"] .nv-switch input:checked+.nv-switch-slider{
  box-shadow:0 0 10px rgba(242,113,130,.2)
}

/* ── CHECK ITEMS: Glass ── */
[data-theme="light"] .check-item{
  background:rgba(255,255,255,.6);
  border-color:rgba(0,0,0,.06);
  box-shadow:0 1px 4px rgba(0,0,0,.03)
}
[data-theme="light"] .check-item.checked{
  border-color:var(--k-brand);
  background:rgba(242,113,130,.06)
}

/* ── CHIPS: Depth on active ── */
[data-theme="light"] .chip.active{
  box-shadow:0 2px 8px rgba(0,0,0,.08)
}

/* ── RATING BUTTONS: Glass ── */
[data-theme="light"] .rating-btn{
  background:rgba(255,255,255,.6);
  box-shadow:0 1px 4px rgba(0,0,0,.03)
}
[data-theme="light"] .rating-btn.active{
  box-shadow:0 2px 12px rgba(242,113,130,.2)
}

/* ── STEPS NAV: Glass ── */
[data-theme="light"] .steps-nav{
  background:rgba(247,248,250,.85);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);
}
[data-theme="light"] .step-dot{
  background:rgba(255,255,255,.7);
  box-shadow:0 1px 4px rgba(0,0,0,.04)
}
[data-theme="light"] .step-dot.active{
  box-shadow:0 0 12px rgba(242,113,130,.2)
}

/* ── TOAST: Glass ── */
[data-theme="light"] .toast{
  background:rgba(26,26,26,.88);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);;
  box-shadow:0 8px 32px rgba(0,0,0,.15)
}

/* ── MODULE-SPECIFIC COMPONENTS: Glass treatment ── */
[data-theme="light"] .task-card,
[data-theme="light"] .order-card,
[data-theme="light"] .news-card,
[data-theme="light"] .lager-product-card{
  background:rgba(255,255,255,.65);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 12px rgba(0,0,0,.03),inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .zeit-status-card,
[data-theme="light"] .zeit-team-card,
[data-theme="light"] .zeit-ferien-card{
  background:rgba(255,255,255,.65);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 12px rgba(0,0,0,.03)
}
[data-theme="light"] .zeit-clock-btn{
  background:rgba(255,255,255,.6);
  border-color:rgba(0,0,0,.06);
  box-shadow:0 2px 8px rgba(0,0,0,.04)
}
[data-theme="light"] .nk-filter-btn,
[data-theme="light"] .nk-kontakt-btn,
[data-theme="light"] .nk-mail-tpl-btn{
  background:rgba(255,255,255,.6);
  border-color:rgba(0,0,0,.06)
}
[data-theme="light"] .lager-filter-btn,
[data-theme="light"] .lager-beleg-card{
  background:rgba(255,255,255,.6);
  border-color:rgba(0,0,0,.06)
}
[data-theme="light"] .task-sub-tabs{
  background:rgba(255,255,255,.6);
  border-color:rgba(0,0,0,.06)
}
/* ── HOME: Quick Access glass ── */
[data-theme="light"] .home-qa-btn{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 8px rgba(0,0,0,.03),inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .overview-action-btn{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 8px rgba(0,0,0,.03)
}

/* ── PRICE BAR: Glass ── */
[data-theme="light"] .price-fixed-bar{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-top:1px solid rgba(0,0,0,.06);
  box-shadow:0 -2px 12px rgba(0,0,0,.04)
}

/* ── SCOPE TOGGLE ── */
[data-theme="light"] .nv-scope-toggle{
  background:rgba(0,0,0,.03)
}
[data-theme="light"] .nv-scope-btn.active{
  box-shadow:0 2px 8px rgba(0,0,0,.06)
}

/* ── NAV BUTTONS: Glass ── */
[data-theme="light"] .nav-buttons{
  background:rgba(247,248,250,.85);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);;
  border-color:rgba(0,0,0,.06)
}

/* ── DISCLAIMER BOX ── */
[data-theme="light"] .disclaimer-box{
  background:rgba(251,191,36,.06);
  border-color:rgba(251,191,36,.25)
}

/* ── PROFIL: Glass stat pills ── */
[data-theme="light"] .profil-stat-pill{
  background:rgba(255,255,255,.65);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 8px rgba(0,0,0,.03),inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .profil-glass-card{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 12px rgba(0,0,0,.03)
}

/* ── THEME TOGGLE: Subtle ── */
[data-theme="light"] .theme-quick-toggle{
  background:rgba(255,255,255,.7);
  border-color:rgba(0,0,0,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)
}
[data-theme="light"] .theme-quick-toggle:active{
  border-color:var(--k-brand);color:var(--k-brand);
  box-shadow:0 0 10px rgba(242,113,130,.1)
}
[data-theme="light"] .theme-toggle{
  border-color:rgba(0,0,0,.1)
}
[data-theme="light"] .theme-toggle:active{
  border-color:var(--k-brand);color:var(--k-brand);
  box-shadow:0 0 10px rgba(242,113,130,.1)
}

/* ═══════════════════════════════════════════════════════
   UI POLISH v107 — Design System Consistency & Glassmorphism
   ═══════════════════════════════════════════════════════ */

/* ── 1. (Blob animations removed — static gradient only, no GPU drain) ── */

/* ── 2. GLOBAL SCROLLBAR HIDE (all browsers) ── */
*::-webkit-scrollbar{display:none!important}
*{scrollbar-width:none!important}
html{-ms-overflow-style:none}

/* ── 3. NV-PANEL: Glassmorphic consistency ── */
.nv-panel{
  background:var(--k-glass-bg,rgba(255,255,255,.65))!important;
  backdrop-filter:blur(40px) saturate(180%);
  -webkit-backdrop-filter:blur(40px) saturate(180%);
}
[data-theme="dark"] .nv-panel{
  background:rgba(18,16,26,.75)!important;
  backdrop-filter:blur(40px) saturate(180%);
  -webkit-backdrop-filter:blur(40px) saturate(180%);
}
.nv-panel-header{
  background:rgba(255,250,251,.45)!important;
  backdrop-filter:blur(28px) saturate(200%);
  -webkit-backdrop-filter:blur(28px) saturate(200%);
  border-bottom:1px solid var(--k-glass-border,rgba(0,0,0,.04))!important;
}
[data-theme="dark"] .nv-panel-header{
  background:rgba(18,16,26,.55)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}

/* ── 4. NV-SEARCH: Glassmorphic upgrade ── */
.nv-search input{
  background:var(--k-glass-bg,rgba(255,255,255,.5))!important;
  border:1.5px solid var(--k-glass-border,rgba(0,0,0,.06))!important;
  border-radius:var(--k-r-full,100px)!important;
}
.nv-search input:focus{
  border-color:var(--k-brand,#F27182)!important;
  background:var(--k-glass-bg-strong,rgba(255,255,255,.8))!important;
  box-shadow:0 0 0 3px rgba(242,113,130,.12),0 0 20px rgba(242,113,130,.08)!important;
}
[data-theme="dark"] .nv-search input{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.08)!important;
}
[data-theme="dark"] .nv-search input:focus{
  background:rgba(255,255,255,.1)!important;
  border-color:var(--k-brand)!important;
  box-shadow:0 0 0 3px rgba(242,113,130,.15),0 0 24px rgba(242,113,130,.1)!important;
}

/* ── 5. BUTTON SYSTEM: Glass + Gradient ── */
.nv-btn{
  transition:background-color .25s var(--k-ease,cubic-bezier(.32,.72,0,1)), color .25s var(--k-ease,cubic-bezier(.32,.72,0,1)), border-color .25s var(--k-ease,cubic-bezier(.32,.72,0,1)), box-shadow .25s var(--k-ease,cubic-bezier(.32,.72,0,1)), transform .25s var(--k-ease,cubic-bezier(.32,.72,0,1)), opacity .25s var(--k-ease,cubic-bezier(.32,.72,0,1));
}

/* ── 6. NV-TABS: Glassmorphic ── */
.nv-tabs{
  background:var(--k-glass-bg,rgba(255,255,255,.4))!important;
  border:1px solid var(--k-glass-border,rgba(0,0,0,.04));
  border-radius:var(--k-r-xs);
}
[data-theme="dark"] .nv-tabs{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.06);
}
.nv-tab.active{
  background:var(--k-glass-bg-strong,rgba(255,255,255,.7))!important;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
[data-theme="dark"] .nv-tab.active{
  background:rgba(255,255,255,.1)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}

/* ── 7. NV-SHEET: Smoother transitions + glass ── */
.nv-sheet{
  background:var(--k-glass-bg-strong,rgba(255,255,255,.85))!important;
  backdrop-filter:blur(40px) saturate(180%);
  -webkit-backdrop-filter:blur(40px) saturate(180%);
  transition:transform .4s var(--k-ease,cubic-bezier(.32,.72,0,1))!important;
}
[data-theme="dark"] .nv-sheet{
  background:rgba(18,16,26,.9)!important;
}
.nv-sheet-overlay{
  transition:background .3s ease!important;
}

/* ── 8. BOTTOM SHEET: Smoother transitions ── */
.bottom-sheet{
  transition:transform .4s var(--k-ease,cubic-bezier(.32,.72,0,1)),
             opacity .3s ease!important;
}
.bottom-sheet-overlay{
  transition:opacity .3s ease!important;
}

/* ── 9. PROFIL HERO: Full-width image (not boxed) ── */
.profil-hero--aiden{
  min-height:50vh!important;
}
.profil-hero-bg-img{
  width:100%!important;height:100%!important;
}
.profil-hero-bg-img img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  object-position:center top;
}
/* ── 10. NV-CARD: Universal glass consistency ── */
.nv-card,.section-card{
  background:var(--k-glass-bg,rgba(255,255,255,.55))!important;
  border:1px solid var(--k-glass-border,rgba(0,0,0,.04))!important;
  border-radius:var(--k-r-md,24px);
}
[data-theme="dark"] .nv-card,
[data-theme="dark"] .section-card{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.06)!important;
}

/* ── 11. PILL: Subtle parallax on scroll ── */
@keyframes pillFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
.k-scope-pill,.profil-stat-pill,.profil-hero-role,.nv-chip,.chip{
  transition:transform .3s var(--k-ease),background .2s,color .2s,box-shadow .2s;
}
.k-scope-pill:active,.profil-stat-pill:active{
  transform:scale(.95);
}

/* ── 13. TOAST: Pink glow on dark ── */
[data-theme="dark"] .toast{
  box-shadow:0 4px 24px rgba(242,113,130,.15),0 0 60px rgba(236,72,153,.08);
}

/* ── 14. PROFIL PERSONAL MODULES (expandable area) ── */
.profil-quick-actions{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:10px;padding:0 16px 16px;
}
.profil-quick-card{
  padding:16px;border-radius:var(--k-r-sm);
  background:var(--k-glass-bg,rgba(255,255,255,.5));
  border:1px solid var(--k-glass-border,rgba(0,0,0,.04));
  cursor:pointer;
  transition:background-color .25s var(--k-ease), color .25s var(--k-ease), border-color .25s var(--k-ease), box-shadow .25s var(--k-ease), transform .25s var(--k-ease), opacity .25s var(--k-ease);
  -webkit-tap-highlight-color:transparent;
  display:flex;flex-direction:column;gap:8px;
}
.profil-quick-card:active{
  transform:scale(.96);
  background:var(--k-glass-bg-strong,rgba(255,255,255,.7));
}
[data-theme="dark"] .profil-quick-card{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.06);
}
[data-theme="dark"] .profil-quick-card:active{
  background:rgba(255,255,255,.08);
}
.profil-quick-icon{
  width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.profil-quick-label{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-bold,700);
  color:var(--k-text);letter-spacing:-.01em;
}
.profil-quick-sub{
  font-size:var(--k-fs-micro);color:var(--k-text3);
}

/* ===== NOTIFICATION LIST — Vertical glowing glass cards ===== */
/* Defined here as sole source of truth for notification rows */
.k-notif-list{
  display:flex;flex-direction:column;gap:9px;
  padding:0;
  margin-top:56px;
  margin-bottom:12px;
}

.k-notif-row{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  border-radius:var(--k-r-md);
  background:rgba(45,42,55,.45);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .15s ease;
}
.k-notif-row:active{transform:scale(.98)}

/* Color-specific: farbiger Rahmen + Glass-Glow NACH INNEN (gesamte Box schimmert in Rahmenfarbe) */
.k-notif-row.icon-call{
  border:1px solid rgba(242,113,130,.3);
  background:rgba(242,113,130,.08);
  box-shadow:inset 0 0 30px rgba(242,113,130,.1),inset 0 0 60px rgba(242,113,130,.05),0 0 16px rgba(242,113,130,.08);
}
.k-notif-row.icon-message{
  border:1px solid rgba(59,130,246,.25);
  background:rgba(59,130,246,.07);
  box-shadow:inset 0 0 30px rgba(59,130,246,.08),inset 0 0 60px rgba(59,130,246,.04),0 0 16px rgba(59,130,246,.06);
}
.k-notif-row.icon-todo{
  border:1px solid rgba(251,191,36,.25);
  background:rgba(251,191,36,.06);
  box-shadow:inset 0 0 30px rgba(251,191,36,.08),inset 0 0 60px rgba(251,191,36,.04),0 0 16px rgba(251,191,36,.06);
}
.k-notif-row.icon-booking{
  border:1px solid rgba(34,197,94,.25);
  background:rgba(34,197,94,.06);
  box-shadow:inset 0 0 30px rgba(34,197,94,.08),inset 0 0 60px rgba(34,197,94,.04),0 0 16px rgba(34,197,94,.06);
}

.k-notif-row-icon{
  width:32px;height:32px;border-radius:var(--k-r-xs,14px);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.k-notif-row-icon .material-symbols-rounded{font-size:18px}
.k-notif-row.icon-call .k-notif-row-icon{background:rgba(242,113,130,.15);color:var(--k-brand,#F27182)}
.k-notif-row.icon-message .k-notif-row-icon{background:rgba(59,130,246,.12);color:#3B82F6}
.k-notif-row.icon-todo .k-notif-row-icon{background:rgba(251,191,36,.12);color:#FBBF24}
.k-notif-row.icon-booking .k-notif-row-icon{background:rgba(34,197,94,.12);color:#22C55E}

.k-notif-row-body{flex:1;min-width:0}
.k-notif-row-title{font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);color:#fff;line-height:1.3}
.k-notif-row-sub{font-size:var(--k-fs-micro);color:rgba(255,255,255,.4);margin-top:1px}
.k-notif-row-count{font-size:var(--k-fs-body);font-weight:var(--k-fw-bold);color:#fff;min-width:24px;text-align:center}
.k-notif-row-chevron{font-size:14px;color:rgba(255,255,255,.2)}

/* ── Notification Center Overlay ── */
.k-notif-center-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(0,0,0,.5);
  opacity:0;transition:opacity .3s ease;
  display:flex;align-items:flex-end;
  overscroll-behavior:contain;touch-action:none;
}
.k-notif-center-overlay.open{opacity:1}
.k-notif-center{
  width:100%;max-height:80vh;overflow-y:auto;
  background:rgba(28,26,36,.95);
  -webkit-backdrop-filter:blur(50px) saturate(200%);
  backdrop-filter:blur(50px) saturate(200%);
  border-radius:var(--k-r-xl,42px) var(--k-r-xl,42px) 0 0;
  padding:8px 20px calc(20px + env(safe-area-inset-bottom,0px));
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.32,.72,0,1);
}
.k-notif-center-overlay.open .k-notif-center{transform:translateY(0)}
.k-notif-center-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0 16px;color:#fff;
}
.k-notif-center-cat{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;margin-bottom:8px;
  border-radius:var(--k-r-md,26px);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .15s ease;color:#fff;
}
.k-notif-center-cat:active{transform:scale(.98)}
.k-notif-center-cat.active{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}
.k-notif-center-cat-icon{
  width:36px;height:36px;border-radius:var(--k-r-xs,12px);
  display:flex;align-items:center;justify-content:center;
}
.k-notif-center-cat-icon .material-symbols-rounded{font-size:20px}
.k-notif-center-badge{
  min-width:22px;height:22px;border-radius:50%;
  color:#fff;font-size:9px;font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
}

/* ── Light theme: farbiger Innen-Glow auf hellem Glas ── */
[data-theme="light"] .k-notif-row{background:rgba(255,255,255,.5)}
[data-theme="light"] .k-notif-row.icon-call{background:rgba(242,113,130,.06);box-shadow:inset 0 0 30px rgba(242,113,130,.08)}
[data-theme="light"] .k-notif-row.icon-message{background:rgba(59,130,246,.05);box-shadow:inset 0 0 30px rgba(59,130,246,.07)}
[data-theme="light"] .k-notif-row.icon-todo{background:rgba(251,191,36,.05);box-shadow:inset 0 0 30px rgba(251,191,36,.07)}
[data-theme="light"] .k-notif-row.icon-booking{background:rgba(34,197,94,.05);box-shadow:inset 0 0 30px rgba(34,197,94,.07)}
[data-theme="light"] .k-notif-row-title{color:var(--k-text)}
[data-theme="light"] .k-notif-row-sub{color:rgba(0,0,0,.4)}
[data-theme="light"] .k-notif-row-count{color:var(--k-text)}
[data-theme="light"] .k-notif-row-chevron{color:rgba(0,0,0,.15)}
[data-theme="light"] .k-notif-center{background:rgba(255,255,255,.95)}
[data-theme="light"] .k-notif-center-header{color:var(--k-text)}
[data-theme="light"] .k-notif-center-cat{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.04);color:var(--k-text)}

/* ===== ANNOUNCEMENT BAR — Wichtige News, glowing pink glass ===== */
.nv-alert-bar{
  position:relative;z-index:300;
  width:100%;
  background:linear-gradient(135deg,rgba(242,113,130,.9) 0%,rgba(200,60,90,.92) 100%);
  color:#fff;
  overflow:hidden;
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .4s cubic-bezier(.32,.72,0,1),padding .4s cubic-bezier(.32,.72,0,1);
  padding:0 16px;
  box-shadow:0 4px 24px rgba(242,113,130,.35),0 0 40px rgba(242,113,130,.15);
}
.nv-alert-bar>*{overflow:hidden;min-height:0}
.nv-alert-bar.visible{
  grid-template-rows:1fr;
  padding:12px 16px;
  padding-top:calc(12px + env(safe-area-inset-top,0px));
  animation:alertBarGlow 3s ease-in-out infinite;
}
@keyframes alertBarGlow{
  0%,100%{box-shadow:0 4px 24px rgba(242,113,130,.3)}
  50%{box-shadow:0 4px 32px rgba(242,113,130,.5),0 0 60px rgba(220,38,38,.15)}
}
.nv-alert-bar-content{
  display:flex;align-items:center;gap:10px;
  max-width:600px;margin:0 auto;
}
.nv-alert-bar-icon{
  font-size:20px;flex-shrink:0;
  animation:alertPulse 2s ease-in-out infinite;
}
@keyframes alertPulse{
  0%,100%{opacity:1}50%{opacity:.5}
}

/* ── Panic Mode: visual feedback during hold ── */
.panic-hold{
  animation:panicGlow 1s ease-in-out infinite!important;
  box-shadow:0 0 30px rgba(220,38,38,.5)!important;
}
@keyframes panicGlow{
  0%,100%{box-shadow:0 0 20px rgba(220,38,38,.3)}
  50%{box-shadow:0 0 40px rgba(220,38,38,.7)}
}
.nv-alert-bar-text{
  flex:1;font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);line-height:1.3;
}
.nv-alert-bar-more{
  background:rgba(255,255,255,.2);
  border:none;color:#fff;
  padding:6px 14px;border-radius:var(--k-r-sm);
  font-size:var(--k-fs-caption);font-weight:var(--k-fw-bold);
  cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
}
.nv-alert-bar-more:active{background:rgba(255,255,255,.3)}
.nv-alert-bar-close{
  background:none;border:none;color:rgba(255,255,255,.7);
  font-size:18px;cursor:pointer;flex-shrink:0;
  padding:4px;-webkit-tap-highlight-color:transparent;
}
.nv-alert-bar-close:active{color:#fff}
/* Wichtig (gelb/orange statt rot) */
.nv-alert-bar.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}
/* Info (blau) */
.nv-alert-bar.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}

/* ===== NOTIFICATION STACK — Apple-style stacked notifications ===== */
/* OLD fixed notification stack — replaced by inline .k-notif-card system */
.nv-notif-stack{
  display:none!important;
  position:fixed;
  top:calc(12px + env(safe-area-inset-top,0px));
  left:50%;transform:translateX(-50%);
  width:calc(100% - 24px);max-width:420px;
  z-index:250;
  display:flex;flex-direction:column;gap:8px;
  pointer-events:none;
  transition:top .3s var(--k-ease);
}
.nv-notif-stack.empty{display:none}

/* Single notification pill — Apple-style rounded card */
.nv-notif-pill{
  pointer-events:auto;
  position:relative;
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  border-radius:var(--k-r-sm);
  background:rgba(30,28,38,.82);
  -webkit-backdrop-filter:blur(50px) saturate(200%);
  backdrop-filter:blur(50px) saturate(200%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 2px 16px rgba(0,0,0,.3);
  cursor:pointer;
  transition:transform .35s cubic-bezier(.32,.72,0,1),
             opacity .35s cubic-bezier(.32,.72,0,1);
  -webkit-tap-highlight-color:transparent;
  overflow:hidden;
}
.nv-notif-pill:active{transform:scale(.97)}

/* Glow — subtle brand accent on top card */
.nv-notif-pill::before{
  content:'';position:absolute;inset:-1px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(242,113,130,.12),rgba(236,72,153,.06));
  z-index:-1;
  opacity:0;
  transition:opacity .4s;
}
.nv-notif-pill.glowing::before{opacity:1}

/* Collapsed: Apple-style — top card full, stacked cards peek below with offset */
.nv-notif-stack.collapsed{gap:0}
.nv-notif-stack.collapsed .nv-notif-pill{
  pointer-events:none;
}
.nv-notif-stack.collapsed .nv-notif-pill:first-child{
  pointer-events:auto;z-index:3;
}
.nv-notif-stack.collapsed .nv-notif-pill:nth-child(2){
  margin-top:-8px;
  transform:scale(.96) translateY(0);
  opacity:.7;z-index:2;
}
.nv-notif-stack.collapsed .nv-notif-pill:nth-child(3){
  margin-top:-8px;
  transform:scale(.92) translateY(0);
  opacity:.4;z-index:1;
}
.nv-notif-stack.collapsed .nv-notif-pill:nth-child(n+4){
  margin-top:-16px;
  transform:scale(.88);
  opacity:0;z-index:0;
  pointer-events:none;
}

/* Expanded — full list, all cards visible with gap */
.nv-notif-stack.expanded{gap:8px}
.nv-notif-stack.expanded .nv-notif-pill{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}

/* Icon container */
.nv-notif-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:0;
}
.nv-notif-icon .material-symbols-rounded{font-size:20px}
.nv-notif-icon.icon-call{background:rgba(242,113,130,.2);color:var(--k-brand)}
.nv-notif-icon.icon-message{background:rgba(59,130,246,.2);color:#3B82F6}
.nv-notif-icon.icon-todo{background:rgba(251,191,36,.2);color:#FBBF24}
.nv-notif-icon.icon-booking{background:rgba(34,197,94,.2);color:#22C55E}
.nv-notif-icon.icon-alert{background:rgba(239,68,68,.2);color:#EF4444}

/* Text content */
.nv-notif-body{flex:1;min-width:0}
.nv-notif-title{
  font-size:var(--k-fs-body);font-weight:var(--k-fw-semibold);
  color:var(--k-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.35;
}
.nv-notif-sub{
  font-size:var(--k-fs-caption);
  color:var(--k-text3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.3;margin-top:2px;
}

/* Badge count on icon */
.nv-notif-count{
  position:absolute;top:8px;left:42px;
  min-width:18px;height:18px;border-radius:9px;
  background:var(--k-brand);color:#fff;
  font-size:var(--k-fs-micro);font-weight:var(--k-fw-bold);
  display:flex;align-items:center;justify-content:center;
  padding:0 5px;
  box-shadow:0 2px 6px rgba(242,113,130,.4);
}

/* Time stamp */
.nv-notif-time{
  font-size:var(--k-fs-micro);color:var(--k-text4);
  flex-shrink:0;white-space:nowrap;
  align-self:flex-start;margin-top:2px;
}

/* Chevron for collapsed stack */
.nv-notif-chevron{
  color:var(--k-text4);flex-shrink:0;
  transition:transform .3s var(--k-ease);
}
.nv-notif-stack.expanded .nv-notif-chevron{transform:rotate(180deg)}

/* Dismiss button */
.nv-notif-dismiss{
  position:absolute;top:50%;right:12px;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;
  background:var(--k-fill);border:none;
  color:var(--k-text3);cursor:pointer;
  display:none;align-items:center;justify-content:center;
  font-size:14px;
  transition:background .15s;
}
.nv-notif-stack.expanded .nv-notif-dismiss{display:flex}
.nv-notif-dismiss:hover{background:var(--k-fill-hover)}

/* Light/Mono theme overrides */
[data-theme="light"] .nv-notif-pill,
[data-theme="light"] .nv-notif-pill{
  background:rgba(255,255,255,.88);
  border-color:rgba(60,45,30,.08);
  box-shadow:0 2px 16px rgba(60,45,30,.08),
             inset 0 1px 0 rgba(255,255,255,.8);
}
[data-theme="light"] .nv-notif-pill::before,
[data-theme="light"] .nv-notif-pill::before{
  background:linear-gradient(135deg,rgba(242,113,130,.08),rgba(236,72,153,.04));
}
[data-theme="light"] .nv-notif-dismiss,
[data-theme="light"] .nv-notif-dismiss{
  background:var(--k-fill);color:var(--k-text3);
}

/* Slide-in animation */
@keyframes nvNotifSlideIn{
  from{transform:translateY(-10px) scale(.98);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
.nv-notif-pill.entering{animation:nvNotifSlideIn .35s cubic-bezier(.32,.72,0,1) forwards}

/* Hide on desktop (bottom-bar hidden on desktop too) */
@media(min-width:769px){
  .nv-notif-stack{display:none !important}
}

/* ═══════════════════════════════════════════════════════
   HOME BOX SYSTEM — DEFINITIVE (overrides all @layer)
   Ein Wert, eine Stelle. Punkt.
   ═══════════════════════════════════════════════════════ */
/* ═══ GLASS SYSTEM — backdrop-filter auf Chromium/Android ═══ */
/* KEIN transform, KEIN isolation, KEIN will-change auf Glass-Elementen! */
/* Chromium bricht backdrop-filter wenn ein neuer Stacking/Compositing-Context entsteht. */
/* backdrop-filter funktioniert NUR wenn Element + alle Ancestors "flach" bleiben. */
body.k-ui .k-home-progress-card,
body.k-ui .k-home-stat-box,
body.k-ui .k-home-today-card,
body.k-ui .k-home-msg-card,
body.k-ui .k-mini-card,
body.k-ui .k-notif-row,
body.k-ui .k-home-tasks-card,
body.k-ui .k-me-action-card{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
/* Light Mode: Cards brauchen warmen Pink-Gradient damit sie auf
   Creme-BG sichtbar sind (ohne wirken sie unsichtbar) */
[data-theme="light"] body.k-ui .k-home-progress-card,
[data-theme="light"] body.k-ui .k-home-stat-box,
[data-theme="light"] body.k-ui .k-home-today-card,
[data-theme="light"] body.k-ui .k-home-msg-card,
[data-theme="light"] body.k-ui .k-mini-card,
[data-theme="light"] body.k-ui .k-notif-row,
[data-theme="light"] body.k-ui .k-home-tasks-card,
[data-theme="light"] body.k-ui .k-me-action-card{
  background:linear-gradient(135deg, rgba(242,113,130,.08), rgba(236,72,153,.04))!important;
  border:1px solid rgba(60,45,30,.08)!important;
  box-shadow:0 2px 12px rgba(60,45,30,.04)!important;
}
/* Individuelle Overrides */
body.k-ui .k-home-progress-card{
  padding:24px!important;
  margin:16px 0 0!important;
  border-radius:16px!important;
}
body.k-ui .k-home-section-title{
  padding:24px 0 10px!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--k-text3)!important;
}
body.k-ui .k-home-stats-row{
  padding:0!important;
  margin-top:16px!important;
  gap:12px!important;
}
body.k-ui .k-home-stat-box{
  padding:20px 14px!important;
}
body.k-ui .k-home-today-card{
  margin:16px 0 0!important;
  padding:24px!important;
}
body.k-ui .k-home-msg-card{
  margin:0!important;
  padding:14px 18px!important;
}
body.k-ui .k-home-topbar{
  padding-left:0!important;
  padding-right:0!important;
}
body.k-ui .k-home-hero-section{
  padding-left:0!important;
  padding-right:0!important;
}
body.k-ui .k-notif-list{
  padding-left:0!important;
  padding-right:0!important;
}
body.k-ui .k-home-quick-scroll{
  padding-left:0!important;
}
body.k-ui .k-story-scroll{
  padding-left:0!important;
}
body.k-ui .k-home-tasks-card{
  margin-left:0!important;
  margin-right:0!important;
}
/* dash-content: KEIN transform! Bricht backdrop-filter auf Chrome/Android */
/* Removed: -webkit-overflow-scrolling:touch on #dash-content breaks position:sticky on iOS */
/* Profile hero: break out of container to fill screen edge-to-edge */
/* Container hat padding:24px 20px + ggf. safe-area-inset-top */
body.k-ui #dash-content:has(.profil-hero--aiden){
  padding-top:0!important;
}
body.k-ui .profil-hero--aiden{
  width:100vw!important;
  margin-left:-18px!important;
  margin-top:0!important;
  padding-top:0!important;
  border-radius:0!important;
  min-height:45vh!important;
}
/* k-page-enter Wrapper: auch kein Abstand oben */
body.k-ui .k-page-enter:has(.profil-hero--aiden){
  margin-top:0!important;
  padding-top:0!important;
}

/* ── Dropdown + Action Sheet + Bottom Sheet — Glassmorphic (unlayered) ── */
.k-mh-dropdown{min-width:250px;padding:8px 0!important;background:rgba(30,23,48,0.5)!important;backdrop-filter:blur(40px) saturate(1.8)!important;-webkit-backdrop-filter:blur(40px) saturate(1.8)!important;border:1px solid rgba(255,255,255,0.1)!important}
.k-mh-dropdown-item{padding:10px 24px!important;min-height:44px;font-size:17px}
.k-mh-dropdown-item.active{color:#F27182}
.k-mh-action-item{padding:14px 20px!important;min-height:56px}
.k-bsheet{background:rgba(30,23,48,0.5)!important;backdrop-filter:blur(40px) saturate(1.8)!important;-webkit-backdrop-filter:blur(40px) saturate(1.8)!important;border-top:1px solid rgba(255,255,255,0.1)}
/* Light Mode */
[data-theme="light"] .k-mh-dropdown,[data-theme="light"] .k-mh-dropdown{background:rgba(250,250,250,0.7)!important;border-color:rgba(0,0,0,0.08)!important}
[data-theme="light"] .k-mh-dropdown-item,[data-theme="light"] .k-mh-dropdown-item{color:rgba(0,0,0,0.85)}
[data-theme="light"] .k-bsheet,[data-theme="light"] .k-bsheet{background:rgba(250,250,250,0.7)!important;border-color:rgba(0,0,0,0.08)}
/* CLEAN SLATE — Topbar + Background Rules entfernt, werden in Schritt 2 neu gesetzt */
.nv-overlay-page{
  position:fixed;inset:0;z-index:9999;overflow-y:auto;overflow-x:hidden;animation:fadeIn .3s;
  -webkit-overflow-scrolling:touch
}
