/* ====== Tokens ====== */
:root{
  --ink:#0A1628;
  --ink-2:#1F2B3E;
  --muted:#65738A;
  --muted-2:#94A0B4;
  --line:#EAEEF4;
  --line-2:#F2F4F8;
  --paper:#FFFFFF;
  --soft:#F7F8FB;
  --soft-2:#F1F3F7;

  --accent:#18E0A0;
  --accent-ink:#05331F;
  --accent-2:#10B981;

  --blue:#2B5BF0;
  --blue-soft:#EAF0FF;

  --pop:#FF5C8A;
  --warn:#FFB020;
  --danger:#E44B4B;

  --radius:12px;
  --radius-lg:18px;
  --radius-xl:24px;

  --shadow-xs:0 1px 2px rgba(10,22,40,.04);
  --shadow-sm:0 1px 3px rgba(10,22,40,.05);
  --shadow-md:0 8px 24px rgba(10,22,40,.08);
  --shadow-lg:0 16px 48px rgba(10,22,40,.12);

  --font-display:'Clash Display','Satoshi',ui-sans-serif,system-ui,sans-serif;
  --font-body:'Satoshi',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-body);
  font-feature-settings:"ss01","cv11";
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  font-size:14.5px;
  line-height:1.5;
  letter-spacing:-0.005em;
}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input{font:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;margin:0}

/* ====== Buttons ====== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.68rem 1rem;border-radius:999px;
  font-weight:700;font-size:.88rem;letter-spacing:-.01em;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 14px rgba(24,224,160,.32)}
.btn--primary:hover{background:#0EC98F}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000}
.btn--ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--sm{padding:.45rem .8rem;font-size:.78rem}
.btn--lg{padding:.88rem 1.4rem;font-size:.98rem}

/* ====== Nav ====== */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2)}
.nav__inner{max-width:1520px;margin:0 auto;padding:.8rem 1.4rem;display:flex;align-items:center;gap:1.5rem}
.brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:.55rem;color:var(--ink)}
.brand__mark{width:22px;height:22px;border-radius:6px;background:conic-gradient(from 180deg,#2B5BF0,#18E0A0,#FF5C8A,#2B5BF0);box-shadow:inset 0 0 0 2px #fff}
.nav__links{display:flex;gap:1.25rem;margin-left:.5rem}
.nav__link{font-weight:500;color:var(--ink-2);font-size:.9rem}
.nav__ctas{margin-left:auto;display:flex;gap:.55rem;align-items:center}

/* ====== Prototype switcher ====== */
.proto-switcher{
  position:sticky;top:60px;z-index:40;
  display:flex;gap:.25rem;justify-content:center;
  padding:.35rem;margin:.9rem auto 0;max-width:460px;
  background:var(--soft);border-radius:999px;
}
.proto-tab{
  padding:.5rem .95rem;border-radius:999px;font-weight:600;font-size:.8rem;color:var(--muted);
  transition:background .15s, color .15s
}
.proto-tab.is-active{background:var(--ink);color:#fff}
.proto-tab:hover{color:var(--ink)}

/* ====== Views ====== */
.view{display:none;padding:1rem 1.4rem 5rem;max-width:1520px;margin:0 auto}
.view.is-active{display:block}

/* ====== Search header (replaces hero + topbar) ====== */
.header{margin-top:1rem}
.header__row{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem}
.searchbar{
  flex:1;display:flex;align-items:center;gap:0;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:.3rem .35rem .3rem .3rem;
  box-shadow:var(--shadow-xs)
}
.searchbar:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,22,40,.06)}
.searchbar__field{display:flex;align-items:center;gap:.55rem;padding:.55rem .85rem;flex:1;min-width:0;color:var(--muted)}
.searchbar__field--lead{flex:1.3}
.searchbar__field input{border:0;background:transparent;outline:0;font-weight:600;font-size:.95rem;color:var(--ink);width:100%}
.searchbar__field input::placeholder{color:var(--muted-2);font-weight:500}
.searchbar__sep{width:1px;align-self:stretch;background:var(--line);margin:.4rem 0}
.searchbar__go{margin:.15rem}
.header__aside{display:flex;gap:.75rem;align-items:center}

.toggle{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--ink-2)}
.toggle input{display:none}
.toggle__track{width:34px;height:20px;background:var(--line);border-radius:999px;position:relative;transition:background .2s}
.toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform .2s}
.toggle input:checked + .toggle__track{background:var(--accent)}
.toggle input:checked + .toggle__track .toggle__thumb{transform:translateX(14px)}

/* ====== Filters (top row) ====== */
.filters{
  display:flex;align-items:center;gap:.8rem;
  padding:.35rem 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);
  position:sticky;top:60px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);z-index:30;
  margin:0 -1.4rem;padding-left:1.4rem;padding-right:1.4rem;
}
.filters__group{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;flex:1;padding:.5rem 0}
.filters__group::-webkit-scrollbar{display:none}
.filters__div{width:1px;height:22px;background:var(--line);margin:0 .35rem;flex:0 0 1px;align-self:center}
.filters__right{display:flex;gap:.5rem;align-items:center;padding-left:.5rem;border-left:1px solid var(--line-2)}
.linklike{font-size:.8rem;color:var(--muted);font-weight:600;text-decoration:underline;text-decoration-style:dotted}
.linklike:hover{color:var(--ink)}

