/* kidata – neues Design (Fathom-inspiriert, hell, Rot nur als Akzent)
   Gemeinsame Stildatei für alle Seiten. */

:root{
  --red:#E2001A;
  --ink:#15151a;
  --ink-2:#3a3a44;
  --muted:#8a8a95;
  --muted-2:#a6a6b0;
  --line:#ececec;
  --line-2:#f2f2f0;
  --paper:#ffffff;
  --bg:#eceae6;
  --sel:#f4f3f1;
  --radius:22px;
  --shadow:0 18px 50px rgba(20,20,26,.10),0 2px 6px rgba(20,20,26,.04);
  --shadow-sm:0 2px 10px rgba(20,20,26,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.app{display:flex;min-height:100vh;margin:0 auto;padding:18px;gap:0}

/* SIDEBAR */
.sidebar{width:262px;flex:none;padding:8px 14px 18px;display:flex;flex-direction:column;gap:6px}
.brand{display:flex;align-items:center;gap:11px;padding:8px 8px 14px}
.brand .mark{width:32px;height:32px;border-radius:9px;background:var(--ink);position:relative;flex:none}
.brand .mark::before,.brand .mark::after{content:"";position:absolute;background:var(--red);border-radius:2px}
.brand .mark::before{width:13px;height:4px;top:14px;left:9.5px}
.brand .mark::after{width:4px;height:13px;top:9.5px;left:14px}
.brand .name{font-weight:700;font-size:15px;letter-spacing:-.01em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Wortmarken-Logo (Stil: gestapelte Versalien + Sprechblasen-Badge) */
.logo{display:flex;flex-direction:column;gap:2px;line-height:1;flex:1;min-width:0;padding:2px 0}
.logo .l1,.logo .l2{font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:7px;white-space:nowrap}
.logo .bubble{position:relative;background:var(--red);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.09em;padding:4px 8px 3px;border-radius:8px;flex:none;transform:translateY(-1px)}
.logo .bubble::after{content:"";position:absolute;left:7px;bottom:-5px;width:0;height:0;border-left:6px solid var(--red);border-bottom:6px solid transparent}
.logo .reg{font-size:8px;font-weight:700;color:var(--muted-2);align-self:flex-start;transform:translateY(-2px)}

/* Packen & Verschieben (Navigation + Apps-Karten) */
.nav-item[draggable=true]{cursor:grab;user-select:none}
.nav-item[draggable=true]:active{cursor:grabbing}
.nav-item.dragging{opacity:.35;background:var(--sel);outline:1.5px dashed var(--muted-2)}
.card[draggable=true]{cursor:grab;user-select:none}
.card[draggable=true]:active{cursor:grabbing}
.card.dragging{opacity:.35;outline:2px dashed var(--muted-2);transform:none;box-shadow:none}
.nav-item[draggable=false]{cursor:default}
.nav-item.nav-temp{outline:1.5px dashed rgba(226,0,26,.45);background:rgba(226,0,26,.05)}
#appsGrid.drop-target{outline:2px dashed rgba(226,0,26,.35);outline-offset:8px;border-radius:14px;background:rgba(226,0,26,.02)}
.card.pulse{box-shadow:0 0 0 3px rgba(226,0,26,.3);border-color:rgba(226,0,26,.4)}
/* Apps-Karten kompakt (halbe Breite) */
#appsGrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
#appsGrid .card .top{margin-bottom:16px}
#appsGrid .card{padding:16px}
@media(max-width:600px){#appsGrid{grid-template-columns:repeat(2,1fr)}}

/* International Day */
.idy-hero{border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin-top:26px;background:linear-gradient(180deg,#fcfbfa,#ffffff)}
.idy-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.idy-head h2{font-size:26px;font-weight:800;letter-spacing:-.02em}
.idy-badge{font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;color:var(--red);background:rgba(226,0,26,.07);border:1px solid rgba(226,0,26,.2)}
.idy-list{display:flex;flex-direction:column}
.idy-ev{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line-2)}
.idy-ev:first-child{border-top:0}
.idy-year{flex:none;min-width:64px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--red);font-variant-numeric:tabular-nums}
.idy-txt p{font-size:15px;color:var(--ink-2);line-height:1.6}
.idy-txt a{display:inline-block;font-size:13px;font-weight:600;color:var(--red);margin-top:5px}
.idy-loading{padding:18px 0;color:var(--muted);font-size:14px}
.idy-retry{font:inherit;font-size:13px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer}
.idy-cal{max-width:none}
.idy-months{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.idy-mtitle{font-size:14px;font-weight:700;text-align:center;margin-bottom:10px}
@media(max-width:980px){.idy-months{grid-template-columns:1fr;max-width:420px}}
.idy-ownrow{background:rgba(226,0,26,.04);border:1px solid rgba(226,0,26,.18);border-radius:14px;padding:16px 18px;margin:4px 0 8px}
.idy-ownrow+.idy-ev{border-top:0}
.idy-ownbadge{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.07em;color:#fff;background:var(--red);border-radius:999px;padding:3px 9px;margin-left:9px;vertical-align:2px}
.idy-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.idy-cal-head strong{font-size:15px}
.idy-nav{font:inherit;font-size:17px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:9px;width:34px;height:34px;cursor:pointer}
.idy-nav:hover{background:var(--sel)}
.idy-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.idy-week{margin-bottom:6px}
.idy-wd{text-align:center;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}
.idy-day{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line-2);border-radius:10px;height:38px;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}
.idy-day:hover{background:var(--sel);border-color:var(--line);transform:translateY(-1px)}
.idy-day.is-today{border-color:rgba(226,0,26,.4);color:var(--red)}
.idy-day.is-sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.idy-hint{font-size:12.5px;color:var(--muted);margin-top:12px}

/* Anmeldung */
.auth-wrap{max-width:480px;margin-top:24px}
.auth-card{padding:24px 26px}
.seg{display:flex;gap:6px;background:var(--sel);border-radius:11px;padding:4px;margin:4px 0 18px}
.seg-btn{flex:1;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-2);background:none;border:0;border-radius:8px;padding:9px;cursor:pointer;transition:background .12s,color .12s}
.seg-btn.is-active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}
.authmsg{font-size:13px;margin:4px 0 12px;min-height:1px}
.authmsg.is-err{color:var(--red)}
.authmsg.is-ok{color:#1a8a4a}
.auth-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.auth-card .btn-dark{width:100%;justify-content:center}
.auth-card .auth-actions .btn{width:auto;flex:1;justify-content:center}
.auth-card .field{margin-bottom:14px}
.addr-row{display:grid;grid-template-columns:120px 1fr;gap:14px}
.addr-row-street{grid-template-columns:1fr 90px}
@media(max-width:420px){.addr-row{grid-template-columns:90px 1fr}.addr-row-street{grid-template-columns:1fr 72px}}
/* Sidebar-Login-Status */
.side-auth{margin-top:8px;padding:10px 11px;border-top:1px solid var(--line);font-size:13px}
.side-auth a{color:var(--red);font-weight:600}
.side-auth .who2{display:block;color:var(--ink-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-auth .lo{color:var(--muted);font-weight:500;cursor:pointer;font-size:12px}
.side-auth .lo:hover{color:var(--red)}

/* Preisvergleich */
.pv-status{font-size:13.5px;color:var(--muted);margin:14px 0 18px}
.pv-sample{font:inherit;font-size:13px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer;padding:0}
.pv-src{display:flex;align-items:baseline;gap:12px;margin:22px 0 10px}
.pv-src strong{font-size:15px}
.pv-src span{font-size:12.5px;color:var(--muted)}
.pv-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pv-row{display:grid;grid-template-columns:2.4fr .9fr .9fr .9fr .7fr .8fr;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2);transition:background .12s}
.pv-row:first-child{border-top:0}
.pv-row:hover{background:var(--sel)}
.pv-row>span{min-width:0}
.pv-name strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-name small,.pv-num small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-num{font-variant-numeric:tabular-nums}
.pv-num strong{color:var(--ink);font-weight:700}
.pv-best{font-style:normal;font-size:10.5px;font-weight:700;color:var(--red);background:rgba(226,0,26,.07);border:1px solid rgba(226,0,26,.2);border-radius:999px;padding:2px 8px;margin-left:7px;vertical-align:1px}
.pv-save{font-style:normal;font-weight:700;color:#1a8a4a}
.pv-empty{border:1px dashed var(--line);border-radius:12px;padding:16px;color:var(--muted);font-size:13.5px}
@media(max-width:860px){.pv-row{grid-template-columns:1.6fr 1fr 1fr}.pv-row>span:nth-child(4),.pv-row>span:nth-child(5),.pv-row>span:nth-child(6){display:none}}
.brand .chev{color:var(--muted-2);font-size:12px}

.search{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin:2px 0 14px;box-shadow:var(--shadow-sm)}
.search svg{color:var(--muted-2);flex:none}
.search input{border:0;outline:0;font:inherit;font-size:14px;color:var(--ink);background:none;flex:1}
.search input::placeholder{color:var(--muted-2)}
.search .kbd{font-size:11px;color:var(--muted);background:var(--sel);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-weight:600}

.nav{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:var(--ink-2);font-size:14.5px;font-weight:500;position:relative;transition:background .12s,color .12s}
.nav-item svg{color:var(--muted);flex:none;transition:color .12s}
.nav-item:hover{background:var(--sel);color:var(--ink)}
.nav-item:hover svg{color:var(--ink-2)}
.nav-item.active{background:var(--sel);color:var(--ink);font-weight:600}
.nav-item.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--red)}
.nav-item.active svg{color:var(--red)}
.nav-label{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--muted-2);text-transform:uppercase;padding:16px 11px 6px}

.side-foot{margin-top:auto;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px}
.avatar{width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.side-foot .who b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-foot .who span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar.has-img{background-size:cover;background-position:center;color:transparent}
.side-foot-user{cursor:pointer;position:relative;transition:border-color .12s,box-shadow .12s}
.side-foot-user:hover{border-color:#dcdcdc;box-shadow:var(--shadow)}
.side-foot-user .who{flex:1;min-width:0}
.foot-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;flex-direction:column;z-index:60}
body.foot-menu-open .foot-menu{display:flex}
.foot-menu a,.foot-menu button{font:inherit;text-align:left;font-size:14px;font-weight:500;color:var(--ink-2);background:none;border:0;border-radius:8px;padding:9px 11px;cursor:pointer;text-decoration:none}
.foot-menu a:hover,.foot-menu button:hover{background:var(--sel);color:var(--ink)}
.foot-menu .fm-logout{color:var(--red)}
/* Mein Konto */
.konto-head{display:flex;gap:20px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.konto-av{width:88px;height:88px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:800;flex:none;background-size:cover;background-position:center;letter-spacing:-.02em}
/* Admin-only sichtbar */
.nav-admin{display:none}
body.is-admin .nav-admin{display:flex}
.card-admin{display:none}
body.is-admin .card-admin{display:block}
.card-auth{display:none}
body.is-auth .card-auth{display:block}
.nav-auth{display:none}
body.is-auth .nav-auth{display:flex}
/* E-Mail & Telefon Verwaltung */
.comm-row{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1.1fr .9fr .8fr 152px;gap:14px;align-items:center;padding:11px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.comm-row.head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);border-radius:13px 13px 0 0}
.comm-row>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-row strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-row small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-act{display:flex;gap:10px;justify-content:flex-end}
.comm-edit{font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);background:none;border:0;cursor:pointer}
.comm-edit:hover{color:var(--red)}
.pw{display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink-2)}
.pw-eye{background:none;border:0;cursor:pointer;color:var(--muted-2);font-size:13px;padding:0;line-height:1}
.pw-eye:hover{color:var(--ink)}
.comm-form .form2{margin-bottom:4px}
.comm-row.accounts{grid-template-columns:1.4fr 1.2fr 1fr 1.4fr .8fr 152px}
.comm-owner{font-style:normal;font-size:11px;font-weight:600;color:var(--red);background:rgba(226,0,26,.06);border-radius:999px;padding:1px 7px;margin-left:6px}
@media(max-width:900px){.comm-row{grid-template-columns:1.5fr 1fr .9fr .8fr 120px}.comm-row>*:nth-child(4),.comm-row>*:nth-child(5){display:none}.comm-row.accounts{grid-template-columns:1.4fr 1fr .8fr 110px}.comm-row.accounts>*:nth-child(4){display:none}}
/* Stempeluhr */
.stamp-hero{padding:28px 26px}
.stamp-clock{font-size:52px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.stamp-day{color:var(--muted);font-size:14px;margin:6px 0 16px}
.stamp-state{display:inline-block;font-size:12px;font-weight:700;padding:5px 13px;border-radius:999px;background:var(--sel);color:var(--muted);border:1px solid var(--line);margin-bottom:16px}
.stamp-state.on{color:#1a8a4a;background:rgba(26,138,74,.08);border-color:rgba(26,138,74,.25)}
.stamp-btn{display:block;width:100%;justify-content:center;font-size:16px;padding:14px}
.stamp-total{margin-top:14px;font-size:14px;color:var(--muted)}
.stamp-total strong{color:var(--ink);font-variant-numeric:tabular-nums}
.stamp-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:center;padding:11px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.stamp-row.head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);border-radius:13px 13px 0 0}
.stamp-row.today{background:rgba(226,0,26,.03)}
.stamp-row strong{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.stamp-row small{display:block;font-size:12px;color:var(--muted)}
.stamp-time{cursor:pointer;font-variant-numeric:tabular-nums}
.stamp-time:hover{color:var(--red)}
.stamp-time .star{color:var(--red)}
.stamp-week.week{grid-template-columns:1fr 1fr auto}
/* Linkbook */
.lb-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 8px}
.lb-hint{font-size:12.5px;color:var(--muted)}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}
.lb-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px solid var(--line);border-radius:16px;padding:20px 14px;background:var(--paper);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s,transform .15s;color:inherit}
.lb-card:hover{box-shadow:var(--shadow);border-color:#e2e2e2;transform:translateY(-2px)}
.lb-card[draggable=true]{cursor:grab}
.lb-card[draggable=true]:active{cursor:grabbing}
.lb-card.dragging{opacity:.4;outline:2px dashed var(--muted-2)}
.lb-ico{width:52px;height:52px;border-radius:14px;background:var(--sel);display:grid;place-items:center;overflow:hidden}
.lb-ico img{width:34px;height:34px;object-fit:contain}
.lb-card strong{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lb-card small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lb-del{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--muted-2);cursor:pointer;font-size:12px;line-height:1;display:none;align-items:center;justify-content:center}
.lb-card:hover .lb-del{display:flex}
.lb-del:hover{color:var(--red);border-color:rgba(226,0,26,.3)}
.lb-empty{color:var(--muted);font-size:14px;padding:30px 0}
/* Kategorien-Kacheln */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cat-card{position:relative;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:var(--paper);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s,transform .12s;color:inherit}
.cat-card:hover{box-shadow:var(--shadow);border-color:#e2e2e2;transform:translateY(-2px)}
.cat-card strong{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-card small{font-size:12.5px;color:var(--muted)}
.cat-card[draggable=true]{cursor:grab}
.cat-card.dragging{opacity:.4}
.cat-card.over{border-color:var(--red);box-shadow:0 0 0 3px rgba(226,0,26,.14);transform:none}
.cat-card.over-before{box-shadow:inset 3px 0 0 0 var(--red)}
.cat-card.over-after{box-shadow:inset -3px 0 0 0 var(--red)}
.cat-del{position:absolute;top:7px;right:7px;width:22px;height:22px;border-radius:7px;border:1px solid var(--line);background:var(--paper);color:var(--muted-2);cursor:pointer;font-size:11px;line-height:1;display:none;align-items:center;justify-content:center}
.cat-card:hover .cat-del{display:flex}
.cat-del:hover{color:var(--red);border-color:rgba(226,0,26,.3)}
.cat-edit{position:absolute;top:7px;right:34px;width:22px;height:22px;border-radius:7px;border:1px solid var(--line);background:var(--paper);color:var(--muted-2);cursor:pointer;font-size:11px;line-height:1;display:none;align-items:center;justify-content:center}
.cat-card:hover .cat-edit{display:flex}
.cat-edit:hover{color:var(--ink);border-color:#cfcfcf}
.cat-bread a.crumb-over{background:var(--red);color:#fff;border-radius:6px;padding:1px 7px;text-decoration:none}
.prod-tile{position:relative;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:var(--paper);box-shadow:var(--shadow-sm);cursor:grab}
.prod-tile:hover{border-color:#e2e2e2}
.prod-tile strong{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-tile small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-tile.dragging{opacity:.4}
.prod-tile{user-select:none;-webkit-user-select:none}
.prod-tile.selected{border-color:var(--red);box-shadow:0 0 0 2px rgba(226,0,26,.30);background:#fff5f6}
.viewtoggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:0 0 auto}
.viewtoggle button{border:0;border-left:1px solid var(--line);background:var(--paper);color:var(--muted-2);font:inherit;font-size:13px;font-weight:600;padding:9px 13px;cursor:pointer;white-space:nowrap}
.viewtoggle button:first-child{border-left:0}
.viewtoggle button.is-active{background:var(--ink);color:#fff}
[data-prod-list].pl-detail{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;padding:12px}
[data-prod-list].pl-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:12px}
.prod-detail{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--paper);box-shadow:var(--shadow-sm);color:inherit;transition:box-shadow .15s,transform .12s}
.prod-detail:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:#e2e2e2}
.prod-detail .pd-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.prod-detail .pd-head strong{font-size:15px;font-weight:600;color:var(--ink)}
.prod-detail .pd-meta{font-size:12px;color:var(--muted)}
.prod-detail .pd-tags{font-size:12.5px;color:var(--ink-2)}
.prod-detail .pd-desc{font-size:12.5px;color:var(--muted);line-height:1.5;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.prod-detail .pd-foot{display:flex;gap:8px;align-items:center;margin-top:4px}
.prod-detail .pd-stocklbl{font-size:11.5px;color:var(--muted)}
.prod-mini{display:flex;flex-direction:column;gap:6px;justify-content:space-between;min-height:92px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper);box-shadow:var(--shadow-sm);color:inherit;transition:box-shadow .15s,transform .12s}
.prod-mini:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:#e2e2e2}
.prod-mini strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.prod-mini .prod-price{font-size:13px;font-weight:600;color:var(--ink)}
.prod-mini small{font-size:11px;color:var(--muted)}
.prod-main{display:flex;align-items:center;gap:11px}
.pm-txt{min-width:0;display:flex;flex-direction:column}
.prod-thumb{width:42px;height:42px;flex:0 0 auto;object-fit:cover;border-radius:7px;border:1px solid var(--line);background:#fafafa}
span.prod-thumb.is-ph{display:flex;align-items:center;justify-content:center;color:#cfcfcf;font-size:15px}
span.prod-thumb.is-ph::after{content:"\25A6"}
.prod-mini .pm-img{display:block;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fafafa}
.pm-imgel{display:block;width:100%;height:100%;object-fit:cover}
span.pm-imgel.is-ph{display:flex;align-items:center;justify-content:center;color:#cdcdcd;font-size:26px}
span.pm-imgel.is-ph::after{content:"\25A6"}
.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.detail-aside{position:sticky;top:18px}
.dg-main{display:block;width:100%;max-height:340px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.dg-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;margin-top:10px}
.dg-thumb{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:9px;cursor:pointer;background:#fafafa;transition:border-color .12s}
.dg-thumb:hover{border-color:var(--red)}
.dg-mainwrap,.dg-thumbwrap{position:relative}
.dg-del{position:absolute;top:5px;right:5px;background:rgba(20,20,20,.62);color:#fff;border:0;border-radius:6px;font-size:11px;font-weight:600;padding:3px 8px;cursor:pointer;line-height:1.3}
.dg-thumbwrap .dg-del{padding:0 6px;font-size:14px;top:3px;right:3px}
.dg-del:hover{background:var(--red)}
.dg-thumb[data-main]{cursor:pointer}
.prod-row.head[hidden]{display:none}
[data-prod-list].pl-detail{display:flex;flex-direction:column;gap:10px}
.prod-detail{flex-direction:row;gap:20px;align-items:flex-start}
.prod-detail .pd-l{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
.prod-detail .pd-l strong{font-size:15px;font-weight:600;color:var(--ink)}
.prod-detail .pd-r{flex:0 0 300px;display:flex;flex-direction:column;gap:4px}
.prod-detail .pd-spec{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;border-bottom:1px dashed var(--line-2);padding-bottom:3px}
.prod-detail .pd-spec span{color:var(--muted)}
.prod-detail .pd-spec b{color:var(--ink);font-weight:600;text-align:right;white-space:nowrap}
.prod-detail .pd-desc{-webkit-line-clamp:4}
.edit-name{width:100%;max-width:620px;font:inherit;font-size:24px;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:6px 10px;outline:0}
.edit-desc{width:100%;max-width:620px;font:inherit;font-size:14px;color:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;line-height:1.6;resize:vertical;outline:0}
.specbox .spec-edit{font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 8px;width:100%;max-width:300px;outline:0}
.il-edit{width:22px;height:22px;border:1px solid var(--line);background:var(--paper);color:var(--muted-2);border-radius:6px;cursor:pointer;font-size:11px;display:none;align-items:center;justify-content:center;flex:0 0 auto}
.prod-row:hover .il-edit{display:inline-flex}
.il-edit:hover{color:var(--red);border-color:rgba(226,0,26,.3)}
.prod-row.is-editing{background:#fffdf6}
.prod-row.is-editing .prod-main{display:block}
.il-inp{width:100%;font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:5px 7px;outline:0;background:#fff}
.il-inp:focus{border-color:var(--red)}
.il-inp.il-small{margin-top:4px;font-size:11.5px;color:var(--muted-2)}
.il-stock{width:62px}
.prod-row.is-editing .prod-last{gap:6px}
.il-save,.il-cancel{width:28px;height:30px;border:1px solid var(--line);border-radius:7px;cursor:pointer;font-size:13px;background:#fff;flex:0 0 auto}
.il-save{color:#16a34a;border-color:rgba(22,163,74,.4)}
.il-save:hover{background:#16a34a;color:#fff}
.il-cancel{color:var(--muted-2)}
.il-cancel:hover{color:var(--red);border-color:rgba(226,0,26,.3)}
@media(max-width:760px){.prod-detail{flex-direction:column}.prod-detail .pd-r{flex:1 1 auto}}
@media(max-width:820px){.detail-grid{grid-template-columns:1fr}.detail-aside{position:static;order:-1;max-width:420px}}
.cat-card.drop-on{border-color:var(--red);box-shadow:0 0 0 3px rgba(226,0,26,.16);transform:translateY(-2px)}
.cat-card.drop-ok{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.20)}
.combo{position:relative}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:280px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px}
.combo-opt{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:8px 10px;border-radius:7px;font:inherit;color:var(--ink)}
.combo-opt:hover{background:#f5f5f5}
.combo-opt small{font-size:11.5px;color:var(--muted);font-weight:400}
.combo-empty{padding:9px 10px;font-size:12.5px;color:var(--muted)}
.combo-hint{display:block;margin-top:5px;font-size:11.5px;color:var(--muted)}
.combo-hint a{color:var(--red);text-decoration:none}
.cat-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 6px}
.cat-bread{font-size:14px;color:var(--muted)}
.cat-bread a{color:var(--ink-2);font-weight:600}
.cat-bread a:hover{color:var(--red)}
.cat-bread .sep{color:var(--muted-2);margin:0 3px}
.cat-hint{font-size:12.5px;color:var(--muted);margin:0 0 12px}
/* Abkürzungen */
.abbr-row{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;padding:11px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.abbr-row.head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);border-radius:13px 13px 0 0}
.abbr-code{font-weight:700;color:var(--ink);font-family:ui-monospace,Menlo,monospace;white-space:nowrap}
/* Laufnummer */
.lauf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}
.lauf-card{text-align:center}
.lauf-label{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
.lauf-big{font-size:36px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:10px 0 2px;color:var(--ink)}
.lauf-plain{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:16px}
.lauf-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lauf-actions .btn{font-size:13px;padding:9px 13px}
/* Linkbook-Admin Zeilen */
.lba-row{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line-2)}
.lba-row:first-child{border-top:0}
.lba-row.dragging{opacity:.4;background:var(--sel)}
.lba-grip{cursor:grab;color:var(--muted-2);user-select:none}
.lba-row strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lba-row small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Produkte */
.prod-row{display:grid;grid-template-columns:2.1fr 1.1fr 1.2fr 1fr .85fr 150px;gap:14px;align-items:center;padding:11px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
a.prod-row{color:inherit;transition:background .12s}
a.prod-row:hover{background:var(--sel)}
.prod-last{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.prod-row.head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);position:sticky;top:0;z-index:5;border-radius:13px 13px 0 0}
.prod-row>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-main strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-main small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-price{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:980px){.prod-row{grid-template-columns:2fr 1.1fr 1fr 90px}.prod-row>*:nth-child(3),.prod-row>*:nth-child(4){display:none}}
@media(max-width:680px){.prod-row{grid-template-columns:1.8fr 110px}.prod-row>*:nth-child(2),.prod-row>*:nth-child(5){display:none}}
/* Benutzer-Tabelle */
.usr-row{display:grid;grid-template-columns:1.6fr 1.6fr 1.2fr 1fr 90px 90px;gap:14px;align-items:center;padding:12px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.usr-row.head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);border-radius:13px 13px 0 0}
.usr-row>*{min-width:0}
.usr-row strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usr-row small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usr-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--sel);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;display:inline-block}
.usr-badge.adm{color:var(--red);background:rgba(226,0,26,.07);border-color:rgba(226,0,26,.2)}
.usr-toggle{font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:8px;padding:6px 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2)}
.usr-toggle.on{background:rgba(226,0,26,.07);color:var(--red);border-color:rgba(226,0,26,.25)}
.usr-del{font:inherit;font-size:12.5px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer}
@media(max-width:860px){.usr-row{grid-template-columns:1.6fr 1fr 80px 80px}.usr-row>*:nth-child(3),.usr-row>*:nth-child(4){display:none}}

/* MAIN */
.main{flex:1;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:42px 48px 52px;min-width:0}
.crumb{font-size:13px;color:var(--muted);margin-bottom:18px}
.crumb b{color:var(--ink-2);font-weight:600}
h1{font-size:40px;font-weight:800;letter-spacing:-.025em;margin-bottom:10px}
.sub{color:var(--muted);font-size:16px;max-width:560px}

.stats{display:flex;gap:48px;margin:30px 0 8px;flex-wrap:wrap}
.stat .lab{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--muted-2);text-transform:uppercase;margin-bottom:8px}
.stat .val{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-.01em}
.ring{width:22px;height:22px;flex:none}

.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:30px 0 26px}
.tab{display:flex;align-items:center;gap:8px;padding:11px 4px;margin-right:22px;font-size:15px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s}
.tab svg{color:var(--muted-2)}
.tab:hover{color:var(--ink-2)}
.tab.active{color:var(--ink);border-bottom-color:var(--red)}
.tab.active svg{color:var(--red)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{border:1px solid var(--line);border-radius:15px;padding:20px;transition:box-shadow .15s,border-color .15s,transform .15s;background:var(--paper)}
.card:hover{box-shadow:var(--shadow-sm);border-color:#e2e2e2;transform:translateY(-2px)}
.card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.ci{width:38px;height:38px;border-radius:10px;background:var(--sel);display:grid;place-items:center;color:var(--ink-2)}
.card:hover .ci{color:var(--red)}
.badge{font-size:11px;font-weight:700;color:var(--muted);background:var(--sel);border:1px solid var(--line);padding:3px 9px;border-radius:999px}
.badge.live{color:var(--red);background:rgba(226,0,26,.07);border-color:rgba(226,0,26,.18)}
.card h3{font-size:16px;font-weight:600;margin-bottom:5px}
.card p{font-size:13.5px;color:var(--muted)}

/* Inhalts-Helfer (für umgebaute Seiten) */
.prose{max-width:680px}
.prose h2{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:28px 0 10px}
.prose h3{font-size:17px;font-weight:600;margin:20px 0 8px}
.prose p{color:var(--ink-2);font-size:15.5px;margin-bottom:12px}
.prose ul{color:var(--ink-2);font-size:15.5px;margin:0 0 14px 20px}
.prose li{margin-bottom:6px}

/* WIR-Hervorhebung (dezent) */
.wir{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--line);border-radius:16px;padding:22px 26px;margin-bottom:26px;background:linear-gradient(180deg,#fcfbfa,#ffffff)}
.wir .l{display:flex;align-items:center;gap:16px}
.wir .dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(226,0,26,.12)}
.wir h3{font-size:17px;font-weight:700}
.wir p{font-size:13.5px;color:var(--muted);margin-top:2px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:10px 16px;border-radius:10px;transition:background .12s,border-color .12s,transform .12s;cursor:pointer;border:0}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-1px)}
.btn-quiet{border:1px solid var(--line);color:var(--ink);background:var(--paper)}
.btn-quiet:hover{border-color:#dcdcdc;background:var(--sel)}

/* Modulseiten-Bausteine */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.kicker{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.layout{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start;margin-top:8px}
.panel{border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm)}
.panel .ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.panel .ph strong{font-size:15px}
.steprow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line-2);font-size:14px;color:var(--ink-2)}
.steprow:first-of-type{border-top:0}
.steprow .n{width:26px;height:26px;border-radius:8px;background:var(--sel);color:var(--ink-2);display:grid;place-items:center;font-size:12.5px;font-weight:700;flex:none}
.section-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin:38px 0 14px}
@media(max-width:780px){.layout{grid-template-columns:1fr}}

/* Dashboard-Bausteine */
.create{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;border-radius:10px;padding:10px 12px;font-weight:600;font-size:14px;margin:2px 0 12px}
.create:hover{transform:translateY(-1px)}
.create span{font-size:17px;line-height:1}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 8px}
.kpi{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--paper)}
.kpi .lab{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
.kpi strong{display:block;font-size:23px;font-weight:700;letter-spacing:-.01em;margin:6px 0 3px}
.kpi em{font-style:normal;font-size:12.5px;color:var(--muted)}
.dlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dlist a{display:flex;align-items:center;gap:14px;padding:15px 18px;border-top:1px solid var(--line-2);transition:background .12s}
.dlist a:first-child{border-top:0}
.dlist a:hover{background:var(--sel)}
.dlist .di{width:34px;height:34px;border-radius:9px;background:var(--sel);color:var(--ink-2);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.dlist a:hover .di{color:var(--red)}
.dlist .dt{flex:1}
.dlist .dt strong{display:block;font-size:14.5px;font-weight:600}
.dlist .dt small{font-size:12.5px;color:var(--muted)}
.dlist .dv{font-size:13px;color:var(--muted);font-weight:600}
.dlist .da{font-size:12.5px;color:var(--muted-2);font-weight:600}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}

/* Kontakt-Datenbank (Dashboard) */
.controlbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 16px}
.controlbar .search{flex:1;min-width:240px;margin:0}
.filterbar{display:flex;gap:6px;flex-wrap:wrap}
.filterbar button{font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:all .12s}
.filterbar button:hover{background:var(--sel)}
.filterbar button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.ctable{border:1px solid var(--line);border-radius:14px;overflow:visible}
.contact-db-row{display:grid;grid-template-columns:1.6fr 1.2fr 1.4fr 1.1fr .9fr 188px;gap:16px;align-items:center;padding:12px 18px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.contact-db-row>*{min-width:0}
.contact-db-row:last-child{border-radius:0 0 13px 13px}
.contact-db-row:not(.contact-db-head):hover{background:var(--sel)}
.contact-db-row.contact-db-head{border-top:0;background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);position:sticky;top:0;z-index:5;border-radius:13px 13px 0 0}
.contact-db-main{display:flex;align-items:center;gap:11px;min-width:0;color:inherit}
.contact-db-main i{width:34px;height:34px;border-radius:9px;background:var(--sel);color:var(--ink-2);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;flex:none}
/* Zwei-Zeilen-Zellen alle gleich hoch -> Spalten in einer Flucht */
.cb-col{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;color:inherit}
.contact-db-main span{display:flex;flex-direction:column;gap:4px;min-width:0}
.contact-db-main strong,.cb-col strong,.cl,.cl-empty{height:19px;line-height:19px}
.contact-db-main strong,.cb-col strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-db-main small,.cb-col small{display:block;height:16px;line-height:16px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.cb-col:hover strong,a.contact-db-main:hover strong{color:var(--red)}
.cb-tags{flex-direction:row;flex-wrap:wrap;gap:5px;align-self:stretch;align-items:flex-start;justify-content:flex-start;padding-top:1px}
.tag{font-style:normal;font-size:11px;font-weight:600;color:var(--ink-2);background:var(--sel);border:1px solid var(--line);border-radius:999px;padding:2px 9px;white-space:nowrap;line-height:1.4}
.vis-pill{font:inherit;font-size:11px;font-weight:700;cursor:pointer;border-radius:999px;padding:2px 11px;white-space:nowrap;border:1px solid var(--line);background:var(--paper);transition:box-shadow .12s,background .12s,color .12s}
.vis-pill.is-pub{color:#1a8a4a;background:rgba(26,138,74,.08);border-color:rgba(26,138,74,.25)}
.vis-pill.is-priv{color:var(--muted);background:var(--sel)}
.vis-pill:hover{box-shadow:var(--shadow-sm)}
.vis-pill:disabled{opacity:.5;cursor:default}
.att-badge{font-style:normal;font-size:11px;font-weight:600;color:#1a6fd6;background:rgba(26,111,214,.09);border-radius:999px;padding:1px 7px;vertical-align:1px;white-space:nowrap}
.contact-db-row.drop-on{background:rgba(26,111,214,.06);outline:2px dashed rgba(26,111,214,.5);outline-offset:-3px;border-radius:10px}
.contact-db-row.uploading{opacity:.6}
/* Adresse in Rinne: PLZ-Spalte fix, Ort fluchtet darüber */
.cb-col.cb-addr{align-items:flex-start;text-align:left}
.cb-col.cb-addr small{display:flex;gap:6px;height:16px;align-items:center;justify-content:flex-start;width:100%}
.cb-col.cb-addr small span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cb-col.cb-addr .addr-plz{flex:none;color:var(--muted-2);font-variant-numeric:tabular-nums}
.cb-col.cb-addr .addr-ort{flex:0 1 auto}
.cb-col.cb-addr strong{font-size:12px;font-weight:400;color:var(--muted);text-align:left;align-self:flex-start}
.cl{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;color:var(--ink-2)}
.cl-ico{flex:none;width:14px;color:var(--muted-2);display:grid;place-items:center}
.cl-ico svg{width:14px;height:14px;display:block}
.cl-val{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-link:hover,.cl-link:hover .cl-ico{color:var(--red)}
.cl-empty{color:var(--muted-2);font-size:13px}
.contact-db-status{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--sel);border:1px solid var(--line);border-radius:999px;padding:3px 10px;display:inline-block;white-space:nowrap}
.contact-db-status.is-ok{color:#1a8a4a;background:rgba(26,138,74,.08);border-color:rgba(26,138,74,.22)}
.contact-db-status.is-warn{color:#b5780a;background:rgba(224,138,0,.12);border-color:rgba(224,138,0,.28)}
.contact-db-status.is-wir{color:var(--red);background:rgba(226,0,26,.06);border-color:rgba(226,0,26,.18)}
.contact-db-action{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.qa{font:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;width:32px;height:32px;display:grid;place-items:center;color:var(--muted-2);cursor:pointer;transition:background .12s,color .12s,border-color .12s,transform .12s;flex:none}
.qa svg{width:16px;height:16px;display:block}
.qa:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.qa.qa-wa:hover{background:#25D366;border-color:#25D366}
.qa.qa-tg:hover{background:#229ED9;border-color:#229ED9}
.qa.qa-mail:hover{background:#1a6fd6;border-color:#1a6fd6}
.qa.qa-li:hover{background:#0A66C2;border-color:#0A66C2}
.qa.qa-fb:hover{background:#1877F2;border-color:#1877F2}
.contact-db-empty{padding:46px 20px;text-align:center;color:var(--muted)}
.contact-db-empty strong{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.contact-db-empty button{font:inherit;font-size:13.5px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer;margin-top:10px}
.filterbar button em{font-style:normal;font-weight:700;font-size:11.5px;color:var(--muted);background:var(--sel);border-radius:999px;padding:1px 7px;margin-left:5px}
.filterbar button.is-active em{color:#fff;background:rgba(255,255,255,.18)}
.sortsel{font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 12px;cursor:pointer;outline:0}
.sortsel:hover{background:var(--sel)}
.search-clear{font:inherit;background:none;border:0;color:var(--muted-2);cursor:pointer;padding:2px 4px;border-radius:6px;display:none;line-height:1;font-size:15px}
.search.has-value .search-clear{display:block}
.search.has-value .kbd{display:none}
.search-clear:hover{color:var(--ink);background:var(--sel)}
.kpi-btn{font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}
.kpi-btn:hover{border-color:#dcdcdc;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.kpi-btn.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.loadbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;font-size:13px;color:var(--muted)}
.loadbar button{font:inherit;font-weight:600;font-size:13.5px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 16px;cursor:pointer}
.loadbar button:hover{background:var(--sel)}
@media(max-width:1320px){
  .contact-db-row{grid-template-columns:1.6fr 1.2fr 1.4fr 1.1fr 188px}
  .contact-db-row>*:nth-child(5){display:none}
}
@media(max-width:1180px){
  .contact-db-row{grid-template-columns:1.7fr 1.4fr 1.5fr 188px}
  .contact-db-row>*:nth-child(4){display:none}
}
@media(max-width:820px){
  .contact-db-row{grid-template-columns:1.7fr 1.5fr 188px;gap:12px}
  .contact-db-row>*:nth-child(2){display:none}
  .contact-db-action{flex-wrap:nowrap}
}
@media(max-width:560px){
  .contact-db-row{grid-template-columns:1fr 168px}
  .contact-db-row>*:nth-child(3){display:none}
  .contact-db-action{flex-wrap:wrap;justify-content:flex-end}
}

/* Direct Mail (Dashboard) */
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 13px;outline:0;transition:border-color .12s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--muted-2)}
.field textarea{min-height:120px;resize:vertical}
.dropzone{border:2px dashed var(--line);border-radius:14px;padding:30px;text-align:center;color:var(--muted);background:var(--sel);transition:border-color .12s,background .12s}
.dropzone:hover,.dropzone.is-dragging{border-color:var(--red);background:#fff}
.dropzone input[type=file]{display:none}
.dropzone .di{font-size:22px;color:var(--muted-2);display:block;margin-bottom:6px}
.dropzone strong{display:block;font-size:15px;color:var(--ink)}
.dropzone small{display:block;font-size:12.5px;margin-top:3px}
.side-stack{display:flex;flex-direction:column;gap:16px}
.pstep{font-size:11px;font-weight:700;color:var(--muted-2);letter-spacing:.08em;display:block;margin-bottom:2px}
.statuspill{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--sel);color:var(--muted);border:1px solid var(--line)}
.statuspill.is-ready{background:rgba(226,0,26,.08);color:var(--red);border-color:rgba(226,0,26,.2)}
.rchip{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);border-radius:12px;padding:10px 16px;background:var(--paper);margin:4px 0 18px}
.rchip>span{width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.rchip strong{display:block;font-size:14px}
.rchip small{display:block;font-size:12px;color:var(--muted)}
.attachment-list{margin:14px 0 4px;display:flex;flex-direction:column;gap:8px}
.attachment-empty{font-size:13px;color:var(--muted);padding:14px;border:1px dashed var(--line);border-radius:10px;text-align:center}
.attachment-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.attachment-item>span{width:34px;height:34px;border-radius:8px;background:var(--sel);color:var(--ink-2);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.attachment-item>div{flex:1;min-width:0}
.attachment-item strong{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attachment-item small{display:block;font-size:12px;color:var(--muted)}
.attachment-item button{font:inherit;font-size:12.5px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer}
.attachment-item-sent{border-color:rgba(26,138,74,.35);background:rgba(26,138,74,.04)}
.attachment-item-error{border-color:rgba(226,0,26,.35);background:rgba(226,0,26,.04)}
.checklist{display:flex;flex-direction:column;gap:9px}
.checklist span{font-size:13.5px;color:var(--muted);padding-left:24px;position:relative}
.checklist span::before{content:"○";position:absolute;left:2px;color:var(--muted-2)}
.checklist span.is-done{color:var(--ink-2)}
.checklist span.is-done::before{content:"✓";color:var(--red);font-weight:700}
.template-list{display:flex;flex-direction:column;gap:8px}
.template-list button{font:inherit;text-align:left;font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 13px;cursor:pointer;transition:background .12s}
.template-list button:hover{background:var(--sel)}
.activity{display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--muted)}
.activity b{color:var(--ink-2);font-weight:600;margin-right:6px}
.mail-actions{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.sendnote{font-size:13px;color:var(--muted);margin:0}
.sendnote.is-success{color:#1a8a4a}
.sendnote.is-error{color:var(--red)}

/* Restwertbörse – Fahrzeugliste */
.pager{display:flex;align-items:center;gap:6px;justify-content:flex-end;margin:14px 0;font-size:13px;color:var(--muted)}
.pager button{font:inherit;font-weight:600;font-size:13px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:32px;height:32px;padding:0 8px;cursor:pointer}
.pager button:hover:not(:disabled){background:var(--sel)}
.pager button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager button:disabled{opacity:.4;cursor:default}
.pager .dots{min-width:22px;text-align:center;color:var(--muted-2);font-weight:600}
.loadbar .pager{margin:0;flex-wrap:wrap}
.vlist{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.vrow{display:grid;grid-template-columns:68px 2.4fr .9fr .9fr 1.2fr 1.1fr 28px;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2)}
.vrow.vhead{border-top:0;background:var(--sel);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}
a.vrow{color:inherit;transition:background .12s}
a.vrow:hover{background:var(--sel)}
.vthumb{width:68px;height:50px;border-radius:8px;background:var(--sel);display:grid;place-items:center;color:var(--muted-2);overflow:hidden;flex:none}
.vthumb img{width:100%;height:100%;object-fit:cover}
.vtitle strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtitle small{display:block;font-size:12px;color:var(--muted)}
.vcell{font-size:13.5px;color:var(--ink-2)}
.vcell .l{display:none;font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em}
.vprice{font-weight:700;color:var(--ink)}
.vstatus{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:999px;display:inline-block;white-space:nowrap;background:var(--sel);color:var(--muted);border:1px solid var(--line)}
.vstatus.live{color:var(--red);background:rgba(226,0,26,.07);border-color:rgba(226,0,26,.2)}
.vstatus.sold{color:#1a8a4a;background:rgba(26,138,74,.07);border-color:rgba(26,138,74,.2)}
.varrow{color:var(--muted-2);text-align:right}
a.vrow:hover .varrow{color:var(--red)}
.vempty{padding:40px;text-align:center;color:var(--muted);font-size:14px}
@media(max-width:820px){
  .vrow{grid-template-columns:56px 1.7fr 1fr 24px}
  .vrow .vhide{display:none}
  .vcell .l{display:block}
}

/* Restwertbörse – Detailseite */
.back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:18px}
.back:hover{color:var(--red)}
.detail-head{margin-bottom:20px}
.detail-head h1{margin-bottom:4px}
.detail-head .artnr{font-size:13px;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start;margin-bottom:8px}
.gallery .main{width:100%;aspect-ratio:4/3;border-radius:16px;background:var(--sel);display:grid;place-items:center;color:var(--muted-2);overflow:hidden;border:1px solid var(--line)}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs{display:flex;gap:8px;margin-top:10px}
.gallery .thumbs span{width:70px;height:52px;border-radius:8px;background:var(--sel);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted-2)}
.specbox{border:1px solid var(--line);border-radius:16px;padding:6px 18px}
.specrow{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line-2);font-size:14px}
.specrow:first-child{border-top:0}
.specrow span{color:var(--muted)}
.specrow b{font-weight:600;color:var(--ink);text-align:right}
.auctionbox{border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:16px;background:linear-gradient(180deg,#fcfbfa,#fff)}
.auctionbox .ah{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;margin-bottom:16px}
.auctionbox .ah svg{color:var(--red)}
.countdown{display:flex;gap:14px;margin-bottom:16px}
.countdown .cd{text-align:center}
.countdown .cd b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.countdown .cd span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.minprice{font-size:13px;color:var(--muted);margin-bottom:16px}
.minprice b{display:block;font-size:22px;color:var(--ink);font-weight:700;margin-top:2px}
.section-block{margin-top:30px}
.section-block h2{font-size:16px;font-weight:700;color:var(--red);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.section-block p{font-size:14px;color:var(--ink-2);line-height:1.6}
.infocards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.infocard{border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.infocard .ir{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0}
.infocard .ir span{color:var(--muted)}
.infocard .ir b{font-weight:600}
@media(max-width:820px){
  .detail-grid{grid-template-columns:1fr}
  .infocards{grid-template-columns:1fr}
}

/* Restwertbörse – Portal */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 24px}
.subnav a{font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 15px;transition:background .12s}
.subnav a:hover{background:var(--sel)}
.subnav a.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.ltable{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ltable .lr{display:grid;grid-template-columns:var(--cols,1fr);gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.ltable .lr.head{border-top:0;background:var(--sel);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}
.ltable a.lr{color:inherit;transition:background .12s}
.ltable a.lr:hover{background:var(--sel)}
.ltable .pdf{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--ink)}
.ltable .pdf svg{color:var(--red);flex:none}
.statgroup{margin:24px 0}
.statgroup .gh{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.statgroup h3{font-size:16px;font-weight:700}
.statgroup .cnt{color:var(--muted);font-weight:600;font-size:14px}
.statgroup .none{font-size:14px;color:var(--muted);padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--sel)}
.subhead{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;margin:24px 0 10px}
.subhead svg{color:var(--ink-2)}
.checkrow{display:flex;align-items:flex-start;gap:11px;padding:9px 0;font-size:14.5px;color:var(--ink-2)}
.checkrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);margin-top:1px;flex:none}
.emailrow{display:flex;align-items:center;gap:10px;margin-bottom:10px;max-width:480px}
.emailrow .field{flex:1;margin:0}
.iconbtn{background:none;border:0;cursor:pointer;color:var(--muted);padding:8px;border-radius:8px;display:grid;place-items:center}
.iconbtn:hover{color:var(--red);background:var(--sel)}
.ss-card{border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.ss-card .ss-main{min-width:0}
.ss-card h3{font-size:15px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.ss-card .brands{font-size:13px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ss-card .meta{font-size:12.5px;color:var(--muted-2);margin-top:8px}
.ss-card .ss-act{display:flex;flex-direction:column;gap:8px;flex:none}
.mvicons{display:flex;gap:12px;align-items:center}
.mvicons span{color:var(--ink-2)}
.acc-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}
@media(max-width:820px){.acc-grid{grid-template-columns:1fr}.ss-card{flex-direction:column}}

/* Seitenleiste einklappen (Desktop) */
.sb-collapse{margin-left:auto;background:none;border:0;color:var(--muted-2);cursor:pointer;font-size:18px;line-height:1;padding:4px 7px;border-radius:7px}
.sb-collapse:hover{background:var(--sel);color:var(--ink)}
@media(min-width:901px){
  body.sb-collapsed .sidebar{display:none}
  body.sb-collapsed .menu-toggle{display:inline-flex}
  /* Menü und Inhalt scrollen getrennt */
  .app{height:100vh;overflow:hidden}
  .sidebar{height:100%;overflow-y:auto;overscroll-behavior:contain}
  .main{height:100%;overflow-y:auto;overscroll-behavior:contain}
  .sidebar::-webkit-scrollbar,.main::-webkit-scrollbar{width:8px}
  .sidebar::-webkit-scrollbar-thumb,.main::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
}
@media(max-width:900px){ .sb-collapse{display:none} }

/* Gerätemanager */
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.dot.on{background:#1a9a4a;box-shadow:0 0 0 3px rgba(26,154,74,.15)}
.dot.off{background:var(--muted-2)}
.dot.warn{background:#e08a00;box-shadow:0 0 0 3px rgba(224,138,0,.15)}
.gm-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gm-row{display:grid;grid-template-columns:46px 2fr 1.1fr .85fr 1.6fr 1fr 26px;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line-2);transition:background .12s}
.gm-nrserial strong{display:block;font-size:13px;font-weight:700;color:var(--ink)}
.gm-nrserial small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-row.head{border-top:0;background:var(--sel);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}
.gm-row.item{cursor:pointer}
.gm-row.item:hover{background:var(--sel)}
.gm-ico{width:40px;height:40px;border-radius:10px;background:var(--sel);display:grid;place-items:center;color:var(--ink-2);flex:none}
.gm-name strong{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-name small{display:block;font-size:12px;color:var(--muted)}
.gm-type{font-size:13px;color:var(--ink-2)}
.assign{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);min-width:0}
.assign svg{color:var(--muted-2);flex:none}
.assign span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assign.none{color:var(--muted-2)}
.st{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2)}
.gm-phone{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:4px;cursor:text;border-radius:6px;padding:1px 4px;margin-left:-4px}
.gm-phone svg{color:var(--muted-2);flex:none}
.gm-phone:hover{color:var(--ink);background:var(--line-2)}
.gm-phone.empty{color:var(--red);cursor:pointer}
.gm-phone.empty:hover{background:rgba(226,0,26,.06)}
.gm-phone-input{font:inherit;font-size:12.5px;padding:4px 8px;border:1px solid var(--red);border-radius:7px;width:160px;margin-top:4px;outline:0;color:var(--ink)}
@media(max-width:860px){.gm-row{grid-template-columns:40px 1.6fr 1.2fr 26px}.gm-row .ghide{display:none}}

/* Geräte-Detail-Schublade */
.drawer-scrim{position:fixed;inset:0;background:rgba(20,20,26,.42);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}
body.drawer-open .drawer-scrim{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:94vw;background:var(--paper);z-index:61;box-shadow:-22px 0 60px rgba(20,20,26,.18);transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;padding:22px 24px 40px}
body.drawer-open .drawer{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.drawer-head .gm-ico{width:50px;height:50px;border-radius:13px}
.drawer-head h2{font-size:18px;font-weight:700;letter-spacing:-.01em}
.drawer-head small{font-size:13px;color:var(--muted)}
.drawer-close{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;padding:8px;border-radius:8px;align-self:flex-start}
.drawer-close:hover{background:var(--sel);color:var(--ink)}
.dtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}
.dtab{font:inherit;background:none;border:0;font-size:13.5px;font-weight:600;color:var(--muted);padding:9px 4px;margin-right:16px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.dtab.active{color:var(--ink);border-bottom-color:var(--red)}
.act-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.act-btn{display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;background:var(--paper);font:inherit;text-align:left;transition:border-color .12s,background .12s}
.act-btn:hover{border-color:var(--red);background:var(--sel)}
.act-btn svg{color:var(--red)}
.act-btn b{font-size:13px;font-weight:600}
.act-btn span{font-size:11px;color:var(--muted)}
.act-btn.danger:hover{border-color:var(--red)}
.app-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line-2)}
.app-row:first-child{border-top:0}
.app-ico{width:34px;height:34px;border-radius:9px;background:var(--sel);display:grid;place-items:center;color:var(--ink-2);font-weight:700;font-size:13px;flex:none}
.app-row .an{flex:1;min-width:0}
.app-row .an strong{display:block;font-size:13.5px;font-weight:600}
.app-row .an small{font-size:12px;color:var(--muted)}
.app-toggle{font:inherit;font-size:12.5px;font-weight:600;border-radius:8px;padding:6px 12px;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink-2)}
.app-toggle.on{background:rgba(26,138,74,.08);color:#1a8a4a;border-color:rgba(26,138,74,.25)}
.app-toggle.off{color:var(--red)}
.locmap{height:170px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,#eef0ee,#f6f6f4);display:grid;place-items:center;color:var(--muted);position:relative;overflow:hidden;margin-bottom:12px}
.locmap .pin{width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(226,0,26,.15)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:11px;font-size:13.5px;font-weight:500;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:560px){.act-grid{grid-template-columns:1fr}}

/* Cargofield Delivery – Board */
.cfd-dates{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px}
.cfd-date{font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:9px 14px;cursor:pointer;text-align:left;transition:background .12s}
.cfd-date:hover{background:var(--sel)}
.cfd-date b{display:block;font-size:14px;font-weight:700}
.cfd-date span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.cfd-date.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.cfd-date.active span{color:rgba(255,255,255,.7)}
.board{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start;margin-top:8px}
.col{border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;flex-direction:column;min-height:140px;overflow:hidden}
.col-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-2)}
.col-h .ct{font-size:14px;font-weight:700}
.col-h .cs{font-size:12px;color:var(--muted)}
.col-h .cnt{font-size:12px;font-weight:700;color:var(--muted);background:var(--sel);border-radius:999px;padding:3px 10px;flex:none}
.dropzone{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:90px;flex:1;transition:background .12s,outline-color .12s}
.dropzone.over{background:rgba(226,0,26,.05);outline:2px dashed rgba(226,0,26,.35);outline-offset:-7px;border-radius:14px}
.dropzone .empty{font-size:12.5px;color:var(--muted-2);text-align:center;padding:20px 6px}
.pkg{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:var(--paper);cursor:grab;box-shadow:var(--shadow-sm);transition:box-shadow .12s,transform .12s,border-color .12s}
.pkg:hover{border-color:#dcdcdc}
.pkg:active{cursor:grabbing}
.pkg.dragging{opacity:.4}
.pkg .pr{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.pkg .ref{font-size:13px;font-weight:700;letter-spacing:-.01em}
.pkg .cust{font-size:13px;color:var(--ink);font-weight:600}
.pkg .addr{font-size:12px;color:var(--muted);margin-top:2px}
.pkg .meta{display:flex;gap:12px;margin-top:8px;font-size:11.5px;color:var(--muted)}
.src{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;white-space:nowrap}
.src.kintec{color:#1a6fd6;background:rgba(26,111,214,.09);border:1px solid rgba(26,111,214,.22)}
.src.intern{color:var(--muted);background:var(--sel);border:1px solid var(--line)}
.veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:14px}
.veh-col .col-h{background:linear-gradient(180deg,#fcfbfa,#fff)}
.veh-ico{width:30px;height:30px;border-radius:8px;background:var(--sel);display:grid;place-items:center;color:var(--ink-2);flex:none}
.veh-h-l{display:flex;align-items:center;gap:10px;min-width:0}
@media(max-width:900px){.board{grid-template-columns:1fr}.veh-grid{grid-template-columns:1fr}}

/* Flottenbestand */
.fl-row{display:grid;grid-template-columns:44px 1.9fr 1.2fr 1.3fr 1fr .9fr 26px;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line-2);transition:background .12s}
.fl-row.head{border-top:0;background:var(--sel);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}
.fl-row.item{cursor:pointer}
.fl-row.item:hover{background:var(--sel)}
.fl-cell{font-size:13px;color:var(--ink-2)}
.fl-cell small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.ip{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;display:inline-block}
.ip.ok{color:#1a8a4a;background:rgba(26,138,74,.08);border:1px solid rgba(26,138,74,.22)}
.ip.warn{color:#b5780a;background:rgba(224,138,0,.12);border:1px solid rgba(224,138,0,.28)}
.ip.bad{color:var(--red);background:rgba(226,0,26,.07);border:1px solid rgba(226,0,26,.2)}
.costbig{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.costbig span{font-size:14px;font-weight:600;color:var(--muted)}
.costcard{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;background:linear-gradient(180deg,#fcfbfa,#fff)}
@media(max-width:860px){.fl-row{grid-template-columns:40px 1.7fr 1.1fr 26px}.fl-row .fhide{display:none}}

/* CargoFleet Tracker */
.track-wrap{display:grid;grid-template-columns:1fr 350px;gap:18px;align-items:start;margin-top:8px}
.trackmap{position:relative;height:540px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(160deg,#eef1ee,#e6eae4)}
.trackmap .map-bg{position:absolute;inset:0;width:100%;height:100%}
.trackmap .legend{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:11.5px;display:flex;gap:13px;backdrop-filter:blur(4px);z-index:4}
.trackmap .legend span{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2)}
.trackmap .lg{width:9px;height:9px;border-radius:50%}
.pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer;transition:left 1.2s linear,top 1.2s linear;z-index:2}
.pin .pd{display:block;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.28)}
.pin .pl{position:absolute;left:50%;top:-9px;transform:translate(-50%,-100%);background:var(--ink);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:7px;white-space:nowrap;opacity:0;transition:opacity .12s;pointer-events:none}
.pin:hover .pl,.pin.sel .pl{opacity:1}
.pin.sel{z-index:3}
.pin.sel .pd{width:22px;height:22px;box-shadow:0 0 0 6px rgba(226,0,26,.18),0 2px 6px rgba(0,0,0,.3)}
.s-fahrt{background:#1a9a4a}.s-leerlauf{background:#e08a00}.s-parkiert{background:#5b6470}.s-offline{background:#b0b0b8}
.tv-list{display:flex;flex-direction:column;gap:10px;max-height:540px;overflow:auto;padding-right:2px}
.tv-card{border:1px solid var(--line);border-radius:12px;padding:12px 13px;cursor:pointer;background:var(--paper);transition:background .12s,border-color .12s,box-shadow .12s}
.tv-card:hover{background:var(--sel)}
.tv-card.sel{border-color:var(--red);box-shadow:0 0 0 3px rgba(226,0,26,.08)}
.tv-card .tr{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tv-card .nm{font-weight:700;font-size:13.5px}
.tv-card .nm small{display:block;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:1px}
.tv-card .meta{font-size:12px;color:var(--muted);margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 14px}
.tv-card .meta b{color:var(--ink-2)}
.livedot{width:8px;height:8px;border-radius:50%;background:#1a9a4a;display:inline-block;animation:tpulse 1.6s infinite}
@keyframes tpulse{0%{box-shadow:0 0 0 0 rgba(26,154,74,.45)}70%{box-shadow:0 0 0 7px rgba(26,154,74,0)}100%{box-shadow:0 0 0 0 rgba(26,154,74,0)}}
.trk-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.trk-badge.fahrt{color:#1a8a4a;background:rgba(26,138,74,.09);border:1px solid rgba(26,138,74,.22)}
.trk-badge.leerlauf{color:#b5780a;background:rgba(224,138,0,.12);border:1px solid rgba(224,138,0,.28)}
.trk-badge.parkiert{color:#5b6470;background:var(--sel);border:1px solid var(--line)}
.trk-badge.offline{color:var(--muted);background:var(--sel);border:1px solid var(--line)}
.trip{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line-2);font-size:13px}
.trip:first-child{border-top:0}
.trip .tt{flex:1}.trip .tt b{display:block;font-size:13.5px;font-weight:600}.trip .tt small{color:var(--muted);font-size:12px}
.trip .tk{font-weight:700;color:var(--ink-2);white-space:nowrap}
@media(max-width:900px){.track-wrap{grid-template-columns:1fr}.tv-list{max-height:none}.trackmap{height:380px}}

/* Notizen – Board */
.persons-bar{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 8px}
.person-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 7px;background:var(--paper);font-size:13px;font-weight:600;color:var(--ink-2);transition:background .12s,border-color .12s}
.person-chip .pa{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.person-chip .pc{font-size:11px;font-weight:700;color:var(--muted);background:var(--sel);border-radius:999px;padding:1px 8px}
.person-chip.over{border-color:var(--red);background:rgba(226,0,26,.06);box-shadow:0 0 0 3px rgba(226,0,26,.1)}
.kanban{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:14px;align-items:start;margin-top:14px}
.kcol{border:1px solid var(--line);border-radius:14px;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
.kcol-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-2);background:var(--paper)}
.kcol-h .ki{width:30px;height:30px;border-radius:8px;background:var(--sel);display:grid;place-items:center;color:var(--ink-2);flex:none}
.kcol-h .kt{font-weight:700;font-size:13.5px;flex:1}
.kcol-h .kc{font-size:11px;font-weight:700;color:var(--muted);background:var(--sel);border-radius:999px;padding:2px 9px}
.kzone{padding:10px;display:flex;flex-direction:column;gap:9px;min-height:90px;flex:1;transition:background .12s}
.kzone.over{background:rgba(226,0,26,.05);outline:2px dashed rgba(226,0,26,.3);outline-offset:-6px;border-radius:12px}
.kzone .empty{font-size:12px;color:var(--muted-2);text-align:center;padding:14px 4px}
.note{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:11px 12px;cursor:grab;box-shadow:var(--shadow-sm);transition:box-shadow .12s,border-color .12s;border-left:3px solid var(--red)}
.note:hover{border-color:#dcdcdc}
.note:active{cursor:grabbing}
.note.dragging{opacity:.4}
.note h4{font-size:13.5px;font-weight:700;margin-bottom:4px}
.note p{font-size:12.5px;color:var(--muted);line-height:1.5}
.note .nf{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:11.5px;color:var(--muted-2)}
.note .na{width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;flex:none}
.note .del{margin-left:auto;cursor:pointer;color:var(--muted-2);padding:2px}
.note .del:hover{color:var(--red)}

/* Bibliothek */
.libdrop{display:block;border:2px dashed var(--line);border-radius:16px;padding:28px;text-align:center;background:var(--sel);transition:border-color .12s,background .12s;margin-bottom:18px;cursor:pointer}
.libdrop.over{border-color:var(--red);background:#fff}
.libdrop .li{width:46px;height:46px;border-radius:12px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--red);margin:0 auto 10px}
.libdrop strong{display:block;font-size:15px;color:var(--ink)}
.libdrop small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.lib-row{display:grid;grid-template-columns:46px 2.3fr 1.1fr 1fr auto;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line-2)}
.lib-row.head{border-top:0;background:var(--sel);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}
.lib-ico{width:40px;height:40px;border-radius:10px;background:rgba(226,0,26,.07);color:var(--red);display:grid;place-items:center;flex:none}
.lib-name strong{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-name small{display:block;font-size:12px;color:var(--muted)}
.lib-mm{font-size:13px;color:var(--ink-2)}
.lib-mm small{display:block;font-size:11.5px;color:var(--muted)}
.dbadge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--sel);color:var(--ink-2);border:1px solid var(--line)}
.lib-actions{display:flex;gap:3px;justify-content:flex-end}
.libbtn{background:none;border:1px solid transparent;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}
.libbtn:hover{background:var(--sel);color:var(--ink)}
.libbtn.mail:hover{color:#1a6fd6}.libbtn.wa:hover{color:#1aa851}.libbtn.del:hover{color:var(--red)}
.pdfframe{width:100%;height:60vh;border:1px solid var(--line);border-radius:12px;background:var(--sel)}
.pdfph{width:100%;height:300px;border:1px solid var(--line);border-radius:12px;background:var(--sel);display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13px;padding:20px}
@media(max-width:780px){.lib-row{grid-template-columns:40px 1.6fr auto}.lib-row .lhide{display:none}}

/* Kontaktprofil */
.prof-head{display:flex;gap:22px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:24px;background:linear-gradient(180deg,#fcfbfa,#fff);margin-bottom:18px;flex-wrap:wrap}
.prof-av{width:84px;height:84px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800;flex:none;letter-spacing:-.02em}
.prof-info{flex:1;min-width:220px}
.prof-info .pk{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.prof-info h1{font-size:25px;margin:4px 0}
.prof-info .pm{font-size:14px;color:var(--muted)}
.prof-info .ps{font-size:12.5px;color:var(--muted-2);margin-top:2px}
.prof-status{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;background:rgba(226,0,26,.07);color:var(--red);border:1px solid rgba(226,0,26,.2);align-self:flex-start;white-space:nowrap}
.prof-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.prof-actions [aria-disabled=true]{opacity:.4;pointer-events:none}
.prof-layout{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.ptabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.ptab{font:inherit;background:none;border:0;font-size:14px;font-weight:600;color:var(--muted);padding:10px 4px;margin-right:20px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.ptab.is-active{color:var(--ink);border-bottom-color:var(--red)}
.esh{margin:4px 0 14px}.esh.compact{margin-top:26px}
.esh h2{font-size:16px;font-weight:700}
.esh p{font-size:13px;color:var(--muted);margin-top:3px}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form2 label{display:block}
.form2 label>span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.form2 input,.form2 select,.form2 textarea{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 13px;outline:0;transition:border-color .12s}
.form2 input:focus,.form2 select:focus,.form2 textarea:focus{border-color:var(--muted-2)}
.form2 .full{grid-column:1/-1}
.attribute-grid{display:flex;flex-wrap:wrap;gap:8px}
.attribute-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;background:var(--paper);user-select:none}
.attribute-chip input{accent-color:var(--red);margin:0}
.attribute-chip:has(input:checked){background:rgba(226,0,26,.07);border-color:rgba(226,0,26,.28);color:var(--red);font-weight:600}
.task-create-row{display:flex;gap:10px;margin-bottom:10px}
.task-create-row input{flex:1;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;outline:0}
.contact-task-list{display:flex;flex-direction:column;gap:8px}
.contact-task{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-size:14px}
.contact-task label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0}
.contact-task input{accent-color:var(--red);width:17px;height:17px}
.contact-task.is-done span{text-decoration:line-through;color:var(--muted)}
.contact-task button{font:inherit;font-size:12.5px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer}
.email-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pside{display:flex;flex-direction:column;gap:14px}
.pcard{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.pcard .pl2{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
.pcard strong{display:block;font-size:18px;font-weight:700;margin:5px 0}
.pcard p{font-size:12.5px;color:var(--muted)}
.pcard .pa2{display:block;font-size:13.5px;font-weight:600;color:var(--red);padding:5px 0;cursor:pointer}
.pcard .pa2[aria-disabled=true]{opacity:.4;pointer-events:none}
.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin-top:16px}
.att{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);position:relative}
.att .thumb{height:108px;background:var(--sel);display:grid;place-items:center;color:var(--muted-2);overflow:hidden;cursor:pointer}
.att .thumb img{width:100%;height:100%;object-fit:cover}
.att .am{padding:9px 11px}
.att .am strong{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att .am small{font-size:11px;color:var(--muted)}
.att .ax{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.92);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.att .ax:hover{color:var(--red);background:#fff}
@media(max-width:860px){.prof-layout{grid-template-columns:1fr}.form2{grid-template-columns:1fr}}

/* Mobile: Seitenleiste als Schublade */
.menu-toggle{display:none;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;font-size:14px;box-shadow:var(--shadow-sm);margin-bottom:16px;cursor:pointer}
.scrim{display:none;position:fixed;inset:0;background:rgba(20,20,26,.35);z-index:40}

@media(max-width:900px){
  .app{padding:12px}
  .menu-toggle{display:inline-flex}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:264px;background:var(--bg);z-index:50;transform:translateX(-100%);transition:transform .2s ease;padding:16px 18px;box-shadow:var(--shadow)}
  body.nav-open .sidebar{transform:translateX(0)}
  body.nav-open .scrim{display:block}
  .main{padding:26px 20px 36px}
  .grid{grid-template-columns:1fr}
  h1{font-size:30px}
  .stats{gap:28px}
  .wir{flex-direction:column;align-items:flex-start}
}
/* ===== Ergänzungen vom 14.06. (Arbeit vom anderen PC): Homepage-Download, Produkt-App, Lagervisualisierung ===== */

.download-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0 6px}

/* Montageanleitung Produkte */
.product-drop-panel{margin-top:20px}
.product-dropzone{cursor:pointer;text-align:left}
.product-dropzone:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.product-drop-status{font-size:13px;color:var(--muted);margin:10px 0 0}
.product-list-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
.product-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--sel);border-bottom:1px solid var(--line)}
.product-list-head strong{display:block;font-size:15px}
.product-list-head span{display:block;font-size:12.5px;color:var(--muted)}
.product-list{display:flex;flex-direction:column}
.product-empty{padding:32px 18px;text-align:center;font-size:14px;color:var(--muted)}
.product-row{display:grid;grid-template-columns:1.7fr 1fr .75fr auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-2)}
.product-row:first-child{border-top:0}
.product-main{display:flex;align-items:center;gap:12px;min-width:0}
.product-icon{width:36px;height:36px;border-radius:9px;background:var(--sel);color:var(--ink-2);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.product-main strong{display:block;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-main small,.product-meta small{display:block;font-size:12px;color:var(--muted)}
.product-files{display:flex;gap:5px;flex-wrap:wrap}
.product-files span{font-size:11px;font-weight:700;color:var(--ink-2);background:var(--sel);border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.product-meta strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.product-row button{font:inherit;font-size:12.5px;font-weight:600;color:var(--red);background:none;border:0;cursor:pointer;text-align:right}
@media(max-width:820px){
  .product-list-head{align-items:flex-start;flex-direction:column}
  .product-row{grid-template-columns:1fr;gap:9px}
  .product-row button{text-align:left}
}

/* Lager Visualisierung */
.lager-actions .btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.lager-access{max-width:680px}
.lager-code-card{border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:28px;box-shadow:var(--shadow-sm);background:linear-gradient(180deg,#fcfbfa,#fff);max-width:430px}
.lager-code-card .field{margin-bottom:14px}
.lager-code-card input{font-size:20px;font-weight:700}
.lager-code-error{min-height:20px;font-size:13px;color:var(--red);margin-top:12px}
.lager-app[hidden],.lager-access[hidden]{display:none}
.lager-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 8px}
.lager-metric{border:1px solid var(--line);border-radius:14px;padding:17px 18px;background:linear-gradient(180deg,#fcfbfa,#fff)}
.lager-metric span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
.lager-metric strong{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;margin:6px 0 2px}
.lager-metric em{font-style:normal;font-size:12.5px;color:var(--muted)}
.lager-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:24px;align-items:start}
.lager-map-panel{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--paper);box-shadow:var(--shadow-sm)}
.lager-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.lager-panel-head h2{font-size:20px;font-weight:750;letter-spacing:-.01em;margin-bottom:3px}
.lager-panel-head p{font-size:13.5px;color:var(--muted)}
.lager-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lager-zone{min-height:132px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--sel);padding:15px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s}
.lager-zone:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.lager-zone.is-selected{border-color:var(--ink);background:#fff}
.lager-zone span{font-size:12px;font-weight:800;color:var(--red);letter-spacing:.04em}
.lager-zone strong{font-size:16px;font-weight:700;color:var(--ink);line-height:1.25}
.lager-zone em{font-style:normal;font-size:12.5px;color:var(--muted)}
.lager-zone.is-full{box-shadow:inset 0 -4px 0 rgba(21,21,26,.28)}
.lager-zone.is-watch{box-shadow:inset 0 -4px 0 rgba(226,0,26,.45)}
.lager-zone.is-free{box-shadow:inset 0 -4px 0 rgba(26,138,74,.36)}
.lager-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--muted);font-weight:600}
.lager-legend span{display:inline-flex;align-items:center;gap:7px}
.lager-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.lager-legend .is-full{background:rgba(21,21,26,.5)}
.lager-legend .is-watch{background:rgba(226,0,26,.65)}
.lager-legend .is-free{background:rgba(26,138,74,.65)}
.lager-side{display:flex;flex-direction:column;gap:16px}
.lager-zone-detail strong{display:block;font-size:18px;font-weight:700;margin:10px 0 3px}
.lager-zone-detail span,.lager-zone-detail p{display:block;font-size:13.5px;color:var(--muted);margin:0}
.lager-priority-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.lager-priority-list button{font:inherit;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:11px 12px;cursor:pointer;transition:background .12s,border-color .12s}
.lager-priority-list button:hover{background:var(--sel);border-color:#dfdfdf}
.lager-priority-list span{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--red);margin-bottom:2px}
.lager-priority-list strong{display:block;font-size:13.5px;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lager-priority-list em{font-style:normal;font-size:12px;color:var(--muted)}
.lager-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.lager-row{display:grid;grid-template-columns:1.8fr .7fr .9fr .9fr .6fr;gap:14px;align-items:center;padding:13px 16px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2)}
.lager-row:first-child{border-top:0}
.lager-head{background:var(--sel);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}
.lager-row strong{font-size:14px;color:var(--ink);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lager-row em{justify-self:start;font-style:normal;font-size:11.5px;font-weight:750;border-radius:999px;padding:4px 10px;border:1px solid var(--line);background:var(--sel);white-space:nowrap}
.lager-row em.is-critical{color:var(--red);background:rgba(226,0,26,.07);border-color:rgba(226,0,26,.2)}
.lager-row em.is-watch{color:#8a5b00;background:rgba(210,145,20,.09);border-color:rgba(210,145,20,.22)}
.lager-row em.is-ready{color:#1a8a4a;background:rgba(26,138,74,.07);border-color:rgba(26,138,74,.2)}
.lager-row button{font:inherit;font-size:12.5px;font-weight:700;color:var(--red);background:none;border:0;cursor:pointer;text-align:right}
@media(max-width:980px){
  .lager-overview{grid-template-columns:repeat(2,1fr)}
  .lager-workspace{grid-template-columns:1fr}
}
@media(max-width:700px){
  .lager-map{grid-template-columns:1fr}
  .lager-row{grid-template-columns:1fr;gap:7px}
  .lager-head{display:none}
  .lager-row button{text-align:left}
}
