/* ===========================================================================
   Spraakmaker CRM — app.css  ·  verankerd in spraakmaker.media
   Tokens + componenten. Rustig, veel witruimte, hairline-randen, één accent.
   =========================================================================== */

:root {
  --bg:#F7F8FC; --card:#FFFFFF; --fg:#0A0920; --muted:#5C5B7A; --border:#DDDDF0;
  --accent:#10069F; --accent-light:#EEEEFF; --night:#1A1934;
  --blush-soft:#F1F0FA; --blush:#E4E2F2; --blush-deep:#C9C6E0;
  --ok:#1F8A5B; --warn:#92670A; --warn-bg:#FBF1D9; --warn-bd:#F0E2BD;
  --danger:#B0241B; --danger-bg:#FBE9E7; --danger-bd:#F3CFC9;
  --sans:'Inter',sans-serif; --display:'Plus Jakarta Sans',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-pill:100px; --r-lg:24px; --r-md:16px; --r-sm:10px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--fg);line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.02em;}
a{color:var(--accent);}
::selection{background:var(--accent);color:#fff;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}
button{font-family:inherit;}
::-webkit-scrollbar{height:10px;width:10px;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;border:3px solid var(--bg);}

/* ── Shell ── */
.shell{display:flex;min-height:100vh;}
.side{width:248px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100vh;
  background:#fff;border-right:1px solid var(--border);padding:30px 22px;display:flex;flex-direction:column;}
.brand{display:flex;align-items:baseline;gap:5px;padding:0 8px;margin-bottom:4px;text-decoration:none;}
.brand b{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.03em;color:var(--fg);}
.brand span{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:-.03em;color:var(--muted);}
.side-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);
  text-transform:uppercase;padding:0 8px;margin-bottom:30px;}
.nav{display:flex;flex-direction:column;gap:2px;}
.nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;
  text-decoration:none;color:var(--muted);font-size:14.5px;font-weight:500;transition:background .15s,color .15s;}
.nav a:hover{background:var(--blush-soft);color:var(--fg);}
.nav a.active{background:var(--accent-light);color:var(--accent);font-weight:600;}
.nav a .ic{width:18px;text-align:center;font-size:15px;}
.side-foot{margin-top:auto;padding:16px 12px;background:var(--blush-soft);border:1px solid var(--blush);border-radius:14px;}
.side-foot .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.side-foot .v{font-size:13px;color:var(--fg);line-height:1.45;}
.side-user{margin-top:14px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;}
.side-user .nm{font-size:12.5px;color:var(--muted);}
.linkbtn{background:none;border:none;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;padding:0;}

.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.wrap{padding:40px clamp(28px,5vw,64px) 72px;max-width:1180px;width:100%;margin:0 auto;}
.wrap-narrow{max-width:920px;}

/* ── Typografie & koppen ── */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
h1.page{font-family:var(--display);font-weight:500;font-size:clamp(30px,4vw,44px);
  line-height:1.02;letter-spacing:-.035em;margin-bottom:8px;}
h1.page i,.italic{font-style:italic;font-weight:500;color:var(--accent);}
.lead{font-size:17px;color:var(--muted);max-width:62ch;margin-bottom:30px;text-wrap:pretty;}
.mono{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;}
.crumb{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--muted);
  font-size:13.5px;font-weight:500;cursor:pointer;margin-bottom:22px;padding:4px 0;text-decoration:none;}
.crumb:hover{color:var(--fg);}

/* ── Flash ── */
.flash{background:var(--accent-light);border:1px solid var(--blush-deep);border-left:3px solid var(--accent);
  border-radius:var(--r-sm);padding:14px 18px;margin-bottom:24px;font-size:14.5px;color:var(--fg);}

