/* Überblick-Klon – Oberfläche, nah an app.uberblick.io nachempfunden */
:root {
  --bar: #2f2f2f;
  --bar-text: #e9e9e9;
  --green: #3E9A54;          /* Erfolg */
  --green-d: #35854A;
  --blue: #2f6fb0;
  --red: #CF4326;
  --primary: #DE6410;        /* Marke / Primäraktion */
  --primary-d: #C1560B;
  --primary-soft: #FBEADB;
  --accent: #1F6B5E;
  --accent-soft: #E1EEEA;
  --line: #E8DFD1;
  --bg: #F4EFE6;             /* warmer App-Hintergrund */
  --surface: #ffffff;
  --surface-2: #FBF7F0;
  --card: #ffffff;
  --muted: #8B7E70;
  --ink: #241C15;
  --ink-soft: #4A3F34;
  --chip: #F0E9DC;
  --col-open: #e57368;
  --col-prog: #4bb3a6;
  --col-done: #c9c9c9;
  --r-lg: 14px; --r-md: 10px; --r-sm: 7px;
  --shadow-sm: 0 1px 2px rgba(60,40,20,.06), 0 1px 3px rgba(60,40,20,.05);
  --shadow-md: 0 6px 18px rgba(60,40,20,.09), 0 2px 6px rgba(60,40,20,.05);
}
:root[data-theme="dark"] {
  --green: #5FBE72; --green-d: #4FA862;
  --blue: #6AA6DE; --red: #EB6A50;
  --primary: #F0812C; --primary-d: #D96E1C; --primary-soft: #3A2A17;
  --accent: #4BAE98; --accent-soft: #1E2E2A;
  --line: #34291E; --bg: #15110C; --surface: #211B14; --surface-2: #1B1610; --card: #221C15;
  --muted: #A99C8B; --ink: #F3ECE1; --ink-soft: #D6CBBB; --chip: #2C241B;
  --bar: #15110C; --bar-text: #F3ECE1;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.45); --shadow-md: 0 6px 18px rgba(0,0,0,.5);
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  font-family: "Figtree", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink); background: var(--bg); font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .info-post h4, .card .title { font-family: "Bricolage Grotesque", "Figtree", sans-serif; letter-spacing: -.01em; }
a { color: var(--blue); text-decoration: none; }
.hidden { display: none !important; }

/* ---------- Login ---------- */
#login {
  position: fixed; inset: 0; background: #2f2f2f;
  display: flex; align-items: center; justify-content: center; z-index: 100;
}
#login .box { background: #fff; border-radius: 10px; padding: 34px 38px; width: 340px; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
#login .logo { font-size: 46px; font-weight: 800; text-align: center; color: #2f2f2f; letter-spacing: -2px; }
#login h2 { text-align: center; font-weight: 500; color: #666; margin: 4px 0 22px; font-size: 15px; }
#login label { display: block; font-size: 12px; color: #888; margin: 12px 0 4px; }
#login input { width: 100%; padding: 10px; border: 1px solid #d3d3d3; border-radius: 6px; font-size: 14px; }
#login button { width: 100%; margin-top: 20px; padding: 11px; background: var(--green); color: #fff; border: 0; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; }
#login button:hover { background: var(--green-d); }
#login .hint { margin-top: 14px; font-size: 11px; color: #999; text-align: center; line-height: 1.5; }
#login .err { color: var(--red); font-size: 12px; text-align: center; margin-top: 10px; min-height: 14px; }

/* ---------- Top bar ---------- */
#topbar {
  height: 46px; background: var(--bar); color: var(--bar-text);
  display: flex; align-items: center; padding: 0 10px; position: sticky; top: 0; z-index: 40;
}
#topbar .logo { font-size: 24px; font-weight: 800; letter-spacing: -1.5px; margin: 0 14px 0 6px; color: #fff; }
#topbar nav { display: flex; gap: 2px; flex: 1; }
#topbar nav a {
  color: #cfcfcf; padding: 6px 12px; border-radius: 5px; font-size: 13px;
  display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
#topbar nav a .ic { font-size: 14px; opacity: .85; }
#topbar nav a:hover { background: #3d3d3d; color: #fff; }
#topbar nav a.active { color: #fff; border-bottom: 2px solid #fff; border-radius: 5px 5px 0 0; }
#topbar .gsearch { margin: 0 12px; }
#topbar .gsearch input { background: #3a3a3a; border: 1px solid #4a4a4a; border-radius: 6px;
  color: #eee; font-size: 13px; padding: 6px 12px; width: 180px; outline: none; }
#topbar .gsearch input::placeholder { color: #9a9a9a; }
#topbar .gsearch input:focus { border-color: #6a6a6a; width: 240px; }
#searchPanel { position: fixed; top: 48px; left: 50%; transform: translateX(-50%); width: 440px;
  max-width: calc(100vw - 24px); max-height: 72vh; overflow-y: auto; background: var(--card);
  border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 16px 50px rgba(0,0,0,.28); z-index: 70; }
#searchPanel .nhead { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); padding: 12px 14px 4px; }
#searchPanel .nitem { display: flex; align-items: center; gap: 9px; padding: 9px 14px; border-bottom: 1px solid #f2f2f2; cursor: pointer; font-size: 13px; }
#searchPanel .nitem:hover { background: #f7f7f7; }
#searchPanel .nitem .nic { flex: none; width: 18px; text-align: center; }
#searchPanel .nitem .ntx { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#searchPanel .nempty { padding: 24px; text-align: center; color: #aaa; }

/* Reaktionen */
.react-bar { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 4px; }
.react { background: var(--chip); border: 1px solid transparent; border-radius: 999px; padding: 5px 12px;
  font-size: 13px; cursor: pointer; }
