/* ProgressNow Akquise-Radar – Stylesheet (hell als Standard, dunkel optional). Gleiche Designsprache wie das SEO Cockpit. */
@font-face{font-family:'Outfit';font-weight:400 800;font-display:swap;src:url(fonts/outfit-400-800-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-weight:400 800;font-display:swap;src:url(fonts/outfit-400-800-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-weight:400 700;font-display:swap;src:url(fonts/dmsans-400-700-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-weight:400 700;font-display:swap;src:url(fonts/dmsans-400-700-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Mono';font-weight:400;font-display:swap;src:url(fonts/dmmono-400-normal-latin.woff2) format('woff2')}
@font-face{font-family:'DM Mono';font-weight:500;font-display:swap;src:url(fonts/dmmono-500-normal-latin.woff2) format('woff2')}

:root{
  color-scheme:light;
  --bg:#edf1f7; --bg-2:#f6f8fc;
  --surface:#ffffff; --surface-2:#f4f7fb; --surface-3:#e8edf5;
  --line:#e1e7f0; --line-2:#d2dae6; --line-3:#b6c1d2;
  --ink:#0b1d36; --ink-2:#43516b; --ink-3:#6b7892; --ink-4:#99a5b9;
  --blue:#1f7fd0; --blue-2:#0b62a8; --blue-soft:#e7f1fb;
  --lime:#3b8500; --lime-soft:#eef9e1; --navy:#02335b;
  --grad:linear-gradient(100deg,#02335b 0%,#1f8fd6 50%,#7adf03 100%);
  --good:#0ca30c; --good-ink:#0a7a0a; --warn:#f0a500; --warn-ink:#8a5a00; --crit:#d03b3b; --crit-ink:#b02a2a;
  --c-ohne:#5cc600; --c-ohne-ink:#2f6d00; --c-schlecht:#f0882a; --c-schlecht-ink:#9a4b08; --c-unbekannt:#9aa6ba; --c-unbekannt-ink:#56627a;
  --c-ok:#1f7fd0; --c-ok-ink:#0b62a8; --c-pipeline:#02335b; --c-social:#8b5cf6; --c-social-ink:#5b2fd1; --c-verz:#e0533c; --c-verz-ink:#a7321f;
  --card-bg:#ffffff;
  --card-sh:0 1px 2px rgba(11,29,54,.05),0 14px 34px -20px rgba(11,29,54,.22);
  --card-sh-hover:0 2px 4px rgba(11,29,54,.05),0 22px 44px -22px rgba(11,29,54,.32);
  --head-bg:linear-gradient(118deg,#022a4c 0%,#043f70 46%,#0b5c98 78%,#127fb9 100%);
  --head-ink:#ffffff; --head-ink-2:rgba(255,255,255,.74); --head-line:rgba(255,255,255,.16);
  --side-bg:#ffffff; --side-line:#e6ebf3; --side-ink:#43516b; --side-hover:#f1f5fa; --side-on:#e7f1fb; --side-on-ink:#0b62a8;
  --th-bg:#f5f8fc; --row-hover:#f2f7fd; --input-bg:#ffffff; --chip-bg:#f3f6fb;
  --tip-bg:#0b1d36; --tip-ink:#fff;
  --glow-1:rgba(31,143,214,.16); --glow-2:rgba(122,223,3,.12); --dot:rgba(11,29,54,.055);
  --f-display:"Outfit","Segoe UI",system-ui,sans-serif; --f-body:"DM Sans","Segoe UI",system-ui,sans-serif; --f-mono:"DM Mono",ui-monospace,Consolas,monospace;
  --r:18px; --r-s:12px; --r-xs:8px; --ease:cubic-bezier(.16,1,.3,1);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#151d31; --bg-2:#19223a; --surface:#1e2843; --surface-2:#243050; --surface-3:#2c395c;
  --line:rgba(176,196,236,.11); --line-2:rgba(176,196,236,.19); --line-3:rgba(176,196,236,.30);
  --ink:#f0f4fb; --ink-2:#b9c3d8; --ink-3:#8a97b2; --ink-4:#64718d;
  --blue:#3d8ce8; --blue-2:#6aaef4; --blue-soft:rgba(61,140,232,.16); --lime:#8fe534; --lime-soft:rgba(143,229,52,.12);
  --good:#16b016; --good-ink:#7ee08f; --warn:#fab219; --warn-ink:#ffd88a; --crit:#e04848; --crit-ink:#ffa3a3;
  --c-ohne-ink:#a8f05a; --c-schlecht-ink:#ffb77a; --c-unbekannt-ink:#aab6c9; --c-ok-ink:#8cc4f5; --c-social-ink:#c4b5fd; --c-verz-ink:#ffa094;
  --card-bg:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),#1e2843;
  --card-sh:0 1px 0 rgba(255,255,255,.06) inset,0 22px 44px -28px rgba(5,10,25,.75);
  --card-sh-hover:0 1px 0 rgba(255,255,255,.08) inset,0 26px 50px -26px rgba(5,10,25,.9);
  --head-bg:linear-gradient(120deg,rgba(40,56,96,.85),rgba(30,40,67,.7) 55%,rgba(36,60,58,.6));
  --head-ink:#f0f4fb; --head-ink-2:#b9c3d8; --head-line:rgba(176,196,236,.16);
  --side-bg:#19223a; --side-line:rgba(176,196,236,.12); --side-ink:#b9c3d8; --side-hover:rgba(255,255,255,.05); --side-on:rgba(61,140,232,.16); --side-on-ink:#8cc4f5;
  --th-bg:#1b2440; --row-hover:rgba(61,140,232,.08); --input-bg:#19223a; --chip-bg:#243050;
  --tip-bg:#0f1628; --glow-1:rgba(31,143,214,.22); --glow-2:rgba(122,223,3,.09); --dot:rgba(176,196,236,.07);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1100px 640px at 95% -10%,var(--glow-1),transparent 62%),radial-gradient(820px 520px at -8% 110%,var(--glow-2),transparent 60%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(var(--dot) 1px,transparent 1.3px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.2) 75%);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.2) 75%)}
a{color:var(--blue-2);text-decoration:none;transition:color .2s} a:hover{color:var(--blue)}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;letter-spacing:-.015em;font-weight:600;text-wrap:balance}
h1{font-size:2rem;line-height:1.08} h2{font-size:1.12rem} h3{font-size:.98rem}
p{margin:0 0 .6em} code,.mono{font-family:var(--f-mono);font-size:.86em;overflow-wrap:anywhere} pre{white-space:pre-wrap;overflow-wrap:anywhere} small,.muted{color:var(--ink-3)} .small{font-size:.82rem}
.num{font-variant-numeric:tabular-nums} ::selection{background:color-mix(in srgb,var(--blue) 30%,transparent)}
.i{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em} :focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.hidden{display:none!important} .inline{display:inline-flex;gap:6px;align-items:center} .right{text-align:right} .nowrap{white-space:nowrap}
.empty{color:var(--ink-3);padding:14px 4px;text-align:center}

/* ---------- Grundgerüst */
.shell{position:relative;z-index:1;display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:4px;padding:16px 12px;background:var(--side-bg);border-right:1px solid var(--side-line);z-index:40}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 14px}
.brand img{width:36px;height:36px;border-radius:10px;object-fit:contain;background:#fff;padding:3px;border:1px solid var(--side-line)}
.brand b{font-family:var(--f-display);font-size:1.02rem;display:block;line-height:1.1;color:var(--ink)}
.brand span{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-label{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding:14px 8px 5px}
.nav a{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-radius:9px;color:var(--side-ink);font-weight:500;font-size:.92rem;transition:background .2s,color .2s}
.nav a:hover{background:var(--side-hover);color:var(--ink)} .nav a.on{background:var(--side-on);color:var(--side-on-ink);font-weight:600}
.nav a.on::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#1f8fd6,#7adf03)}
.nav svg{width:17px;height:17px;flex:none;opacity:.85} .nav .badge-count{margin-left:auto}
.badge-count{font-family:var(--f-mono);font-size:.66rem;background:#e0533c;color:#fff;border-radius:99px;padding:1px 6px}
.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--side-line);display:flex;flex-direction:column;gap:2px}
.nav-btn{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:0;background:none;color:var(--side-ink);font:500 .88rem var(--f-body);cursor:pointer;text-align:left}
.nav-btn:hover{background:var(--side-hover);color:var(--ink)} .nav-btn svg{width:17px;height:17px}
.side-ver{font-family:var(--f-mono);font-size:.62rem;color:var(--ink-4);padding:6px 10px 0}
.theme-toggle .sun{display:none} :root[data-theme="dark"] .theme-toggle .sun{display:block} :root[data-theme="dark"] .theme-toggle .moon{display:none}
.main{min-width:0;padding:22px clamp(16px,3vw,44px) 70px;max-width:1520px;width:100%;margin:0 auto}
.main.full{padding:0;max-width:none;height:100vh;overflow:hidden}
.mobile-top{display:none}

/* ---------- Kopfband */
.page-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px;padding:24px 26px 22px;border-radius:24px;overflow:hidden;background:var(--head-bg);color:var(--head-ink);box-shadow:0 24px 50px -30px rgba(2,40,80,.55)}
.page-head::before{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,#1f8fd6,#7adf03,#1f8fd6);background-size:200% 100%;animation:sheen 9s linear infinite}
.page-head::after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(122,223,3,.22),transparent 62%);pointer-events:none}
@keyframes sheen{to{background-position:200% 0}}
.page-head>*{position:relative;z-index:1} .page-head h1{color:var(--head-ink)}
.page-head .eyebrow{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--head-ink-2);margin-bottom:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.page-head .sub{color:var(--head-ink-2);margin:6px 0 0;max-width:70ch} .page-head .sub a{color:#bfe1ff}
.page-head .chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.page-head .btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px)}
.page-head .btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.34)}
.page-head .btn.primary{background:linear-gradient(180deg,#9ded3f,#74c814);border-color:rgba(190,255,120,.6);color:#0b2410;font-weight:600;box-shadow:0 10px 24px -10px rgba(122,223,3,.8)}
.page-head .btn.danger{background:rgba(224,83,60,.25);border-color:rgba(255,160,140,.4)}
.page-head select{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff} .page-head select option{color:#0b1d36}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.subtabs a{padding:6px 13px;border-radius:99px;border:1px solid var(--line-2);color:var(--ink-2);font-size:.85rem;background:var(--surface);transition:border-color .2s,background .2s,color .2s}
.subtabs a:hover{border-color:var(--line-3);color:var(--ink)} .subtabs a.on{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 55%,transparent);color:var(--blue-2)}

/* ---------- Karten, Raster, Kennzahlen */
.grid{display:grid;gap:18px;margin-bottom:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)} .g-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.card{position:relative;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--card-sh);min-width:0;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s;color:inherit}
a.card:hover{box-shadow:var(--card-sh-hover);transform:translateY(-2px);color:inherit}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.card-head h2,.card-head h3{display:flex;align-items:center;gap:8px} .card-head .hint{color:var(--ink-3);font-size:.82rem}
.kpi{overflow:hidden;display:block}
.card.kpi::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--grad);opacity:.85}
.kpi .label{font-size:.8rem;color:var(--ink-3);display:flex;align-items:center;gap:6px;justify-content:space-between;font-weight:500}
.kpi .value{font-family:var(--f-display);font-size:2.1rem;font-weight:600;letter-spacing:-.025em;margin-top:6px;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--ink)}
.kpi .foot{margin-top:6px;font-size:.8rem;color:var(--ink-3)}
.kpi.ohne::before{background:linear-gradient(90deg,#5cc600,#b6f06a)} .kpi.schlecht::before{background:linear-gradient(90deg,#f0882a,#ffc48a)}

/* ---------- Buttons, Formulare */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:11px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:500 .9rem var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s}
.btn:hover{background:var(--surface-2);border-color:var(--line-3);color:var(--ink)} .btn:active{transform:translateY(1px) scale(.99)}
.btn.primary{background:linear-gradient(180deg,#2c8be0,#1767b8);border-color:transparent;color:#fff;box-shadow:0 10px 22px -10px rgba(31,127,208,.8)}
.btn.primary:hover{background:linear-gradient(180deg,#3796ea,#1b72c6);color:#fff}
.btn.lime{background:linear-gradient(180deg,#9ded3f,#74c814);color:#0b2410;border-color:transparent;font-weight:600}
.btn.ghost{background:transparent;box-shadow:none}
.btn.danger{border-color:color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit-ink);background:color-mix(in srgb,var(--crit) 7%,transparent)}
.btn.sm{padding:6px 11px;font-size:.82rem;border-radius:9px} .btn.xs{padding:3px 8px;font-size:.76rem;border-radius:8px}
.btn svg{width:16px;height:16px} .btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn.icon{padding:7px;width:34px;height:34px;justify-content:center}
label{display:block;font-size:.82rem;color:var(--ink-2);margin:0 0 6px;font-weight:500}
.field{margin-bottom:14px} .field .help{font-size:.78rem;color:var(--ink-3);margin-top:5px}
input[type=text],input[type=url],input[type=password],input[type=number],input[type=date],input[type=search],input[type=email],input[type=tel],select,textarea{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--input-bg);color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--blue) 70%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 16%,transparent)}
input::placeholder,textarea::placeholder{color:var(--ink-4)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px} .form-grid .wide{grid-column:1/-1}
.check{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--ink-2);cursor:pointer} .check input{width:auto;margin:0}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px} .filters input,.filters select{width:auto;min-width:150px}

/* ---------- Tabellen, Listen */
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:.87rem}
th{position:sticky;top:0;background:var(--th-bg);z-index:1;text-align:left;font-weight:600;color:var(--ink-3);font-size:.74rem;letter-spacing:.03em;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle} tr:last-child td{border-bottom:0} tbody tr:hover td{background:var(--row-hover)}
td.r,th.r{text-align:right;font-variant-numeric:tabular-nums} td.c,th.c{text-align:center}
.list{display:flex;flex-direction:column}
.row-item{display:flex;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);align-items:center}
.row-item:last-child{border-bottom:0} .ri-main{min-width:0} .ri-main b{font-weight:600} .ri-side{display:flex;gap:6px;align-items:center;flex:none}
.due{font-family:var(--f-mono);font-size:.78rem;padding:2px 8px;border-radius:99px;background:var(--chip-bg);color:var(--ink-2)}
.due.today{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn-ink)} .due.over{background:color-mix(in srgb,var(--crit) 14%,transparent);color:var(--crit-ink)}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}