/* ── Stats ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:36px;}
.stat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;}
.stat.hi{background:var(--accent-light);border-color:var(--blush-deep);}
.stat .n{font-family:var(--display);font-weight:600;font-size:34px;letter-spacing:-.03em;line-height:1;white-space:nowrap;}
.stat .l{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.35;}

/* ── Pills / filters ── */
.pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.pill{border:1px solid var(--border);background:#fff;color:var(--muted);font-size:13.5px;font-weight:500;
  padding:9px 16px;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;display:inline-block;}
.pill:hover{border-color:var(--blush-deep);}
.pill.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;}
.pill.soft.active{background:var(--accent-light);color:var(--accent);border-color:var(--blush-deep);}

/* ── Knoppen ── */
.btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--sans);
  font-size:14px;font-weight:600;padding:12px 22px;border-radius:var(--r-pill);border:none;text-decoration:none;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease),opacity .16s;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(16,6,159,.6);}
.btn-ghost{background:#fff;color:var(--fg);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--blush-deep);}
.btn-sm{padding:10px 18px;font-size:13.5px;}
.btn-danger{background:#fff;color:var(--danger);border:1.5px solid var(--danger-bd);}
.btn-on-accent{background:#fff;color:var(--accent);}

/* ── Klantrijen ── */
.rows{background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;}
.row{display:flex;align-items:center;gap:16px;width:100%;text-align:left;cursor:pointer;background:#fff;
  border:none;border-top:1px solid var(--border);padding:18px 22px;transition:background .15s;text-decoration:none;color:inherit;}
.row:first-child{border-top:none;}
.row:hover{background:var(--blush-soft);}
.row.gold{background:#FBFBFF;}
.avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--accent-light);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:15px;}
.avatar.gold{background:var(--accent);color:#fff;}
.row .who{flex:1;min-width:0;}
.row .nm{display:block;font-family:var(--display);font-weight:600;font-size:16.5px;letter-spacing:-.01em;}
.row .meta{display:block;font-size:13px;color:var(--muted);margin-top:1px;}
.row .deal{font-family:var(--mono);font-size:13px;color:var(--fg);width:96px;text-align:right;flex-shrink:0;}
.row .chev{color:var(--blush-deep);font-size:18px;flex-shrink:0;}
.sig{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:12.5px;font-weight:600;
  padding:7px 13px;border-radius:var(--r-pill);white-space:nowrap;border:1px solid;}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:11px;}
.eq span{width:2.5px;background:currentColor;border-radius:2px;animation:eq 1.1s ease-in-out infinite;}
.eq span:nth-child(1){height:60%;} .eq span:nth-child(2){height:100%;animation-delay:.18s;}
.eq span:nth-child(3){height:45%;animation-delay:.36s;} .eq span:nth-child(4){height:80%;animation-delay:.12s;}
@keyframes eq{0%,100%{transform:scaleY(.4);}50%{transform:scaleY(1);}}

/* ── Kaarten / panels ── */
.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;}
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;}
.callout{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:var(--r-sm);padding:16px 20px;}
.callout.warn{background:var(--warn-bg);border-color:var(--warn);border:1px solid var(--warn-bd);border-left:3px solid var(--warn);}
.callout p{font-size:14.5px;line-height:1.55;}

/* ── Tijdlijn (signatuur) ── */
.tl{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;
  box-shadow:0 20px 60px -36px rgba(16,6,159,.35);}
.tl-head{display:flex;justify-content:space-between;padding:20px 28px 4px;}
.tl-scroll{overflow-x:auto;padding:0 28px 26px;}
.tl-track{position:relative;min-width:1120px;height:360px;}
.tl-lane-lbl{position:absolute;left:0;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.tl-lane-lbl.c{top:42px;color:var(--accent);} .tl-lane-lbl.t{bottom:42px;color:var(--muted);}
.tl-axis{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-1px);
  background:linear-gradient(90deg,var(--blush),var(--blush-deep),var(--blush));}
.tl-node{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:128px;height:130px;}
.tl-node.c{bottom:50%;justify-content:flex-end;padding-bottom:14px;}
.tl-node.t{top:50%;justify-content:flex-start;padding-top:14px;}
.tl-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 13px;width:100%;
  box-shadow:0 8px 22px -16px rgba(16,6,159,.4);}