.f{
  display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;
  padding:.45rem .75rem .45rem .85rem;border-radius:10px;
  background:#fff;border:1px solid var(--line);
  font-size:.82rem;font-weight:600;color:var(--ink-2);
  transition:border-color .15s, background .15s
}
.f:hover{border-color:var(--ink-2)}
.f em{font-style:normal;color:var(--muted);font-weight:500;font-size:.75rem}
.f span{font-weight:700}
.f .f__x{font-size:.65rem;opacity:.5;margin-left:.1rem;padding:0 .1rem}
.f .f__v{font-size:.65rem;opacity:.5}
.f--active{background:var(--ink);color:#fff;border-color:var(--ink)}
.f--active em{color:rgba(255,255,255,.55)}
.f--active .f__x{opacity:.75}

/* ====== Workspace ====== */
.workspace{display:grid;gap:1.2rem;margin-top:1.4rem;align-items:start}
.workspace--two{grid-template-columns:minmax(360px, 440px) 1fr}

/* Results */
.results{min-width:0}
.results__head{display:flex;justify-content:space-between;align-items:center;padding:.1rem .2rem .9rem}
.results__count{font-size:.9rem;color:var(--muted)}
.results__count strong{color:var(--ink);font-size:1.05rem;font-family:var(--font-display);margin-right:.2rem}
.results__sort{font-weight:700;color:var(--ink);border-bottom:1px solid var(--ink)}

.joblist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.job{
  display:grid;grid-template-columns:auto 44px 1fr;gap:.75rem;align-items:flex-start;
  padding:.9rem 1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  cursor:pointer;transition:border-color .15s, transform .15s, box-shadow .15s;
  position:relative
}
.job:hover{border-color:var(--ink-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.job.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink), var(--shadow-sm)}
.job__check{padding-top:.15rem}
.job__check input{width:16px;height:16px;accent-color:var(--ink);cursor:pointer}
.job__logo{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.02em;flex:0 0 44px}
.job__body{min-width:0}
.job__title-row{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.job__title{font-size:.96rem;line-height:1.25;color:var(--ink);font-weight:700}
.job__company{font-size:.82rem;color:var(--muted);margin-top:.15rem}
.job__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}
.job__meta{font-size:.75rem;color:var(--muted-2);margin-top:.5rem}

.tag{font-size:.72rem;font-weight:600;padding:.22rem .55rem;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.tag--money{background:#E7FBF2;color:#076B48}
.tag--commute{background:#EBF1FE;color:#1F3A95}
.tag--hit{background:#E7FBF2;color:#076B48}
.tag--miss{background:#FCEBEB;color:#A22727}
.tag--good{background:#E7FBF2;color:#076B48}
.tag--slow{background:#FEF1E0;color:#825000}

.match{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:46px;padding:.25rem .5rem;border-radius:8px;font-family:var(--font-display);font-weight:700;line-height:1;
  gap:.18rem;
}
.match span{font-size:.9rem}
.match em{
  font-style:normal;font-size:.6rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;opacity:.7;
  font-family:var(--font-body);
}
.match--good{background:#E7FBF2;color:#076B48}
.match--ok{background:#FFF4DE;color:#7A4A00}
.match--mid{background:#F1EEFE;color:#382E87}
.match--na{background:var(--soft);color:var(--muted-2)}
/* Score-mode tints — same tiers but cooler palette so it's visually distinct */
.match--score.match--good{background:#E5F2FE;color:#1F3A95}
.match--score.match--ok{background:#FFF4DE;color:#7A4A00}
.match--score.match--mid{background:#F4EEF6;color:#5C2E70}

/* ====== Preview pane (wider) ====== */
.preview{
  position:sticky;top:114px;max-height:calc(100vh - 130px);overflow:auto;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:1.6rem 1.8rem;
}
.preview__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.preview__brand{display:flex;gap:.7rem;align-items:center}
.preview__logo{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.85rem}
.preview__company{font-weight:700;font-size:.88rem}
.preview__rating{font-size:.74rem;color:var(--muted);margin-top:.15rem}
.preview__tools{display:flex;gap:.3rem}
.iconbtn{width:32px;height:32px;border-radius:10px;background:var(--soft);font-size:.95rem;color:var(--ink-2);transition:all .15s}
.iconbtn:hover{background:var(--ink);color:#fff}

.preview__title{font-size:1.7rem;line-height:1.1;margin:1.1rem 0 .3rem;font-weight:700;letter-spacing:-.03em}
.preview__location{color:var(--muted);font-size:.88rem;margin:0 0 1.2rem}

.preview__summary{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:.5rem;margin-bottom:1rem}
.sumcard{background:var(--soft);border-radius:14px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.15rem}
.sumcard--hero{background:linear-gradient(180deg,#EAFBF3,#D8F5E8);border:1px solid #C1EDD8}
.sumcard__k{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.sumcard--hero .sumcard__k{color:#0B5E43}
.sumcard__v{font-family:var(--font-display);font-weight:700;font-size:1.4rem;line-height:1}
.sumcard__v--good{color:#0B5E43}
.sumcard__sub{font-size:.7rem;color:var(--muted);margin-top:.15rem}
.sumcard__bar{height:4px;background:rgba(11,94,67,.15);border-radius:2px;margin-top:.35rem;overflow:hidden}
.sumcard__bar span{display:block;height:100%;background:linear-gradient(90deg,#18E0A0,#10B981)}

.preview__actions{display:grid;grid-template-columns:1.4fr 1fr;gap:.5rem;margin-bottom:1.4rem}

.preview__cols{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;margin-bottom:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line-2)}
.preview__h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.55rem;font-family:var(--font-body);font-weight:700}

.why{list-style:none;padding:0;margin:0;font-size:.85rem;display:flex;flex-direction:column;gap:.4rem;color:var(--ink-2)}
.why li{display:flex;align-items:center;gap:.55rem}
.why__dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.why__dot--good{background:var(--accent-2)}
.why__dot--warn{background:var(--warn)}

.perks{list-style:none;padding:0;margin:0;font-size:.85rem;display:flex;flex-direction:column;gap:.32rem;color:var(--ink-2)}

.bullets{padding-left:1.1rem;margin:.2rem 0 1.4rem;color:var(--ink-2);font-size:.88rem}
.bullets li{margin-bottom:.32rem}

.similar__grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.3rem}
.similar__card{display:flex;gap:.6rem;align-items:center;padding:.65rem .8rem;background:var(--soft);border-radius:12px;transition:background .15s}
.similar__card:hover{background:var(--soft-2)}
.similar__logo{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.7rem;flex:0 0 32px}
.similar__card strong{display:block;font-size:.82rem;line-height:1.2}
.similar__card span{font-size:.72rem;color:var(--muted)}
.similar__card em{font-style:normal;font-weight:700;color:var(--accent-2)}

/* ====== Compare bar ====== */
.compare-bar{
  position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);
  display:flex;align-items:center;gap:.85rem;padding:.45rem .5rem .45rem 1rem;
  background:var(--ink);color:#fff;border-radius:999px;box-shadow:var(--shadow-lg);
  z-index:60
}
.compare-bar__stack{display:flex}
.compare-bar__chip{display:flex;align-items:center;padding:0;margin-right:-6px}
.compare-bar__chip span{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.62rem;font-weight:700;border:2px solid var(--ink)}
.compare-bar__msg{font-size:.82rem;color:rgba(255,255,255,.78)}
.compare-bar__msg strong{color:#fff}

/* ====== Compare view v2 ====== */
.compare{padding:1rem 0 3rem;font-variant-numeric:tabular-nums}
.compare__head{margin:.5rem 0 1.4rem}
.compare__head h1{font-size:2.2rem;margin-top:.6rem;letter-spacing:-.035em}
.back{display:inline-block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.2rem}
.back:hover{color:var(--ink)}

/* Top verdict strip */
.verdict{
  background:linear-gradient(135deg,#0A1628 0%, #10213F 100%);
  color:#fff;border-radius:var(--radius-xl);padding:1.6rem 1.8rem;margin-bottom:1.4rem;
  display:grid;grid-template-columns:1.2fr 2fr;gap:2rem;align-items:center;
  position:relative;overflow:hidden
}
.verdict::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(24,224,160,.35),transparent 70%);pointer-events:none}
.verdict__kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}
.verdict__name{font-size:1.6rem;margin:.35rem 0 .4rem;letter-spacing:-.03em}
.verdict__why{color:rgba(255,255,255,.72);font-size:.9rem;margin:0;line-height:1.45}
.verdict__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}
.vcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:.7rem .9rem;backdrop-filter:blur(6px)}
.vcard b{display:block;font-size:.66rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.vcard span{font-family:var(--font-display);font-weight:700;font-size:1rem;display:block;margin-top:.15rem}

/* Card grid (replaces label-spine table) */
.compare2{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;align-items:stretch}
.jobcol{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);
  padding:1.4rem 1.4rem 1.2rem;
  display:flex;flex-direction:column;
  position:relative;transition:border-color .15s, transform .15s, box-shadow .2s
}
.jobcol:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.jobcol--win{border:2px solid var(--accent-2);box-shadow:0 10px 40px rgba(16,185,129,.15)}
.jobcol--win::before{content:"";position:absolute;inset:-2px -2px auto -2px;height:5px;background:linear-gradient(90deg,#18E0A0,#10B981);border-radius:var(--radius-xl) var(--radius-xl) 0 0}

.jobcol__head{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--line-2);margin-bottom:.5rem;position:relative}
.jobcol__logo{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.82rem}
.jobcol__titles{min-width:0}
.jobcol__title{font-size:1rem;line-height:1.2;letter-spacing:-.02em;font-weight:700}
.jobcol__company{color:var(--muted);font-size:.78rem;margin:.2rem 0 0}
.jobcol__close{position:absolute;top:-.2rem;right:-.2rem;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--muted);font-size:.7rem;border:1px solid var(--line)}
.jobcol__close:hover{border-color:var(--ink);color:var(--ink)}

.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.badge--winner{position:absolute;top:-10px;left:1.2rem;background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 10px rgba(24,224,160,.3)}

.jobcol__metric{padding:.85rem 0;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:.2rem}
.jobcol__metric:last-of-type{border-bottom:0}
.m__label{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.m__row{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;margin-top:.15rem}
.m__big{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--ink)}
.m__unit{font-size:.88rem;font-weight:600;color:var(--ink-2)}
.m__sub{font-size:.78rem;color:var(--muted);line-height:1.4}
.m__sub--body{color:var(--ink-2);font-size:.82rem}
.m__sub strong{color:var(--ink);font-weight:700}

.pill{font-size:.7rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;letter-spacing:-.005em}
.pill--pos{background:#D6F5E4;color:#076B48}

.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:.3rem;vertical-align:middle}
.dot--good{background:var(--accent-2)}
.dot--warn{background:var(--warn)}

.m__chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}
.c{display:inline-block;font-size:.74rem;background:var(--soft);padding:.25rem .55rem;border-radius:999px;color:var(--ink-2);font-weight:500}

.jobcol__metric.is-best{position:relative}
.jobcol__metric.is-best .m__big{color:#076B48}
.jobcol__metric.is-best::after{content:"";position:absolute;left:-1.4rem;top:.85rem;bottom:.85rem;width:3px;background:var(--accent-2);border-radius:3px}

.jobcol__cta{width:100%;margin-top:1rem}

/* Ring — smaller, sits in the card header */
.ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--accent-2) calc(var(--p,0) * 1%), var(--line) 0);position:relative;flex:0 0 56px}
.ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.ring span{position:relative;font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--ink)}
.ring--good{--p:92}
.ring--ok{--p:78;background:conic-gradient(var(--warn) calc(var(--p,0) * 1%), var(--line) 0)}

/* Mobile carousel for compare view */
.compare-dots{display:none;justify-content:center;gap:.4rem;margin:1rem 0 .2rem}
.compare-dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .15s, transform .15s}
.compare-dot.is-active{background:var(--ink);transform:scale(1.3)}

@media (max-width: 900px) {
  .verdict{grid-template-columns:1fr;gap:1rem}
  .jobcol__metric.is-best::after{display:none}

  /* Carousel: horizontal scroll-snap instead of stacked */
  .compare2{
    grid-template-columns:none;
    display:flex;gap:.75rem;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:.5rem;
    margin:0 -1rem;padding:0 1rem .4rem;
    scrollbar-width:none;
  }
  .compare2::-webkit-scrollbar{display:none}
  .compare2 > .jobcol{
    flex:0 0 86%;min-width:260px;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .compare-dots{display:flex}
}

/* ====== NL view ====== */
.nl{max-width:880px;margin:0 auto;padding:1.5rem 0 0}
.nl__intro{text-align:center;margin:1rem 0 1.6rem}
.nl__label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);background:rgba(24,224,160,.12);padding:.28rem .65rem;border-radius:999px;margin-bottom:.7rem}
.nl__h1{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.05;letter-spacing:-.03em}
.nl__bar{display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid var(--ink);border-radius:20px;padding:.45rem .45rem .45rem 1.2rem;box-shadow:0 16px 40px rgba(10,22,40,.1)}
.nl__icon{font-size:1.1rem}
.nl__input{flex:1;border:0;outline:0;font-size:1rem;font-weight:600;background:transparent;padding:.85rem 0}

.nl__parsed{margin-top:1.4rem;background:var(--soft);border-radius:var(--radius-xl);padding:1.1rem 1.3rem}
.nl__parsed-lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.parsed-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.pchip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:10px;background:#fff;font-weight:600;font-size:.86rem;border:1px solid var(--line)}
.pchip em{font-style:normal;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.pchip--add{background:transparent;border:1.5px dashed var(--line);color:var(--muted)}
.pchip--add:hover{border-color:var(--ink);color:var(--ink)}
.nl__feedback{font-size:.86rem;color:var(--muted);margin:.4rem 0 0}
.nl__feedback strong{color:var(--ink)}
.nl__feedback a{color:var(--ink);text-decoration:underline;text-decoration-style:dotted;margin-right:.3rem}

.nl__examples{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:1.1rem 0 1.8rem;font-size:.82rem;color:var(--muted)}
.ex{padding:.4rem .8rem;border-radius:999px;background:var(--soft);font-weight:500;font-size:.8rem;color:var(--ink-2)}
.ex:hover{background:var(--ink);color:#fff}

.joblist--nl{margin-top:1rem}
.joblist--nl .job{grid-template-columns:44px 1fr}
.joblist--nl .job__soft{margin-top:.55rem;font-size:.78rem;color:var(--muted);background:#FEF1E0;padding:.5rem .7rem;border-radius:10px}
.joblist--nl .job__soft a{font-weight:700;color:#825000;border-bottom:1px solid}
.joblist--nl .job--miss{opacity:.9}

/* ================= VIEW 5 : Insights (employer + job + tags) ================= */
.insights{max-width:1200px;margin:0 auto;padding:1rem 0 3rem;font-variant-numeric:tabular-nums}

/* Job summary strip */
.jobstrip{
  display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);
  padding:1.2rem 1.4rem;margin:1rem 0 1.2rem
}
.jobstrip__logo{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.95rem}
.jobstrip__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}
.meta-chip{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.meta-chip--mint{background:#D6F5E4;color:#076B48}
.jobstrip__title{font-size:1.35rem;margin:0;letter-spacing:-.025em;line-height:1.15}
.jobstrip__company{font-size:.85rem;color:var(--muted);margin:.3rem 0 0}

/* Two columns */
.ins-two{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.4rem}

.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:1.4rem 1.4rem}
.panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line-2)}
.panel__kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent-2)}
.panel__src{font-size:.72rem;color:var(--muted)}

/* Employer rating */
.panel--employer{background:linear-gradient(180deg,#FFFFFF 0%, #FBFFFD 100%)}
.rating-hero{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center;margin-bottom:1.2rem}
.rating-big{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.rating-big__score{font-family:var(--font-display);font-size:3.6rem;font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1}
.rating-big__denom{font-size:.85rem;color:var(--muted);margin-top:.2rem;font-weight:600}
.rating-big__label{font-family:var(--font-display);font-weight:700;color:var(--accent-2);font-size:.95rem;margin-top:.5rem;letter-spacing:-.01em}

.rating-bar{display:flex;flex-direction:column;gap:.3rem}
.rating-bar__track{position:relative;height:10px;background:var(--soft);border-radius:999px;overflow:visible}
.rating-bar__fill{height:100%;background:linear-gradient(90deg,#18E0A0 0%,#10B981 100%);border-radius:999px}
.rating-bar__benchmark{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink);border-radius:2px}
.rating-bar__benchmark span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.66rem;font-weight:700;color:var(--ink);background:#fff;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.rating-bar__scale{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted-2);font-weight:600}

.dims{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;margin-bottom:1.2rem}
.dim__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}
.dim__head b{font-size:.82rem;font-weight:600;color:var(--ink-2)}
.dim__v{font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:-.02em}
.dim__bar{height:5px;background:var(--soft);border-radius:3px;overflow:hidden}
.dim__bar span{display:block;height:100%;background:var(--ink);border-radius:3px}

.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.2rem}
.pc{padding:.85rem 1rem;border-radius:14px;background:var(--soft)}
.pc h4{font-size:.78rem;margin-bottom:.45rem;font-family:var(--font-body);letter-spacing:0;text-transform:uppercase;color:var(--muted);font-weight:700}
.pc ul{list-style:none;padding:0;margin:0;font-size:.82rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem}
.pc--pos{background:#F0FCF6}
.pc--pos h4{color:#076B48}
.pc--pos li::before{content:"↑ ";color:var(--accent-2);font-weight:700}
.pc--neg{background:#FFF8F0}
.pc--neg h4{color:#9A4A00}
.pc--neg li::before{content:"– ";color:#9A4A00;font-weight:700}

.panel__foot{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;padding-top:1rem;border-top:1px solid var(--line-2)}
.foot-tile{background:var(--soft);padding:.65rem .85rem;border-radius:12px;display:flex;flex-direction:column;gap:.15rem}
.foot-tile b{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}
.foot-tile span{font-size:.72rem;color:var(--muted)}

/* Job score */
.panel--job{background:linear-gradient(180deg,#FFFFFF 0%,#FBFBFF 100%)}
.jobscore-hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--line-2)}
.jobscore-big{display:flex;flex-direction:column;line-height:1}
.jobscore-big__score{font-family:var(--font-display);font-size:3.6rem;font-weight:700;letter-spacing:-.04em;background:linear-gradient(135deg,#0A1628,#10B981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.jobscore-big__denom{font-size:.85rem;color:var(--muted);margin-top:.2rem;font-weight:600}
.jobscore-big__label{font-size:.82rem;margin-top:.55rem;font-weight:600;color:var(--ink-2);max-width:260px;line-height:1.4}
.sparkle{font-size:.78rem;font-weight:700;padding:.45rem .8rem;border-radius:999px;background:#E7FBF2;color:#076B48;display:inline-flex;align-items:center;gap:.35rem}

.sub{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.sub li{display:flex;flex-direction:column;gap:.2rem}
.sub__row{display:flex;justify-content:space-between;align-items:baseline}
.sub__row b{font-size:.85rem;font-weight:600;color:var(--ink-2)}
.sub__v{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:var(--ink)}
.sub__v--mini{font-size:.9rem;color:var(--accent-2)}
.sub__bar{height:6px;background:var(--soft);border-radius:3px;overflow:hidden}
.sub__bar span{display:block;height:100%;background:linear-gradient(90deg,#18E0A0,#10B981);border-radius:3px}
.sub__note{font-size:.76rem;color:var(--muted);line-height:1.4;margin-top:.15rem}
.sub__note strong{color:var(--ink);font-weight:700}
.sub__alert{background:var(--soft);padding:.6rem .8rem;border-radius:10px;margin-top:.3rem}

/* Smart tags showcase */
.tags-showcase{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:1.6rem 1.8rem;margin-bottom:1.4rem}
.tags-showcase__head{margin-bottom:1.4rem}
.tags-showcase__head h2{font-size:1.6rem;letter-spacing:-.03em}
.tags-showcase__head p{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}

.tags-families{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem}
.fam{padding:1rem 1.1rem;border:1px solid var(--line-2);border-radius:16px;background:var(--soft)}
.fam__title{font-size:.98rem;margin:0 0 .15rem;letter-spacing:-.02em}
.fam__sub{font-size:.72rem;color:var(--muted);margin:0 0 .85rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip2{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.8rem;font-weight:600;padding:.4rem .7rem;
  border-radius:999px;background:#fff;color:var(--muted);border:1px solid var(--line);
  opacity:.55
}
.chip2--on{opacity:1;color:var(--ink);border-color:var(--ink)}
.chip2--on.chip2--special{border-color:var(--accent-2);color:#076B48;background:#F0FCF6}
.chip2--special em{font-style:normal;font-weight:700;color:var(--accent-2);font-size:.72rem;background:#D6F5E4;padding:.1rem .4rem;border-radius:999px;margin-left:.15rem}

.tag-explain{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;
  padding:1.1rem 1.3rem;border-radius:16px;
  background:linear-gradient(135deg,#0A1628 0%,#10213F 100%);color:#fff;
  position:relative;overflow:hidden
}
.tag-explain::after{content:"";position:absolute;right:-30px;top:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(24,224,160,.3),transparent 70%);pointer-events:none}
.tag-explain__icon{font-size:2rem;background:rgba(255,255,255,.08);width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.tag-explain__body h4{font-size:1rem;margin:0 0 .35rem;letter-spacing:-.02em}
.tag-explain__body p{font-size:.86rem;color:rgba(255,255,255,.82);margin:0;line-height:1.55}
.tag-explain__body strong{color:var(--accent);font-weight:700}
.tag-explain__sources{font-size:.7rem;color:rgba(255,255,255,.45);margin-top:.6rem;letter-spacing:.02em}

/* Mobile */
@media (max-width: 900px){
  .ins-two{grid-template-columns:1fr}
  .tags-families{grid-template-columns:1fr}
  .dims{grid-template-columns:1fr}
  .pros-cons{grid-template-columns:1fr}
  .panel__foot{grid-template-columns:1fr}
  .jobstrip{grid-template-columns:auto 1fr;row-gap:.8rem}
  .jobstrip .btn{grid-column:1 / -1}
  .rating-hero{grid-template-columns:1fr}
  .jobscore-hero{flex-direction:column;align-items:flex-start;gap:.8rem}
}

/* =====================================================
   Entscheidungs-Slider (priorities panel)
   ===================================================== */
.priorities{
  margin:.6rem 0 .2rem;
  background:linear-gradient(180deg,#F7FFFB 0%,#F1FAFF 100%);
  border:1px solid #D5F0E1;
  border-radius:var(--radius-xl);
  overflow:hidden;
  transition:background .2s;
}
.priorities__head{
  display:grid;grid-template-columns:auto 1fr auto;gap:.2rem 1rem;
  align-items:center;width:100%;
  padding:.85rem 1.2rem;
  text-align:left;cursor:pointer;
}
.priorities__kicker{
  grid-column:1;grid-row:1 / 3;align-self:center;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  color:var(--accent-2);background:#E7FBF2;padding:.35rem .65rem;border-radius:999px;
}
.priorities__title{
  grid-column:2;grid-row:1;
  font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;
}
.priorities__hint{
  grid-column:2;grid-row:2;
  font-size:.78rem;color:var(--muted);
}
.priorities__caret{
  grid-column:3;grid-row:1 / 3;align-self:center;
  font-size:.85rem;color:var(--muted);transition:transform .2s;
}
.priorities.is-open .priorities__caret{transform:rotate(180deg)}
.priorities__body{
  display:none;
  padding:.4rem 1.2rem 1.1rem;
  border-top:1px solid rgba(16,185,129,.16);
}
.priorities.is-open .priorities__body{
  display:grid;
  grid-template-columns:repeat(3,1fr) auto;gap:.4rem 1.2rem;align-items:center;
}
.prio{--fill:35%;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.prio__row{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}
.prio__row b{font-size:.85rem;font-weight:600;color:var(--ink-2)}
.prio-val{
  font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:-.02em;
  color:var(--ink);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right;
}
.prio-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;border-radius:999px;
  background:linear-gradient(90deg,var(--accent-2) 0 var(--fill), var(--line) var(--fill) 100%);
  outline:0;cursor:pointer;margin:.15rem 0;
}
.prio-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--accent-2);
  box-shadow:0 2px 6px rgba(16,185,129,.3);
  cursor:grab;transition:transform .1s;
}
.prio-slider::-webkit-slider-thumb:active{transform:scale(1.15);cursor:grabbing}
.prio-slider::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--accent-2);
  box-shadow:0 2px 6px rgba(16,185,129,.3);cursor:grab;
}
.prio-reset{white-space:nowrap;align-self:center}

/* Collapsed state */
.priorities:not(.is-open){background:#fff;border-color:var(--line)}
.priorities:not(.is-open) .priorities__kicker{background:var(--soft);color:var(--muted)}

/* =====================================================
   Dealbreaker-Pins
   ===================================================== */
.f[data-fkey]{position:relative;padding-left:1.9rem}
.f__pin{
  position:absolute;left:.4rem;top:50%;transform:translateY(-50%);
  font-size:.8rem;opacity:.5;line-height:1;padding:.1rem .15rem;border-radius:6px;
  transition:opacity .15s, background .15s, transform .15s;cursor:pointer;
  font-style:normal;
}
.f__pin:hover{opacity:1;background:rgba(10,22,40,.06);transform:translateY(-50%) scale(1.15)}
.f--pinned{
  background:#FFF3D4;border-color:#F5C542;color:#7A4A00;
}
.f--pinned em{color:#9A5C00}
.f--pinned .f__pin{opacity:1;background:#F5C542;color:#7A4A00}
.f--active.f--pinned{background:#F5C542;border-color:#F5C542;color:#1F1600}
.f--active.f--pinned em{color:rgba(31,22,0,.65)}

/* Blocked job row */
.job--blocked{
  opacity:.55;cursor:default;
  background:linear-gradient(180deg,#FFF8F4 0%,#FFF 100%);
  border-color:#F4D7CC;
}
.job--blocked:hover{transform:none;box-shadow:none;border-color:#F4D7CC}
.job__blocked{
  position:absolute;top:.5rem;right:.7rem;
  display:inline-flex;flex-direction:column;align-items:flex-end;gap:.05rem;
  background:#FCEBEB;color:#A22727;padding:.35rem .6rem;border-radius:10px;
  font-size:.72rem;font-weight:700;
}
.job__blocked em{font-style:normal;font-weight:500;color:#7A1F1F;font-size:.68rem}

/* =====================================================
   Inline scores (job cards)
   ===================================================== */
/* Old .jobscores bottom-row removed — single corner badge handles both
   Match% (when CV-Match active) and Job-Score (when not). */

/* =====================================================
   Highlights section (replaces meta-tagged Smart Tags)
   ===================================================== */
.highlights{
  margin:1.6rem 0;padding:1.4rem 1.5rem;
  background:#fff;border:1px solid var(--line);border-radius:18px;
}
.highlights__head{margin-bottom:1rem}
.highlights__group{margin-bottom:1.1rem}
.highlights__group:last-child{margin-bottom:0}
.highlights__sub{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;
  font-weight:700;color:var(--ink-2);margin:0 0 .55rem;
  font-family:var(--font-body);
}
.highlights__group--pos .highlights__sub{color:#076B48}
.highlights__group--neg .highlights__sub{color:#9A4A00}
.hchips{display:flex;flex-wrap:wrap;gap:.4rem}
.hchip{
  display:inline-flex;align-items:baseline;gap:.4rem;
  font-size:.82rem;font-weight:600;color:var(--ink);
  padding:.42rem .8rem;border-radius:999px;
  background:#F0FCF6;border:1px solid #C1EDD8;
  transition:transform .12s, box-shadow .12s;
}
.hchip:hover{transform:translateY(-1px);box-shadow:var(--shadow-xs)}
.hchip em{
  font-style:normal;font-weight:600;font-size:.72rem;
  color:#076B48;background:#D6F5E4;
  padding:.08rem .4rem;border-radius:999px;
}
.hchip--neg{background:#FFF8F0;border-color:#F4D5BB;color:var(--ink)}
.hchip--neg em{color:#9A4A00;background:#FEE3C9}

/* =====================================================
   Top-nav: Gemerkt button
   ===================================================== */
.nav__saved{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.45rem .75rem;border-radius:999px;
  background:#fff;color:var(--ink);border:1px solid var(--line);
  font-weight:700;font-size:.84rem;cursor:pointer;
  transition:border-color .15s, background .15s;
  position:relative;
}
.nav__saved:hover{border-color:var(--ink)}
.nav__saved svg{transition:fill .15s, stroke .15s}
.nav__saved.has-saved svg{fill:var(--pop);stroke:var(--pop)}
.nav__saved-badge{
  font-style:normal;font-weight:700;font-size:.7rem;
  background:var(--ink);color:#fff;padding:.05rem .4rem;border-radius:999px;
  min-width:1.4rem;text-align:center;display:inline-block;
}
.nav__saved.has-saved .nav__saved-badge{background:var(--pop)}

/* =====================================================
   Job-card heart icon (#10 save trigger)
   ===================================================== */
.job{position:relative}
.job__heart{
  position:absolute;top:.55rem;right:.65rem;
  width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--muted-2);
  font-size:1.05rem;line-height:1;
  border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s;cursor:pointer;
  z-index:2;
}
.job__heart:hover{color:var(--pop);border-color:var(--pop);transform:scale(1.1)}
.job__heart.is-saved{background:var(--pop);color:#fff;border-color:var(--pop)}
.job__heart.is-saved::before{content:"♥"}
.job__heart.is-saved span{display:none}
.job.is-selected .job__heart{background:#fff}

/* =====================================================
   Results toolbar: viewmode toggle (#6)
   ===================================================== */
.results__head{flex-wrap:wrap;gap:.6rem}
.results__tools{display:flex;gap:.5rem;align-items:center;margin-left:auto}
.viewmode{display:inline-flex;background:var(--soft);border-radius:10px;padding:.18rem;gap:.1rem}
.viewmode__btn{
  padding:.35rem .55rem;border-radius:8px;font-size:.95rem;line-height:1;
  color:var(--muted);transition:background .15s, color .15s;
  font-family:var(--font-mono);font-weight:500;
}
.viewmode__btn:hover{color:var(--ink)}
.viewmode__btn.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}

/* =====================================================
   Zoom-Mode: Kompakt rows (#6)
   ===================================================== */
body[data-jobview="compact"] .preview{display:none}
body[data-jobview="compact"] .workspace--two{grid-template-columns:1fr}
body[data-jobview="compact"] .joblist{gap:.15rem}
body[data-jobview="compact"] .job{
  display:grid;
  grid-template-columns:auto 32px 1.6fr 50px 70px 70px 32px 30px 32px;
  gap:.7rem;align-items:center;
  padding:.45rem .8rem .45rem .5rem;border-radius:10px;
  min-height:auto;
}
body[data-jobview="compact"] .job__check{padding:0}
body[data-jobview="compact"] .job__logo{width:32px;height:32px;font-size:.7rem;border-radius:7px;flex:0 0 32px}
body[data-jobview="compact"] .job__body{display:contents}
body[data-jobview="compact"] .job__title-row{display:contents}
body[data-jobview="compact"] .job__title{font-size:.86rem;font-weight:700;line-height:1.15;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-jobview="compact"] .job__company,
body[data-jobview="compact"] .job__tags,
body[data-jobview="compact"] .job__meta,
body[data-jobview="compact"] .jobscores{display:none}
body[data-jobview="compact"] .match{padding:.1rem .35rem;border-radius:6px;font-size:.78rem;min-width:auto}
body[data-jobview="compact"] .compact-cell{
  font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:600;
  text-align:right;
}
body[data-jobview="compact"] .compact-cell--icon{text-align:center;font-size:.95rem}
body[data-jobview="compact"] .job__heart{position:static;width:26px;height:26px;font-size:.85rem}
body[data-jobview="compact"] .job__title{grid-column:auto}

/* Title row in compact: combine title+company with separator */
body[data-jobview="compact"] .job__title::after{
  content:" · " attr(data-company);
  font-weight:500;color:var(--muted);
}

/* =====================================================
   Karten-Overlay panel (#7)
   ===================================================== */
.map-panel{
  display:none;
  position:sticky;top:114px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);
  overflow:hidden;
  height:calc(100vh - 130px);
  flex-direction:column;
}
body[data-jobview="split"] .map-panel{display:flex}
body[data-jobview="split"] .preview{display:none}
body[data-jobview="split"] .workspace--two{grid-template-columns:minmax(360px,440px) 1fr}

body[data-jobview="map"] .map-panel{display:flex}
body[data-jobview="map"] .preview{display:none}
body[data-jobview="map"] .results{display:none}
body[data-jobview="map"] .workspace--two{grid-template-columns:1fr}
body[data-jobview="map"] .map-panel{height:calc(100vh - 200px)}

.map-panel__head{
  display:flex;justify-content:space-between;align-items:center;gap:.8rem;
  padding:.7rem 1rem;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#FBFCFF 0%,#fff 100%);
}
.map-panel__title{font-weight:700;font-size:.88rem;color:var(--ink)}
.map-panel__legend{display:flex;gap:.5rem;font-size:.7rem;color:var(--muted);align-items:center;flex-wrap:wrap}
.map-panel__legend em{font-style:normal;display:inline-flex;align-items:center;gap:.3rem;font-weight:600}
.map-panel__legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.map-panel__map{flex:1;min-height:0}
.map-panel__map .leaflet-container{background:#F2F4F8;border-radius:0 0 var(--radius-xl) var(--radius-xl)}

/* Custom job bubble */
.job-bubble{
  border-radius:50%;border:2.5px solid #fff;
  box-shadow:0 2px 6px rgba(10,22,40,.18);
  cursor:pointer;transition:transform .15s, box-shadow .15s;
}
.job-bubble:hover{transform:scale(1.18);box-shadow:0 4px 14px rgba(10,22,40,.28);z-index:1000}
.job-bubble.is-active{box-shadow:0 0 0 3px var(--ink), 0 4px 14px rgba(10,22,40,.4);z-index:1001}
.job-bubble.is-new{animation:bubble-pulse 2s ease-in-out infinite}
@keyframes bubble-pulse{
  0%,100%{box-shadow:0 2px 6px rgba(10,22,40,.18), 0 0 0 0 rgba(24,224,160,.4)}
  50%{box-shadow:0 2px 6px rgba(10,22,40,.18), 0 0 0 8px rgba(24,224,160,0)}
}

/* =====================================================
   Bewerbungsaufwand-Block (#3)
   ===================================================== */
.apply-meta{
  margin:1.4rem 0 1.6rem;padding:1.1rem 1.2rem;
  background:linear-gradient(180deg,#FBFFFE 0%,#F4FBFA 100%);
  border:1px solid #D5EFE4;border-radius:16px;
}
.apply-meta__list{
  list-style:none;padding:0;margin:.55rem 0 .6rem;
  display:flex;flex-direction:column;gap:.45rem;
}
.apply-meta__row{
  display:grid;grid-template-columns:24px 1fr auto;gap:.5rem 1rem;
  align-items:baseline;font-size:.86rem;
}
.apply-meta__icon{font-size:1.05rem;line-height:1;text-align:center}
.apply-meta__label{font-weight:700;color:var(--ink)}
.apply-meta__detail{color:var(--muted);font-size:.78rem;font-weight:500;justify-self:start;grid-column:2}
.apply-meta__row{padding-bottom:.45rem;border-bottom:1px dashed var(--line)}
.apply-meta__row:last-child{border-bottom:0}
.apply-meta__row--good .apply-meta__label{color:#076B48}
.apply-meta__warn{
  font-size:.7rem;color:#9A4A00;background:#FEF1E0;padding:.15rem .45rem;border-radius:999px;
  font-weight:600;justify-self:end;grid-column:3;grid-row:1;
}
.apply-meta__source{font-size:.7rem;color:var(--muted-2);margin:.3rem 0 0;font-style:italic}

/* =====================================================
   Einzugsgebiet (#2)
   ===================================================== */
.einzug{margin:1.4rem 0;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:16px}
.einzug__head{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}
.einzug__chips{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
.einzug-chip{
  padding:.32rem .65rem;border-radius:999px;font-size:.74rem;font-weight:700;
  background:var(--soft);color:var(--ink-2);border:1px solid transparent;
  transition:all .15s;
}
.einzug-chip:hover{background:var(--soft-2)}
.einzug-chip.is-active{background:var(--ink);color:#fff}
.einzug__sep{width:1px;height:18px;background:var(--line);margin:0 .25rem}
.einzug-toggle{display:inline-flex;gap:.35rem;align-items:center;font-size:.74rem;font-weight:600;color:var(--ink-2);cursor:pointer}
.einzug-toggle input{margin:0;cursor:pointer}
.einzug__map{
  height:260px;border-radius:12px;overflow:hidden;
  background:#EAEEF4;border:1px solid var(--line);
}
.einzug__map .leaflet-container{height:100%}
.einzug__readout{margin:.7rem 0 .25rem;font-size:.84rem;color:var(--ink-2)}
.einzug__readout strong{color:var(--ink);font-weight:700}
.einzug__hint{margin:0;font-size:.7rem;color:var(--muted);font-style:italic}

/* draggable pin on map */
.einzug-pin{
  width:28px;height:28px;border-radius:50% 50% 50% 0;
  background:var(--ink);transform:rotate(-45deg);
  border:3px solid #fff;box-shadow:0 3px 10px rgba(10,22,40,.35);
  display:flex;align-items:center;justify-content:center;
  cursor:grab;
}
.einzug-pin::after{
  content:"📍";transform:rotate(45deg);font-size:.95rem;line-height:1;
  text-shadow:0 1px 2px rgba(0,0,0,.3);
}

/* isochrone styling */
.einzug-iso{
  fill:rgba(24,224,160,.18);
  stroke:#10B981;stroke-width:1.5;stroke-dasharray:4 3;
}

/* =====================================================
   Universal Career-Ladder (#5)
   ===================================================== */
.ladder{margin:1.4rem 0;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:16px}
.ladder__head{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.ladder__toggle{display:inline-flex;background:var(--soft);border-radius:999px;padding:.18rem;gap:.1rem}
.ladder-pill{
  padding:.32rem .75rem;border-radius:999px;font-size:.74rem;font-weight:700;
  color:var(--muted);transition:all .15s;
}
.ladder-pill.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}

.ladder__steps{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0;
  position:relative;
}
.ladder__steps::before{
  content:"";position:absolute;
  left:9px;top:1rem;bottom:1rem;
  width:2px;background:linear-gradient(180deg,var(--accent-2) 0%,var(--line) 100%);
  border-radius:2px;
}
.ladder-step{
  position:relative;padding:.65rem 0 .65rem 2.2rem;
  cursor:pointer;transition:background .15s;
  border-radius:8px;
}
.ladder-step:hover{background:var(--soft)}
.ladder-step__dot{
  position:absolute;left:0;top:.95rem;
  width:20px;height:20px;border-radius:50%;
  background:#fff;border:3px solid var(--line);
  box-sizing:border-box;
  z-index:1;
}
.ladder-step--current .ladder-step__dot{
  background:var(--accent);border-color:var(--accent-2);
  box-shadow:0 0 0 4px rgba(24,224,160,.18);
  animation:ladder-pulse 2.4s ease-in-out infinite;
}
@keyframes ladder-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(24,224,160,.18)}
  50%{box-shadow:0 0 0 8px rgba(24,224,160,.04)}
}
.ladder-step--current{background:linear-gradient(90deg,#F0FCF6 0%,transparent 100%)}
.ladder-step__row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem 1rem;align-items:baseline}
.ladder-step__title{font-weight:700;font-size:.92rem;color:var(--ink)}
.ladder-step--current .ladder-step__title{color:#076B48}
.ladder-step__salary{
  font-family:var(--font-display);font-weight:700;font-size:.88rem;
  letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;
}
.ladder-step__meta{font-size:.74rem;color:var(--muted);font-weight:600;white-space:nowrap}
.ladder-step__meta b{color:var(--ink-2);font-weight:700}
.ladder-step__detail{
  display:none;margin-top:.55rem;padding:.7rem .85rem;
  background:var(--soft);border-radius:10px;
  font-size:.78rem;color:var(--ink-2);
  display:none;
}
.ladder-step.is-open .ladder-step__detail{display:block}
.ladder-step__detail h6{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);margin:0 0 .3rem;font-family:var(--font-body)}
.ladder-step__detail .titles{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}
.ladder-step__detail .titles span{font-size:.72rem;background:#fff;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);font-weight:600}
.ladder-step__detail .exits{margin:.4rem 0 0}
.ladder-step__detail .exits li{font-size:.74rem;color:var(--ink-2);margin-bottom:.2rem;display:flex;justify-content:space-between;gap:1rem}
.ladder-step__detail .exits li em{color:var(--muted);font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
.ladder__source{margin:.8rem 0 0;font-size:.7rem;color:var(--muted-2);font-style:italic}

/* =====================================================
   Gemerkt drawer (#10)
   ===================================================== */
.drawer-scrim{
  position:fixed;inset:0;background:rgba(10,22,40,.45);
  backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .25s;
  z-index:90;
}
.drawer-scrim.is-open{opacity:1;pointer-events:auto}

.drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(440px, 96vw);
  background:#fff;border-left:1px solid var(--line);
  box-shadow:-12px 0 40px rgba(10,22,40,.18);
  transform:translateX(110%);transition:transform .3s cubic-bezier(.2,.8,.2,1);
  z-index:100;
  display:flex;flex-direction:column;
}
.drawer.is-open{transform:translateX(0)}
.drawer__head{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.2rem 1.4rem 1rem;border-bottom:1px solid var(--line);
}
.drawer__head h2{font-size:1.4rem;letter-spacing:-.025em}
.drawer__head em{font-style:normal;color:var(--pop);font-weight:600;font-size:1rem;margin-left:.4rem}
.drawer__close{
  width:36px;height:36px;border-radius:50%;background:var(--soft);
  font-size:.95rem;color:var(--ink-2);transition:all .15s;
}
.drawer__close:hover{background:var(--ink);color:#fff}
.drawer__tabs{
  display:flex;gap:.2rem;padding:.7rem 1rem .3rem;
  overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line-2);
}
.drawer__tabs::-webkit-scrollbar{display:none}
.drawer-tab{
  padding:.4rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;
  color:var(--muted);white-space:nowrap;transition:all .15s;
}
.drawer-tab:hover{color:var(--ink)}
.drawer-tab.is-active{background:var(--ink);color:#fff}
.drawer__body{flex:1;overflow:auto;padding:.9rem 1.1rem 1.4rem}
.drawer__empty{
  text-align:center;padding:3rem 1rem;color:var(--muted);font-size:.88rem;
}
.drawer__empty strong{display:block;font-size:1.1rem;color:var(--ink);font-family:var(--font-display);margin-bottom:.4rem}

/* Saved card */
.saved-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:.95rem 1.05rem;margin-bottom:.55rem;
  display:flex;flex-direction:column;gap:.4rem;
  position:relative;
}
.saved-card__head{display:grid;grid-template-columns:32px 1fr auto;gap:.6rem;align-items:flex-start}
.saved-card__logo{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.7rem}
.saved-card__title{font-size:.92rem;font-weight:700;line-height:1.2;color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em}
.saved-card__company{font-size:.74rem;color:var(--muted);margin-top:.1rem}
.saved-card__match{
  font-family:var(--font-display);font-weight:700;font-size:.78rem;
  background:#E7FBF2;color:#076B48;padding:.2rem .5rem;border-radius:6px;line-height:1;
}
.saved-card__deadline{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.72rem;color:#9A4A00;background:#FEF1E0;
  padding:.25rem .55rem;border-radius:999px;font-weight:700;align-self:flex-start;
}
.saved-card__diff{
  background:var(--soft);border-radius:10px;padding:.5rem .7rem;
  font-size:.74rem;color:var(--ink-2);
}
.saved-card__diff h6{
  font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  color:var(--muted);margin:0 0 .35rem;font-family:var(--font-body);
}
.saved-card__diff ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem}
.saved-card__diff li{display:flex;gap:.4rem;align-items:baseline}
.saved-card__diff li::before{content:"▲";color:var(--accent-2);font-size:.7rem}
.saved-card__diff li.is-down::before{content:"▼";color:var(--danger)}
.saved-card__note{
  font-size:.78rem;color:var(--ink-2);font-style:italic;
  background:#FFF8E5;padding:.4rem .6rem;border-radius:8px;border-left:3px solid var(--warn);
}
.saved-card__actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.2rem}
.saved-card__actions .btn--sm{padding:.4rem .7rem;font-size:.74rem}
.saved-card__remove{
  position:absolute;top:.55rem;right:.65rem;
  background:none;color:var(--muted-2);font-size:.95rem;
  width:24px;height:24px;border-radius:6px;line-height:1;
}
.saved-card__remove:hover{color:var(--danger);background:#FCEBEB}

/* Drawer empty state per collection */
.drawer__hint{
  text-align:center;font-size:.82rem;color:var(--muted);
  margin-top:1rem;padding:1rem;border:1.5px dashed var(--line);border-radius:12px;
}

/* =====================================================
   Toast
   ===================================================== */
.toast{
  position:fixed;bottom:5rem;left:50%;transform:translateX(-50%) translateY(120%);
  background:var(--ink);color:#fff;padding:.7rem 1.2rem;border-radius:999px;
  font-size:.85rem;font-weight:600;box-shadow:var(--shadow-lg);
  opacity:0;transition:opacity .25s, transform .25s;z-index:200;
  pointer-events:none;
}
.toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}

/* =====================================================
   Full Job-Detail (Insights view) additions
   ===================================================== */

/* Hero chip: fresh */
.meta-chip--fresh{background:#E7FBF2;color:#076B48;font-weight:700}
.jobstrip__actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}
.jobstrip__actions .btn--sm{padding:.4rem .85rem;font-size:.78rem}

/* Section title (h2) used by all detail sections */
.section-title{font-size:1.5rem;letter-spacing:-.025em;margin:0}
.section-head{margin-bottom:1.1rem}
.section-head__kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent-2)}
.section-head__title{font-size:1.6rem;letter-spacing:-.03em;margin:.25rem 0 .35rem}
.section-head__sub{font-size:.86rem;color:var(--muted);margin:0}

/* At-a-glance widget row (4 cards merging the inline-scores look) */
.glance{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;
  margin-bottom:1.4rem;
}
.glance__card{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;
  position:relative;overflow:hidden;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
.glance__card:hover{border-color:var(--ink-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.glance__card--match{background:linear-gradient(180deg,#EAFBF3 0%,#D8F5E8 100%);border-color:#C1EDD8}
.glance__card--money{background:linear-gradient(180deg,#FFFCF1 0%,#FFF6D8 100%);border-color:#F1E2A6}
.glance__k{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.glance__card--match .glance__k{color:#0B5E43}
.glance__card--money .glance__k{color:#7A4A00}
.glance__v{font-family:var(--font-display);font-weight:700;font-size:1.95rem;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.glance__bar{display:block;height:5px;background:rgba(10,22,40,.08);border-radius:3px;overflow:hidden}
.glance__bar i{display:block;height:100%;background:linear-gradient(90deg,#18E0A0,#10B981);border-radius:3px}
.glance__card--money .glance__bar i{background:linear-gradient(90deg,#FFD555,#FFB020)}
.glance__sub{font-size:.74rem;color:var(--muted);font-weight:500;line-height:1.35}
.glance__card--match .glance__sub,
.glance__card--money .glance__sub{color:rgba(10,22,40,.7)}
.glance__card--na{background:linear-gradient(180deg,#FFF6F4 0%,#FCE9E2 100%);border-color:#F4D0C0}
.glance__card--na .glance__k{color:#9A2B00}
.glance__card--na .glance__v{color:#9A2B00}
.glance__card--na .glance__bar i{background:#FFB020}

/* JS-widget states */
.jswidget--na{background:linear-gradient(180deg,#FFF6F4 0%,#FFFAF8 100%);border-color:#F4D0C0}
.jswidget--na .jswidget__head b{color:#9A2B00}
.jswidget--mid{background:linear-gradient(180deg,#FFFCF0 0%,#FFFAE5 100%);border-color:#F1E2A6}
.jswidget--mid .jswidget__bar i{background:linear-gradient(90deg,#FFD555,#FFB020)}

/* Money sumcard "missing" indicator */
.sumcard__v--miss{color:#9A2B00}

/* Header chip warn (e.g. old posting) */
.meta-chip--warn{background:#FEF1E0;color:#9A4A00;font-weight:700}

/* Off-state chip (verifiable but absent) */
.chip2--off{opacity:.45;text-decoration:line-through;text-decoration-color:rgba(10,22,40,.35)}
.chip2--off:hover{opacity:.7}

/* Inline-score NA */
.jobscore--na em{filter:grayscale(1);opacity:.55}
.jobscore--na u{color:var(--muted-2)}

/* Dim score warn */
.dim__v--mid{color:#9A4A00}

/* =====================================================
   Vom Arbeitgeber (verbatim employer voice)
   ===================================================== */
.employer-voice{
  margin:1.6rem 0;padding:1.6rem 1.8rem;
  background:linear-gradient(180deg,#FFFCF8 0%,#FFF6EE 100%);
  border:1px solid #F4D5BB;border-radius:18px;
  position:relative;
}
.employer-voice::before{
  content:"";position:absolute;left:0;top:1.6rem;bottom:1.6rem;width:4px;
  background:linear-gradient(180deg,#FF8A3D 0%,#FF6B2B 100%);
  border-radius:0 4px 4px 0;
}
.employer-voice__head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  padding-bottom:.85rem;border-bottom:1px solid #F4D5BB;margin-bottom:1.1rem;flex-wrap:wrap;
}
.employer-voice__kicker{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#9A4A00;
}
.employer-voice__title{font-size:1.3rem;letter-spacing:-.025em;margin:.2rem 0 0;color:var(--ink)}
.employer-voice__badge{
  font-size:.7rem;font-weight:700;padding:.3rem .65rem;border-radius:999px;
  background:#FFE3CC;color:#9A4A00;letter-spacing:.02em;
  align-self:center;
}
.employer-voice__body h4{
  font-family:var(--font-display);font-weight:700;font-size:.98rem;letter-spacing:-.02em;
  color:var(--ink);margin:1.2rem 0 .4rem;
}
.employer-voice__body h4:first-child{margin-top:0}
.employer-voice__body p{
  font-size:.92rem;line-height:1.65;color:var(--ink-2);margin:0 0 .85rem;
}
.employer-voice__body p:last-child{margin-bottom:0}
.employer-voice__body strong{color:var(--ink);font-weight:700}
.employer-voice__list{
  list-style:none;padding:0;margin:0 0 .85rem;
  display:flex;flex-direction:column;gap:.4rem;
}
.employer-voice__list li{
  font-size:.92rem;line-height:1.55;color:var(--ink-2);
  padding-left:1.1rem;position:relative;
}
.employer-voice__list li::before{
  content:"";position:absolute;left:.05rem;top:.62rem;
  width:6px;height:6px;border-radius:50%;background:#FF6B2B;
}
.employer-voice__body a{color:#FF6B2B;font-weight:700;text-decoration:underline;text-decoration-style:dotted}
.employer-voice__body a:hover{text-decoration-style:solid}
.employer-voice__foot{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;
  margin-top:1.2rem;padding-top:1rem;border-top:1px dashed #F4D5BB;
  font-size:.78rem;color:var(--muted);
}
.employer-voice__link{color:#FF6B2B;font-weight:700;text-decoration:underline;text-decoration-style:dotted}
.employer-voice__link:hover{text-decoration-style:solid}

@media (max-width: 900px){
  .employer-voice{padding:1.2rem 1.3rem}
  .employer-voice__head{flex-direction:column;align-items:flex-start;gap:.5rem}
  .employer-voice__badge{align-self:flex-start}
}

/* Two-column (Bewerbung + Top Benefits) */
.detail-two{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem}
.detail-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:1.2rem 1.3rem;
}
.detail-card--full{margin-bottom:1.4rem}
.detail-card__title{font-size:1.05rem;letter-spacing:-.02em;margin:0 0 .8rem}
.detail-card__sub{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.2rem 0 .55rem;font-family:var(--font-body);font-weight:700}

.perks--lg{font-size:.92rem}
.perks--lg li{padding:.25rem 0}
.bullets--lg{font-size:.92rem}
.bullets--lg li{margin-bottom:.45rem;line-height:1.55}

/* Job-Score widget grid (replaces the old text-heavy panel) */
.jobscore-grid-section{margin:1.6rem 0}
.jsgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}
.jswidget{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.45rem;
  transition:border-color .15s, transform .15s;
}
.jswidget:hover{border-color:var(--ink-2);transform:translateY(-1px)}
.jswidget__head{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:baseline}
.jswidget__icon{font-size:1.1rem;line-height:1}
.jswidget__head b{font-size:.86rem;font-weight:600;color:var(--ink-2)}
.jswidget__v{font-family:var(--font-display);font-weight:700;font-size:1.4rem;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.jswidget__v--mini{font-size:.78rem;color:var(--accent-2);font-weight:700}
.jswidget__bar{height:6px;background:var(--soft);border-radius:3px;overflow:hidden}
.jswidget__bar i{display:block;height:100%;background:linear-gradient(90deg,#18E0A0,#10B981);border-radius:3px}
.jswidget__note{font-size:.78rem;color:var(--muted);line-height:1.45;margin:0}
.jswidget__note b{color:var(--ink);font-weight:700}
.jswidget--alert{background:linear-gradient(180deg,#F7FFFB 0%,#F0FCF6 100%);border-color:#C1EDD8}

/* Career-Ladder: data quality block */
.ladder--full{margin:1.6rem 0}
.ladder__quality{
  margin-top:1rem;padding:.95rem 1.1rem;background:var(--soft);border-radius:14px;
}
.ladder__quality-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem;font-size:.86rem}
.ladder__quality-row strong{color:var(--ink)}
.dq-meta{font-size:.74rem;color:var(--muted);margin-left:.4rem}
.dq-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 10px}
.dq-dot--good{background:var(--accent-2)}
.dq-dot--mid{background:var(--warn)}
.dq-dot--low{background:var(--danger)}
.ladder__sources{
  list-style:none;padding:0;margin:0 0 .55rem;
  display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;
  font-size:.74rem;
}
.ladder__sources li{background:#fff;padding:.4rem .6rem;border-radius:8px;border:1px solid var(--line)}
.ladder__sources li b{font-weight:700;color:var(--ink)}
.ladder__caveat{font-size:.72rem;color:var(--muted);margin:0;font-style:italic;line-height:1.5}

/* Einzugsgebiet: full-width version */
.einzug--full{margin:1.6rem 0;padding:1.4rem 1.4rem}
.einzug--full .einzug__map{height:380px}

/* Similar Jobs full version */
.similar--full{margin:1.6rem 0;padding:1.4rem 1.4rem;background:#fff;border:1px solid var(--line);border-radius:18px}
.similar--full .similar__grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.8rem}
.similar--full .similar__card{padding:.85rem 1rem;border-radius:14px}

/* Make ins-two single column when only one panel inside */
.ins-two{grid-template-columns:1fr 1fr}
.ins-two:has(.panel:only-child){grid-template-columns:1fr}

/* Preview deeplink */
.preview__deeplink{margin:1.4rem 0 0;padding:.85rem 1.1rem;background:linear-gradient(90deg,#F7FFFB 0%,#F1FAFF 100%);border-radius:12px;text-align:center;font-size:.86rem}
.preview__deeplink a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--muted-2)}
.preview__deeplink a:hover{text-decoration-style:solid;text-decoration-color:var(--ink)}

/* Mobile tweaks for full Job-Detail */
@media (max-width: 900px){
  .drawer{width:100vw}
  .map-panel{position:relative;top:auto;height:60vh}
  body[data-jobview="split"] .workspace--two{grid-template-columns:1fr}
  .nav__saved span{display:none}
  .glance{grid-template-columns:1fr 1fr;gap:.5rem}
  .glance__card{padding:.85rem .95rem}
  .glance__v{font-size:1.55rem}
  .detail-two{grid-template-columns:1fr}
  .jsgrid{grid-template-columns:1fr}
  .ladder__sources{grid-template-columns:1fr}
  .similar--full .similar__grid{grid-template-columns:1fr}
  .jobstrip__actions{flex-direction:row;width:100%;justify-content:flex-end}
}