/* ---------- Chips, Status, Chance */
.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:99px;font-size:.74rem;font-weight:500;border:1px solid var(--line-2);color:var(--ink-2);background:var(--chip-bg);white-space:nowrap}
.chip i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.chip.st-keine{color:var(--c-ohne-ink);border-color:color-mix(in srgb,var(--c-ohne) 50%,transparent);background:color-mix(in srgb,var(--c-ohne) 12%,transparent)}
.chip.st-social{color:var(--c-social-ink);border-color:color-mix(in srgb,var(--c-social) 45%,transparent);background:color-mix(in srgb,var(--c-social) 10%,transparent)}
.chip.st-verzeichnis{color:var(--c-verz-ink);border-color:color-mix(in srgb,var(--c-verz) 45%,transparent);background:color-mix(in srgb,var(--c-verz) 10%,transparent)}
.chip.st-unbekannt{color:var(--c-unbekannt-ink)} .chip.st-vorhanden{color:var(--c-ok-ink);border-color:color-mix(in srgb,var(--c-ok) 45%,transparent);background:color-mix(in srgb,var(--c-ok) 9%,transparent)}
.chip[class*="sg-"]{color:#fff;border-color:transparent}
.sg-neu{background:#64748b} .sg-interessant{background:#0ea5e9} .sg-demo{background:#8b5cf6} .sg-kontaktiert{background:#1f7fd0} .sg-termin{background:#f59e0b} .sg-angebot{background:#ec6b2d} .sg-gewonnen{background:#16a34a} .sg-verloren{background:#9ca3af} .sg-irrelevant{background:#cbd5e1;color:#334155!important}
.score{display:inline-grid;place-items:center;min-width:38px;height:28px;padding:0 8px;border-radius:9px;font:600 .86rem var(--f-mono);letter-spacing:.02em;background:var(--chip-bg);color:var(--ink-3);border:1px solid var(--line-2)}
.score.l4{background:#5cc600;color:#0b2410;border-color:transparent} .score.l3{background:#f0882a;color:#fff;border-color:transparent}
.score.l2{background:#f5c34b;color:#4a3300;border-color:transparent} .score.l1{background:var(--blue-soft);color:var(--blue-2);border-color:transparent}
.score.big{min-width:64px;height:48px;font-size:1.4rem;border-radius:14px}
.sev{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;margin-top:6px} .sev.crit{background:var(--crit)} .sev.warn{background:var(--warn)} .sev.info{background:var(--ink-4)}
.reason{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)} .reason:last-child{border-bottom:0}
.reason b{font-weight:600;display:block} .reason .d{font-size:.82rem;color:var(--ink-3)} .reason .pts{margin-left:auto;font-family:var(--f-mono);font-size:.74rem;color:var(--ink-4);flex:none}
.good{display:flex;gap:8px;align-items:flex-start;padding:5px 0;font-size:.88rem;color:var(--good-ink)}
.points{counter-reset:p;padding:0;margin:0;list-style:none} .points li{position:relative;padding:9px 0 9px 36px;border-bottom:1px solid var(--line)} .points li:last-child{border-bottom:0}
.points li::before{counter-increment:p;content:counter(p);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font:600 .78rem var(--f-mono);background:var(--blue-soft);color:var(--blue-2)}

/* ---------- Ring (Chance) */
.ring{position:relative;width:96px;height:96px;flex:none} .ring svg{transform:rotate(-90deg);width:100%;height:100%}
.ring circle{fill:none;stroke-width:9;stroke-linecap:round} .ring .bg{stroke:var(--surface-3)} .ring .fg{stroke:var(--blue);stroke-dasharray:264;stroke-dashoffset:calc(264 - 264*var(--v,0)/100);transition:stroke-dashoffset 1.2s var(--ease)}
.ring .v{position:absolute;inset:0;display:grid;place-items:center;font:600 1.5rem var(--f-display);letter-spacing:-.02em}
.ring.l4 .fg{stroke:#5cc600} .ring.l3 .fg{stroke:#f0882a} .ring.l2 .fg{stroke:#f5c34b} .ring.l1 .fg{stroke:var(--blue)}

/* ---------- Pipeline */
.pipe-bar{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--surface-3);gap:2px}
.pipe-bar .seg{min-width:6px}
.pipe-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.84rem} .pipe-legend a{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.pipe-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}
.kcol{background:color-mix(in srgb,var(--surface) 65%,transparent);border:1px solid var(--line);border-radius:var(--r-s);padding:10px;min-height:200px;transition:background .2s,border-color .2s}
.kcol.over{background:var(--blue-soft);border-color:var(--blue)}
.kcol h3{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;padding:4px 6px 10px;gap:8px} .kcol h3 i{width:10px;height:10px;border-radius:50%;display:inline-block}
.kcol h3 .n{font-family:var(--f-mono);font-size:.74rem;color:var(--ink-3);font-weight:400}
.kcard{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin-bottom:8px;cursor:grab;box-shadow:var(--card-sh);transition:transform .2s var(--ease),box-shadow .2s}
.kcard:hover{transform:translateY(-1px);box-shadow:var(--card-sh-hover)} .kcard.dragging{opacity:.5}
.kcard .t{display:flex;justify-content:space-between;gap:8px;align-items:flex-start} .kcard .t a{font-weight:600;color:var(--ink)}
.kcard .m{font-size:.78rem;color:var(--ink-3);margin-top:3px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.kcard select{margin-top:8px;padding:4px 8px;font-size:.78rem;border-radius:8px}

/* ---------- Karte (Airbnb-Aufteilung) */
.radar{display:grid;grid-template-columns:420px minmax(0,1fr);height:100vh;background:var(--surface)}
.panel{position:relative;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--surface)}
.panel-head{padding:14px 16px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.place-form{display:flex;gap:8px} .place-form input{flex:1}
.panel-head .row{display:flex;gap:8px} .panel-head .row select{flex:1;min-width:0}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.fchip{padding:4px 10px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);font-size:.78rem;color:var(--ink-2);cursor:pointer;display:inline-flex;gap:6px;align-items:center;transition:background .2s,border-color .2s}
.fchip i{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--ink-4)}
.fchip:hover{border-color:var(--line-3)} .fchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.fchip .n{font-family:var(--f-mono);font-size:.7rem;opacity:.7}
.panel-sum{padding:10px 16px;font-size:.82rem;color:var(--ink-2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.panel-bulk{display:flex;gap:6px;flex-wrap:wrap}
.result-list{flex:1;overflow:auto;min-height:0}
.result-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}
.result-item:hover,.result-item.hl{background:var(--row-hover)} .result-item b{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-item .m{font-size:.78rem;color:var(--ink-3);display:flex;gap:6px;flex-wrap:wrap;align-items:center;grid-column:1/-1}
.result-item .dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.panel-foot{padding:8px 16px;font-size:.7rem;color:var(--ink-4);border-top:1px solid var(--line)}
.map-wrap{position:relative;min-width:0;min-height:0} #map{position:absolute;inset:0;background:#e9eef4;z-index:0}   /* hält die Leaflet-Ebenen unter Menü und Dialogen */
.search-here{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:600;padding:9px 16px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 .86rem var(--f-body);cursor:pointer;box-shadow:0 12px 30px -12px rgba(11,29,54,.45);display:inline-flex;gap:8px;align-items:center;animation:rise .4s var(--ease);white-space:nowrap;max-width:calc(100% - 120px);overflow:hidden;text-overflow:ellipsis}
.search-here:hover{background:var(--surface-2)} .search-here.busy{opacity:.7;cursor:progress}
.map-tools{position:absolute;right:14px;top:14px;z-index:600;display:flex;flex-direction:column;gap:8px}
.map-tools .btn{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px;box-shadow:0 10px 24px -12px rgba(11,29,54,.5)}
.legend{position:absolute;left:14px;bottom:28px;z-index:600;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:.74rem;display:flex;gap:10px;flex-wrap:wrap;box-shadow:0 10px 24px -14px rgba(11,29,54,.4);max-width:calc(100% - 28px)}
.legend span{display:inline-flex;gap:5px;align-items:center;color:var(--ink-2)} .legend i{width:10px;height:10px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.dot-ohne{background:#5cc600} .dot-schlecht{background:#f0882a} .dot-unbekannt{background:#9aa6ba} .dot-ungeprueft{background:#8fc3ef} .dot-ok{background:#1f7fd0} .dot-pipeline{background:#02335b}
.map-wrap .leaflet-control-attribution{font-size:.64rem;background:rgba(255,255,255,.75)}
.map-wrap .leaflet-container{font-family:var(--f-body)} .leaflet-tooltip{font:500 .8rem var(--f-body);border-radius:8px;border-color:var(--line-2)}
:root[data-theme="dark"] .leaflet-layer{filter:brightness(.78) contrast(1.05) saturate(.8)}
.profil-view{position:absolute;inset:0;background:var(--surface);display:flex;flex-direction:column;z-index:5;transform:translateX(-12px);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .25s}
.panel.open .profil-view{transform:none;opacity:1;pointer-events:auto}
.profil{display:flex;flex-direction:column;min-height:0;height:100%}
.p-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);gap:8px}
.p-body{flex:1;overflow:auto;padding:14px 16px 24px}
.p-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.p-head h2{font-size:1.3rem;line-height:1.15} .p-kind{color:var(--ink-3);font-size:.84rem;margin-top:2px}
.p-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
.p-sec{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.p-sec h3{display:flex;align-items:center;gap:8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:8px;font-family:var(--f-mono);font-weight:500}
.p-kv{display:grid;grid-template-columns:118px minmax(0,1fr);gap:6px 10px;font-size:.88rem} .p-kv dt{color:var(--ink-3);margin:0} .p-kv dd{margin:0;overflow-wrap:anywhere}
.p-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.p-hero{display:flex;gap:16px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.p-hero .ring{width:78px;height:78px} .p-hero .ring .v{font-size:1.25rem}
.p-hero .lvl{font-weight:600} .p-hero .sm{font-size:.8rem;color:var(--ink-3)}
.p-status{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ws-row{display:flex;gap:6px;margin-top:8px} .ws-row input{flex:1}
.mobile-only{display:none}

/* ---------- Kontakt-Dialog, Favoriten, letzter Kontakt */
.dlg{border:0;padding:0;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.45);width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 32px)}
.dlg::backdrop{background:rgba(11,29,54,.45);backdrop-filter:blur(3px)}
.dlg-form{padding:18px 20px 20px}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.dlg-head b{font-family:var(--f-display);font-size:1.1rem}
.dlg-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}
.star-btn{border:0;background:none;color:var(--ink-4);cursor:pointer;padding:2px;display:inline-flex;border-radius:6px;vertical-align:middle;transition:color .2s,transform .2s var(--ease)}
.star-btn svg{width:18px;height:18px} .star-btn:hover{color:#f59e0b;transform:scale(1.15)} .star-btn.on{color:#f59e0b} .star-btn.on svg{fill:#f59e0b}
.lc{font-size:.8rem;color:var(--ink-2);white-space:nowrap}
.chip.oc-good{color:var(--good-ink);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 9%,transparent)}
.chip.oc-warn{color:var(--warn-ink);border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)}
.chip.oc-bad{color:var(--crit-ink);border-color:color-mix(in srgb,var(--crit) 40%,transparent);background:color-mix(in srgb,var(--crit) 8%,transparent)}
.lastbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--blue-soft);border:1px solid color-mix(in srgb,var(--blue) 30%,transparent);font-size:.86rem;margin-top:12px}
.lastbox b{font-weight:600}
.g3 .kpi .value{font-size:1.9rem}
.feed .row-item{align-items:flex-start}
.note-x{font-size:.8rem;color:var(--ink-3);max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Gesprächsplan, aufklappbare Abschnitte, Website-Link */
.pb{display:flex;flex-direction:column;gap:4px}
.pb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px} .pb-head b{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-display);font-size:1rem}
.pb-note{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn-ink);font-size:.84rem;margin-bottom:6px}
.pb details,.p-more{border-top:1px solid var(--line);padding:6px 0}
.pb details summary,.p-more summary{cursor:pointer;font-weight:600;font-size:.9rem;padding:6px 0;list-style:none;display:flex;align-items:center;gap:8px;color:var(--ink)}
.pb details summary::before,.p-more summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg);transition:transform .2s;flex:none;margin-left:2px}
.pb details[open] summary::before,.p-more[open] summary::before{transform:rotate(45deg)}
.pb details summary::-webkit-details-marker,.p-more summary::-webkit-details-marker{display:none}
.pb details p{margin:4px 0 6px;font-size:.9rem}
.pb-script{padding:10px 12px;border-radius:12px;background:var(--surface-2);border-left:3px solid var(--lime);font-size:.92rem;line-height:1.6}
.pb-list{margin:4px 0 6px;padding-left:18px;font-size:.9rem} .pb-list li{margin-bottom:5px} .pb-list.dont li::marker{color:var(--crit)}
.pb-obj{margin:4px 0 6px;font-size:.9rem} .pb-obj dt{font-weight:600;margin-top:8px;color:var(--ink)} .pb-obj dd{margin:2px 0 0;color:var(--ink-2)}
.site-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:11px;background:var(--blue-soft);color:var(--blue-2);font-weight:600;max-width:100%;overflow:hidden} .site-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .site-link:hover{background:color-mix(in srgb,var(--blue) 18%,transparent)}
.p-more summary h3{margin:0}