.tl-node.c .tl-card{order:0;} .tl-node.c .tl-stem{order:1;} .tl-node.c .tl-dot{order:2;}
.tl-node.t .tl-dot{order:0;} .tl-node.t .tl-stem{order:1;} .tl-node.t .tl-card{order:2;}
.tl-card .t{font-size:13px;font-weight:600;letter-spacing:-.01em;line-height:1.25;}
.tl-card .d{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:3px;}
.tl-stem{width:1.5px;height:14px;background:var(--blush-deep);}
.tl-dot{width:14px;height:14px;border-radius:50%;background:var(--blush-deep);box-shadow:0 0 0 4px var(--blush-soft);}
.tl-card.gold{background:var(--accent-light);border-color:var(--blush-deep);}
.tl-dot.gold,.tl-dot.win{background:var(--accent);box-shadow:0 0 0 4px var(--accent-light);}
.tl-card.gold .t{color:var(--accent);}
.tl-dot.risk{background:var(--danger);box-shadow:0 0 0 4px var(--danger-bg);}
.tl-card.risk{background:var(--danger-bg);border-color:var(--danger-bd);} .tl-card.risk .t{color:var(--danger);}
.tl-silence{position:absolute;top:calc(50% - 70px);height:34px;border:1.5px dashed var(--blush-deep);
  border-bottom:none;border-radius:10px 10px 0 0;}
.tl-silence-lbl{position:absolute;top:calc(50% - 92px);transform:translateX(-50%);font-family:var(--mono);
  font-size:10.5px;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-bd);
  padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;}
.tl-loop{border-top:1px solid var(--border);padding:16px 28px;background:var(--blush-soft);display:flex;align-items:center;gap:12px;}
.tl-loop .eq{color:var(--accent);height:14px;}
.tl-loop p{font-size:13.5px;line-height:1.5;}

