@import url("/fonts/fonts.css");
[hidden] { display:none !important; }
:root { --dunkel:#012B61; --dunkel2:#023A80; --linie-d:#0D4A94; --akzent:#49C0FE; --papier:#F3F8FD;
  --grau:#5B6270; --linie:#E2E6EC; --rot:#C8382E; --gelb:#B7791F; --gruen:#1E8E5A; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--papier); color:var(--dunkel); font-family:Manrope, system-ui, -apple-system, Segoe UI, sans-serif; line-height:1.5; font-size:15.5px; }
a { color:inherit; }
header.app { background:var(--dunkel); color:#F4F6F8; }
header.app .in { max-width:1180px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; gap:16px; }
.wort { font-weight:800; letter-spacing:1.5px; font-size:19px; text-decoration:none; color:#fff; white-space:nowrap; }
.wort b { color:var(--akzent); font-weight:600; }
.wort img { height:28px; display:block; }
header.app .wer { margin-left:auto; display:flex; align-items:center; gap:12px; font-size:13.5px; color:#C8CDD6; }
header.app .wer button { background:transparent; border:1px solid var(--linie-d); color:#F4F6F8; border-radius:10px; padding:7px 12px; font:inherit; cursor:pointer; }
main.app { max-width:1180px; margin:0 auto; padding:24px 20px 60px; }
.schmal { max-width:560px; margin:0 auto; }
h1 { font-size:28px; line-height:1.2; margin:6px 0 10px; }
h2 { font-size:19px; margin:0 0 12px; }
.lead { color:var(--grau); margin:0 0 20px; }
.karte { background:#fff; border:1px solid var(--linie); border-radius:18px; padding:22px; margin-bottom:18px; }
.dunkelkarte { background:var(--dunkel); color:#F4F6F8; border-radius:18px; padding:22px; margin-bottom:18px; }
.dunkelkarte .klein { color:#AEB6C2; }
label { display:block; font-weight:700; font-size:13.5px; margin:14px 0 6px; }
input, select, textarea { width:100%; padding:12px 14px; border:1.5px solid var(--linie); border-radius:12px; font:600 15.5px Manrope, sans-serif; background:#fff; color:var(--dunkel); }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--dunkel); box-shadow:0 0 0 3px rgba(73,192,254,.45); }
.check { display:flex; gap:10px; align-items:flex-start; font-weight:500; font-size:14.5px; }
.check input { width:20px; height:20px; flex:none; margin-top:2px; accent-color:var(--dunkel); }
button.los, a.los { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 20px; border-radius:12px; border:0; background:var(--akzent); color:var(--dunkel); font:800 15.5px Manrope, sans-serif; cursor:pointer; text-decoration:none; }
button.zweit { min-height:40px; padding:0 14px; border-radius:10px; border:1.5px solid var(--linie); background:#fff; color:var(--dunkel); font:700 14px Manrope, sans-serif; cursor:pointer; }
button.zweit:hover { border-color:var(--dunkel); }
button:disabled { opacity:.55; cursor:default; }
.fehler { color:var(--rot); font-weight:700; font-size:14px; margin-top:10px; min-height:1px; }
.ok { color:var(--gruen); font-weight:700; font-size:14px; margin-top:10px; }
.klein { font-size:13px; color:var(--grau); }
.raster { display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(min(180px, 100%), 1fr)); margin-bottom:18px; }
.zahl { background:#fff; border:1px solid var(--linie); border-radius:16px; padding:16px 18px; }
.zahl b { display:block; font-size:26px; line-height:1.15; }
.zahl span { font-size:13px; color:var(--grau); }
.tabs { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 18px; }
.tabs button { border:1.5px solid var(--linie); background:#fff; border-radius:999px; padding:9px 16px; font:700 14px Manrope, sans-serif; cursor:pointer; color:var(--dunkel); }
.tabs button.an { background:var(--dunkel); color:#fff; border-color:var(--dunkel); }
.tabelle-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--grau); padding:8px 10px; border-bottom:1.5px solid var(--linie); white-space:nowrap; }
td { padding:10px; border-bottom:1px solid var(--linie); vertical-align:top; }
tr.klick { cursor:pointer; } tr.klick:hover td { background:#F7F9FB; }
.r { text-align:right; white-space:nowrap; }
.st { display:inline-block; border-radius:999px; padding:3px 10px; font-size:12px; font-weight:800; white-space:nowrap; background:#EEF1F5; }
.st.unterschrieben { background:#FFF4D6; color:#7A5300; } .st.eingereicht { background:#E3EEFF; color:#1C4E9A; }
.st.angenommen { background:#E6F6EC; color:#1E6B45; } .st.beliefert { background:var(--akzent); color:var(--dunkel); } .st.storniert { background:#FDE7E5; color:#9A2A21; }
.zeile { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.kopier { display:grid; grid-template-columns:minmax(140px, 220px) 1fr auto; gap:0; border:1px solid var(--linie); border-radius:12px; overflow:hidden; }
.kopier div { padding:8px 12px; border-bottom:1px solid var(--linie); font-size:14px; }
.kopier .f { color:var(--grau); font-weight:700; background:#FAFBFC; }
.kopier .w { font-weight:700; word-break:break-word; }
.kopier button { border:0; border-bottom:1px solid var(--linie); background:#fff; cursor:pointer; padding:0 12px; font:700 12.5px Manrope, sans-serif; color:var(--grau); }
.kopier button:hover { color:var(--dunkel); }
.leiste { position:fixed; inset:0; background:rgba(1,43,97,.45); display:flex; justify-content:flex-end; z-index:50; }
.leiste .panel { width:min(760px, 100%); height:100%; overflow-y:auto; background:var(--papier); padding:22px; }
.link-box { display:flex; gap:8px; align-items:center; background:var(--dunkel2); border:1px solid var(--linie-d); border-radius:12px; padding:10px 12px; }
.link-box code { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; color:#fff; }
.qr { background:#fff; border-radius:14px; padding:10px; width:180px; }
.qr svg { display:block; width:100%; height:auto; }
footer.app { text-align:center; color:var(--grau); font-size:13px; padding:10px 16px 32px; }
@media (max-width:640px) { h1 { font-size:24px; } .kopier { grid-template-columns:1fr auto; } .kopier .f { grid-column:1 / -1; border-bottom:0; padding-bottom:0; background:#fff; font-size:12px; } header.app .wer span { display:none; } }
.seite { display:grid; grid-template-columns:220px minmax(0, 1fr); gap:24px; align-items:start; }
nav.menue { position:sticky; top:16px; display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid var(--linie); border-radius:16px; padding:8px; }
nav.menue button { text-align:left; border:0; background:transparent; border-radius:10px; padding:11px 14px; font:700 14.5px Manrope, sans-serif; color:var(--dunkel); cursor:pointer; display:flex; justify-content:space-between; gap:8px; }
nav.menue button:hover { background:#F2F4F7; }
nav.menue button.an { background:var(--dunkel); color:#fff; }
nav.menue .zaehl { background:var(--akzent); color:var(--dunkel); border-radius:999px; font-size:12px; padding:1px 8px; }
@media (max-width:820px) { .seite { grid-template-columns:minmax(0, 1fr); } nav.menue { position:static; flex-direction:row; overflow-x:auto; } nav.menue button { white-space:nowrap; } }

/* Tarife & Preise (22.10.2026) */
.tariftab td:nth-child(2){min-width:190px}
.tariftab td:nth-child(3){min-width:150px}
@media (max-width:700px){
  .tariftab thead{display:none}
  .tariftab tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}
  .tariftab td{display:block;border:0!important;padding:0!important;text-align:left!important;min-width:0!important}
  .tariftab td:nth-child(1),.tariftab td:nth-child(2),.tariftab td:nth-child(6){grid-column:1/-1}
  .tariftab td:nth-child(2){font-weight:600}
  .tariftab td:nth-child(n+3)::before{content:attr(data-l);display:block;font-size:11px;letter-spacing:.3px;text-transform:uppercase;opacity:.6;margin-bottom:2px}
}

/* Rückfragen / Kundenprofil (22.10.2026) */
.ticket { border:1px solid #E3E8EE; border-radius:12px; padding:12px 14px; margin:10px 0; background:#fff; }
.ticket.erledigt { opacity:.75; }
.verlauf { display:flex; flex-direction:column; gap:8px; margin:10px 0; }
.nachricht { max-width:86%; background:#F1F3F6; border-radius:12px 12px 12px 4px; padding:8px 12px; white-space:pre-wrap; font-size:14px; line-height:1.45; }
.nachricht.ich { align-self:flex-end; background:#E8F6EE; border-radius:12px 12px 4px 12px; }
.nachricht .kopf { font-size:11px; color:#6A7280; margin-bottom:2px; white-space:normal; }
tr.klick { cursor:pointer; }

/* Seminar-Modus (Demo): alles rund um Provisionssätze ausblenden */
body.seminar .nurProv { display:none !important; }

/* Unterschriftsfeld (Partner-Onboarding) */
.flaeche { position:relative; height:170px; border:2px dashed #012B61; border-radius:14px; background:#fff; overflow:hidden; touch-action:none; margin-top:6px; }
.flaeche canvas { display:block; width:100%; height:100%; cursor:crosshair; }
.flaeche .platz { position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); text-align:center; padding:0 14px; font-size:14px; line-height:1.35; font-weight:700; color:#9AA3B2; pointer-events:none; }
.flaeche .linie { position:absolute; left:18px; right:18px; bottom:34px; border-bottom:1px solid #E3E8EE; pointer-events:none; }
.flaeche button { position:absolute; right:10px; top:10px; height:32px; padding:0 12px; border-radius:100px; border:1px solid #D5DBE3; background:#fff; font-weight:700; font-size:12.5px; cursor:pointer; }

/* Versicherungstermine (30.10.2026) */
.chips { display:flex; gap:8px; flex-wrap:wrap; }
.chips button { border:1.5px solid var(--linie); background:#fff; border-radius:999px; padding:8px 14px; font:700 13.5px Manrope, sans-serif; cursor:pointer; color:var(--dunkel); }
.chips button.an { background:var(--dunkel); color:#fff; border-color:var(--dunkel); }
.st.offen { background:#FFF4D6; color:#7A5300; } .st.termin { background:#E3EEFF; color:#1C4E9A; } .st.stattgefunden { background:#EDE9FE; color:#4C1D95; }
.st.abgeschlossen { background:var(--akzent); color:var(--dunkel); } .st.kein_abschluss { background:#FDE7E5; color:#9A2A21; } .st.rot { background:var(--rot); color:#fff; }