/* ---------- Gesprächsleitfaden */
.gs{display:flex;flex-direction:column;gap:8px}
.gs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap} .gs-head b{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-display);font-size:1rem}
.seg-btns{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}
.seg-btns button{border:0;background:var(--surface);color:var(--ink-2);font:500 .76rem var(--f-body);padding:5px 9px;cursor:pointer;border-right:1px solid var(--line)}
.seg-btns button:last-child{border-right:0} .seg-btns button.on{background:var(--ink);color:#fff}
.gs-obs{padding:8px 12px;border-radius:10px;background:var(--surface-2);font-size:.86rem} .gs-obs ul{margin:4px 0 0;padding-left:18px}
.gs-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}
.gs-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gs-steps li{padding:10px 12px;border-radius:12px;background:var(--surface-2);border-left:3px solid var(--blue)}
.gs-steps li:nth-child(4){border-left-color:var(--lime)} .gs-steps li:nth-child(5){border-left-color:#f0882a}
.gs-steps p{margin:2px 0 0;font-size:.93rem;line-height:1.6}
.gs-lab{font:600 .68rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.gs-hint{display:block;font-size:.76rem;color:var(--ink-3);margin-top:4px;font-style:italic}
.gs-grip{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.85rem;padding:10px 12px;border:1px dashed var(--line-2);border-radius:12px}
.gs-gl{font:600 .66rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.tpl{padding:4px 0}
.bar.indet i{width:35%!important;animation:indet 1.4s ease-in-out infinite}
@keyframes indet{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.jc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}

.scope-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.seg-btns a{display:inline-block;background:var(--surface);color:var(--ink-2);font:500 .8rem var(--f-body);padding:6px 11px;border-right:1px solid var(--line)}
.seg-btns a:last-child{border-right:0} .seg-btns a.on{background:var(--ink);color:#fff}
.scope-note{font-size:.78rem;color:var(--ink-3)}

/* ---------- Kartensuche: Fortschritt */
.search-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.search-box .row{grid-column:1/-1}
.prog{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:700;width:min(440px,calc(100% - 120px));background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:10px 14px;box-shadow:0 18px 40px -16px rgba(11,29,54,.5)}
.prog .bar{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:8px 0 6px} .prog .bar i{display:block;height:100%;background:linear-gradient(90deg,#1f8fd6,#7adf03);width:var(--p,0%);transition:width .4s}
.prog .top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.86rem} .prog .m{font-size:.78rem;color:var(--ink-3)}
.main.full .radar{height:100%}
@media (max-width:900px){.prog{position:fixed;top:62px;left:12px;transform:none;width:calc(100% - 24px)}.gs-grip{grid-template-columns:1fr}}

.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{position:relative;margin:0;cursor:pointer}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill span{display:inline-block;padding:7px 12px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);font:500 .84rem var(--f-body);color:var(--ink-2);transition:background .15s,border-color .15s,color .15s}
.pill:hover span{border-color:var(--line-3)}
.pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.pill.tone-good input:checked+span{background:#16a34a;border-color:#16a34a}
.pill.tone-warn input:checked+span{background:#d97706;border-color:#d97706}
.pill.tone-bad input:checked+span{background:#b02a2a;border-color:#b02a2a}
.pill input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
tr.rowlink{cursor:pointer}

.fun-row{display:grid;grid-template-columns:170px minmax(0,1fr) 48px;gap:10px;align-items:center;padding:5px 0;font-size:.88rem}
.fun-bar{height:14px;border-radius:99px;background:var(--surface-3);overflow:hidden} .fun-bar i{display:block;height:100%;background:linear-gradient(90deg,#1f8fd6,#7adf03);border-radius:99px}
.verdict{font-weight:600} .v-im-üblichen-Bereich,.v-über-Orientierung{color:var(--good-ink)} .v-unter-Orientierung{color:var(--warn-ink)} .v-zu-wenig-Daten{color:var(--ink-3)}
.assess{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);margin-top:12px}
.assess-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.rec{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-weight:700;font-size:.82rem;color:#fff}
.rec-neu{background:#16a34a} .rec-ueberarbeiten{background:#ea7a1f} .rec-feinschliff{background:#1f7fd0}
.meter{display:grid;grid-template-columns:80px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:.8rem}
.meter span:nth-child(2){height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden} .meter i{display:block;height:100%;border-radius:99px;background:var(--blue)}
@media (max-width:560px){.fun-row{grid-template-columns:110px minmax(0,1fr) 36px}}

.args{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px dashed var(--line-2)}
.args-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.args .arg{margin:4px 0 0;font-size:.9rem}

.act-del{border:0;background:none;color:var(--ink-3);cursor:pointer;padding:2px 4px;margin-left:6px;border-radius:6px;vertical-align:middle;line-height:0}
.act-del:hover{color:#d03b3b;background:var(--surface)}
.act-del .i{width:14px;height:14px}
.act-row{margin-bottom:6px;position:relative;padding-right:24px}
.act-row .act-del{position:absolute;right:0;top:0;margin:0}

.who{display:flex;gap:8px;align-items:center;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:.92rem;width:fit-content;max-width:100%}
.who .i{flex:none}
.who.on-dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
.who.on-dark a{color:#fff;text-decoration:underline}
.who.on-dark .muted{color:rgba(255,255,255,.7)}
.prob-top{margin:0 0 10px;padding-left:20px}
.prob-top li{margin:3px 0}
.gs-phase{margin-bottom:6px}
.ph-goal p{margin:2px 0 8px;font-weight:600}
.ph-prep{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.ph-prep ul,.ph-prep ol{margin:4px 0 4px;padding-left:20px}
.ph-prep li{margin:2px 0;font-size:.92rem}
.gs-first{margin-top:14px}
.gs-first>summary{font-weight:600}
.ka-bar,.ka-backdrop,.ka-x{display:none}
@media (max-width:900px){
  .ka-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:1350;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -10px 30px -12px rgba(0,0,0,.25)}
  .ka-bar .btn{flex:1;justify-content:center}
  body:has(.ka-bar) .main{padding-bottom:84px}
  #kaForm{position:fixed;left:0;right:0;bottom:0;z-index:1460;margin:0!important;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;transform:translateY(105%);transition:transform .22s ease;visibility:hidden}
  body.ka-open #kaForm{transform:none;visibility:visible}
  body.ka-open .ka-backdrop{display:block;position:fixed;inset:0;z-index:1455;background:rgba(11,29,54,.45)}
  .ka-x{display:inline-flex}
}

.sbar{display:flex;align-items:center;gap:10px}
.sb-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1;min-width:0}
.sb-step{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:stretch;text-align:left;color:var(--ink-3);font:inherit;min-width:0}
.sb-step i{display:block;height:8px;border-radius:99px;background:var(--line-2,#d6dde8);transition:background .2s,box-shadow .2s}
.sb-step span{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-step:hover i{background:color-mix(in srgb,var(--blue,#1f7fd0) 40%,var(--line))}
.sb-step.done i{background:color-mix(in srgb,var(--blue,#1f7fd0) 55%,transparent)}
.sb-step.done span{color:var(--ink-2)}
.sb-step.cur i{background:var(--blue,#1f7fd0);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#1f7fd0) 22%,transparent)}
.sb-step.cur span{color:var(--ink);font-weight:700}
.sb-step[data-sb-stage=gewonnen].cur i{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.22)}
.sbar.is-closed .sb-step i{background:var(--line)}
.sbar.is-closed .sb-step span{color:var(--ink-3);font-weight:400}
.sb-side{flex:none}
.sb-x{border:1px solid var(--line);background:none;color:var(--ink-3);font:inherit;font-size:.72rem;border-radius:99px;padding:3px 9px;cursor:pointer}
.sb-x:hover{color:#d03b3b;border-color:#d03b3b}
.sb-closed{font-size:.74rem;padding:3px 9px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-weight:600}
.sbar-card{margin-bottom:18px;padding:14px 18px}
.plist{display:flex;flex-direction:column;gap:10px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--card-sh)}
.pc-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:12px}
.pc-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pc-name a{color:var(--ink)}
.pc-next{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.pc-next .small.muted{width:100%}
.pc-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.fchip .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px}
@media (max-width:900px){
  .pc-top{grid-template-columns:1fr}
  .pc-act{justify-content:flex-start}
  .sbar{flex-wrap:wrap}
  .sb-step span{font-size:.62rem}
}
@media (max-width:560px){
  .sb-step span{display:none}
  .sb-step.cur span{display:block;overflow:visible;position:relative}
}

.ck-prog{margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.ck-prog-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px}
.ck-bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden}
.ck-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--blue,#1f7fd0),#16a34a);transition:width .15s linear;position:relative}
.ck-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:ckShine 1.2s linear infinite}
@keyframes ckShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.ck-steps{list-style:none;margin:12px 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;font-size:.84rem;color:var(--ink-3)}
.ck-steps li{display:flex;gap:8px;align-items:center}
.ck-steps li::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--line-2,#cbd5e1);flex:none}
.ck-steps li.now{color:var(--ink);font-weight:600}
.ck-steps li.now::before{border-color:var(--blue,#1f7fd0);border-top-color:transparent;animation:ckSpin .8s linear infinite}
.ck-steps li.done{color:var(--ink-2)}
.ck-steps li.done::before{background:#16a34a;border-color:#16a34a}
@keyframes ckSpin{to{transform:rotate(360deg)}}
.ck-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}
.ck-area{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}
.ck-area-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:.84rem}
.ck-area-top b{font-size:1.25rem;font-family:var(--f-display)}
.ck-meter{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:6px 0 4px}
.ck-meter i{display:block;height:100%;border-radius:99px}
.ck-area.v-gut .ck-meter i{background:#16a34a} .ck-area.v-ausbaufaehig .ck-meter i{background:#ea7a1f} .ck-area.v-kritisch .ck-meter i{background:#d03b3b}
.ck-area.v-kritisch{border-color:color-mix(in srgb,#d03b3b 40%,var(--line))}
.ck-levers{margin:4px 0 14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--blue,#1f7fd0) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--blue,#1f7fd0) 25%,var(--line))}
.ck-levers ol{margin:6px 0 0;padding-left:20px}
.ck-levers li{margin:6px 0}

.ph-name{background:color-mix(in srgb,var(--blue,#1f7fd0) 13%,transparent);border-bottom:1.5px dashed color-mix(in srgb,var(--blue,#1f7fd0) 55%,transparent);border-radius:4px;padding:0 3px;font-weight:600}
.ph-name.is-generic{background:none;font-weight:400;border-bottom-color:var(--line-2,#cbd5e1)}
.ph-edit{margin:0 0 14px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--blue,#1f7fd0) 30%,var(--line));background:color-mix(in srgb,var(--blue,#1f7fd0) 6%,var(--surface))}
.ph-edit label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.86rem;margin-bottom:6px}
.ph-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ph-row input{flex:1;min-width:180px;margin:0}
.ph-edit [data-ph-note]{margin-top:6px}

.nav-user{display:flex;align-items:center;gap:8px;padding:6px 12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nav-user .i{width:16px;height:16px;flex:none}

.view-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#fff4e5;border:1px solid #f5c27a;color:#7a4a05}
.view-bar span{flex:1;min-width:200px}
:root[data-theme=dark] .view-bar{background:#3a2a10;border-color:#8a5a14;color:#ffd9a0}
.kollege{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#fff4e5;border:1px solid #f5c27a;color:#7a4a05;font-size:.92rem}
.kollege .i{flex:none;margin-top:2px}
:root[data-theme=dark] .kollege{background:#3a2a10;border-color:#8a5a14;color:#ffd9a0}

.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 18px;padding:4px;border-radius:14px;background:var(--surface);border:1px solid var(--line);width:fit-content;max-width:100%}
.tabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;color:var(--ink-2);font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s}
.tabs a .i{width:16px;height:16px}
.tabs a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}
.tabs a.on{background:var(--ink);color:#fff}
:root[data-theme=dark] .tabs a.on{background:#fff;color:#0b1d36}
.set-card{max-width:980px}
.int-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;align-items:start}
.int-card .card-head h2{display:flex;align-items:center;gap:8px}
.int-st{font-size:.74rem;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}
.int-st.on{background:#e7f6ec;color:#166534}
.int-st.off{background:var(--surface);color:var(--ink-3);border:1px solid var(--line)}
:root[data-theme=dark] .int-st.on{background:#123222;color:#86efac}
.int-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.int-ok{color:#16a34a;font-weight:600} .int-bad{color:#d03b3b;font-weight:600}
.copyline{display:flex;gap:6px;align-items:center;margin:6px 0 10px;padding:6px 8px;border-radius:10px;background:var(--surface);border:1px dashed var(--line-2,#cbd5e1)}
.copyline code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.8rem}
.meter-line{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:12px}
.meter-line i{display:block;height:100%;background:var(--blue,#1f7fd0);border-radius:99px}
@media (max-width:560px){.int-grid{grid-template-columns:1fr}.tabs{width:100%}.tabs a{flex:1;justify-content:center;padding:8px 8px;font-size:.82rem}}

.verlauf{margin:0 16px 6px}
.verlauf-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;margin-top:6px}
.verlauf-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 10px;cursor:pointer;font:inherit;color:var(--ink)}
.verlauf-item span{font-size:.76rem;color:var(--ink-3)}
.verlauf-item:hover{border-color:var(--blue,#1f7fd0)}

/* ---------- Meldungen, Dock */
.flash{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--good) 35%,transparent);background:color-mix(in srgb,var(--good) 9%,var(--surface));color:var(--good-ink);animation:rise .5s var(--ease)}
.flash.err{border-color:color-mix(in srgb,var(--crit) 40%,transparent);background:color-mix(in srgb,var(--crit) 8%,var(--surface));color:var(--crit-ink)}
.geloescht-hinweis{flex-wrap:wrap}.geloescht-hinweis>span{flex:1;min-width:200px}.geloescht-hinweis a{color:inherit;font-weight:700}
.dock{position:fixed;right:18px;bottom:18px;z-index:900;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 36px))}
.toast{background:var(--tip-bg);color:var(--tip-ink);border-radius:12px;padding:11px 14px;font-size:.86rem;box-shadow:0 18px 40px -14px rgba(0,0,0,.5);animation:rise .4s var(--ease);display:flex;gap:10px;align-items:flex-start}
.toast.err{background:#7a1f1f} .toast.ok{background:#1c5a1c}
.jobcard{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:10px 14px;box-shadow:var(--card-sh-hover);animation:rise .4s var(--ease)}
.jobcard b{font-size:.84rem;display:block} .jobcard .bar{height:6px;border-radius:99px;background:var(--surface-3);margin-top:8px;overflow:hidden}
.jobcard .bar i{display:block;height:100%;background:linear-gradient(90deg,#1f8fd6,#7adf03);width:var(--p,0%);transition:width .5s var(--ease)} .jobcard .m{font-size:.76rem;color:var(--ink-3);margin-top:5px}

/* ---------- Animation */
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .anim-in{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i,0)*70ms)} .anim-wait{opacity:0} .anim-done{opacity:1;animation:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Responsiv */
@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-2-1,.g-1-2{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:repeat(6,260px)}.radar{grid-template-columns:360px minmax(0,1fr)}}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .mobile-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
  .mobile-top b{font-family:var(--f-display)}
  .side{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .3s var(--ease);box-shadow:0 0 0 100vw rgba(0,0,0,0);z-index:70}
  body.nav-open .side{transform:none;box-shadow:0 0 0 100vw rgba(11,29,54,.35)}
  .main{padding:16px 14px 60px} .main.full{height:auto;overflow:visible}
  .page-head{padding:18px;border-radius:18px} h1{font-size:1.5rem}
  .g2,.g3,.g4,.form-grid{grid-template-columns:1fr}
  /* Handy und Tablet hochkant: Karte oben, darunter die ganze Liste, die Seite scrollt */
  .main.full .radar,.radar{display:flex;flex-direction:column;height:auto;background:transparent}
  .map-wrap{order:-1;height:52vh;min-height:300px;flex:none}
  .panel{border-right:0;border-top:1px solid var(--line);min-height:0}
  .result-list{overflow:visible;flex:none}
  .result-item{padding:13px 16px}
  #filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px} #filters .fchip{flex:none}
  .panel-bulk{position:sticky;top:53px;z-index:20;background:var(--surface)}
  /* Profil als Vollbild über allem, mit „Zur Liste“ zurück */
  .profil-view{position:fixed;inset:53px 0 0 0;z-index:60;transform:translateY(16px)}
  .panel.open .profil-view{transform:none}
  .profil{height:100%} .p-body{padding-bottom:40px}
  .dock{left:8px;right:8px;bottom:8px;width:auto;gap:4px}
  .jobcard{padding:6px 10px} .jobcard b{font-size:.78rem} .jobcard .bar{margin-top:4px;height:4px} .jobcard .m{font-size:.7rem;margin-top:2px}
  .jobcard:nth-child(n+3){display:none}
  .shell{z-index:auto} .side{z-index:1500} .mobile-top{z-index:1400} .profil-view{z-index:1300} body.nav-open{overflow:hidden}
  .mobile-only{display:inline-flex} .legend{display:none}
  .search-here{left:14px;transform:none;max-width:calc(100% - 90px);top:12px} .map-tools{top:12px}
  .row-item{flex-wrap:wrap} .ri-side{width:100%;justify-content:flex-end}
}
@media (max-width:560px){.kpi .value{font-size:1.6rem}}
@media print{body::before,body::after,.side,.dock,.mobile-top,.no-print{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid}}
.seg-btns a{display:inline-flex;align-items:center;gap:5px;background:var(--surface);color:var(--ink-2);font:500 .8rem var(--f-body);padding:7px 11px;border-right:1px solid var(--line);text-decoration:none}
.seg-btns a:last-child{border-right:0} .seg-btns a.on{background:var(--ink);color:#fff} .seg-btns a .i{width:14px;height:14px}