/* ── Statusbalk ── */
.statusbar{display:flex;gap:5px;margin:14px 0 18px;}
.statusbar span{flex:1;height:30px;border-radius:6px;border:1px solid;}
.sb-pub{background:var(--accent);border-color:var(--accent);}
.sb-in_productie{background:#C7C2EC;border-color:#B6AFE0;}
.sb-gepland{background:var(--blush);border-color:#D6D2EC;}
.sb-leeg,.sb-on_hold,.sb-geannuleerd{background:var(--blush-soft);border-color:var(--blush);}

/* ── Productieketen ── */
.steps{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.step{display:flex;align-items:center;gap:14px;padding:16px 22px;border-top:1px solid var(--border);background:#fff;}
.step:first-child{border-top:none;}
.step.amber{background:#FEFBF2;}
.step .chk{width:24px;height:24px;flex-shrink:0;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;border:1.5px solid var(--blush-deep);background:#fff;color:#fff;}
.step .chk.done{background:var(--accent);border-color:var(--accent);}
.step .chk.amber{border-color:var(--warn);}
.step .body{flex:1;min-width:0;}
.step .lbl{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;}
.step .lbl.amber{color:var(--warn);}
.step .sub{display:flex;gap:7px;align-items:center;margin-top:4px;flex-wrap:wrap;}
.owner{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:var(--r-pill);border:1px solid;}
.owner.sm{color:var(--accent);background:var(--accent-light);border-color:var(--blush-deep);}
.owner.klant{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-bd);}
.owner.beide{color:var(--muted);background:var(--blush-soft);border-color:var(--blush);}
.step .col{text-align:right;flex-shrink:0;width:104px;}
.step .col .k{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);}
.step .col .v{display:block;font-size:13px;font-weight:500;}
.step .col input{width:100%;text-align:right;border:none;border-bottom:1px dashed var(--border);background:transparent;
  font-size:13px;font-family:var(--sans);color:var(--fg);padding:2px 0;}
.step .col input:focus{outline:none;border-bottom-color:var(--accent);}
.steplink{font-family:var(--mono);font-size:11px;color:var(--accent);text-decoration:none;}

/* ── Quotes / AI ── */
.quote{border-left:2px solid var(--blush-deep);padding:2px 0 2px 16px;margin-bottom:16px;}
.quote p{font-family:var(--display);font-weight:500;font-size:16px;line-height:1.5;letter-spacing:-.01em;}
.quote cite{font-style:normal;font-size:12px;color:var(--muted);}
.divider{display:flex;align-items:center;gap:14px;margin:34px 0 20px;}
.divider .line{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--blush-deep) 0 6px,transparent 6px 12px);}
.divider .t{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--warn);white-space:nowrap;}
.zone-internal{background:var(--night);border-radius:18px;padding:28px;color:#E8E7F5;}
.zone-internal .k{font-size:12px;color:#9D9BC9;margin-bottom:8px;}
.tagdark{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;
  font-size:13px;font-weight:500;padding:6px 14px;border-radius:var(--r-pill);}
.tagdark.ghost{background:transparent;border-color:rgba(255,255,255,.22);color:#C7C2EC;font-size:12.5px;padding:5px 12px;}
.guestchip{display:flex;align-items:center;gap:10px;background:var(--blush-soft);border:1px solid var(--blush);
  border-radius:var(--r-pill);padding:6px 14px 6px 6px;font-size:13px;}
.guestchip .ic{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;}
.tagrow{display:flex;gap:8px;flex-wrap:wrap;}
.tag{font-size:12.5px;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:5px 12px;border-radius:var(--r-pill);}

/* ── Concepten ── */
.concept{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px;margin-bottom:16px;}
.concept h3{font-size:21px;letter-spacing:-.02em;}
.statustag{font-size:12px;font-weight:600;color:var(--muted);background:var(--blush-soft);border:1px solid var(--blush);
  padding:5px 12px;border-radius:var(--r-pill);}
.statustag.verstuurd{color:var(--accent);background:var(--accent-light);border-color:var(--blush-deep);}
.statustag.geaccepteerd{color:var(--ok);background:#E8F5EE;border-color:#C7E6D4;}
.statustag.afgewezen{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-bd);}
.proof{background:var(--blush-soft);border:1px solid var(--blush);border-radius:12px;padding:14px 16px;margin:12px 0;}
.proof .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}

/* ── Inzichtmachine ── */
.askbar{background:#fff;border:1.5px solid var(--blush-deep);border-radius:16px;padding:14px 16px 14px 20px;
  display:flex;align-items:center;gap:14px;margin-bottom:14px;box-shadow:0 12px 30px -22px rgba(16,6,159,.5);}
.askbar input{flex:1;border:none;background:transparent;font-size:16px;color:var(--fg);font-family:var(--sans);}
.askbar input:focus{outline:none;}
.finding{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;margin-bottom:16px;}
.finding .src{border-top:1px solid var(--border);padding-top:14px;margin-top:14px;}
.finding blockquote{border-left:2px solid var(--accent);padding-left:14px;}
.finding blockquote p{font-size:14.5px;font-style:italic;line-height:1.5;margin-bottom:6px;}
.finding cite{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--accent);}

/* ── Formulieren ── */
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--fg);
  background:#fff;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:11px 13px;}
.field textarea{resize:vertical;min-height:80px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.field.line input,.field.line textarea{border:none;border-bottom:1.5px solid var(--border);border-radius:0;padding:11px 2px;background:transparent;}
.field.line input:focus,.field.line textarea:focus{border-bottom-color:var(--accent);}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.checkrow{display:flex;gap:10px;flex-wrap:wrap;}
.modulechip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border);border-radius:var(--r-pill);
  padding:8px 14px;font-size:13.5px;cursor:pointer;user-select:none;}
.modulechip input{accent-color:var(--accent);}
.modulechip:has(input:checked){border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600;}

