 :root{--bg:#08090a;--panel:#0f1011;--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.05);--text:#f7f8f8;--muted:#8a8f98;--soft:#d0d6e0;--brand:#5e6ad2;--accent:#7170ff;--green:#10b981;--yellow:#f6c85f;--red:#ef4444;--orange:#fb923c;--blue:#60a5fa;--purple:#a78bfa;--cyan:#22d3ee}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,rgba(94,106,210,.22),transparent 34%),radial-gradient(circle at 90% 8%,rgba(16,185,129,.10),transparent 28%),var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--text)}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);border:1px solid var(--border);background:rgba(15,16,17,.88);border-radius:24px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),#8b5cf6);display:grid;place-items:center;font-weight:700}.login-card h1{margin:18px 0 8px}.login-card p{color:var(--muted);line-height:1.5}.login-card input,.login-card button{width:100%;padding:13px;border-radius:10px;margin-top:10px}.login-card input,input,textarea,select{background:rgba(255,255,255,.035);border:1px solid var(--border);color:var(--text);outline:none}button,.btn{border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--text);border-radius:9px;padding:10px 13px;font-weight:510;cursor:pointer}.primary,.login-card button{background:var(--brand)}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(15,16,17,.84);backdrop-filter:blur(18px);border-right:1px solid var(--border2);padding:24px 18px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand h1{font-size:15px;margin:0}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.nav{display:flex;flex-direction:column;gap:6px}.nav a{color:var(--soft);text-decoration:none;padding:10px 12px;border-radius:9px;font-size:14px;cursor:pointer}.nav a.active,.nav a:hover{background:rgba(255,255,255,.055);color:var(--text)}.side-card,.card{border:1px solid var(--border);background:rgba(255,255,255,.028);border-radius:18px;padding:18px}.side-card{margin-top:auto}.side-card p{font-size:12px;color:var(--muted);line-height:1.7}.main{padding:24px 30px 42px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.search{flex:1;max-width:540px;display:flex;gap:10px;border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:12px;padding:12px 14px;color:var(--muted)}.search input{border:0;background:transparent;width:100%}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2dd4bf,#5e6ad2);display:grid;place-items:center;font-weight:600}.hero{border:1px solid var(--border);background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-radius:24px;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.hero h2{font-size:36px;line-height:1.04;margin:0 0 10px;font-weight:510;letter-spacing:-.8px}.hero p{margin:0;color:var(--muted);line-height:1.55}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.metric{font-size:30px;font-weight:600;margin:10px 0 4px}.metric-label,.trend,.meta{font-size:12px;color:var(--muted)}.trend{color:var(--green)}.layout{display:grid;grid-template-columns:1fr 420px;gap:16px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h3{margin:0;font-size:17px}.section-title span{font-size:12px;color:var(--soft);border:1px solid var(--border);border-radius:999px;padding:5px 9px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.table-wrap{overflow:auto}table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0 9px}th{text-align:left;color:#62666d;font-size:11px;text-transform:uppercase;padding:0 10px}td{padding:13px 10px;background:rgba(255,255,255,.027);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);font-size:13px;vertical-align:top}tr{cursor:pointer}tr:hover td{background:rgba(255,255,255,.05)}td:first-child{border-left:1px solid var(--border2);border-radius:10px 0 0 10px}td:last-child{border-right:1px solid var(--border2);border-radius:0 10px 10px 0}.name{font-weight:600}.sub{font-size:12px;color:var(--muted);margin-top:3px}.score{font-family:'JetBrains Mono',monospace;color:var(--green)}.tag,.stage{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;gap:5px;font-weight:600}.tag:before,.legend:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.status-heiss{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.35)}.status-warm{background:rgba(246,200,95,.14);color:#fde68a;border-color:rgba(246,200,95,.32)}.status-bestand{background:rgba(96,165,250,.14);color:#bfdbfe;border-color:rgba(96,165,250,.32)}.status-vorsichtig{background:rgba(167,139,250,.14);color:#ddd6fe;border-color:rgba(167,139,250,.32)}.status-recruiting{background:rgba(34,211,238,.14);color:#a5f3fc;border-color:rgba(34,211,238,.32)}.stage{background:rgba(255,255,255,.055);color:var(--soft)}.stage-offen{color:#cbd5e1}.stage-angeschrieben{color:#93c5fd;background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.28)}.stage-reagiert{color:#86efac;background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.28)}.stage-termin{color:#c4b5fd;background:rgba(113,112,255,.16);border-color:rgba(113,112,255,.34)}.stage-kein-bedarf{color:#fca5a5;background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.28)}.legend{display:inline-flex;align-items:center;gap:4px}.legend.hot{color:#fca5a5}.legend.warm{color:#fde68a}.legend.bestand{color:#bfdbfe}.legend.vorsichtig{color:#ddd6fe}.legend.recruiting{color:#a5f3fc}.response-ok{color:#bbf7d0}.response-empty{color:#64748b;font-style:italic}.detail{position:sticky;top:24px}.detail h4{margin:0 0 6px;font-size:20px}.detail label{display:block;margin-top:12px;margin-bottom:6px;color:var(--muted);font-size:12px}.detail input,.detail textarea,.detail select{width:100%;border-radius:9px;padding:10px}.micro{font-size:11px;color:var(--muted);margin-top:5px}.box{border:1px solid var(--border2);background:rgba(255,255,255,.022);border-radius:14px;padding:13px;margin-top:10px}.box p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.copy{width:100%;margin-top:10px}@media(max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.layout,.kpis{grid-template-columns:1fr}.detail{position:relative;top:0}.main{padding:18px}}
.analysis-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.recommendation{margin-top:12px;border:1px solid rgba(113,112,255,.22);background:linear-gradient(135deg,rgba(113,112,255,.10),rgba(255,255,255,.025));border-radius:16px;padding:14px}.rec-empty{color:var(--muted);font-size:12px;line-height:1.5}.rec-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}.urgency{font-size:11px;color:var(--soft);border:1px solid var(--border);border-radius:999px;padding:4px 8px}.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rec-block,.rec-grid>div{border:1px solid var(--border2);background:rgba(0,0,0,.13);border-radius:12px;padding:10px;margin-top:9px}.rec-block b,.rec-grid b{font-size:12px;color:var(--soft)}.rec-block p,.rec-grid p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.sentiment{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-weight:700;display:inline-flex}.sentiment-positiv{color:#86efac;background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.32)}.sentiment-neutral-interessiert,.sentiment-neutral{color:#fde68a;background:rgba(246,200,95,.14);border-color:rgba(246,200,95,.32)}.sentiment-unklar{color:#c4b5fd;background:rgba(167,139,250,.14);border-color:rgba(167,139,250,.32)}.sentiment-absage{color:#fca5a5;background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.32)}.sentiment-keine-antwort{color:#94a3b8;background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.22)}
@media(max-width:720px){.analysis-actions,.rec-grid{grid-template-columns:1fr}}

.contact-panel{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--soft);font-size:12px}.form-grid .wide{grid-column:span 2}.panel-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.muted{color:var(--muted);font-size:13px;line-height:1.55}.import-preview{margin-top:12px;border:1px solid var(--border2);background:rgba(0,0,0,.14);border-radius:12px;padding:12px;color:var(--soft);font-size:12px;line-height:1.5;overflow:auto}input[type=file]{width:100%;padding:13px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--border);color:var(--text)}@media(max-width:1050px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}}@media(max-width:720px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:span 1}.top-actions{align-items:stretch}.top-actions .btn{width:100%}}