.react:hover { border-color: #d0d0d0; }
.react.on { background: #eef6ee; border-color: var(--green); }

/* Bestätigungs-Status */
.ann-status { display: flex; flex-wrap: wrap; gap: 6px; }
.ann-chip { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--chip); color: #777; }
.ann-chip.ok { background: #e9f4e8; color: var(--green-d); }
.ann-chip.read { background: #fff5e0; color: #b58500; }
.ann-chip.pending { background: #f2f2f2; color: #999; }

/* Lob / Kudos */
.info-post.kudos { background: linear-gradient(0deg, #fff, #fff6ef); border-left: 3px solid var(--red); }

#topbar .right { display: flex; align-items: center; gap: 14px; }
#topbar .bell { font-size: 16px; cursor: pointer; position: relative; }
#topbar .bell .nbadge { position: absolute; top: -7px; right: -9px; background: var(--red);
  color: #fff; font-size: 10px; min-width: 16px; height: 16px; line-height: 16px; text-align: center;
  border-radius: 8px; padding: 0 4px; font-weight: 700; }
#notifPanel { position: fixed; top: 48px; right: 56px; width: 360px; max-width: calc(100vw - 24px);
  max-height: 72vh; overflow-y: auto; background: #fff; border: 1px solid var(--line);
  border-radius: 8px; box-shadow: 0 16px 50px rgba(0,0,0,.28); z-index: 70; }
#notifPanel .nhead { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: #999; padding: 12px 14px 4px; }
#notifPanel .nhead.top { font-size: 14px; font-weight: 700; color: #333; border-bottom: 1px solid var(--line);
  text-transform: none; letter-spacing: 0; padding: 12px 14px; }
#notifPanel .nitem { display: flex; align-items: center; gap: 9px; padding: 9px 14px;
  border-bottom: 1px solid #f2f2f2; cursor: pointer; font-size: 13px; }
#notifPanel .nitem:hover { background: #f7f7f7; }
#notifPanel .nitem .nic { flex: none; }
#notifPanel .nitem .ntx { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#notifPanel .nitem .nmeta { font-size: 11px; color: #9a9a9a; flex: none; }
#notifPanel .nempty { padding: 28px; text-align: center; color: #aaa; }
#topbar .me { display: flex; align-items: center; gap: 8px; cursor: pointer; }
#topbar .me .name { line-height: 1.1; text-align: right; }
#topbar .me .name b { font-size: 13px; color: #fff; font-weight: 600; }
#topbar .me .name span { font-size: 11px; color: #b5b5b5; display: block; }

/* ---------- Avatars ---------- */
.av { border-radius: 50%; background: #b7b7b7; color: #fff; display: inline-flex;
  align-items: center; justify-content: center; font-weight: 600; flex: none; }
.av.s { width: 24px; height: 24px; font-size: 10px; }
.av.m { width: 30px; height: 30px; font-size: 11px; }
.av.l { width: 40px; height: 40px; font-size: 14px; }

/* ---------- Toolbar ---------- */
.toolbar { background: #fafafa; border-bottom: 1px solid var(--line); padding: 9px 14px;
  display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn { background: var(--green); color: #fff; border: 0; padding: 8px 14px; border-radius: 5px;
  font-weight: 600; font-size: 12.5px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: .3px; }
.toolbar .btn { min-width: 122px; }
.btn:hover { background: var(--green-d); }
.btn.blue { background: var(--blue); }
.btn.grey { background: #6b6b6b; }
.spacer { flex: 1; }
.filter { background: #fff; border: 1px solid #dcdcdc; border-radius: 5px; padding: 7px 10px; font-size: 12.5px; color: #666; min-width: 120px; }
.filter.search { min-width: 240px; }

/* ---------- Board ---------- */
.board { display: grid; gap: 14px; padding: 14px; align-items: start; }
.board.c3 { grid-template-columns: repeat(3, 1fr); }
.column { background: #f4f4f4; border-radius: 6px; min-height: 200px; }
.column > .head { text-align: center; padding: 9px; font-size: 12px; font-weight: 700;
  color: var(--muted); letter-spacing: 1px; border-top: 3px solid transparent; position: relative; }
.column.open > .head { border-color: var(--col-open); }
.column.prog > .head { border-color: var(--col-prog); }
.column.done > .head { border-color: var(--col-done); }
.column .count { position: absolute; right: 10px; top: 7px; background: var(--red); color: #fff;
  font-size: 11px; padding: 1px 7px; border-radius: 3px; font-weight: 700; letter-spacing: 0; }
.column .body { padding: 0 8px 8px; max-height: calc(100vh - 190px); overflow-y: auto; }

.card { background: var(--card); border: 1px solid #e6e6e6; border-radius: 5px; padding: 11px 12px;
  margin-bottom: 8px; cursor: pointer; box-shadow: 0 1px 1px rgba(0,0,0,.03); }
.card:hover { border-color: #cfcfcf; }
.card.urgent { background: #fdeceb; border-color: #f6cfca; }
.card .creator { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: #555; margin-bottom: 7px; }
.card .creator b { font-weight: 600; }
.card .title { font-size: 14px; color: #2a2a2a; line-height: 1.35; margin-bottom: 8px; }
.card .title.clamp3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card .chips { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.chip { background: var(--chip); color: #6a6a6a; font-size: 11px; padding: 2px 8px; border-radius: 3px; display: inline-flex; align-items: center; gap: 4px; }
.chip.cat { background: #e4e4e4; }
.chip.cl { background: #eef6ee; color: #4a9c43; }
.chip.cl.part { background: #eee; color: #888; }
.chip.icon { background: transparent; padding: 2px 4px; color: #9a9a9a; }
.card.draft { background: var(--primary-soft); border: 1px dashed var(--primary); }
.draft-badge { display: inline-flex; align-items: center; gap: 4px; font: 700 11px/1 "Figtree", sans-serif; color: var(--primary); background: var(--surface); border: 1px solid var(--primary); border-radius: 999px; padding: 4px 10px; margin-bottom: 7px; cursor: pointer; }
.draft-badge:hover { background: var(--primary); color: #fff; }
.card .foot { display: flex; justify-content: space-between; align-items: center;
  border-top: 1px solid #f0f0f0; padding-top: 7px; font-size: 11px; color: #8a8a8a; }
.card .foot b { color: #555; font-weight: 600; }

/* ---------- Info board ---------- */
.info-post { background: #fff; border-bottom: 1px solid #f0f0f0; padding: 14px; }
.info-post .creator { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #555; margin-bottom: 8px; }
.info-post .creator .t { color: #9a9a9a; font-size: 11px; }
.info-post h4 { margin: 0 0 6px; font-size: 15px; }
.info-post .post-thumb { width: 100%; max-height: 220px; object-fit: cover; border-radius: 6px; margin: 4px 0 8px; display: block; background: #f0f0f0; }
.card .post-thumb { width: 100%; max-height: 150px; object-fit: cover; border-radius: 5px; margin: 2px 0 8px; display: block; background: #f0f0f0; }
.card .post-thumb.sq { aspect-ratio: 1 / 1; max-height: none; }
.info-post .txt { font-size: 13.5px; line-height: 1.5; color: #333; white-space: pre-wrap; }
.info-post .txt.clamp { max-height: 120px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); }
.info-post .actions { margin-top: 10px; display: flex; gap: 16px; font-size: 12px; color: #9a9a9a; }
.info-post .actions span { cursor: pointer; }
.confirm-bar { margin-top: 10px; background: var(--green); color: #fff; font-size: 12px; font-weight: 600;
  padding: 6px 10px; border-radius: 4px; display: flex; justify-content: space-between; }
.confirm-bar.todo { background: #d8b23a; }
.chatline { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-bottom: 1px solid #f2f2f2; cursor: pointer; }
.chatline:hover { background: #f8f8f8; }
.chatline .n { flex: 1; font-size: 13px; }
.chatline .t { font-size: 11px; color: #9a9a9a; }

/* ---------- Knowledge ---------- */
.knowledge { display: grid; grid-template-columns: 220px 1fr; min-height: calc(100vh - 92px); }
.folders { background: #fafafa; border-right: 1px solid var(--line); padding: 8px 0; }
.folders .f { display: flex; align-items: center; gap: 9px; padding: 9px 16px; font-size: 13px; color: #555; cursor: pointer; }
.folders .f:hover, .folders .f.active { background: #ececec; color: #222; }
.folders .f .ic { color: #f0b400; }
.kmain { padding: 16px; }
.grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; }
.fcard { background: #fff; border: 1px solid #e6e6e6; border-radius: 6px; overflow: hidden; cursor: pointer; }
.fcard .thumb { height: 78px; background: #d7d7d7 center/cover; position: relative; }
.fcard .thumb .tab { position: absolute; top: 0; left: 0; width: 34px; height: 12px; background: #fff; border-radius: 0 0 6px 0; }
.fcard .meta { padding: 9px 11px; }
.fcard .meta .nm { font-size: 12.5px; font-weight: 600; color: #333; }
.fcard .meta .ct { font-size: 11px; color: #999; margin-top: 4px; }
.recent { margin-top: 24px; }
.recent .h { color: #999; font-size: 12px; margin-bottom: 8px; }
.recent .row { display: flex; align-items: center; gap: 10px; padding: 10px 6px; border-bottom: 1px solid #f0f0f0; cursor: pointer; }
.recent .row .ti { flex: 1; font-size: 13px; }
.recent .row .dt { font-size: 11px; color: #9a9a9a; }

/* ---------- Month grid ---------- */
.month { padding: 14px; }
.month table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.month th { font-size: 12px; color: #666; font-weight: 600; padding: 8px; border: 1px solid var(--line); background: #fafafa; }
.month td { border: 1px solid var(--line); vertical-align: top; height: 116px; padding: 4px 5px; background: #fff; }
.month td.other { background: #f7f7f7; color: #bbb; }
.month td.today { outline: 2px solid var(--blue); outline-offset: -2px; }
.month .dnum { font-size: 12px; font-weight: 600; color: #777; text-align: center; margin-bottom: 3px; }
.ev { font-size: 10.5px; color: #555; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 1px 0; }
.ev .dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 4px; }

/* ---------- Week calendar ---------- */
.week { padding: 0 14px 14px; overflow: auto; }
.week table { width: 100%; border-collapse: collapse; }
.week th { font-size: 12px; color: #555; padding: 8px; border-bottom: 1px solid var(--line); }
.week th.today { color: var(--green-d); font-weight: 700; }
.week td { border: 1px solid #f0f0f0; height: 34px; position: relative; }
.week td.hour { width: 54px; border: 0; font-size: 11px; color: #aaa; text-align: right; padding-right: 8px; vertical-align: top; }
.evblock { position: absolute; left: 2px; right: 2px; background: #d8ecf6; border-left: 3px solid var(--blue);
  border-radius: 3px; padding: 3px 5px; font-size: 11px; overflow: hidden; z-index: 2; }
.evblock .tt { font-weight: 600; }

/* ---------- Contacts ---------- */
.contacts { padding: 0 14px; }
.contacts table { width: 100%; border-collapse: collapse; background: #fff; }
.contacts th { text-align: left; font-size: 12px; color: #999; font-weight: 600; padding: 12px 10px; border-bottom: 1px solid var(--line); }
.contacts td { padding: 10px; border-bottom: 1px solid #f2f2f2; font-size: 13px; vertical-align: middle; }
.contacts .who { display: flex; align-items: center; gap: 10px; }
.contacts .who .n b { font-weight: 600; }
.contacts .who .n .t { font-size: 11px; color: var(--green-d); }
.contacts .grp { color: #666; font-size: 12px; }
.contacts .grp .gicon { color: #9a9a9a; margin-right: 5px; }

/* ---------- Modal ---------- */
#overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex;
  align-items: flex-start; justify-content: center; z-index: 60; padding: 40px 16px; overflow: auto; }
.modal { background: #fff; border-radius: 8px; width: 640px; max-width: 100%; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.modal .mhead { padding: 16px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.modal .mhead h3 { margin: 0; font-size: 17px; }
.modal .mhead .x { cursor: pointer; font-size: 22px; color: #999; line-height: 1; }
.modal .mhead .mtools { display: flex; align-items: center; gap: 12px; }
.modal .mhead .micon { cursor: pointer; font-size: 15px; color: #9a9a9a; }
.modal .mhead .micon:hover { color: var(--ink); }
.modal .mbody { padding: 18px 20px; max-height: 62vh; overflow: auto; }
.modal .sub { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #777; margin-bottom: 14px; }
.modal .desc { font-size: 13.5px; line-height: 1.6; white-space: pre-wrap; color: #333; }
.status-row { display: flex; gap: 8px; margin: 16px 0; }
.status-row button { flex: 1; border: 1px solid #dcdcdc; background: #fff; padding: 8px; border-radius: 5px; cursor: pointer; font-size: 12px; color: #666; }
.status-row button.on { color: #fff; border-color: transparent; }
.status-row button.on.CREATED { background: var(--col-open); }
.status-row button.on.IN_PROGRESS { background: var(--col-prog); }
.status-row button.on.DONE { background: var(--green); }
.cl-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f2f2f2; }
.cl-item input { width: 18px; height: 18px; }
.cl-item.done label { color: #aaa; text-decoration: line-through; }
.cmt { display: flex; gap: 9px; padding: 10px 0; border-top: 1px solid #f2f2f2; }
.cmt .b { flex: 1; }
.cmt .b .meta { font-size: 11px; color: #999; margin-bottom: 3px; }
.cmt .b .txt { font-size: 13px; line-height: 1.5; }
.cmt-box { display: flex; gap: 8px; margin-top: 12px; }
.cmt-box input { flex: 1; padding: 9px; border: 1px solid #dcdcdc; border-radius: 5px; }
.section-h { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #999; margin: 18px 0 8px; }

/* ---------- Chats dock ---------- */
#dock { position: fixed; right: 18px; bottom: 0; width: 300px; background: #2f2f2f; color: #fff;
  border-radius: 8px 8px 0 0; z-index: 50; box-shadow: 0 -4px 20px rgba(0,0,0,.25); }
#dock .dhead { display: flex; align-items: center; padding: 10px 12px; cursor: pointer; }
#dock .dhead .ic { margin-right: 8px; }
#dock .dhead .t { flex: 1; font-size: 13px; font-weight: 600; }
#dock .dhead .plus { font-size: 18px; margin-right: 10px; }
#dock .dbody { background: #fff; color: #333; max-height: 340px; overflow-y: auto; display: none; }
#dock.open .dbody { display: block; }

/* ---------- Rich-Text ---------- */
.rich { line-height: 1.55; }
.rich p { margin: 0 0 8px; }
.rich h1 { font-size: 20px; margin: 12px 0 8px; }
.rich h2 { font-size: 17px; margin: 12px 0 6px; }
.rich h3 { font-size: 15px; margin: 10px 0 6px; }
.rich h4 { font-size: 14px; margin: 8px 0 4px; }
.rich ul, .rich ol { margin: 6px 0 10px; padding-left: 22px; }
.rich li { margin: 2px 0; }
.rich a { color: var(--blue); }
.rich hr { border: 0; border-top: 1px solid var(--line); margin: 12px 0; }
.rich blockquote { margin: 8px 0; padding: 6px 12px; border-left: 3px solid var(--line); color: #666; }
.rich table { border-collapse: collapse; margin: 8px 0; max-width: 100%; }
.rich td, .rich th { border: 1px solid var(--line); padding: 5px 8px; font-size: 13px; }
.rich-img { max-width: 100%; height: auto; border-radius: 6px; margin: 8px 0; display: block; }
.rich-att { display: inline-flex; align-items: center; gap: 5px; background: var(--chip);
  color: #6a6a6a; font-size: 12px; padding: 4px 10px; border-radius: 4px; margin: 4px 6px 4px 0; }
.att-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.att-thumb { width: 90px; height: 90px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
.info-post .txt.rich.clamp { max-height: 130px; }

/* ---------- Verwaltung + Profilmenü ---------- */
.aRow { white-space: nowrap; text-align: right; }
.lnk { background: none; border: 0; color: var(--blue); cursor: pointer; font-size: 12.5px; padding: 3px 6px; }
.lnk:hover { text-decoration: underline; }
.checklist { max-height: 300px; overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; padding: 6px 10px; }
.clrow { display: flex; align-items: center; gap: 8px; padding: 5px 2px; font-size: 13px; cursor: pointer; }
.clrow input { width: 16px; height: 16px; }
#profileMenu { position: fixed; top: 48px; right: 12px; width: 210px; background: #fff; border: 1px solid var(--line);
  border-radius: 8px; box-shadow: 0 16px 50px rgba(0,0,0,.28); z-index: 70; overflow: hidden; }
#profileMenu .pmi { padding: 11px 14px; font-size: 13px; cursor: pointer; border-bottom: 1px solid #f2f2f2; }
#profileMenu .pmi:last-child { border-bottom: 0; }
#profileMenu .pmi:hover { background: #f7f7f7; }

/* ---------- Umfrage ---------- */
.poll { margin: 4px 0 6px; }
.poll-opt { position: relative; border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; margin-bottom: 6px; cursor: pointer; overflow: hidden; }
.poll-opt:hover { border-color: #cfcfcf; }
.poll-opt.mine { border-color: var(--green); }
.poll-bar { position: absolute; left: 0; top: 0; bottom: 0; background: #e9f4e8; z-index: 0; transition: width .3s; }
.poll-opt.mine .poll-bar { background: #d8efd6; }
.poll-txt { position: relative; z-index: 1; font-size: 13px; }
.poll-cnt { position: relative; z-index: 1; float: right; font-size: 12px; color: #777; }
.poll-total { font-size: 11px; color: #999; margin-top: 2px; }

/* ---------- WYSIWYG-Editor + Erstellen-Masken ---------- */
.modal.wide { width: 720px; }
.modal .mfoot { padding: 13px 20px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #555; cursor: pointer; }
.check input { width: 16px; height: 16px; }
.rte { border: 1px solid var(--line); border-radius: 8px; overflow: visible; }
.rte-tb { display: flex; flex-wrap: wrap; align-items: center; gap: 1px; padding: 6px 8px; border-bottom: 1px solid var(--line); background: #fafafa; border-radius: 8px 8px 0 0; }
.rte-btn { border: 0; background: none; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 5px; cursor: pointer; font-size: 14px; color: #555; display: inline-flex; align-items: center; justify-content: center; }
.rte-btn:hover { background: #ececec; }
.rte-sel { border: 1px solid #dcdcdc; border-radius: 5px; height: 28px; font-size: 12.5px; color: #555; background: #fff; padding: 0 4px; }
.rte-sep { width: 1px; height: 20px; background: var(--line); margin: 0 5px; }
.rte-area { min-height: 170px; max-height: 320px; overflow-y: auto; padding: 14px 16px; font-size: 14px; line-height: 1.6; outline: none; }
.rte-area:empty:before { content: attr(data-ph); color: #aaa; }
.rte-area img { max-width: 100%; border-radius: 6px; margin: 4px 0; }
.rte-area table { border-collapse: collapse; margin: 6px 0; }
.rte-area td { border: 1px solid var(--line); padding: 5px 8px; min-width: 44px; }
.rte-area blockquote { margin: 8px 0; padding: 4px 12px; border-left: 3px solid var(--line); color: #666; }
.rte-area h2 { font-size: 18px; margin: 8px 0 4px; } .rte-area h3 { font-size: 15px; margin: 8px 0 4px; }
.rte-colorwrap { position: relative; }
.rte-swatches { position: absolute; top: 32px; left: 0; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 6px; display: flex; gap: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.18); z-index: 5; }
.rte-swatches[hidden] { display: none; }
.rte-swatches i { width: 18px; height: 18px; border-radius: 4px; cursor: pointer; display: inline-block; }
.rte-poll { margin-top: 8px; border: 1px dashed var(--line); border-radius: 6px; padding: 10px; }
.rte-poll-h { font-size: 12px; color: #888; margin-bottom: 6px; }
.recip-field { margin-top: 18px; }
.recip-row { display: flex; align-items: center; justify-content: space-between; }
.recip-title { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #999; }
.req { color: var(--red); }
.recip-add { width: 30px; height: 30px; border: 1px solid #dcdcdc; background: #fff; border-radius: 6px; font-size: 18px; line-height: 1; cursor: pointer; color: #666; }
.recip-add:hover { background: #f2f2f2; }
.recip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; min-height: 26px; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.recip-chip { background: var(--chip); border-radius: 999px; padding: 4px 11px; font-size: 12.5px; display: inline-flex; align-items: center; gap: 7px; }
.recip-chip i { cursor: pointer; font-style: normal; color: #999; font-size: 14px; }
.recip-chip i:hover { color: var(--red); }
.recip-empty { color: #bbb; font-size: 13px; }
.ni-cat { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.ni-cat .recip-title { flex: none; width: 96px; }
.ni-cat .filter { flex: 1; }
#overlay2 { position: fixed; inset: 0; background: rgba(0,0,0,.35); display: none; align-items: flex-start; justify-content: center; z-index: 80; padding: 60px 16px; overflow: auto; }

/* KI / Übersetzung */
.lnk.tr { margin-left: 10px; font-family: inherit; }
.ai-thread { max-height: 46vh; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.ai-q { align-self: flex-end; background: var(--blue); color: #fff; padding: 8px 12px; border-radius: 12px 12px 2px 12px; max-width: 85%; font-size: 13.5px; }
.ai-a { align-self: flex-start; background: var(--surface-2, #f2f2f2); color: var(--ink); padding: 8px 12px; border-radius: 12px 12px 12px 2px; max-width: 90%; font-size: 13.5px; line-height: 1.5; }
.ai-a.err { color: var(--red); background: #fdecea; }
[data-theme="dark"] .ai-a.err { background: #33211c; }

/* @-Erwähnung + Empfänger-Autocomplete */
.mention-drop { position: fixed; z-index: 90; background: #fff; border: 1px solid var(--line); border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,.22); min-width: 200px; max-width: 260px; overflow: hidden; }
.mention-drop .m-opt { display: flex; align-items: center; gap: 8px; padding: 8px 12px; cursor: pointer; font-size: 13px; }
.mention-drop .m-opt:hover { background: #f2f2f2; }
.recip-input-wrap { position: relative; display: flex; gap: 8px; margin-top: 8px; }
.recip-input { flex: 1; border: 1px solid #dcdcdc; border-radius: 6px; padding: 8px 11px; font-size: 13.5px; outline: none; }
.recip-input:focus { border-color: #b9b9b9; }
.recip-drop { position: absolute; top: 40px; left: 0; right: 44px; z-index: 90; background: #fff; border: 1px solid var(--line);
  border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.2); max-height: 260px; overflow-y: auto; }
.recip-drop .recip-opt { padding: 9px 12px; cursor: pointer; font-size: 13.5px; border-bottom: 1px solid #f2f2f2; }
.recip-drop .recip-opt:hover { background: #f2f2f2; }

/* dashboard columns reuse board */
.empty { text-align: center; color: #aaa; padding: 40px; font-size: 13px; }

/* ---------- Admin-Bereich ---------- */
.admin-wrap { display: flex; align-items: stretch; min-height: calc(100vh - 52px); }
.admin-nav { width: 216px; flex: 0 0 216px; background: #fafafa; border-right: 1px solid var(--line); padding: 10px 8px; }
.anav { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: none; border: 0;
  padding: 9px 11px; border-radius: 6px; font-size: 13.5px; color: #555; cursor: pointer; font-family: inherit; }
.anav:hover { background: #efefef; }
.anav.on { background: #fff; color: var(--ink); font-weight: 600; box-shadow: inset 3px 0 0 var(--green); }
.anav .aic { font-size: 15px; width: 20px; text-align: center; }
.admin-body { flex: 1; min-width: 0; padding: 18px 22px 40px; }
.admin-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.admin-head h2 { font-size: 19px; margin: 0; }
.admin-head h2 small { color: var(--muted); font-weight: 500; font-size: 14px; }
.admin-actions { display: flex; align-items: center; gap: 8px; }
.admin-hint { color: var(--muted); font-size: 12.5px; line-height: 1.5; margin: 4px 0 16px; max-width: 720px; }
.admin-body .contacts { padding: 0; }
.addrow td { border-bottom: 0 !important; padding-top: 12px; }
.addrow input { background: #fff; }
.lnk-del { color: var(--red); }
input[type=color].cinp, #al_col { width: 34px; height: 26px; padding: 0; border: 1px solid #dcdcdc; border-radius: 5px; background: #fff; cursor: pointer; }
/* Kategorien · Aufgaben */
.tt-group { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; margin-bottom: 12px; }
.tt-ghead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.tt-tags { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.tt-chip { display: inline-flex; align-items: center; gap: 5px; background: #eef1f4; border-radius: 14px; padding: 4px 6px 4px 11px; font-size: 12.5px; }
.tt-chip button { background: none; border: 0; color: #999; cursor: pointer; font-size: 14px; line-height: 1; padding: 0 2px; }
.tt-chip button:hover { color: var(--red); }
.tt-add input { border-radius: 14px; }
.tt-newg { display: flex; gap: 8px; align-items: center; background: #fafafa; border-style: dashed; }
/* Berechtigungen */
.rt-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 820px; }
.rt-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; }
.rt-row { display: flex; align-items: center; gap: 9px; padding: 7px 4px; font-size: 13.5px; border-bottom: 1px solid #f4f4f4; }
.rt-row:last-child { border-bottom: 0; }
.rt-row.rt-locked { color: var(--muted); }
.rt-badge { margin-left: auto; font-size: 10.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--green-d); background: #eaf5e9; padding: 2px 7px; border-radius: 10px; }
.ai-status { font-weight: 600; font-size: 13.5px; }
.ai-status.on { color: var(--green-d); }
.ai-status.off { color: var(--muted); }
.pill { display:inline-block; background:#eee; color:#777; border-radius: 10px; padding: 1px 8px; font-size: 11px; }

/* ---------- Untere Tab-Leiste + FAB (nur Handy sichtbar) ---------- */
.col-tabs { display: none; }
#bottomnav { display: none; }
#fab { display: none; }
@media (max-width: 760px) {
  #bottomnav { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
    background: #fff; border-top: 1px solid var(--line); padding: 4px 2px calc(4px + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 12px rgba(0,0,0,.06); }
  #bottomnav .bn { flex: 1; background: none; border: 0; cursor: pointer; padding: 5px 2px;
    display: flex; flex-direction: column; align-items: center; gap: 2px; color: #8a8a8a; position: relative; }
  #bottomnav .bn-ic { font-size: 19px; line-height: 1; }
  #bottomnav .bn-l { font-size: 10.5px; }
  #bottomnav .bn.active { color: var(--green-d); }
  #bottomnav .bn-b { position: absolute; top: 0; left: 54%; background: var(--red); color: #fff;
    font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; line-height: 16px; text-align: center;
    border-radius: 8px; padding: 0 4px; }
  /* Chat als hervorgehobener Mittel-Button */
  #bottomnav .bn.bn-center { justify-content: flex-end; }
  #bottomnav .bn.bn-center .bn-ic { width: 48px; height: 48px; margin-top: -22px; border-radius: 50%;
    background: var(--primary); color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 23px; box-shadow: 0 6px 16px rgba(222,100,16,.42); border: 3px solid #fff; }
  #bottomnav .bn.bn-center.active .bn-ic { background: var(--primary-d); }
  #bottomnav .bn.bn-center .bn-l { color: var(--primary); font-weight: 700; }
  #bottomnav .bn.bn-center .bn-b { top: -20px; left: 56%; }
  [data-theme="dark"] #bottomnav .bn.bn-center .bn-ic { border-color: var(--surface); }
  #fab.hidden { display: none; }
  #fab { display: flex; align-items: center; justify-content: center; position: fixed;
    right: 16px; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 46;
    width: 58px; height: 58px; border-radius: 50%; border: 0; background: var(--green); color: #fff;
    font-size: 32px; line-height: 1; box-shadow: 0 6px 20px rgba(0,0,0,.28); cursor: pointer; }
}

/* ============ Smartphone-Ansicht ============ */
@media (max-width: 760px) {
  body { font-size: 15px; }
  #topbar { display: none; }                    /* obere Leiste weg – Navigation unten */
  #view { padding-bottom: 78px; }               /* Platz für die untere Leiste */

  /* Toolbar: Erstellen-Knöpfe weg (FAB), nur Filter, umbrechend */
  .toolbar { padding: 8px 10px; gap: 8px; }
  .toolbar .btn { display: none; }
  .toolbar .spacer { display: none; }
  .filter, .filter.search { min-width: 0; flex: 1 1 46%; }

  /* Boards: Segment-Tabs statt Spalten nebeneinander */
  .board.c3 { display: block; padding: 0; }
  .board.c3 .column { background: transparent; border-radius: 0; }
  .board.c3 .column .head { display: none; }
  .board.c3 .column { display: none; }
  .board.c3 .column.show { display: block; }
  .board.c3 .column .body { max-height: none; padding: 10px 12px; background: var(--bg); }
  .col-tabs { display: flex; background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
  .col-tab { flex: 1; background: none; border: 0; border-bottom: 3px solid transparent; cursor: pointer;
    padding: 12px 4px; font-size: 12.5px; font-weight: 600; color: var(--muted); letter-spacing: .3px;
    display: flex; align-items: center; justify-content: center; gap: 6px; text-transform: uppercase; }
  .col-tab.active { color: var(--ink); border-bottom-color: var(--col-open); }
  .col-tab .ct { background: var(--red); color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 3px; }
  /* Karten: farbiger linker Rand nach Status */
  .board.c3 .column.open .card { border-left: 4px solid var(--col-open); }
  .board.c3 .column.prog .card { border-left: 4px solid var(--col-prog); }
  .board.c3 .column.done .card { border-left: 4px solid var(--col-done); }
  .card { padding: 13px 14px; }
  .card .title { font-size: 15px; }

  /* Wissen / Kontakte / Kalender */
  .knowledge { grid-template-columns: 1fr; min-height: 0; }
  .folders { display: none; }
  .grid-cards { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
  .contacts { overflow-x: auto; }
  .contacts table { min-width: 640px; }
  .week table { min-width: 720px; }
  .month table { min-width: 680px; }
  .month, .week { overflow-x: auto; }

  /* Fenster / Panels volle Breite */
  #overlay, #overlay2 { padding: 12px 8px; }
  .modal, .modal.wide { width: 100%; }
  .modal .mbody { max-height: 64vh; }
  #notifPanel, #searchPanel { right: 8px; left: 8px; top: 8px; width: auto; transform: none; }

  #dock { display: none; }                       /* Chats über die untere Leiste */

  .rte-tb { gap: 0; }
  .rte-btn { min-width: 34px; height: 34px; }
  .recip-drop { right: 52px; }
}

/* ---------- „Mehr"-Bottom-Sheet ---------- */
#overlay2.sheet-mode { align-items: flex-end; padding: 0; }
.sheet { background: #fff; width: 100%; border-radius: 14px 14px 0 0; padding: 8px 0 calc(8px + env(safe-area-inset-bottom)); max-height: 80vh; overflow-y: auto; }
.sheet-h { font-family: inherit; font-weight: 700; font-size: 15px; padding: 12px 18px 8px; color: #333; }
.sheet-i { padding: 14px 18px; font-size: 15px; cursor: pointer; border-top: 1px solid #f2f2f2; }
.sheet-i:active { background: #f2f2f2; }
.sheet-sep { height: 8px; background: #f6f6f6; }
.sheet-cancel { padding: 15px; text-align: center; color: var(--muted); font-weight: 600; cursor: pointer; border-top: 1px solid var(--line); }

/* Admin-Bereich mobil */
@media (max-width: 760px) {
  .admin-wrap { flex-direction: column; min-height: 0; }
  .admin-nav { width: auto; flex: none; display: flex; gap: 6px; overflow-x: auto; border-right: 0;
    border-bottom: 1px solid var(--line); padding: 8px; -webkit-overflow-scrolling: touch; }
  .anav { width: auto; white-space: nowrap; flex: 0 0 auto; padding: 8px 12px; }
  .anav.on { box-shadow: inset 0 -3px 0 var(--green); }
  .anav span:not(.aic) { display: none; }        /* auf dem Handy nur Icons + aktiver Text */
  .anav.on span:not(.aic) { display: inline; }
  .admin-body { padding: 14px 12px 90px; }
  .admin-head { flex-wrap: wrap; }
  .rt-cols { grid-template-columns: 1fr; }
}

/* ============ Mobile-App-Ansichten (nach iPhone-Original) ============ */
/* schwarze Kopfleiste (nur mobil sichtbar) */
#mobhead { display: none; }

/* Nachrichten-Feed (Glocke Desktop + Ansicht mobil) */
.nf-list { background: #fff; }
.nf-row { display: flex; gap: 12px; align-items: flex-start; padding: 13px 15px; border-bottom: 1px solid rgba(0,0,0,.06); cursor: pointer; }
.nf-row:hover { filter: brightness(.98); }
.nf-row .av.m { width: 40px; height: 40px; font-size: 13px; }
.nf-main { flex: 1; min-width: 0; }
.nf-tx { font-size: 14px; line-height: 1.35; color: #222; }
.nf-tx b { font-weight: 700; }
.nf-quote { color: #555; font-size: 13px; margin-top: 4px; background: rgba(0,0,0,.04); padding: 5px 9px; border-radius: 6px; }
.nf-date { color: var(--muted); font-size: 12px; margin-top: 4px; }
.nf-created  { background: #fdeeec; box-shadow: inset 3px 0 0 var(--col-open); }
.nf-done     { background: #eaf6ea; box-shadow: inset 3px 0 0 var(--green); }
.nf-accepted { background: #edf5ee; box-shadow: inset 3px 0 0 var(--col-prog); }
.nf-comment  { background: #eaf2fb; box-shadow: inset 3px 0 0 var(--blue); }

/* Chats (Vollansicht) */
.chat-tabs { display: flex; background: #fff; border-bottom: 1px solid var(--line); }
.ct-tab { flex: 1; background: none; border: 0; border-bottom: 3px solid transparent; cursor: pointer;
  padding: 13px 4px; font-size: 12.5px; font-weight: 600; letter-spacing: .6px; color: var(--muted); text-transform: uppercase; }
.ct-tab.active { color: var(--ink); border-bottom-color: var(--col-prog); }
.chat-list { background: #fff; }
.chat-row { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid #f0f0f0; cursor: pointer; }
.chat-row:active { background: #f6f6f6; }
.chat-row .av.l { width: 52px; height: 52px; font-size: 16px; }
.cr-main { flex: 1; min-width: 0; }
.cr-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.cr-name { font-size: 15px; }
.cr-date { color: var(--muted); font-size: 12.5px; white-space: nowrap; flex: none; }
.cr-prev { color: #777; font-size: 13.5px; overflow: hidden; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; line-height: 1.3; }
.cr-mine { color: var(--col-prog); }
/* Chat: Ungelesen + Push-Hinweis + Dock-Zähler */
.cr-unread { flex: none; align-self: center; background: var(--red); color: #fff; font-size: 11px; font-weight: 800;
  min-width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 10px; padding: 0 6px; }
.chat-row.has-unread .cr-name { font-weight: 800; }
.chat-row.has-unread .cr-prev { color: var(--ink); font-weight: 600; }
.chat-push-nudge { display: flex; align-items: center; gap: 10px; margin: 10px 12px; padding: 11px 13px;
  background: var(--primary-soft); border: 1px solid var(--primary); border-radius: 12px; }
.chat-push-nudge .cpn-ic { font-size: 18px; }
.chat-push-nudge .cpn-tx { flex: 1; font-size: 13px; color: var(--ink-soft); line-height: 1.3; }
.chat-push-nudge .cpn-tx b { display: block; color: var(--ink); font-size: 13.5px; }
.chat-push-nudge .cpn-go { background: var(--primary); color: #fff; border: 0; border-radius: 8px;
  padding: 8px 13px; font: 600 13px/1 inherit; cursor: pointer; white-space: nowrap; }
.chat-push-nudge .cpn-x { background: none; border: 0; color: var(--muted); font-size: 15px; cursor: pointer; padding: 4px; }
.dock-unread { background: var(--red); color: #fff; font-size: 11px; font-weight: 800; border-radius: 10px;
  min-width: 18px; height: 18px; line-height: 18px; text-align: center; padding: 0 5px; margin-right: 8px; }
/* Prioritäts-Rückfrage (Frag Paul) */
.prio-check { max-width: 420px; }
.prio-check .paul-h { display: flex; align-items: center; gap: 9px; }
.pcx-reason { background: var(--primary-soft); border: 1px solid var(--primary); border-radius: 10px;
  padding: 11px 13px; color: var(--ink); font-size: 14.5px; line-height: 1.45; margin: 4px 0 12px; }
.pcx-q { font-size: 14.5px; color: var(--ink-soft); margin: 0 0 16px; }
.pcx-btns { display: flex; flex-direction: column; gap: 9px; }
.pcx-btns .btn { width: 100%; }
.pcx-cancel { text-align: center; color: var(--muted); font-size: 13px; margin-top: 12px; cursor: pointer; }
.pcx-cancel:hover { color: var(--ink); }
/* QR-/Barcode-Scanner + Code-Felder in der Checklisten-Erstellung */
.clb-row { flex-wrap: wrap; }
.clb-scan { cursor: pointer; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink);
  border-radius: var(--r-sm); padding: 6px 10px; font-size: 15px; line-height: 1; }
.clb-scan:hover { border-color: var(--primary); }
.section-h .cl-scanbtn { margin-left: 8px; vertical-align: middle; }
.scanmodal { max-width: 460px; }
.scanreader { width: 100%; border-radius: var(--r-md); overflow: hidden; background: #000; min-height: 240px; }
.scanreader video { width: 100% !important; height: auto !important; display: block; }
.scanhint { margin-top: 12px; text-align: center; font-size: 15px; font-weight: 600; color: var(--ink); min-height: 22px; }
/* Vorlagen-Freigabe (Admin) */
.tpa-row { border: 1px solid var(--line); border-radius: var(--r-md); padding: 12px 14px; margin-bottom: 12px; background: var(--surface); }
.tpa-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.tpa-h b { font-size: 15px; }
.tpa-sel { display: flex; gap: 12px; flex-wrap: wrap; }
.tpa-lab { flex: 1 1 200px; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--muted); font-weight: 600; }
.tpa-lab select { width: 100%; }
.tpa-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.tpa-hint { font-size: 12.5px; }

/* Mehr (Profil + Einstellungen) */
.more-wrap { background: var(--bg); min-height: 100%; padding-bottom: 90px; }
.more-prof { display: flex; align-items: center; gap: 14px; background: #fff; padding: 18px 16px; cursor: pointer; }
.more-prof .av.l { width: 56px; height: 56px; font-size: 18px; }
.mp-main { flex: 1; } .mp-main b { font-size: 18px; display: block; } .mp-main span { color: var(--muted); font-size: 14px; }
.more-group { background: #fff; margin-top: 10px; }
.more-i { display: flex; align-items: center; gap: 14px; padding: 15px 16px; border-top: 1px solid #f2f2f2; cursor: pointer; font-size: 15px; }
.more-group .more-i:first-child { border-top: 0; }
.mi-ic { width: 26px; text-align: center; font-size: 18px; color: #666; }
.mi-l { flex: 1; }
.mi-chev { color: #c2c2c2; font-size: 18px; }
.mi-val { color: #333; font-weight: 600; }
.more-logout .mi-l { color: var(--blue); }
.more-ver { text-align: center; color: #aaa; font-size: 12px; padding: 24px 0; }
.switch { position: relative; width: 48px; height: 28px; flex: none; }
.switch input { opacity: 0; width: 0; height: 0; }
.sl { position: absolute; inset: 0; background: #ccc; border-radius: 14px; transition: .2s; }
.sl::before { content: ""; position: absolute; width: 22px; height: 22px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: .2s; }
.switch input:checked + .sl { background: var(--green); }
.switch input:checked + .sl::before { transform: translateX(20px); }

/* grünes Erstellen-Menü (Speed-Dial) */
#overlay2.fab-mode { align-items: flex-end; justify-content: flex-end; background: rgba(0,0,0,.4);
  padding: 0 20px calc(92px + env(safe-area-inset-bottom)); }
.fab-menu { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; }
.fab-item { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.fab-lbl { background: #fff; padding: 8px 15px; border-radius: 7px; font-weight: 600; font-size: 14.5px; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
.fab-c { width: 50px; height: 50px; border-radius: 50%; background: var(--green); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: 0 4px 14px rgba(0,0,0,.3); }

/* Info: Gefällt-mir anklickbar */
.info-post .actions .like { cursor: pointer; user-select: none; }
.info-post .actions .like.on { color: var(--blue); font-weight: 600; }

@media (max-width: 760px) {
  #mobhead { display: flex; flex-wrap: wrap; align-items: center; background: #000; color: #fff;
    position: sticky; top: 0; z-index: 30; padding: 0 4px; min-height: 52px; }
  .mh-ic { background: none; border: 0; color: #fff; font-size: 20px; width: 44px; height: 44px; cursor: pointer; }
  #mobhead #mh_back { font-size: 30px; line-height: 1; }
  .mh-title { flex: 1; text-align: center; font-size: 18px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 5px; }
  .mh-title[id] { cursor: pointer; }
  .mh-chev { font-size: 14px; opacity: .85; }
  .mh-right { background: none; border: 0; color: #fff; font-size: 15px; padding: 0 12px; height: 44px; cursor: pointer; }
  .mh-searchbar { flex: 0 0 100%; padding: 0 8px 8px; }
  .mh-searchbar.hidden { display: none; }
  .mh-searchbar input { width: 100%; background: #2b2b2b; border: 1px solid #444; border-radius: 8px; color: #fff; padding: 9px 12px; font-size: 14px; outline: none; }

  /* Toolbar standardmäßig aus; „Filter" blendet die Dropdowns ein */
  .toolbar { display: none; }
  .toolbar.show-filters { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 10px; background: #fafafa; border-bottom: 1px solid var(--line); }
  .toolbar.show-filters .btn, .toolbar.show-filters .search, .toolbar.show-filters .spacer { display: none; }
  .toolbar.show-filters .filter { flex: 1 1 46%; min-width: 0; }

  /* Sticky-Tabs unter der Kopfleiste */
  .col-tabs { top: 52px; }
  .chat-tabs { position: sticky; top: 52px; z-index: 9; }

  .nf-tx { font-size: 15px; }
  .more-i { padding: 16px; font-size: 16px; }
}

/* ---------- Admin · Benutzer (nach Original) ---------- */
.user-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.user-bar .filter.search { min-width: 200px; }
.user-bar .spacer { flex: 1; }
.stdpw { display: flex; align-items: center; gap: 6px; border: 1px solid #dcdcdc; border-radius: 5px; padding: 5px 9px; background: #fff; }
.stdpw input { border: 0; outline: 0; font-size: 13px; width: 120px; color: #555; background: transparent; letter-spacing: 1px; }
.pw-ic { cursor: pointer; font-size: 15px; }
.who.click { cursor: pointer; }
.who { display: flex; align-items: center; gap: 10px; }
.who-main { display: flex; flex-direction: column; line-height: 1.25; }
.who-main .lastlog { font-size: 12px; }
.lastlog.recent { color: var(--col-prog); }
.lastlog.mid { color: var(--muted); }
.lastlog.old { color: #d08a2e; }
.ugroups { font-size: 12.5px; line-height: 1.55; color: #555; max-width: 640px; }
.ugroups b { font-weight: 600; color: #333; }
.btn.grey.sm { padding: 5px 14px; min-width: 0; font-size: 11px; letter-spacing: .5px; }
.icon-del { background: none; border: 0; cursor: pointer; font-size: 16px; opacity: .55; line-height: 1; }
.icon-del:hover { opacity: 1; transform: scale(1.1); }
tr.u-inactive { opacity: .5; }

/* KI-Assistent: Quellenangabe */
.ai-src { margin-top: 8px; font-size: 12px; color: var(--muted); }
.ai-src a { color: var(--blue); }
.ai-src a:hover { text-decoration: underline; }

/* ---------- Wissens-Quiz ---------- */
.quiz-wrap { max-width: 620px; margin: 0 auto; padding: 20px 16px 96px; }
.quiz-hero { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 32px 24px; text-align: center; }
.qh-emoji { font-size: 52px; line-height: 1; }
.quiz-hero h2 { margin: 10px 0 4px; font-size: 24px; }
.quiz-hero p { color: var(--muted); margin: 0 0 18px; }
.quiz-stats { display: flex; justify-content: center; gap: 28px; margin: 18px 0 22px; }
.quiz-stats div { display: flex; flex-direction: column; }
.quiz-stats b { font-size: 24px; color: var(--green-d); }
.quiz-stats span { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; }
.btn.big { font-size: 15px; padding: 12px 32px; border-radius: 8px; }
.quiz-hero .lnk { display: block; margin: 14px auto 0; }
.quiz-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.q-prog { font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.q-cat { color: var(--col-prog); font-weight: 600; }
.q-bar { height: 6px; background: #eee; border-radius: 3px; overflow: hidden; margin-bottom: 18px; }
.q-bar span { display: block; height: 100%; background: var(--green); transition: width .3s; }
.q-text { font-size: 18px; font-weight: 600; margin-bottom: 16px; line-height: 1.35; }
.q-opts { display: flex; flex-direction: column; gap: 10px; }
.q-opt { text-align: left; background: #f7f7f8; border: 1.5px solid #e4e4e7; border-radius: 10px; padding: 14px 16px; font-size: 15px; cursor: pointer; font-family: inherit; transition: .12s; }
.q-opt:hover { border-color: var(--green); background: #f0f8ef; }
.quiz-card.result { text-align: center; }
.quiz-card.result h2 { margin: 6px 0; }
.q-earned { font-size: 22px; font-weight: 800; color: var(--green-d); }
.q-total { color: var(--muted); margin: 4px 0 16px; }
.q-review { text-align: left; display: flex; flex-direction: column; gap: 8px; margin: 12px 0 18px; }
.qr { padding: 10px 12px; border-radius: 8px; font-size: 13.5px; }
.qr.ok { background: #eaf6ea; }
.qr.no { background: #fdeeec; }
.qr-a { color: #555; margin-top: 4px; }
.q-actions { display: flex; gap: 12px; justify-content: center; align-items: center; margin-top: 6px; }
.lb { display: flex; flex-direction: column; gap: 2px; margin: 14px 0; }
.lb-row { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border-bottom: 1px solid #f2f2f2; }
.lb-row.me { background: #f0f8ef; border-radius: 8px; }
.lb-rank { width: 28px; text-align: center; font-weight: 700; }
.lb-name { flex: 1; }
.lb-pts { font-weight: 700; color: var(--green-d); }
.q-optslist { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.q-optslist span { font-size: 11.5px; background: #f0f0f0; color: #777; padding: 2px 8px; border-radius: 10px; }
.q-optslist span.corr { background: #e3f3e1; color: var(--green-d); font-weight: 600; }
.q-src { font-size: 11px; text-transform: uppercase; color: #aaa; }
.qq-opt { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.fab-c.fab-ai { background: linear-gradient(135deg, #6d5cf0, #9a5cf0); }

/* Quiz-Bilder / Kategorie-Emoji */
.q-emoji { font-size: 46px; text-align: center; margin: 2px 0 12px; }
.q-imgwrap { text-align: center; margin-bottom: 12px; }
.q-img { max-width: 100%; max-height: 220px; border-radius: 10px; }
.qq-img { margin-bottom: 8px; }
.qq-img img { max-width: 100%; max-height: 140px; border-radius: 8px; display: block; margin-bottom: 6px; }
.q-thumb { width: 42px; height: 42px; object-fit: cover; border-radius: 6px; float: left; margin: 2px 10px 2px 0; }

/* ---------- Checklisten (HACCP/Betrieb) ---------- */
.cl-body { max-width: 760px; margin: 0 auto; padding: 14px 14px 96px; display: flex; flex-direction: column; gap: 10px; }
.cl-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 15px 18px; cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,.04); position: relative; transition: .12s; }
.cl-card:hover { border-color: var(--green); }
.cl-cat { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); font-weight: 600; }
.cl-title { font-size: 17px; font-weight: 600; margin: 3px 0; }
.cl-meta { font-size: 13px; color: var(--muted); }
.cl-go { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--green-d); font-weight: 600; font-size: 13.5px; }
.cl-log { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--card);
  border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: 12px; padding: 12px 15px; cursor: pointer; }
.cl-log.flag { border-left-color: var(--red); background: #fdf3f1; }
.cl-log-main { display: flex; flex-direction: column; min-width: 0; }
.cl-log-main b { font-size: 15px; }
.cl-log-main span { font-size: 12.5px; color: var(--muted); }
.cl-log-side { display: flex; align-items: center; gap: 10px; flex: none; }
.cl-badge { font-size: 13px; background: var(--red); color: #fff; border-radius: 999px; padding: 2px 8px; font-weight: 700; }
.cl-badge.ok { background: var(--green); }
.cl-date { font-size: 12px; color: var(--muted); white-space: nowrap; }
/* Ausfüllen */
.cli-list { display: flex; flex-direction: column; gap: 4px; margin: 6px 0; }
.cli { padding: 12px 4px; border-bottom: 1px solid #f2ede5; }
.cli > label { font-size: 14.5px; font-weight: 500; display: block; margin-bottom: 6px; }
.cli-check { display: flex !important; align-items: center; gap: 10px; font-weight: 500; cursor: pointer; }
.cli-check input { width: 20px; height: 20px; flex: none; }
.cli-val { display: flex; align-items: center; gap: 8px; }
.cli-val .cli-input { width: 120px; }
.cli-unit { color: var(--muted); font-size: 14px; }
.cli-range { font-size: 12px; color: var(--muted); margin-top: 4px; }
.cli-photo img, .cl-dphoto { max-width: 160px; max-height: 120px; border-radius: 8px; display: block; margin-bottom: 6px; }
.req { color: var(--red); }
/* Checklisten-Detail */
.cl-dmeta { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.cl-drow { display: flex; justify-content: space-between; gap: 12px; padding: 9px 2px; border-bottom: 1px solid #f2ede5; font-size: 14px; }
.cl-drow.bad { color: var(--red); font-weight: 600; }
.cl-dlabel { color: var(--ink); }
.cl-dval { font-weight: 600; text-align: right; }
.cl-dnote { margin-top: 12px; font-size: 13.5px; }
.cl-dsign { margin-top: 12px; font-size: 13px; color: var(--muted); }
/* Vorlagen-/Schritt-Builder */
.clb-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; background: #faf8f4; border: 1px solid var(--line);
  border-radius: 10px; padding: 8px; margin-bottom: 8px; }
.clb-row .clb-label { flex: 1; min-width: 120px; }
.clb-req { display: flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.clb-del { background: none; border: 0; color: #bbb; font-size: 20px; cursor: pointer; line-height: 1; }
.clb-del:hover { color: var(--red); }

/* ---------- Lernpfade ---------- */
.lp-wrap { max-width: 720px; margin: 0 auto; padding: 16px 16px 96px; }
.lp-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px; margin-bottom: 12px;
  cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: .12s; }
.lp-card:hover { border-color: var(--accent); }
.lp-top { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.lp-emoji { font-size: 34px; }
.lp-title { font-size: 18px; font-weight: 600; }
.lp-desc { color: var(--muted); font-size: 14px; }
.lp-meta { font-size: 13px; color: var(--muted); margin-top: 8px; }
.lp-doneflag { color: var(--green-d); }
.lp-h { font-size: 24px; margin: 10px 0 2px; }
.lp-steps { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.lp-step { display: flex; gap: 14px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; }
.lp-step.done { background: #f3f9f1; border-color: #cfe8c8; }
.lp-cb { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--line); background: #fff;
  font-weight: 700; color: var(--muted); cursor: pointer; font-size: 15px; }
.lp-step.done .lp-cb { background: var(--green); border-color: var(--green); color: #fff; }
.lp-stitle { font-weight: 600; font-size: 15.5px; }
.lp-sbody { color: var(--ink-soft, #666); font-size: 14px; margin-top: 3px; }
.lp-act { display: inline-block; margin-top: 8px; }
.lp-cert { text-align: center; background: var(--accent-soft, #fbeadb); border: 1px solid var(--line); border-radius: 14px;
  padding: 20px; font-size: 17px; font-weight: 600; }
.lp-cert .btn { margin-left: 10px; }
/* Zertifikat */
.cert { text-align: center; border: 3px double var(--accent, #e0701e); border-radius: 14px; padding: 28px 20px; background: #fff; }
.cert-badge { font-size: 50px; }
.cert-sub { text-transform: uppercase; letter-spacing: .3em; color: var(--muted); font-size: 12px; margin-top: 4px; }
.cert-name { font-family: "Fraunces", Georgia, serif; font-size: 26px; font-weight: 700; margin: 12px 0 4px; color: #241f1a; }
.cert-txt { color: #555; font-size: 14px; }
.cert-path { font-size: 18px; font-weight: 600; margin: 4px 0; color: #241f1a; }
.cert-date { margin-top: 16px; font-size: 12.5px; color: var(--muted); }

/* ---------- Druckansicht (Checkliste/Zertifikat als PDF) ---------- */
@media print {
  #topbar, #dock, #bottomnav, #fab, #mobhead, #view, #profileMenu, #notifPanel, #searchPanel { display: none !important; }
  #overlay { position: static !important; display: block !important; background: #fff !important; padding: 0 !important; }
  #overlay .modal, #overlay .modal.wide { width: 100% !important; max-width: 100% !important; box-shadow: none !important; border: 0 !important; max-height: none !important; }
  #overlay .mhead .x, #overlay .mfoot { display: none !important; }
  #overlay .mbody { max-height: none !important; overflow: visible !important; }
}

/* ---------- Stimmungsbarometer + Ideenkasten ---------- */
.mood-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.mood-q { font-weight: 600; font-size: 16px; margin-bottom: 12px; }
.mood-faces { display: flex; gap: 8px; justify-content: space-between; }
.mood-face { flex: 1; background: #faf8f4; border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 4px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 4px; font-family: inherit; transition: .12s; }
.mood-face span { font-size: 30px; line-height: 1; }
.mood-face small { font-size: 11px; color: var(--muted); }
.mood-face.sel { border-color: var(--green); background: #eef7ec; }
.mood-msg { color: var(--green-d); font-size: 13.5px; margin-top: 10px; min-height: 16px; }
.idea-form-row { display: flex; gap: 10px; margin-top: 8px; align-items: center; flex-wrap: wrap; }
.idea-mine { display: flex; justify-content: space-between; gap: 10px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 6px; font-size: 14px; }
.idea-st { font-size: 11px; text-transform: uppercase; letter-spacing: .4px; padding: 2px 8px; border-radius: 999px; background: var(--chip); color: var(--muted); white-space: nowrap; align-self: center; }
.idea-st.st-umgesetzt { background: #e9f4e5; color: var(--green-d); }
.idea-st.st-gesehen { background: #eaf2fb; color: var(--blue); }
.idea-st.st-abgelehnt { background: #fdeeec; color: var(--red); }
.mood-avg { display: flex; align-items: baseline; gap: 10px; margin: 6px 0 14px; }
.mood-avg b { font-size: 38px; color: var(--green-d); }
.mood-avg span { color: var(--muted); font-size: 13px; }
.mood-dist { display: flex; flex-direction: column; gap: 6px; }
.md-row { display: flex; align-items: center; gap: 8px; }
.md-face { width: 24px; text-align: center; }
.md-bar { flex: 1; height: 14px; background: #eee; border-radius: 7px; overflow: hidden; }
.md-bar span { display: block; height: 100%; background: var(--green); }
.md-n { width: 28px; text-align: right; font-size: 13px; color: var(--muted); }
.mood-trend { display: flex; align-items: flex-end; gap: 4px; height: 80px; }
.mt-col { flex: 1; height: 100%; display: flex; align-items: flex-end; }
.mt-bar { width: 100%; background: var(--col-prog); border-radius: 3px 3px 0 0; min-height: 2px; }
.idea-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; margin-bottom: 8px; }
.idea-main { min-width: 0; font-size: 14px; }
.idea-meta { font-size: 12px; color: var(--muted); }
.idea-status { flex: none; }

/* ---------- Community-Wall / Pinnwand ---------- */
.wall-new { margin-bottom: 14px; }
.wall-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; margin-bottom: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.wall-head { display: flex; align-items: center; gap: 10px; }
.wall-who { flex: 1; min-width: 0; }
.wall-who b { font-size: 14.5px; }
.wall-who span { display: block; font-size: 12px; color: var(--muted); }
.wall-del { background: none; border: 0; cursor: pointer; opacity: .5; font-size: 15px; }
.wall-del:hover { opacity: 1; }
.wall-text { margin: 10px 0 0; font-size: 15px; white-space: pre-wrap; line-height: 1.5; }
.wall-img { max-width: 100%; border-radius: 12px; margin-top: 10px; }
.wall-foot { margin-top: 10px; }
.wall-like { background: #f2ece4; border: 1px solid var(--line); border-radius: 999px; padding: 5px 14px; cursor: pointer; font-size: 13.5px; }
.wall-like.on { background: #eaf2fb; border-color: var(--blue); color: var(--blue); font-weight: 600; }

/* ---------- Geplante Aktivitäten (Liste + Zeitplan-Editor) ---------- */
.rec-list { padding: 8px 14px 44px; max-width: 900px; }
.rec-row { display: flex; align-items: center; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; margin-bottom: 8px; cursor: pointer; }
.rec-row:hover { border-color: var(--green); }
.rec-row.off { opacity: .6; }
.rec-kind { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--green-d); background: #e9f4e5; border-radius: 6px; padding: 3px 8px; flex: none; }
.rec-kind.info { color: var(--blue); background: #eaf2fb; }
.rec-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rec-main b { font-size: 15px; }
.rec-main span { font-size: 12.5px; color: var(--muted); }
.rec-offlbl { font-size: 11px; color: var(--red); flex: none; }
.rec-go { color: #bbb; font-size: 18px; flex: none; }
.sched { background: #faf8f4; border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
.sched-top { display: flex; gap: 10px; }
.sc-days { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sc-day { display: flex; align-items: center; gap: 4px; font-size: 13px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 5px 9px; cursor: pointer; }
.sc-preview { margin-top: 10px; font-size: 13px; color: var(--green-d); font-weight: 600; }

/* ---------- Stimmungsbarometer (Anzeige) ---------- */
.baro { margin: 6px 0; }
.baro-track { position: relative; height: 16px; border-radius: 8px; background: linear-gradient(90deg,#e2543f,#e0a21e,#8bb26b,#4c9a3f); }
.baro-needle { position: absolute; top: -4px; width: 4px; height: 24px; background: #241f1a; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 0 2px #fff; }
.baro-ends { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: 6px; }
.baro-read { margin-top: 12px; display: flex; align-items: baseline; gap: 10px; }
.baro-read b { font-size: 30px; color: var(--green-d); }
.baro-read span { color: var(--muted); font-size: 13px; }
.dash-mood { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; margin: 12px 14px 0; cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.dash-mood .dm-title { font-weight: 600; font-size: 13px; }
.dash-mood .baro-read b { font-size: 22px; }
.dash-mood .baro { margin-top: 8px; }

/* schmalere Benutzerzeile: Name und letzter Login dicht beieinander */
.admin-body .contacts td { padding: 8px 10px; vertical-align: middle; }
.who-main { line-height: 1.15; }
.who-main b { line-height: 1.15; }
.who-main .lastlog { line-height: 1.15; margin-top: 1px; }

/* ---------- Stellenmarkt + Empfehlungen ---------- */
.job-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.job-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.job-title { font-size: 17px; font-weight: 600; }
.job-bonus { background: #e9f4e5; color: var(--green-d); font-weight: 600; font-size: 12.5px; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.job-meta { color: var(--muted); font-size: 13px; margin-top: 3px; }
.job-desc { margin: 10px 0; font-size: 14px; white-space: pre-wrap; }
.job-refer { margin-top: 6px; }
.idea-st.st-eingestellt { background: #e9f4e5; color: var(--green-d); }
.idea-st.st-im_Gespräch { background: #eaf2fb; color: var(--blue); }
.idea-st.st-abgelehnt { background: #fdeeec; color: var(--red); }
/* ---------- Trinkgeld ---------- */
.tips-sum { display: flex; gap: 28px; margin-top: 6px; }
.tips-sum div { display: flex; flex-direction: column; }
.tips-sum b { font-size: 26px; color: var(--green-d); }
.tips-sum span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .4px; }
.tip-row { display: flex; justify-content: space-between; align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 11px 14px; margin-bottom: 8px; }
.tip-main { display: flex; flex-direction: column; }
.tip-main b { font-size: 16px; color: var(--green-d); }
.tip-main span { font-size: 12.5px; color: var(--muted); }
.tip-pool { font-size: 12px; color: var(--muted); }
.tip-pool-card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.tip-pool-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.tip-pool-shares { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tip-chip { font-size: 12.5px; background: var(--chip); border-radius: 999px; padding: 3px 10px; }
.tp-users { max-height: 200px; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; padding: 6px; margin-top: 6px; }
.tp-u { display: flex; align-items: center; gap: 8px; padding: 6px 8px; font-size: 14px; cursor: pointer; border-radius: 6px; }
.tp-u:hover { background: #f6f6f6; }

.job-verg { font-size: 13px; color: var(--green-d); font-weight: 600; margin-top: 4px; }
.job-actions { display: flex; align-items: center; gap: 16px; margin-top: 10px; flex-wrap: wrap; }

/* ---------- Stellen im Karriereseiten-Look ---------- */
.stellen-gitter { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.stelle-karte { display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: #fff;
  box-shadow: 0 1px 0 rgba(42,37,32,.13), 0 10px 28px rgba(42,37,32,.07); color: #2a2520; transition: transform .2s, box-shadow .2s; }
.stelle-karte:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(42,37,32,.13), 0 18px 40px rgba(42,37,32,.14); }
.stelle-karte:hover .karte-bild img { transform: scale(1.05); }
.stelle-karte:hover .weiter { gap: 12px; color: #b4491f; }
.karte-bild { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #efe8dc; }
.karte-bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; transition: transform .45s ease; }
.karte-icon { position: absolute; left: 18px; bottom: -21px; width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 999px; background: #26211c; box-shadow: 0 0 0 3px #fff; font-size: 20px; }
.karte-text { padding: 32px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.stelle-karte .rubrik { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #b4491f; margin: 0 0 5px; }
.stelle-karte h3 { color: #2a2520; margin: 0 0 2px; font-size: 18px; }
.stelle-karte .untertitel { font-size: 14px; color: #6e655a; margin: 0 0 12px; }
.stelle-karte .kurztext { font-size: 14.5px; color: #6e655a; margin: 0 0 16px; flex: 1; line-height: 1.5; }
.stelle-karte .job-verg { color: #4a9c43; font-weight: 600; font-size: 13px; margin: 0 0 12px; }
.stelle-karte .marken { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.stelle-karte .marke { font-size: 12px; padding: 4px 11px; border-radius: 999px; white-space: nowrap;
  background: rgba(42,37,32,.05); box-shadow: inset 0 0 0 1px rgba(42,37,32,.13); color: #6e655a; }
.stelle-karte .marke.betont { background: rgba(249,115,22,.12); box-shadow: inset 0 0 0 1px rgba(249,115,22,.3); color: #b4491f; font-weight: 600; }
.stelle-karte .job-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; flex-wrap: wrap; }
.stelle-karte .weiter { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #2a2520; text-decoration: none; transition: gap .18s, color .18s; }

/* KI-Assistent: Sprach-Eingabe */
.ai-mic { flex: none; background: #f0ece4; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: 16px; padding: 0 11px; line-height: 1; }
.ai-mic:hover { background: #e7e0d4; }
.ai-mic.rec { background: var(--red); border-color: var(--red); color: #fff; animation: micpulse 1s infinite; }
@keyframes micpulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

/* KI-Assistent: Wellenform + Aufnahme-Timer */
.ai-wave { flex: 1; height: 40px; background: #f3efe9; border: 1px solid var(--line); border-radius: 6px; }
.ai-timer { align-self: center; font-variant-numeric: tabular-nums; color: var(--red); font-weight: 700; font-size: 13px; min-width: 36px; text-align: center; }

/* Sprachnachrichten im Chat */
.voice { display: flex; align-items: center; gap: 8px; padding: 3px 0; min-width: 180px; }
.v-play { flex: none; width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--blue); color: #fff; cursor: pointer; font-size: 13px; line-height: 1; }
.v-track { flex: 1; height: 6px; background: #dfe6ee; border-radius: 3px; position: relative; cursor: pointer; min-width: 90px; }
.v-fill { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: var(--blue); border-radius: 3px; }
.v-dur { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; min-width: 34px; text-align: right; }

/* HACCP: Unterschriften-Pad */
.sigpad { border: 1px solid var(--line); border-radius: 8px; background: #fff; margin-top: 6px; }
.sigpad canvas { width: 100%; height: 120px; display: block; touch-action: none; border-radius: 8px; }
.sig-hint { font-size: 12px; color: var(--muted); margin-top: 4px; }
.cl-sigimg-wrap { margin-top: 6px; }
.cl-sigimg { max-width: 220px; max-height: 100px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }

/* Lernpfad: Quiz-Hürde */
.lp-req { font-size: 11px; color: var(--muted); margin-left: 8px; }
.q-pathok { background: #e9f4e5; color: var(--green-d); border-radius: 8px; padding: 8px 12px; font-weight: 600; margin: 0 auto 12px; max-width: 90%; }
.q-pathfail { background: #fdeeec; color: var(--red); border-radius: 8px; padding: 8px 12px; margin: 0 auto 12px; max-width: 90%; }

/* Checklisten-Punkte mit Wertfeld (HACCP) + geplante-Aufgabe-Detail */
.cl-item { padding: 8px 2px; border-bottom: 1px solid #f4f0ea; }
.cl-item-top { display: flex; align-items: center; gap: 10px; }
.cl-item-top input[type=checkbox] { width: 18px; height: 18px; flex: none; }
.cl-item.done label { color: var(--muted); text-decoration: line-through; }
.cl-itemval { width: 100%; margin-top: 6px; }
.cl-itemval.saved { border-color: var(--green); background: #f2faf0; }
.rec-next { color: var(--green-d); font-weight: 600; font-size: 14px; }
.rec-sched { color: var(--muted); font-weight: 400; }
.rec-meta { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.rec-meta .recip-title { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); display: block; }
.rec-meta .rm-val { font-size: 14px; margin-top: 3px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mtools .micon { cursor: pointer; font-size: 16px; color: var(--muted); margin-right: 6px; }
.mtools .micon:hover { color: var(--ink); }
.cl-item { display: block; }

/* Neue Aufgabe: "+"-Menü & Bausteine */
.nt-row { display: flex; gap: 12px; align-items: flex-end; margin-top: 12px; flex-wrap: wrap; }
.nt-field { display: flex; flex-direction: column; gap: 4px; }
.nt-field select { min-width: 150px; }
.nt-plus-wrap { position: relative; margin-left: auto; }
.nt-plus { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 18px; cursor: pointer; color: var(--green-d); }
.nt-plus:hover { background: #f2f2f2; }
.nt-plusmenu { position: absolute; right: 0; bottom: 44px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.15); z-index: 5; overflow: hidden; min-width: 150px; }
.nt-plusmenu div { padding: 11px 16px; cursor: pointer; font-size: 14px; }
.nt-plusmenu div:hover { background: #f4f4f4; }
.nt-block { background: #faf8f4; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-top: 10px; }
.nt-block-h { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 13px; margin-bottom: 8px; }

/* Foto-Avatare (Fallback: Initialen) */
.av { position: relative; overflow: hidden; }
.av i { font-style: normal; }
.av.avimg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* KI-Assistenten (Admin): Anbieter-Übersicht + Einrichtungs-Modal */
.ai-prov { width: 100%; border-collapse: collapse; margin: 8px 0; }
.ai-prov td { padding: 8px 6px; border-bottom: 1px solid var(--line); font-size: 14px; vertical-align: middle; }
.ai-prov tr:last-child td { border-bottom: 0; }
.ai-prov .muted, .muted { color: #999; font-size: 12px; font-weight: 400; }
.ai-block { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-top: 12px; background: var(--surface-2, #faf8f4); }
.ai-block-h { font-weight: 600; font-size: 13px; margin-bottom: 8px; color: var(--ink); }
.ai-radio { display: inline-flex; align-items: center; gap: 6px; margin-right: 18px; font-size: 14px; cursor: pointer; color: var(--ink); }
.ai-set-badge { font-size: 11px; font-weight: 600; color: var(--green-d); background: #e9f4e5; border-radius: 999px; padding: 2px 9px; margin-left: 6px; }
/* "Frag Paul" – Gesicht/Avatar des KI-Assistenten */
.paul-av { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; object-position: 50% 40%;
  vertical-align: middle; flex: none; border: 1.5px solid var(--card); box-shadow: 0 0 0 1px var(--line); }
.paul-h { display: inline-flex; align-items: center; gap: 9px; }
.paul-h .paul-av { width: 30px; height: 30px; }
.dash-ai .paul-h .paul-av { width: 28px; height: 28px; }
.pmi-paul { display: flex; align-items: center; gap: 8px; }
.more-i .mi-ic .paul-av { width: 24px; height: 24px; }
.fab-c .paul-av { width: 24px; height: 24px; border: none; box-shadow: none; }
/* Paul-Admin: Konzept-Dokumente + Journal */
.pl-up { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 10px 0; }
.pl-docs { display: flex; flex-direction: column; gap: 8px; }
.pl-doc { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2, #faf8f4); }
.pl-doc-i { font-size: 18px; flex: none; }
.pl-doc-m { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.pl-doc-m b { color: var(--ink); font-size: 14px; }
.pl-x { all: unset; cursor: pointer; color: var(--muted); font-size: 20px; line-height: 1; padding: 0 6px; flex: none; }
.pl-x:hover { color: var(--red); }
.pl-jhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pl-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-soft); cursor: pointer; }
.pl-log { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.pl-row { border: 1px solid var(--line); border-left: 3px solid var(--muted); border-radius: 10px; padding: 9px 12px; background: var(--card); }
.pl-row.s-unbeantwortet { border-left-color: var(--primary); }
.pl-row.s-fehler { border-left-color: var(--red); }
.pl-row.s-beantwortet { border-left-color: var(--green-d, #3a9); }
.pl-q { color: var(--ink); font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pl-b { font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 8px; }
.pl-b.open { color: #fff; background: var(--primary); }
.pl-b.err { color: #fff; background: var(--red); }
.pl-b.ok { color: var(--green-d); background: #e9f4e5; }
.pl-reason { color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.pl-ans { margin-top: 5px; }
.pl-ans summary { cursor: pointer; color: var(--primary); font-size: 12.5px; }
.pl-ans > div { margin-top: 5px; white-space: pre-wrap; color: var(--ink-soft); font-size: 13px; }
.pl-meta { color: var(--muted); font-size: 11.5px; margin-top: 5px; }

/* Foto-Nachweis für Aufgaben */
.proof { border-radius: 10px; padding: 12px 14px; margin: 12px 0; border: 1px solid var(--line); }
.proof.need { background: #fdf3e7; border-color: #e7b877; }
.proof.ok { background: #eef7ea; border-color: #a9d59b; }
.proof-h { font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.proof-hint { color: #7a6a55; font-size: 13px; margin: 0 0 10px; }
.proof-img { max-width: 220px; max-height: 220px; border-radius: 8px; display: block; margin: 4px 0 8px; border: 1px solid var(--line); }
.status-row button[disabled] { opacity: .45; cursor: not-allowed; }

/* Projekte */
.proj-wrap { padding: 14px; }
.proj-top { margin-bottom: 12px; }
.proj-list { display: flex; flex-direction: column; gap: 10px; }
.proj-card { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; cursor: pointer; }
.proj-card:hover { border-color: #d9d2c6; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.proj-emoji { font-size: 26px; line-height: 1; flex: none; }
.proj-main { flex: 1; min-width: 0; }
.proj-name { font-weight: 600; font-size: 15px; }
.proj-status { font-size: 11px; font-weight: 600; border-radius: 999px; padding: 2px 9px; margin-left: 6px; vertical-align: middle; }
.proj-status.s-active { background: #eaf2fb; color: #2f6fb0; }
.proj-status.s-done { background: #e9f4e5; color: var(--green-d); }
.proj-status.s-archived { background: #eee; color: #888; }
.proj-meta { color: var(--muted); font-size: 13px; margin-top: 3px; }
.proj-bar { height: 7px; background: #eee; border-radius: 999px; overflow: hidden; margin-top: 8px; }
.proj-bar span { display: block; height: 100%; background: var(--green); border-radius: 999px; }
.proj-bar-lbl { font-size: 11px; color: var(--muted); margin-top: 3px; }
/* Detail */
.proj-detail { padding: 14px; max-width: 820px; }
.proj-d-head { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 14px; }
.proj-d-title { display: flex; align-items: center; gap: 10px; margin: 6px 0 2px; }
.proj-d-title h2 { margin: 0; font-size: 20px; }
.proj-d-meta { color: var(--muted); font-size: 13px; }
.proj-d-desc { margin-top: 8px; font-size: 14px; }
.proj-d-tools { display: flex; align-items: center; gap: 16px; margin-top: 12px; flex-wrap: wrap; }
.proj-d-tools select { margin-left: 6px; }
.proj-sec { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 14px; }
.proj-sec-h { display: flex; align-items: center; justify-content: space-between; font-weight: 600; font-size: 15px; margin-bottom: 10px; }
.proj-info { border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; background: #faf8f4; }
.proj-info-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; gap: 8px; }
.proj-info-tools { white-space: nowrap; }
.proj-cl { border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.proj-cl-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.proj-cl-h b { font-size: 14px; }
.proj-cl-assign { font-size: 12px; color: #2f6fb0; background: #eaf2fb; border-radius: 999px; padding: 2px 9px; }
.proj-cl-tools { margin-left: auto; white-space: nowrap; }
.proj-cl-items { margin: 4px 0; }
.proj-cl-add { display: flex; gap: 6px; align-items: center; margin-top: 8px; }
.btn.sm { padding: 5px 12px; font-size: 13px; }
.lnk.danger { color: var(--red); }
.empty.sm { padding: 10px; font-size: 13px; color: var(--muted); }

/* Projekt-Kurzbeschreibung: lange Links umbrechen */
.proj-d-desc { font-size: 14px; margin-top: 8px; line-height: 1.5; overflow-wrap: anywhere; }
.proj-d-desc a { color: #2f6fb0; }

/* Projekt-Info: kompakte, saubere Rich-Formatierung */
.proj-info .rich h3 { font-size: 15px; margin: 0 0 6px; }
.proj-info .rich h4 { font-size: 13px; margin: 12px 0 4px; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.proj-info .rich p { margin: 3px 0; font-size: 14px; }
.proj-info .rich ul { margin: 2px 0 2px; padding-left: 18px; }
.proj-info .rich li { font-size: 14px; margin: 2px 0; }
.proj-info .rich a { color: #2f6fb0; overflow-wrap: anywhere; }

/* Gamification: Erfolge, Ring, Abzeichen, Bestenliste, Feier */
.ach-wrap { padding: 14px; max-width: 760px; }
.ach-hero { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px; text-align: center; }
.ach-ring { width: 132px; height: 132px; border-radius: 50%; margin: 0 auto 14px; display: grid; place-items: center;
  background: conic-gradient(var(--green) calc(var(--pct) * 1%), #ececec 0); }
.ach-ring-in { width: 104px; height: 104px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.ach-ring-in b { font-size: 20px; } .ach-ring-in span { font-size: 11px; color: var(--muted); }
.ach-stats { display: flex; justify-content: center; gap: 26px; margin: 6px 0 10px; }
.ach-stats b { font-size: 20px; display: block; } .ach-stats span { font-size: 11px; color: var(--muted); }
.ach-next { font-size: 13px; color: var(--muted); }
.ach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 14px; }
.ach-badge { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 10px; text-align: center; opacity: .55; filter: grayscale(1); }
.ach-badge.on { opacity: 1; filter: none; border-color: #a9d59b; background: #f4faf1; }
.ab-emoji { font-size: 30px; line-height: 1; } .ab-name { font-weight: 600; font-size: 13px; margin: 6px 0 3px; }
.ab-hint { font-size: 11px; color: var(--muted); min-height: 26px; }
.ab-bar { height: 5px; background: #eee; border-radius: 999px; overflow: hidden; margin: 4px 6px 2px; }
.ab-bar span { display: block; height: 100%; background: var(--green); }
.ab-prog { font-size: 10px; color: var(--muted); }
.lb { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.lb-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid #f2f2f2; }
.lb-row:last-child { border-bottom: 0; } .lb-row.me { background: #f4faf1; }
.lb-rank { width: 26px; text-align: center; font-weight: 600; } .lb-name { flex: 1; } .lb-pts { color: var(--muted); font-size: 13px; }
.badge-cele { background: #fff; border-radius: 16px; padding: 24px 28px; text-align: center; max-width: 320px; margin: auto; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.bc-h { font-size: 18px; font-weight: 700; margin-bottom: 14px; }
.badge-pop { display: flex; align-items: center; gap: 10px; justify-content: center; margin: 8px 0; font-size: 15px; }
.bp-emoji { font-size: 26px; }

/* Mein Tag – persönliche Startleiste */
.mtag { background: linear-gradient(135deg, #fff 0%, #faf3ea 100%); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin: 0 0 14px; }
.mtag-hi { font-size: 18px; font-weight: 700; }
.mtag-date { font-size: 13px; font-weight: 400; color: var(--muted); margin-left: 6px; text-transform: capitalize; }
.mtag-tiles { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.mtile { flex: 1 1 0; min-width: 92px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px 6px; text-align: center; cursor: pointer; transition: transform .08s, box-shadow .12s; }
.mtile:hover { transform: translateY(-1px); box-shadow: 0 3px 12px rgba(0,0,0,.06); }
.mt-ic { font-size: 20px; display: block; }
.mtile b { font-size: 19px; display: block; margin-top: 2px; }
.mtile span:last-child { font-size: 11px; color: var(--muted); }

/* Mein Tag – Wetter & Gäste-Prognose */
.mtag-wetter { margin-top: 12px; border-top: 1px dashed var(--line); padding-top: 10px; }
.mw-head { font-size: 14px; }
.mw-hint { font-size: 13px; color: var(--green-d); font-weight: 600; margin-top: 3px; }
.mw-houses { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.mw-house { font-size: 12px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }

/* Prämien-Shop */
.ach-links { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.rw-wrap { padding: 14px; max-width: 760px; }
.rw-head { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(135deg,#fff,#f4faf1); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; }
.rw-avail { font-size: 15px; } .rw-avail b { font-size: 24px; color: var(--green-d); }
.rw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.rw-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 10px; text-align: center; }
.rw-card.locked { opacity: .6; }
.rw-emoji { font-size: 30px; } .rw-name { font-weight: 600; font-size: 14px; margin: 6px 0 3px; }
.rw-desc { font-size: 11px; color: var(--muted); min-height: 28px; }
.rw-cost { font-weight: 700; color: var(--green-d); margin: 6px 0 8px; }
.rw-card .btn { width: 100%; padding: 7px; }
.rw-mine { display: flex; justify-content: space-between; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #f2f2f2; font-size: 14px; }
.rw-mine-s { color: var(--muted); font-size: 12px; white-space: nowrap; }
.rw-pend, .rw-arow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #f2f2f2; font-size: 14px; }
.rw-pend-b { white-space: nowrap; }

/* Mein Tag – Geburtstage & Jubiläen */
.mtag-bday { margin-top: 10px; }
.bday-hit { background: #fff3f8; border: 1px solid #f0c0d6; border-radius: 10px; padding: 10px 12px; font-size: 14px; margin-bottom: 6px; }
.bday-soon { font-size: 13px; color: var(--muted); margin-top: 4px; }

/* Bilder/Dateien in Chat-/Kommentar-Blasen */
.cmt-img { display: inline-block; margin: 3px 6px 3px 0; }
.cmt-img img { max-width: 210px; max-height: 210px; border-radius: 10px; display: block; border: 1px solid var(--line); }
.cmt-file { display: inline-block; color: var(--blue); font-size: 13px; margin: 3px 0; }

/* Wissensbasis: Übersicht mit Hero + Infoboard */
.know-hero { background: linear-gradient(135deg, #26211c, #4a3b2c); color: #fff; border-radius: 14px; padding: 18px 20px; margin-bottom: 14px; }
.know-hero h1 { margin: 0 0 4px; font-size: 22px; }
.know-hero p { margin: 0; font-size: 14px; color: #e9dccb; }
.know-board { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 16px; }
.kb-h { font-weight: 700; font-size: 14px; margin-bottom: 10px; }
.kb-items { display: flex; flex-wrap: wrap; gap: 8px; }
.kb-item { display: inline-flex; align-items: center; gap: 8px; background: #faf3ea; border: 1px solid #ecdcc6; border-radius: 999px; padding: 7px 13px; font-size: 13px; cursor: pointer; color: var(--ink); text-decoration: none; }
.kb-item:hover { background: #f3e6d3; }
.kb-ic { font-size: 16px; }
.know-sec-h { font-weight: 700; font-size: 15px; margin: 4px 0 10px; }
.know-more { margin: 14px 0; }
.know-more summary { cursor: pointer; color: var(--muted); font-size: 13px; }
.km-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.km-chip { background: #f4f2ee; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font-size: 13px; color: var(--muted); cursor: pointer; }
.km-chip:hover { background: #eee9e1; color: var(--ink); }
.know-crumb a { color: var(--blue); cursor: pointer; font-size: 13px; }
.know-h { margin: 6px 0 12px; }
.f-empty { color: #bbb; font-size: 11px; }

/* ---- Menüleiste-Matrix (Admin) ---- */
.nav-matrix td { vertical-align: top; padding-top: 10px; padding-bottom: 10px; }
.nav-mode { padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: var(--ink); font-size: 13px; }
.nav-pick { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nav-chip { display: inline-flex; align-items: center; gap: 2px; background: #f4f2ee; border: 1px solid var(--line); border-radius: 999px; padding: 3px 4px 3px 10px; font-size: 12px; color: var(--ink); }
.nav-chip .chip-x { border: 0; background: transparent; cursor: pointer; font-size: 15px; line-height: 1; color: var(--muted); padding: 0 4px; }
.nav-chip .chip-x:hover { color: var(--ink); }
.nav-add { padding: 5px 8px; border: 1px dashed var(--line); border-radius: 8px; background: transparent; color: var(--muted); font-size: 12px; cursor: pointer; }

/* ---- Schulungsvideo-Editor ---- */
.mtool { background: transparent; border: 0; cursor: pointer; font-size: 18px; padding: 0 4px; line-height: 1; }
.vs-scene { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; background: #fafafa; }
.vs-scene-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.vs-num { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; }
.vs-tools button { background: transparent; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; font-size: 13px; padding: 2px 7px; margin-left: 4px; }
.vs-tools button:hover { background: #fff; }
.vs-scene .vs-head { width: 100%; font-weight: 600; margin-bottom: 6px; }
.vs-scene textarea { width: 100%; margin-bottom: 6px; font-family: inherit; resize: vertical; }
.art-videos { margin: 12px 0; }
.art-video { margin-bottom: 12px; }
.art-video-h { font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 4px; }
.art-video video { width: 100%; border-radius: 10px; border: 1px solid var(--line); background: #000; }

/* ================= Redesign Stufe 1 (Look 2026) ================= */
/* Kopfleiste hell & warm */
#topbar { background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm); }
#topbar .logo { color: var(--primary); }
#topbar nav a { color: var(--ink-soft); border-radius: var(--r-md); }
#topbar nav a:hover { background: var(--surface-2); color: var(--ink); }
#topbar nav a.active { color: var(--primary); background: var(--primary-soft); border-bottom: 0; border-radius: var(--r-md); font-weight: 700; }
#topbar .gsearch input { background: var(--surface-2); border: 1px solid var(--line); color: var(--ink); border-radius: var(--r-md); }
#topbar .gsearch input::placeholder { color: var(--muted); }
#topbar .me .name b { color: var(--ink); }
#topbar .me .name span { color: var(--muted); }
#topbar .bell { color: var(--ink-soft); }

/* Buttons & Eingaben moderner */
.btn { background: var(--primary); border-radius: var(--r-md); text-transform: none; letter-spacing: 0; font-size: 13px; box-shadow: var(--shadow-sm); }
.btn:hover { background: var(--primary-d); }
.btn.blue { background: var(--blue); }
.btn.grey { background: #6b6b6b; }
.toolbar { background: var(--surface-2); }
.filter { border-radius: var(--r-md); border-color: var(--line); background: var(--surface); color: var(--ink); }

/* Karten: rund, luftig, weicher Schatten mit Hover-Lift */
.card { border-radius: var(--r-lg); border-color: var(--line); box-shadow: var(--shadow-sm); padding: 14px 15px; transition: transform .12s, box-shadow .12s, border-color .12s; }
.card:hover { border-color: var(--line); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.column { background: var(--surface-2); border-radius: var(--r-lg); }

/* Chips als weiche Pillen */
.chip { border-radius: 999px; background: var(--chip); color: var(--ink-soft); padding: 2px 9px; }
.chip.cl { background: var(--accent-soft); color: var(--accent); }
/* Prioritäts-Chips (Aufgaben) */
.chip.prio { font-weight: 700; }
.chip.prio.hi { background: rgba(224,87,79,.15); color: #b23a2b; }
.chip.prio.mid { background: rgba(214,164,0,.18); color: #8a6d00; }
.chip.prio.lo { background: rgba(78,134,198,.16); color: #2c568c; }
.chip.prio.routine { background: rgba(222,100,16,.14); color: #a5561a; }
[data-theme="dark"] .chip.prio.hi { background: rgba(224,87,79,.22); color: #ffb0a3; }
[data-theme="dark"] .chip.prio.mid { background: rgba(214,164,0,.22); color: #ecc766; }
[data-theme="dark"] .chip.prio.lo { background: rgba(78,134,198,.24); color: #a9cbee; }
[data-theme="dark"] .chip.prio.routine { background: rgba(240,134,58,.20); color: #f3ad74; }

/* Farbcodierung der Aufgaben nach Priorität – Rahmen + zarte Tönung (#view schlägt die Spalten-Streifen) */
#view .card[data-prio="3"] { border-color: #E0574F; border-width: 1.5px; background-color: var(--card); background-image: linear-gradient(rgba(224,87,79,.10), rgba(224,87,79,.10)); }
#view .card[data-prio="2"] { border-color: #D6A400; border-width: 1.5px; background-color: var(--card); background-image: linear-gradient(rgba(214,164,0,.14), rgba(214,164,0,.14)); }
#view .card[data-prio="1"] { border-color: #4E86C6; border-width: 1.5px; background-color: var(--card); background-image: linear-gradient(rgba(78,134,198,.12), rgba(78,134,198,.12)); }
#view .card[data-prio="0"] { border-color: #DE6410; border-width: 1.5px; background-color: var(--card); background-image: linear-gradient(rgba(222,100,16,.09), rgba(222,100,16,.09)); }
#view .dtask[data-prio="3"] { border-left: 4px solid #E0574F; background-color: var(--card); background-image: linear-gradient(rgba(224,87,79,.08), rgba(224,87,79,.08)); }
#view .dtask[data-prio="2"] { border-left: 4px solid #D6A400; background-color: var(--card); background-image: linear-gradient(rgba(214,164,0,.11), rgba(214,164,0,.11)); }
#view .dtask[data-prio="1"] { border-left: 4px solid #4E86C6; background-color: var(--card); background-image: linear-gradient(rgba(78,134,198,.10), rgba(78,134,198,.10)); }
#view .dtask[data-prio="0"] { border-left: 4px solid #DE6410; background-color: var(--card); background-image: linear-gradient(rgba(222,100,16,.08), rgba(222,100,16,.08)); }

/* Modale etwas runder */
.modal { border-radius: var(--r-lg); }

/* Login in Markenoptik */
#login { background: linear-gradient(160deg, #2a2018, #3a2c1e); }
#login .box { border-radius: var(--r-lg); }
#login .logo { color: var(--primary); }
#login button { background: var(--primary); border-radius: var(--r-md); }
#login button:hover { background: var(--primary-d); }

/* Aktive Handy-Navigation in Markenfarbe */
#bottomnav .bn.active { color: var(--primary); }

/* ================= Redesign Stufe 2 – Seitenleiste ================= */
#app { display: flex; align-items: stretch; min-height: 100vh; }
#sidebar { flex: 0 0 248px; width: 248px; background: var(--surface-2); border-right: 1px solid var(--line);
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
#sidebar .brand { display: flex; align-items: center; gap: 11px; padding: 16px 16px 12px; }
#sidebar .logo { font-size: 26px; font-weight: 800; letter-spacing: -1.5px; color: var(--primary); line-height: 1; }
#sidebar .brandtx b { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 16px; font-weight: 800; display: block; letter-spacing: -.02em; }
#sidebar .brandtx span { font-size: 11px; color: var(--muted); }
/* CrewBeat-Bildmarke */
.logo svg.cvlogo { display: block; }
#sidebar .logo { font-size: 0; }
#sidebar .logo svg.cvlogo { width: 36px; height: 36px; }
#login .logo svg.cvlogo { width: 64px; height: 64px; margin: 0 auto 10px; }
#topbar .logo svg.cvlogo { width: 30px; height: 30px; }
#login .cvname { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -.02em; color: var(--ink); text-align: center; }

#mainarea { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* Navigation vertikal */
#nav { display: flex; flex-direction: column; gap: 2px; padding: 6px 10px 14px; overflow-y: auto; flex: 1; }
#nav::-webkit-scrollbar { width: 8px; } #nav::-webkit-scrollbar-thumb { background: var(--line); border-radius: 8px; }
#nav a { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: var(--r-md);
  color: var(--ink-soft); font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer;
  transition: background .12s, color .12s; }
#nav a .ic { width: 20px; text-align: center; font-size: 15px; opacity: .85; flex: 0 0 auto; }
#nav a:hover { background: var(--surface); color: var(--ink); }
#nav a.active { background: var(--primary-soft); color: var(--primary); font-weight: 700; border: 0; }
#nav a.active .ic { opacity: 1; }

/* Kopfleiste schlank (Suche + Glocke + Profil) */
#topbar { height: auto; padding: 11px 22px; gap: 14px; }
#topbar .gsearch { margin: 0; flex: 1; max-width: 460px; }
#topbar .gsearch input { width: 100%; }
#topbar .gsearch input:focus { width: 100%; }

@media (max-width: 760px) {
  #app { display: block; }
  #sidebar { display: none; }
  #fab { background: var(--primary); }
  .sb-toggle { display: none; }   /* Einklappen nur in der Desktop-Ansicht */
}

/* ===== Seitenleiste ein-/ausklappen (Desktop) ===== */
.sb-toggle { flex: 0 0 auto; width: 38px; height: 38px; display: inline-flex; align-items: center;
  justify-content: center; border: 1px solid var(--line); background: var(--surface-2);
  color: var(--ink-soft); border-radius: var(--r-md); font-size: 18px; line-height: 1; cursor: pointer;
  padding: 0; font-family: inherit; }
.sb-toggle:hover { border-color: var(--primary); color: var(--primary); }
#sidebar { transition: flex-basis .18s ease, width .18s ease; }
#nav a .lbl { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

#app.sb-collapsed #sidebar { flex-basis: 66px; width: 66px; }
#app.sb-collapsed #sidebar .brandtx,
#app.sb-collapsed #nav a .lbl,
#app.sb-collapsed #nav .navgrp,
#app.sb-collapsed #sidebar .me .name { display: none; }
#app.sb-collapsed #sidebar .brand { justify-content: center; padding: 16px 8px 12px; }
#app.sb-collapsed #nav { padding: 8px 8px 14px; }
#app.sb-collapsed #nav a { justify-content: center; gap: 0; padding: 10px 0; }
#app.sb-collapsed #sidebar .me { flex-direction: row; justify-content: center; padding: 10px 0; margin: auto 8px 8px; }
[data-theme="dark"] .sb-toggle { background: var(--surface); }

/* ================= Befehls-Palette (⌘K) ================= */
.cmdk-btn { border: 1px solid var(--line); background: var(--surface-2); color: var(--muted);
  border-radius: var(--r-md); font-size: 12px; font-weight: 700; padding: 7px 10px; cursor: pointer; font-family: inherit; letter-spacing: .3px; }
.cmdk-btn:hover { border-color: var(--primary); color: var(--primary); }
.cmdpal { position: fixed; inset: 0; z-index: 120; display: flex; align-items: flex-start; justify-content: center;
  padding-top: 12vh; background: rgba(30,20,8,.34); }
.cmdbox { width: min(560px, 94vw); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
  box-shadow: 0 30px 70px rgba(30,18,6,.35); overflow: hidden; animation: cmdpop .15s ease; }
@keyframes cmdpop { from { transform: translateY(-8px) scale(.98); opacity: 0 } to { transform: none; opacity: 1 } }
.cmdin { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.cmdin span { color: var(--muted); font-size: 16px; }
.cmdin input { border: 0; outline: 0; background: transparent; font-size: 16px; color: var(--ink); flex: 1; font-family: inherit; }
.cmdlist { max-height: 52vh; overflow-y: auto; padding: 6px; }
.cmdgrp { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 10px 12px 4px; }
.cmdrow { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: var(--r-md); cursor: pointer; font-size: 14px; color: var(--ink); }
.cmdrow .ci { width: 24px; text-align: center; }
.cmdrow.sel, .cmdrow:hover { background: var(--primary-soft); color: var(--primary); }
.cmdempty { padding: 22px; text-align: center; color: var(--muted); }

/* ================= Dark-Mode Feinschliff (harte Hellfarben) ================= */
[data-theme="dark"] .mtag { background: var(--surface); }
[data-theme="dark"] .mtile { background: var(--card); }
[data-theme="dark"] .card .title { color: var(--ink); }
[data-theme="dark"] .card .creator { color: var(--ink-soft); }
[data-theme="dark"] .card .foot { color: var(--muted); border-top-color: var(--line); }
[data-theme="dark"] .card .foot b, [data-theme="dark"] .card .creator b { color: var(--ink-soft); }
[data-theme="dark"] .card.urgent { background: #33211c; border-color: #5a2f27; }
[data-theme="dark"] .card .post-thumb, [data-theme="dark"] .info-post .post-thumb { background: var(--surface-2); }
[data-theme="dark"] .info-post { background: var(--surface); border-bottom-color: var(--line); }
[data-theme="dark"] .info-post .creator { color: var(--ink-soft); }
[data-theme="dark"] .info-post .creator .t { color: var(--muted); }
[data-theme="dark"] .info-post .txt { color: var(--ink-soft); }
[data-theme="dark"] .info-post.kudos { background: linear-gradient(0deg, var(--surface), #2a2016); }
[data-theme="dark"] .modal { background: var(--card); }
[data-theme="dark"] .contacts table { background: var(--surface); }
[data-theme="dark"] .contacts th { color: var(--muted); }
[data-theme="dark"] .filter, [data-theme="dark"] .status-row button, [data-theme="dark"] .rte-sel,
[data-theme="dark"] .recip-add, [data-theme="dark"] .stdpw, [data-theme="dark"] .addrow input,
[data-theme="dark"] input[type=color].cinp, [data-theme="dark"] #al_col { background: var(--surface); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .status-row button { color: var(--ink-soft); }
[data-theme="dark"] #notifPanel, [data-theme="dark"] #profileMenu { background: var(--card); border-color: var(--line); }
[data-theme="dark"] #notifPanel .nhead.top { color: var(--ink); border-color: var(--line); }
[data-theme="dark"] #notifPanel .nitem, [data-theme="dark"] #searchPanel .nitem { border-bottom-color: var(--line); }
[data-theme="dark"] #notifPanel .nitem:hover, [data-theme="dark"] #searchPanel .nitem:hover,
[data-theme="dark"] #profileMenu .pmi:hover, [data-theme="dark"] .chatline:hover,
[data-theme="dark"] .recip-add:hover, [data-theme="dark"] .recip-drop .recip-opt:hover,
[data-theme="dark"] .mention-drop .m-opt:hover, [data-theme="dark"] .anav:hover,
[data-theme="dark"] .rte-btn:hover, [data-theme="dark"] .sheet-i:active,
[data-theme="dark"] .chat-row:active, [data-theme="dark"] .recip-add:hover { background: var(--surface-2); }
[data-theme="dark"] #dock .dbody { background: var(--surface); color: var(--ink); }
[data-theme="dark"] .fcard { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .fcard .thumb { background: var(--surface-2); }
[data-theme="dark"] .fcard .thumb .tab { background: var(--surface); }
[data-theme="dark"] .folders .f:hover, [data-theme="dark"] .folders .f.active { background: var(--surface-2); color: var(--ink); }
[data-theme="dark"] .folders { background: var(--surface-2); }
[data-theme="dark"] .folders .f { color: var(--ink-soft); }
[data-theme="dark"] .fcard .meta .nm { color: var(--ink); }
[data-theme="dark"] .fcard .meta .ct { color: var(--muted); }
[data-theme="dark"] .know-board { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .kb-item { background: var(--surface-2); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .kb-item:hover { background: var(--primary-soft); }
[data-theme="dark"] .km-chip { background: var(--surface-2); border-color: var(--line); color: var(--ink-soft); }
[data-theme="dark"] .km-chip:hover { background: var(--surface); color: var(--ink); }

/* ---- Dark-Feinschliff weitere Unterseiten ---- */
[data-theme="dark"] .chat-tabs, [data-theme="dark"] .col-tabs { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .quiz-hero, [data-theme="dark"] .ach-hero, [data-theme="dark"] .rw-card, [data-theme="dark"] .ach-badge { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .ach-ring-in { background: var(--surface-2); }
[data-theme="dark"] .ach-badge.on { background: var(--accent-soft); border-color: var(--accent); }
[data-theme="dark"] .ab-bar { background: var(--line); }
[data-theme="dark"] .mood-face { background: var(--surface-2); border-color: var(--line); }
[data-theme="dark"] .mood-face.sel { background: var(--primary-soft); border-color: var(--primary); }
[data-theme="dark"] .month td { background: var(--surface); }
[data-theme="dark"] .month td.other { background: var(--surface-2); color: var(--muted); }
[data-theme="dark"] .month th, [data-theme="dark"] .week th { color: var(--muted); background: var(--surface-2); }
[data-theme="dark"] .ev { color: var(--ink-soft); }
[data-theme="dark"] .evblock { background: #1f2a33; }
[data-theme="dark"] .rec-kind { background: var(--accent-soft); }
[data-theme="dark"] .rec-kind.info { background: #1e2733; }
[data-theme="dark"] .stelle-karte { background: var(--surface); }
[data-theme="dark"] .stelle-karte h3, [data-theme="dark"] .stelle-karte .weiter, [data-theme="dark"] .karte-icon { color: var(--ink); }
[data-theme="dark"] .stelle-karte .untertitel, [data-theme="dark"] .stelle-karte .kurztext { color: var(--ink-soft); }
[data-theme="dark"] .karte-bild { background: var(--surface-2); }
[data-theme="dark"] .chip.cat { background: var(--chip); color: var(--ink-soft); }
[data-theme="dark"] .chip.cl { background: var(--accent-soft); color: var(--accent); }
[data-theme="dark"] .chip.cl.part { background: var(--surface-2); color: var(--muted); }
[data-theme="dark"] .react.on { background: var(--accent-soft); border-color: var(--accent); }
[data-theme="dark"] .pill, [data-theme="dark"] .tt-chip, [data-theme="dark"] .tt-newg { background: var(--surface-2); color: var(--ink-soft); }
[data-theme="dark"] .q-opt { background: var(--surface-2); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .q-opt:hover { background: var(--primary-soft); border-color: var(--primary); }
[data-theme="dark"] .q-bar { background: var(--line); }
[data-theme="dark"] .quiz-card { background: var(--surface); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .lb { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .lb-row { border-bottom-color: var(--line); }
[data-theme="dark"] .lb-row.me { background: var(--primary-soft); }
[data-theme="dark"] .qr.ok { background: #1f3320; }
[data-theme="dark"] .qr.no { background: #3a2020; }
[data-theme="dark"] .qr-a { color: var(--ink-soft); }
[data-theme="dark"] .q-opt.wrong { background: #3a2020; border-color: #7a3b38; }
[data-theme="dark"] .q-opt.corr { background: var(--primary-soft); border-color: var(--green); }
[data-theme="dark"] .q-optslist span { background: var(--surface-2); color: var(--muted); }
[data-theme="dark"] .q-optslist span.corr { background: #1f3320; color: var(--green); }
[data-theme="dark"] .bday-hit { background: #331f2a; border-color: #5a2f47; }
/* Mobile-Flächen */
[data-theme="dark"] .sheet, [data-theme="dark"] .more-prof, [data-theme="dark"] .more-group,
[data-theme="dark"] .chat-list, [data-theme="dark"] .nf-list, [data-theme="dark"] .fab-lbl { background: var(--surface); color: var(--ink); }
[data-theme="dark"] .sheet-sep { background: var(--surface-2); }
[data-theme="dark"] #bottomnav, [data-theme="dark"] #mobhead { background: var(--surface); border-color: var(--line); }

/* ================= „Mein Tag" – wie Entwurf ================= */
.mtag-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.mtag-eyebrow { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--primary); margin-bottom: 3px; }
.mtag-hi { font-size: 27px; font-weight: 800; }
.mtag-sub { color: var(--muted); font-size: 13.5px; margin-top: 5px; }
.mtag-cta { border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: var(--r-md); padding: 8px 14px; font-weight: 600; font-size: 13px; cursor: pointer; box-shadow: var(--shadow-sm); }
.mtag-cta:hover { border-color: var(--primary); color: var(--primary); }
.mtile { text-align: left; padding: 13px 14px; }
.mt-top { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12.5px; font-weight: 600; }
.mt-top .mt-ic { font-size: 15px; display: inline; }
.mt-val { margin-top: 9px; font-family: "Bricolage Grotesque", "Figtree", sans-serif; display: flex; align-items: baseline; gap: 6px; }
.mt-val b { font-size: 27px; font-weight: 800; letter-spacing: -.02em; line-height: 1; margin-top: 0; }
.mt-suf { font-size: 13px; color: var(--muted); font-weight: 600; }
.mtag-wcard { display: flex; align-items: center; gap: 13px; background: linear-gradient(100deg, var(--primary-soft), transparent 70%), var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 13px 15px; margin-top: 14px; }
.mtag-wcard .wic { width: 42px; height: 42px; border-radius: 12px; background: var(--surface); display: grid; place-items: center; font-size: 22px; box-shadow: var(--shadow-sm); flex: 0 0 auto; }
.mtag-wcard .wx { flex: 1; min-width: 0; }
.mtag-wcard .wt { font-weight: 700; }
.mtag-wcard .wd { color: var(--muted); font-size: 13px; margin-top: 1px; }
.mtag-wcard .wh { color: var(--muted); font-size: 12px; margin-top: 3px; opacity: .85; }
.chip.prog { background: var(--primary-soft); color: var(--primary); border-radius: 999px; padding: 3px 11px; font-size: 11.5px; font-weight: 600; flex: 0 0 auto; }
[data-theme="dark"] .mtag-hi, [data-theme="dark"] .mt-val b { color: var(--ink); }

/* ================= Sidebar-Gruppen + Profil unten + „+ Neu" ================= */
.navgrp { font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); padding: 14px 12px 5px; }
#nav .navgrp:first-child { padding-top: 4px; }
#sidebar .me { margin: auto 8px 8px; display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 10px; padding: 10px 12px; border-top: 1px solid var(--line); border-radius: var(--r-md); cursor: pointer; }
#sidebar .me:hover { background: var(--surface); }
#sidebar .me .name { text-align: left; line-height: 1.15; }
#sidebar .me .name b { font-size: 13.5px; font-weight: 600; color: var(--ink); display: block; }
#sidebar .me .name span { font-size: 11.5px; color: var(--muted); display: block; }
#topbar .gsearch { flex: 0 1 460px; }
.topnew { margin-left: auto; font-size: 13px; padding: 9px 15px; flex: 0 0 auto; }
.topnew .tn-plus { font-size: 15px; line-height: 0; margin-right: 2px; }
#profileMenu { top: auto; bottom: 62px; left: 12px; right: auto; }

/* ================= Dashboard-Raster (wie Entwurf) ================= */
.dash-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; align-items: start; margin-top: 16px; }
.dash-side { display: flex; flex-direction: column; gap: 16px; }
.dcard { padding: 0; overflow: hidden; cursor: default; margin-bottom: 0; }
.dcard:hover { transform: none; box-shadow: var(--shadow-sm); border-color: var(--line); }
.dch { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 16px 8px; }
.dch h3 { font-size: 16px; font-weight: 700; }
.dcb { padding: 4px 8px 12px; }
.dc-empty { padding: 18px; color: var(--muted); text-align: center; font-size: 13.5px; }
.dtask { display: flex; align-items: flex-start; gap: 11px; padding: 10px; border-radius: var(--r-md); cursor: pointer; transition: background .12s; }
.dtask:hover { background: var(--surface-2); }
.dt-check { width: 20px; height: 20px; border-radius: 7px; border: 2px solid var(--line); flex: 0 0 auto; margin-top: 2px; }
.dt-main { flex: 1; min-width: 0; }
.dt-title { font-weight: 600; font-size: 14px; }
.dt-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 4px; }
.dt-when { font-size: 12px; color: var(--muted); }
.dw-row { display: flex; gap: 11px; align-items: center; padding: 9px 10px; border-radius: var(--r-md); cursor: pointer; transition: background .12s; }
.dw-row:hover { background: var(--surface-2); }
.dw-ic { width: 34px; height: 34px; border-radius: 10px; background: var(--primary-soft); display: grid; place-items: center; font-size: 16px; flex: 0 0 auto; }
.dw-t { font-weight: 600; font-size: 13.5px; }
.dw-d { font-size: 12px; color: var(--muted); }
.reward { display: flex; align-items: center; gap: 13px; padding: 6px 16px 15px; }
.rprog { flex: 1; }
.rbar { height: 9px; border-radius: 999px; background: var(--line); overflow: hidden; margin-top: 7px; }
.rbar i { display: block; height: 100%; border-radius: 999px; background: var(--primary); }
.chip.o { background: var(--primary-soft); color: var(--primary); }
.chip.foto { background: var(--primary-soft); color: var(--primary); }
@media (max-width: 760px) { .dash-grid { grid-template-columns: 1fr; } }
.dai-hint { color: var(--muted); font-size: 13px; margin: 2px 6px 10px; }
.dai-box { display: flex; gap: 8px; padding: 0 6px 4px; }
.dai-box input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); color: var(--ink); padding: 9px 12px; font-family: inherit; font-size: 14px; outline: none; }
.dai-box input:focus { border-color: var(--primary); }
.dai-box .btn { flex: 0 0 auto; }

/* ---- Dark: Projekte ---- */
[data-theme="dark"] .proj-card, [data-theme="dark"] .proj-d-head, [data-theme="dark"] .proj-sec { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .proj-card:hover { border-color: var(--primary); box-shadow: var(--shadow-md); }
[data-theme="dark"] .proj-info { background: var(--surface-2); border-color: var(--line); }
[data-theme="dark"] .proj-status.s-active { background: #1e2733; color: #6aa6de; }
[data-theme="dark"] .proj-status.s-done { background: var(--accent-soft); color: var(--green); }
[data-theme="dark"] .proj-status.s-archived { background: var(--surface-2); color: var(--muted); }
[data-theme="dark"] .proj-bar { background: var(--line); }
[data-theme="dark"] .proj-cl-assign { background: #1e2733; color: #6aa6de; }

/* ---- Dark: Formulare & Editoren in Dialogen ---- */
[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),
[data-theme="dark"] textarea, [data-theme="dark"] select { background: var(--surface); color: var(--ink); border-color: var(--line); }
[data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color: var(--muted); }
[data-theme="dark"] .check { color: var(--ink-soft); }
[data-theme="dark"] .rte-tb { background: var(--surface-2); }
[data-theme="dark"] .rte-btn { color: var(--ink-soft); }
[data-theme="dark"] .rte-btn:hover, [data-theme="dark"] .nt-plus:hover, [data-theme="dark"] .nt-plusmenu div:hover, [data-theme="dark"] .recip-drop .recip-opt:hover { background: var(--surface-2); }
[data-theme="dark"] .rte-swatches, [data-theme="dark"] .recip-drop, [data-theme="dark"] .nt-plus, [data-theme="dark"] .nt-plusmenu, [data-theme="dark"] .sc-day { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] .recip-input { background: var(--surface); color: var(--ink); border-color: var(--line); }
[data-theme="dark"] .recip-drop .recip-opt { border-bottom-color: var(--line); }
[data-theme="dark"] .sched, [data-theme="dark"] .nt-block { background: var(--surface-2); }
input[type=range] { accent-color: var(--primary); }
[data-theme="dark"] input[type=range] { background: transparent; }

/* ---- Frag Paul: Haken, Journal-Antwort, Bilder ---- */
.pl-read { color: var(--green); font-weight: 600; }
.pl-doc-ok { color: var(--green); font-weight: 700; }
.pl-answer { margin-top: 8px; }
.pl-ansbtn { font-size: 12.5px; padding: 6px 12px; }
.pl-ansform textarea { width: 100%; min-height: 72px; font-family: inherit; font-size: 13.5px; }
.ai-imgs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ai-img { max-width: 150px; max-height: 115px; border-radius: 8px; border: 1px solid var(--line); object-fit: cover; cursor: zoom-in; background: var(--surface-2); }

/* ================================================================ Spiele */
.games-wrap { max-width: 780px; margin: 0 auto; padding: 20px 16px 96px; }
.games-hero { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 28px 24px; text-align: center; }
.games-hero .gh-emoji { font-size: 42px; }
.games-hero h2 { margin: 8px 0 4px; font-size: 24px; }
.games-hero p { color: var(--ink-soft); margin: 0 auto 18px; max-width: 460px; line-height: 1.5; }
.games-meta { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.games-meta > div { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 10px 18px; min-width: 92px; }
.games-meta b { display: block; font-size: 20px; color: var(--primary); }
.games-meta span { font-size: 11.5px; color: var(--muted); }
.games-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 16px 0; }
.game-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px; cursor: pointer; transition: transform .14s, box-shadow .14s, border-color .14s; display: flex; flex-direction: column; }
.game-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0,0,0,.10); border-color: var(--primary); }
.gc-emoji { font-size: 34px; line-height: 1; }
.gc-main { margin: 8px 0 12px; }
.gc-name { font-family: "Bricolage Grotesque", "Figtree", sans-serif; letter-spacing: -.01em; font-weight: 800; font-size: 17px; }
.gc-tagline { color: var(--muted); font-size: 12.5px; margin-top: 2px; line-height: 1.4; }
.gc-stats { display: flex; gap: 10px; margin-bottom: 10px; align-items: stretch; }
.gc-me, .gc-leader { flex: 1; min-width: 0; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; overflow: hidden; }
.gc-stats > div > span { display: block; font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.gc-bignum { display: block; font-size: 18px; font-weight: 800; line-height: 1.15; color: var(--ink); margin-top: 1px; }
.gc-bignum.gc-dim { color: var(--muted); }
.gc-sub { display: flex; align-items: center; gap: 5px; min-width: 0; margin-top: 3px; font-size: 11.5px; color: var(--muted); }
.gc-lname { font-weight: 600; color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; min-width: 0; }
.gc-sub .av { flex: none; }
.gc-tag { display: inline-block; align-self: flex-start; font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); margin-bottom: 12px; }
.gc-tag.done { background: var(--primary-soft); color: var(--green-d); border-color: transparent; }
.gc-tag.go { background: var(--primary); color: #fff; border-color: transparent; }
.gc-actions { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gc-btn { padding: 9px 18px; }
.games-foot { text-align: center; color: var(--muted); font-size: 12.5px; margin: 6px 0 0; }

/* Schätz-Meister */
.est-card { text-align: center; }
.est-q { font-size: 19px; font-weight: 700; line-height: 1.4; margin: 6px 0 10px; }
.est-hint { color: var(--ink-soft); background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; font-size: 13.5px; margin: 0 auto 12px; display: inline-block; }
.est-have { color: var(--ink-soft); font-size: 13.5px; margin-bottom: 10px; }
.est-have span { color: var(--muted); font-size: 12px; }
.est-inputrow { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 6px 0; }
.est-inputrow input { font-size: 22px; text-align: center; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; width: 210px; max-width: 70%; background: var(--surface); color: var(--ink); font-family: inherit; }
.est-inputrow input:focus { outline: none; border-color: var(--primary); }
.est-unit { font-size: 16px; color: var(--muted); font-weight: 600; }
.est-count { color: var(--muted); font-size: 12.5px; margin: 8px 0 4px; }
.est-deadline, .est-recent { margin-top: 14px; }
.est-recent { text-align: left; border-top: 1px solid var(--line); padding-top: 12px; }
.est-rrow { padding: 8px 0; border-bottom: 1px dashed var(--line); }
.est-rq { font-size: 13.5px; font-weight: 600; }
.est-rres { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.est-badge { font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 999px; }
.est-badge.open { background: var(--primary-soft); color: var(--primary-d); }
.est-badge.done { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
.est-subhint { color: var(--muted); font-size: 12px; margin-top: 2px; }

/* Crème-Memory */
.mem-card { text-align: center; }
.mem-head p { color: var(--muted); font-size: 13px; margin: 4px 0 0; }
.mem-stats { display: flex; justify-content: center; gap: 22px; margin: 14px 0 16px; }
.mem-stats b { font-size: 20px; color: var(--primary); }
.mem-stats span { display: block; font-size: 11px; color: var(--muted); }
.mem-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 360px; margin: 0 auto; }
.mem-cell { aspect-ratio: 1; border-radius: 12px; border: none; background: var(--primary); cursor: pointer; position: relative; font-size: 30px; transition: transform .12s; }
.mem-cell:hover { transform: scale(1.04); }
.mem-cell .mem-face { opacity: 0; transition: opacity .12s; }
.mem-cell::after { content: "🍽"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 26px; opacity: .55; }
.mem-cell.open, .mem-cell.done { background: var(--surface-2); border: 1.5px solid var(--line); }
.mem-cell.open .mem-face, .mem-cell.done .mem-face { opacity: 1; }
.mem-cell.open::after, .mem-cell.done::after { opacity: 0; }
.mem-cell.done { border-color: var(--green); background: var(--primary-soft); }
.mem-face-emo { display: inline-block; }
.mem-photo { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; display: block; }
.mem-cell { overflow: hidden; padding: 0; }
.mem-cell .mem-face { position: absolute; inset: 4px; display: flex; align-items: center; justify-content: center; }

/* Bestell-Blitz */
.blitz-timer { height: 8px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; margin-bottom: 16px; }
.blitz-timer span { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--green), var(--primary)); transition: width .05s linear; }
.q-opt.corr { border-color: var(--green); background: var(--primary-soft); font-weight: 700; }
.q-opt.wrong { border-color: #d9534f; background: #fdeeec; }

/* Zutaten-Rätsel */
.riddle-hints { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; text-align: left; }
.riddle-hint { display: flex; gap: 10px; align-items: flex-start; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.rh-n { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.riddle-count { color: var(--muted); font-size: 12.5px; margin: 4px 0 8px; }
.riddle-msg { font-size: 13.5px; margin: 8px 0; color: var(--muted); }
.riddle-msg.no { color: #d9534f; }
.riddle-answer { font-size: 17px; margin: 6px 0 10px; }
#rd_val { font-size: 18px; text-align: center; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; width: 260px; max-width: 80%; background: var(--surface); color: var(--ink); font-family: inherit; }
#rd_val:focus { outline: none; border-color: var(--primary); }

/* Flammkuchen-Contest */
.contest-hero p { max-width: 520px; }
.contest-upwrap { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.contest-days { color: var(--muted); font-size: 12.5px; }
.contest-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; margin: 16px 0; }
.contest-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.contest-card.mine { border-color: var(--primary); }
.contest-card.voted { box-shadow: 0 0 0 2px var(--green) inset; }
.contest-imgwrap { aspect-ratio: 4/3; background: var(--surface-2); }
.contest-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contest-foot { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; gap: 8px; }
.contest-by { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; overflow: hidden; }
.contest-by span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contest-votes { font-weight: 700; white-space: nowrap; }
.contest-cap { padding: 0 10px 8px; font-size: 12.5px; color: var(--ink-soft); }
.contest-actions { margin-top: auto; padding: 0 10px 10px; }
.btn.sm { padding: 6px 12px; font-size: 13px; }

/* Admin: Memory-Fotopool */
.gp-grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.gp-cell { position: relative; width: 96px; height: 96px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); }
.gp-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gp-del { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; border: none; background: rgba(0,0,0,.6); color: #fff; cursor: pointer; font-size: 15px; line-height: 1; }

/* Flammwort (Wordle) */
.wort-card { text-align: center; }
.wort-card .mem-head p { color: var(--muted); font-size: 13px; margin: 4px 0 0; }
.wort-grid { display: flex; flex-direction: column; gap: 6px; align-items: center; margin: 16px 0; }
.wort-row { display: flex; gap: 6px; }
.wort-cell { width: 48px; height: 48px; border: 2px solid var(--line); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800; text-transform: uppercase; background: var(--surface); color: var(--ink); }
.wort-cell.filled { border-color: var(--muted); }
.wort-cell.rev { color: #fff; border: none; }
.wort-cell.s2 { background: var(--green); }
.wort-cell.s1 { background: #c9a227; }
.wort-cell.s0 { background: #8a8078; }
.wort-kb { display: flex; flex-direction: column; gap: 6px; align-items: center; margin: 12px 0 4px; }
.wort-kbrow { display: flex; gap: 5px; justify-content: center; }
.wort-key { min-width: 30px; height: 44px; padding: 0 8px; border-radius: 6px; border: none; background: var(--surface-2); color: var(--ink); font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; }
.wort-key.wide { min-width: 46px; }
.wort-key.k2 { background: var(--green); color: #fff; }
.wort-key.k1 { background: #c9a227; color: #fff; }
.wort-key.k0 { background: #6a625b; color: #fff; }
@media (max-width: 520px) { .wort-cell { width: 40px; height: 40px; font-size: 19px; } .wort-key { min-width: 26px; height: 42px; padding: 0 5px; } }

/* Vierer (Connections) */
.vier-card { text-align: center; }
.vier-card .mem-head p { color: var(--muted); font-size: 13px; margin: 4px 0 0; }
.vier-solved { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.vier-band { border-radius: 10px; padding: 8px 10px; color: #22160c; }
.vier-band b { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; }
.vier-band span { font-size: 13px; }
.vier-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0; }
.vier-tile { min-height: 62px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink); font-weight: 700; font-size: 13px; cursor: pointer; font-family: inherit; padding: 4px 6px; line-height: 1.2; transition: transform .1s; }
.vier-tile:hover { transform: translateY(-1px); }
.vier-tile.sel { background: var(--primary); color: #fff; border-color: transparent; }
.vier-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 22px; }
.vier-lives { font-size: 12.5px; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.vier-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--primary); display: inline-block; }
.vier-dot.used { background: var(--line); }
.vier-adminline { font-size: 12.5px; margin: 1px 0; }
@media (max-width: 520px) { .vier-tile { min-height: 56px; font-size: 12px; } }

/* Admin: Flammwort-Wörter + Vierer-Editor */
.wchip-grid { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.wchip { display: inline-flex; align-items: center; gap: 6px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 5px 8px 5px 10px; font-weight: 700; letter-spacing: .05em; }
.wchip-x { border: none; background: transparent; color: var(--muted); cursor: pointer; font-size: 16px; line-height: 1; }
.wchip-x:hover { color: #d9534f; }
.vm-group { border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 10px; background: var(--surface-2); }
.vm-name { width: 100%; margin-bottom: 8px; font-weight: 700; }
.vm-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }

/* Blitz-Umfragen */
.polls-wrap { max-width: 640px; margin: 0 auto; padding: 20px 16px 96px; }
.polls-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.polls-head h2 { margin: 0; font-size: 22px; }
.polls-intro { color: var(--muted); font-size: 13px; margin: 4px 0 16px; }
.polls-list { display: flex; flex-direction: column; gap: 14px; }
.poll-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.poll-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.poll-q { font-weight: 700; font-size: 16px; line-height: 1.35; }
.poll-tag { flex: none; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.poll-tag.open { background: var(--primary-soft); color: var(--primary-d); }
.poll-tag.done { background: var(--primary-soft); color: var(--green-d); }
.poll-tag.closed { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
.poll-opts { display: flex; flex-direction: column; gap: 8px; }
.poll-opt { display: flex; align-items: center; gap: 10px; text-align: left; background: var(--surface-2); border: 1.5px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: 14.5px; cursor: pointer; font-family: inherit; color: var(--ink); transition: .12s; }
.poll-opt:hover { border-color: var(--primary); }
.poll-opt.sel { border-color: var(--primary); background: var(--primary-soft); font-weight: 600; }
.poll-box { flex: none; width: 18px; height: 18px; border: 2px solid var(--muted); border-radius: 50%; }
.poll-box.multi { border-radius: 5px; }
.poll-opt.sel .poll-box { border-color: var(--primary); background: var(--primary); box-shadow: inset 0 0 0 3px var(--surface-2); }
.poll-res { position: relative; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--surface-2); }
.poll-res-bar { position: absolute; inset: 0; width: 0; background: var(--primary-soft); z-index: 0; }
.poll-res.mine .poll-res-bar { background: var(--primary); opacity: .28; }
.poll-res-lbl { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; font-size: 14px; }
.poll-res.mine .poll-res-lbl { font-weight: 700; }
.poll-res-lbl b { color: var(--ink-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }
.poll-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.poll-count { color: var(--muted); font-size: 12.5px; }
.poll-actions { display: flex; align-items: center; gap: 12px; }
/* Umfrage-Editor */
.pm-opt { display: flex; gap: 6px; margin-bottom: 6px; }
.pm-opt .pm-o { flex: 1; }
.pm-orm { flex: none; width: 34px; border: 1px solid var(--line); background: var(--surface-2); color: var(--muted); border-radius: 8px; cursor: pointer; font-size: 16px; }
.pm-orm:hover { color: #d9534f; border-color: #d9534f; }
.pm-check { display: flex; align-items: center; gap: 8px; margin: 12px 0 4px; font-size: 14px; }

/* Mein Bonus */
.bn-hero .bn-cashback { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; background: var(--primary-soft); border-radius: 14px; padding: 12px 26px; }
.bn-hero .bn-cashback span { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.bn-hero .bn-cashback b { font-size: 30px; color: var(--primary-d); font-family: "Bricolage Grotesque", "Figtree", sans-serif; }
.bn-card { margin-top: 14px; }
.bn-metric { margin-bottom: 16px; }
.bn-mhead { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; margin-bottom: 6px; }
.bn-mhead b { font-variant-numeric: tabular-nums; }
.bn-of { color: var(--muted); font-weight: 400; }
.bn-bar { height: 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.bn-bar i { display: block; height: 100%; background: var(--primary); border-radius: 7px; transition: width .4s; }
.bn-bar i.hit { background: var(--green); }
.bn-sub { font-size: 12.5px; color: var(--muted); margin-top: 5px; }
.bn-sub.ok { color: var(--green-d); font-weight: 600; }
.bn-facts { display: flex; gap: 10px; margin-top: 6px; border-top: 1px solid var(--line); padding-top: 14px; }
.bn-facts > div { flex: 1; text-align: center; }
.bn-facts b { display: block; font-size: 16px; }
.bn-facts span { font-size: 11.5px; color: var(--muted); }
.bn-how { margin-top: 14px; }
.bn-how p { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); margin: 6px 0; }
.dbn { display: flex; flex-direction: column; gap: 6px; padding: 4px 16px 14px; }
.dbn-row { display: flex; justify-content: space-between; font-size: 13px; }
.dbn-row .ok { color: var(--green-d); font-weight: 700; }
.dbn-more { color: var(--primary); font-size: 12.5px; margin-top: 4px; }

/* Neu für dich (Dashboard) */
.wn-card { border-left: 3px solid var(--primary); }
.wn-body { display: flex; flex-direction: column; gap: 6px; padding: 6px 16px 14px; }
.wn-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.wn-item:hover { border-color: var(--primary); }
.wn-ic { width: 22px; height: 22px; border-radius: 6px; background: var(--primary-soft); color: var(--primary-d); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; flex: none; }
.wn-go { margin-left: auto; color: var(--muted); font-size: 18px; }
.wn-bday { font-size: 13px; color: var(--ink-soft); padding: 4px 2px 0; }

/* Mitarbeiter des Monats */
.mdm-card { display: flex; align-items: center; gap: 14px; padding: 6px 16px 16px; }
.mdm-card .av.l { width: 56px; height: 56px; font-size: 20px; flex: none; }
.mdm-name { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-weight: 800; font-size: 18px; }
.mdm-note { font-size: 13px; color: var(--ink-soft); margin-top: 2px; line-height: 1.4; }
.mdm-note.muted { color: var(--muted); }
.mdm-suggs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.mdm-sugg small { color: var(--muted); font-weight: 400; }

/* Frag-Paul-Sperre (Sicherheit) */
.pb-card { border-color: var(--primary); }
.pb-sec { margin-top: 12px; }
.pb-row { display: flex; align-items: center; gap: 10px; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line); }
.pb-row:last-child { border-bottom: 0; }
.pb-main { min-width: 0; }
.pb-main b { display: block; font-size: 14px; }
.pb-terms { color: #c0392b; }
.pb-lvl { display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; background: #f3d6cf; color: #a03118; border-radius: 6px; padding: 1px 6px; }
.pb-lvl.mid { background: var(--surface-2); color: var(--muted); }
.pb-toggle { flex: none; }
[data-theme="dark"] .pb-terms { color: #ff8a7a; }
[data-theme="dark"] .pb-lvl { background: #3a2020; color: #ff9a86; }

/* InfoBoard: zwei Spalten (Infos + Infos mit Bestätigung), Chats separat */
.board.c2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 760px) {
  .board.c2 { display: block; padding: 0; }
  .board.c2 .column { background: transparent; border-radius: 0; margin-bottom: 8px; }
  .board.c2 .column .body { max-height: none; padding: 10px 12px; }
}