/* ── Anker-toggle ── */
.seg{display:inline-flex;gap:4px;background:var(--blush-soft);padding:4px;border-radius:var(--r-pill);}
.seg label{cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:var(--r-pill);color:var(--muted);}
.seg input{position:absolute;opacity:0;width:0;height:0;}
.seg label:has(input:checked){background:#fff;color:var(--accent);box-shadow:0 2px 8px -2px rgba(16,6,159,.3);}

/* ── Modal ── */
.modal-back{position:fixed;inset:0;background:rgba(10,9,32,.45);display:none;align-items:center;justify-content:center;
  z-index:50;padding:20px;}
.modal-back.open{display:flex;}
.modal{background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;
  padding:30px;box-shadow:0 50px 100px -40px rgba(0,0,0,.55);}
.modal h2{font-size:22px;letter-spacing:-.02em;margin-bottom:4px;}
.modal .sub{font-size:14px;color:var(--muted);margin-bottom:20px;}
.modal-actions{display:flex;gap:10px;margin-top:8px;}

/* ── Tabel (instellingen) ── */
.ttable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;}
.ttable th,.ttable td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;}
.ttable th{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--blush-soft);}
.ttable tr:last-child td{border-bottom:none;}

/* ── Auth ── */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--accent);
  position:relative;overflow:hidden;padding:24px;}
.auth-card{position:relative;z-index:2;background:#fff;border-radius:var(--r-lg);padding:40px;max-width:400px;width:100%;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.55);}
.auth-card h1{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:-.02em;margin-bottom:6px;}
.auth-card p{font-size:14px;color:var(--muted);margin-bottom:24px;}
.auth-err{background:var(--danger-bg);border:1px solid var(--danger-bd);color:var(--danger);
  font-size:13.5px;padding:10px 14px;border-radius:var(--r-sm);margin-bottom:16px;}
.wave{position:absolute;left:0;width:200%;pointer-events:none;}
.wave1{bottom:120px;height:140px;opacity:.18;animation:drift 30s linear infinite;}
.wave2{bottom:40px;height:120px;opacity:.12;animation:drift-rev 46s linear infinite;}
@keyframes drift{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes drift-rev{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ── Public klant-view ── */
.pub-head{background:var(--accent);color:#fff;padding:22px clamp(24px,5vw,64px);display:flex;
  align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.pub-badge{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,255,255,.14);padding:6px 14px;border-radius:var(--r-pill);}
.pub-wrap{max-width:840px;margin:0 auto;padding:40px clamp(24px,5vw,52px) 80px;}
.pub-step{display:flex;align-items:center;gap:16px;padding:18px 22px;border-top:1px solid var(--border);background:#fff;}
.pub-step:first-child{border-top:none;}
.pub-step.now{background:#FEFBF2;}
.pub-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid var(--blush-deep);background:#fff;}
.pub-dot.done{background:var(--accent);border-color:var(--accent);}
.pub-dot.now{background:var(--warn);border-color:var(--warn);box-shadow:0 0 0 4px var(--warn-bg);}

/* ── Diversen ── */
.section-title{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.015em;margin:32px 0 12px;}
.spread{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.muted{color:var(--muted);} .right{text-align:right;} .mt8{margin-top:8px;} .mt16{margin-top:16px;} .mt24{margin-top:24px;}
.empty{text-align:center;padding:48px 24px;color:var(--muted);}
.empty .big{font-family:var(--display);font-weight:500;font-size:20px;color:var(--fg);margin-bottom:6px;}

@media (max-width:980px){
  .shell{flex-direction:column;}
  .side{width:auto;position:static;height:auto;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;flex-wrap:wrap;align-items:center;}
  .nav{flex-direction:row;flex-wrap:wrap;} .side-kicker,.side-foot,.side-user{display:none;}
  .stats{grid-template-columns:1fr 1fr;} .grid-2{grid-template-columns:1fr;} .formgrid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