.nav a.active,.filters button.active{background:linear-gradient(135deg,rgba(94,106,210,.32),rgba(113,112,255,.18));border-color:rgba(113,112,255,.48);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.filters button.active{box-shadow:0 0 0 1px rgba(113,112,255,.24)}.active-filter-label{font-size:11px;color:#c7d2fe;background:rgba(94,106,210,.18);border:1px solid rgba(113,112,255,.35);padding:5px 9px;border-radius:999px;margin-left:auto;margin-right:8px}.kpis .card{cursor:pointer}.kpis .card:hover{border-color:rgba(113,112,255,.32)}

select{color:var(--text);background-color:#111318;color-scheme:dark}select option{background:#111318;color:#f7f8f8}select option:checked,select option:hover{background:#272b38;color:#ffffff}select:focus{border-color:rgba(113,112,255,.55);box-shadow:0 0 0 3px rgba(113,112,255,.14)}

.auto-note{margin-top:6px;color:#a5b4fc;background:rgba(94,106,210,.10);border:1px solid rgba(113,112,255,.22);border-radius:10px;padding:8px 10px;font-size:11px;line-height:1.45}


.reminder-card{margin-top:14px;border:1px solid rgba(34,211,238,.20);background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(255,255,255,.025));border-radius:16px;padding:14px}.reminder-card h3{margin:0;font-size:14px}.quick-reminders{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.reminder{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-weight:700;display:inline-flex;white-space:nowrap}.reminder.planned{color:#bae6fd;background:rgba(96,165,250,.13);border-color:rgba(96,165,250,.30)}.reminder.due{color:#fed7aa;background:rgba(251,146,60,.16);border-color:rgba(251,146,60,.36)}.stage-wiedervorlage{color:#67e8f9;background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.28)}@media(max-width:720px){.quick-reminders{grid-template-columns:1fr 1fr}}

.special-card{margin-top:14px;border:1px solid rgba(167,139,250,.20);background:linear-gradient(135deg,rgba(167,139,250,.09),rgba(255,255,255,.025));border-radius:16px;padding:14px}.special-card h3{margin:0;font-size:14px}.special-preview{font-size:11px;color:#ddd6fe;line-height:1.35;display:inline-block;max-width:220px}.table-wrap table th:nth-child(4),.table-wrap table td:nth-child(4){min-width:160px}


/* Desktop width guard: keep the full dashboard inside the viewport; only the customer table may scroll internally if needed. */
html,body{max-width:100%;overflow-x:hidden}
.app{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;max-width:100vw;overflow-x:hidden}
.main{min-width:0;max-width:100%;overflow:hidden;padding:24px clamp(16px,2vw,30px) 42px}
.topbar,.hero,.kpis,.layout,.card{min-width:0;max-width:100%}
.topbar{flex-wrap:wrap}.top-actions{min-width:0;justify-content:flex-end}.search{min-width:min(320px,100%)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:16px;max-width:100%}
.layout>.card{min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0 9px}
th,td{overflow:hidden;text-overflow:ellipsis;word-break:break-word}
.table-wrap table th:nth-child(4),.table-wrap table td:nth-child(4){min-width:0;max-width:none}
@media(max-width:1350px){.layout{grid-template-columns:1fr}.detail{max-width:100%}}
@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kpis{grid-template-columns:1fr}.main{padding:16px 12px 32px}.hero h2{font-size:28px}}


/* Kundenmaske als Pop-up mit WhatsApp-ähnlicher Kontakthistorie */
.dashboard-only{grid-template-columns:1fr!important}.dashboard-only .card{width:100%}.table-wrap table th:nth-child(8),.table-wrap table td:nth-child(8){min-width:90px}.history-count{font-size:11px;color:#a5b4fc;background:rgba(94,106,210,.12);border:1px solid rgba(113,112,255,.28);border-radius:999px;padding:4px 8px;white-space:nowrap}.modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.70);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px}.modal-card{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:hidden;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(17,19,24,.98),rgba(9,10,12,.98));border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.65);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.025)}.modal-person{display:flex;align-items:center;gap:12px;min-width:0}.modal-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#14b8a6);font-weight:800;color:#04110d}.modal-person h3{margin:0;font-size:18px}.modal-actions{display:flex;align-items:center;gap:10px}.score-pill{font-size:12px;border:1px solid var(--border);padding:6px 10px;border-radius:999px;color:#c7d2fe;background:rgba(94,106,210,.12)}.customer-mask{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;padding:16px;overflow:auto}.chat-card,.modal-side{min-width:0}.chat-card{display:flex;flex-direction:column;gap:12px}.chat-history{min-height:330px;max-height:46vh;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;background:radial-gradient(circle at 20% 0%,rgba(34,197,94,.10),transparent 30%),radial-gradient(circle at 90% 20%,rgba(94,106,210,.10),transparent 28%),#0b1410}.chat-empty{height:100%;min-height:230px;display:grid;place-items:center;text-align:center;color:#9ca3af;font-size:13px;line-height:1.6;padding:24px}.bubble{max-width:78%;border-radius:16px;padding:10px 12px;margin:8px 0;box-shadow:0 8px 24px rgba(0,0,0,.18)}.bubble.customer{background:#1f2937;border:1px solid rgba(255,255,255,.09);margin-right:auto;border-bottom-left-radius:5px}.bubble.me{background:#075e54;border:1px solid rgba(34,197,94,.18);margin-left:auto;border-bottom-right-radius:5px}.bubble.elliot{background:rgba(94,106,210,.22);border:1px solid rgba(113,112,255,.26);margin-left:auto;margin-right:auto}.bubble-who{font-size:10px;color:#cbd5e1;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.bubble-text{white-space:pre-wrap;color:#f8fafc;font-size:13px;line-height:1.48}.bubble-ts{font-size:10px;color:#9ca3af;margin-top:6px;text-align:right}.chat-compose{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(255,255,255,.025)}.chat-compose textarea{width:100%;resize:vertical;border-radius:14px;padding:12px;line-height:1.45}.chat-buttons{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:10px}.modal-side{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.025);overflow:auto;max-height:calc(100vh - 136px)}.modal-side label{display:block;color:var(--soft);font-size:12px;margin-top:12px;margin-bottom:6px}.modal-side input,.modal-side textarea,.modal-side select{width:100%;border-radius:10px;padding:10px}.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-grid-2 label{margin-top:0}.modal-side .box{margin-top:14px}.modal-side .special-card,.modal-side .reminder-card{margin-top:14px}.modal .recommendation{margin-top:0}.modal .analysis-actions{grid-template-columns:1fr 1fr}.table-wrap tbody tr{cursor:pointer}.table-wrap tbody tr:hover td{background:rgba(113,112,255,.06)}
@media(max-width:980px){.customer-mask{grid-template-columns:1fr}.modal-card{max-height:calc(100vh - 14px);width:calc(100vw - 14px)}.modal{padding:7px}.modal-head{align-items:flex-start}.modal-actions{flex-wrap:wrap;justify-content:flex-end}.modal-side{max-height:none}.chat-history{max-height:42vh}.chat-buttons,.field-grid-2{grid-template-columns:1fr}}
@media(max-width:640px){.bubble{max-width:92%}.modal-head{flex-direction:column;align-items:stretch}.modal-actions{justify-content:space-between}.customer-mask{padding:10px}.chat-history{min-height:280px}.modal-card{border-radius:18px}}

.chat-buttons{grid-template-columns:1.25fr 1fr 1fr}.followup-btn{border-color:rgba(251,146,60,.35);background:rgba(251,146,60,.10);color:#fed7aa}
@media(max-width:980px){.chat-buttons{grid-template-columns:1fr}}

.reply-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.reply-actions .regenerate{border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.10);color:#cffafe}.reply-actions .regenerate:disabled{opacity:.65;cursor:wait}
@media(max-width:720px){.reply-actions{display:grid;grid-template-columns:1fr}}

.control-bar{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;margin:12px 0 10px;padding:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:14px}.control-bar label{display:flex;flex-direction:column;gap:7px;color:var(--soft);font-size:12px}.control-bar select{width:100%;padding:10px 11px;border-radius:10px}.table-hint{margin:8px 0 12px;color:var(--muted);font-size:12px;line-height:1.45}.table-hint b{color:#c7d2fe}.filters{margin-top:8px}
@media(max-width:900px){.control-bar{grid-template-columns:1fr}}


/* mobile-customer-modal-fix: Kundenmaske auf Handys als echte Vollbild-Ansicht statt kleiner Desktop-Popup-Kopie. */
@media(max-width:640px){
  body:has(#contactModal:not(.hidden)){overflow:hidden}
  .modal{
    padding:0;
    place-items:stretch;
    background:#08090a;
    backdrop-filter:none;
  }
  .modal-card{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
    border:0;
    box-shadow:none;
    overflow:hidden;
    background:#08090a;
  }
  .modal-head{
    position:sticky;
    top:0;
    z-index:5;
    flex-direction:row;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    background:rgba(12,14,18,.98);
  }
  .modal-person{gap:9px;flex:1;min-width:0}
  .modal-avatar{width:34px;height:34px;font-size:14px;flex:0 0 auto}
  .modal-person h3{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
  .meta{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
  .modal-actions{gap:6px;justify-content:flex-end;flex:0 0 auto}
  .modal-actions .score-pill{display:none}
  .modal-actions .btn{padding:9px 11px;min-height:38px}
  .customer-mask{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:10px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    flex:1;
  }
  .chat-card{order:1;gap:10px}
  .modal-side{order:2;display:flex;flex-direction:column;gap:10px;max-height:none;overflow:visible}
  .chat-history{
    min-height:150px;
    max-height:30dvh;
    padding:10px;
    border-radius:14px;
  }
  .chat-empty{min-height:130px;padding:12px;text-align:center;font-size:13px;line-height:1.45}
  .bubble{max-width:96%;padding:9px 10px;border-radius:13px}
  .bubble-text{font-size:14px;line-height:1.45}
  .bubble-ts,.bubble-who{font-size:10px}
  .chat-compose textarea,
  #feedbackComment,
  .modal-side textarea,
  .modal-side input,
  .modal-side select{
    width:100%;
    min-height:44px;
    font-size:16px;
  }
  .chat-compose textarea{rows:2;min-height:76px}
  .chat-buttons{display:grid;grid-template-columns:1fr;gap:8px}
  .chat-buttons .btn,.analysis-actions .btn,.quick-reminders .btn,.reply-actions .btn,.feedback-actions .btn,.feedback-tags .btn{width:100%;min-height:44px;padding:11px 12px}
  .analysis-actions{grid-template-columns:1fr;gap:8px;margin-top:0}
  .field-grid-2{grid-template-columns:1fr;gap:8px}
  .special-card,.reminder-card,.recommendation,.box{
    border-radius:14px;
    padding:11px;
    margin-top:0;
  }
  .section-title{gap:8px;align-items:flex-start}
  .section-title h3{font-size:14px}
  .rec-head{align-items:flex-start;flex-direction:column;gap:7px}
  .rec-grid{grid-template-columns:1fr;gap:7px}
  .rec-block,.rec-grid>div{padding:9px;margin-top:7px}
  .rec-block p,.rec-grid p{font-size:13px;line-height:1.5}
  .reply-actions,.feedback-actions,.feedback-tags{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .feedback-box{border:1px solid var(--border2);background:rgba(0,0,0,.16);border-radius:12px;padding:10px;margin-top:9px}
  .quick-reminders{grid-template-columns:1fr 1fr;gap:8px}
  #start,#follow{max-height:120px;overflow:auto;font-size:13px;line-height:1.45}
}

@media(max-width:380px){
  .modal-person h3{max-width:45vw}
  .meta{max-width:50vw}
  .reply-actions,.feedback-actions,.feedback-tags{grid-template-columns:1fr}
  .chat-history{max-height:27dvh}
}

/* mobile-dashboard-card-fix: Kundenliste auf Handys als lesbare Karten statt zusammengedrückter 11-Spalten-Tabelle. */
@media(max-width:640px){
  .main{overflow:visible}
  .topbar{gap:10px}
  .search{min-width:0;width:100%}
  .search input{min-width:0;width:100%}
  .top-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  .top-actions .avatar{justify-self:center}
  .hero{padding:18px 16px}
  .hero h2{font-size:24px;line-height:1.08}
  .filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-left:-2px;margin-right:-2px;-webkit-overflow-scrolling:touch}
  .filters button{flex:0 0 auto;white-space:nowrap;min-height:42px}
  .active-filter-label{display:inline-flex;margin:0 0 8px 0;width:max-content;max-width:100%}
  .table-wrap{overflow:visible}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}
  .table-wrap thead{display:none}
  .table-wrap table{border-spacing:0}
  .table-wrap tbody{display:grid;gap:12px}
  .table-wrap tr{
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg,rgba(17,19,24,.92),rgba(12,13,16,.92));
    border-radius:16px;
    padding:12px;
    box-shadow:0 10px 28px rgba(0,0,0,.22);
  }
  .table-wrap td{
    display:grid;
    grid-template-columns:minmax(118px,38%) minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:7px 0;
    border-bottom:1px solid rgba(255,255,255,.055);
    overflow:visible;
    text-overflow:clip;
    word-break:normal;
    overflow-wrap:anywhere;
    font-size:13px;
    line-height:1.4;
  }
  .table-wrap td:last-child{border-bottom:0;padding-bottom:0}
  .table-wrap td:first-child{grid-template-columns:1fr;padding-top:0}
  .table-wrap td:first-child::before{display:none}
  .table-wrap td::before{
    content:attr(data-label);
    color:var(--muted);
    font-size:11px;
    line-height:1.35;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .table-wrap .name{font-size:16px;line-height:1.2;margin-bottom:3px;word-break:normal;overflow-wrap:anywhere}
  .table-wrap .sub{font-size:12px;color:#a5b4fc}
  .special-preview{max-width:100%;font-size:13px;line-height:1.4}
  .response-ok,.response-empty{font-size:13px;line-height:1.4}
  .history-count,.reminder,.sentiment,.tag,.stage{white-space:normal;width:max-content;max-width:100%}
  .table-wrap .score{font-size:14px}
}

/* mobile-contact-context-fix: Kontakt-Kontext ist auf Handy gut lesbar und mit Touch-Zielen nutzbar. */
.context-card{margin-top:14px;border:1px solid rgba(167,139,250,.24);background:linear-gradient(135deg,rgba(167,139,250,.10),rgba(255,255,255,.025));border-radius:16px;padding:14px}.context-card h3{margin:0;font-size:14px}.context-card label{display:flex;flex-direction:column;gap:7px;color:var(--soft);font-size:12px;margin-top:10px}.context-card input,.context-card textarea{width:100%;min-height:44px;padding:10px;border-radius:10px}.context-quality{margin-top:10px;color:#c7d2fe;background:rgba(94,106,210,.12);border:1px solid rgba(113,112,255,.26);border-radius:10px;padding:8px;font-size:11px;line-height:1.45}.strategy-box{border:1px solid rgba(16,185,129,.22);background:rgba(16,185,129,.08);border-radius:12px;padding:10px;margin-top:9px}.strategy-box p{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.5}.today-work{margin-bottom:18px}.today-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.today-pill{border:1px solid var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}.today-pill b{display:block;font-size:24px}.today-pill span{color:var(--muted);font-size:12px}.today-list{display:grid;gap:10px}.today-item{border:1px solid var(--border2);border-radius:14px;padding:12px;background:rgba(0,0,0,.13)}.today-item p{margin:6px 0;color:var(--soft)}.today-item small{display:block;color:var(--muted);margin-bottom:8px}
@media(max-width:640px){.context-card{padding:11px;border-radius:14px}.context-card input,.context-card textarea{font-size:16px}.today-summary{grid-template-columns:1fr 1fr}.today-item .btn{width:100%;min-height:44px}}
