/* ============================================================
   Weltlage, Länderprofil, Radare — Ergänzung zum SWG-Designsystem.
   Gleiche Regeln: keine Rundung, kein weicher Schatten, Signalgelb
   als einziger Akzent. Bewegung wird nie NUR über Farbe gezeigt —
   jede Stufe hat ein Zeichen und ein Wort.
   ============================================================ */

/* ---------- Kartenrahmen ---------- */
.wl-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.wl-karte{border:1px solid var(--line);background:#EEF1F3;padding:14px 14px 10px;position:relative}
.wl-karte svg{width:100%;height:auto;display:block}
.wl-karte .lpw{stroke:#fff;stroke-width:.8;transition:opacity .15s}
.wl-karte .lpw--ziel{cursor:pointer;stroke:#fff;stroke-width:1.2}
.wl-karte .lpw--ziel:hover{stroke:var(--ink);stroke-width:2.2}
.wl-karte .lpw--aktiv{stroke:var(--ink);stroke-width:2.6}
.wl-lab{font:900 13px var(--sans);text-anchor:middle;pointer-events:none;letter-spacing:.4px}
.wl-lab2{font:700 10.5px var(--mono);text-anchor:middle;pointer-events:none}
.wl-tabs{display:flex;gap:0;margin-bottom:10px}
.wl-tabs .button{border-right-width:0}
.wl-tabs .button:last-child{border-right-width:1px}
.wl-tabs .button.on,.wl-chips .button.on{background:var(--ink);color:var(--signal)}
.wl-chips{display:flex;flex-wrap:wrap;gap:0;margin:0 0 16px}
.wl-chips .button{border-right-width:0;margin-bottom:6px}
.wl-chips .button:last-child{border-right-width:1px}
.wl-chips .button .z{font-family:var(--mono);font-size:10px;margin-left:6px;opacity:.7}

.wl-legende{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px;font-size:10.5px;color:#3a3a3a}
.wl-legende b{font-weight:900;text-transform:uppercase;letter-spacing:.8px;font-size:9.5px;color:var(--ink)}
.wl-legende span{display:inline-flex;align-items:center;gap:5px}
.wl-legende i{width:16px;height:11px;display:inline-block;border:1px solid #d0d0d0}

/* ---------- Warnsignale ---------- */
.wl-warn{border:1px solid var(--line);background:var(--paper)}
.wl-warn h3{background:var(--ink);color:#fff;padding:10px 14px;font-size:11px;letter-spacing:1px;margin:0}
.wl-warn .it{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line);cursor:pointer}
.wl-warn .it:hover{background:var(--paper-2)}
.wl-warn .it .t{font-size:12.5px;line-height:17px}
.wl-warn .it .m{font-size:10.5px;color:var(--grey);margin-top:3px;font-family:var(--mono)}
.wl-warn .leer{padding:14px;font-size:12px;color:var(--grey)}
.wl-mehr{display:block;padding:9px 14px;border-top:1px solid var(--line);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;cursor:pointer}
.wl-mehr:hover{background:var(--signal)}

/* Länderkürzel als quadratische Marke */
.lk{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--ink);color:var(--signal);font:900 11px var(--sans);letter-spacing:.6px;flex:none}
.lk--klein{width:22px;height:22px;font-size:9px}
.lk--ziel{background:var(--signal);color:var(--ink)}

/* ---------- Stufenzeichen ---------- */
.st{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:11.5px;white-space:nowrap}
.st i{font-style:normal;font-family:var(--mono);font-size:12px;min-width:20px;text-align:center;padding:1px 3px}
.st--stark_steigend i{background:var(--ink);color:var(--signal)}
.st--steigend i{background:var(--signal);color:var(--ink)}
.st--aktiv i{background:#FFF4A8;color:var(--ink)}
.st--stabil i{background:#E3E3E3;color:var(--ink)}
.st--fallend i,.st--stark_fallend i{background:#fff;color:var(--ink);border:1px solid var(--ink)}
.st--keine{color:var(--grey-2);font-weight:700}
.st--keine i{color:var(--grey-2)}
.st small{font-weight:700;font-size:10.5px;color:var(--grey)}

/* ---------- Ländermatrix ---------- */
.wl-matrix td{vertical-align:middle}
.wl-matrix tr{cursor:pointer}
.wl-matrix .rolle{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--grey)}
.wl-matrix .bw{font-family:var(--mono);font-weight:700}
.wl-matrix tr.ab td{border-top:2px solid var(--ink)}

/* ---------- Ereignisliste ---------- */
.ev2{display:grid;grid-template-columns:86px 34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--line)}
.ev2:first-child{border-top:1px solid var(--ink)}
.ev2 .d{font-family:var(--mono);font-size:11px;color:var(--grey);padding-top:2px}
.ev2 .h{font-weight:900;font-size:13.5px;line-height:18px}
.ev2 .s{font-size:12px;color:#3a3a3a;line-height:17px;margin-top:3px}
.ev2 .s b{color:var(--ink)}
.ev2 .r{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.ev2 .frist{font-family:var(--mono);font-size:10.5px;font-weight:700;background:var(--signal);padding:2px 6px}
.ev2 .frist--knapp{background:var(--ink);color:var(--signal)}

/* ---------- Akteurskarten ---------- */
.ak2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.ak2 .k{border:1px solid var(--line);border-left:4px solid var(--ink);padding:14px 16px;background:var(--paper)}
.ak2 .k--stark{border-left-color:var(--signal)}
.ak2 .kopf{display:flex;align-items:flex-start;gap:12px}
.ak2 .nm{font-weight:900;font-size:14.5px;line-height:19px}
.ak2 .meta{font-size:11px;color:var(--grey);margin-top:2px}
.ak2 .zz{margin-left:auto;text-align:right;font-family:var(--mono);font-size:11px;color:var(--grey);white-space:nowrap}
.ak2 .zz b{display:block;font-size:20px;line-height:22px;color:var(--ink)}
.ak2 ul{list-style:none;margin:10px 0 0;padding:0;font-size:12px;line-height:17px}
.ak2 li{padding:4px 0;border-top:1px dotted var(--line)}
.ak2 li .d{font-family:var(--mono);font-size:10.5px;color:var(--grey);margin-right:6px}

/* ---------- Länderprofil ---------- */
.lp-gruppen{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}
.lp-g{background:var(--paper);padding:14px 14px 12px}
.lp-g .k{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--grey);margin-bottom:8px}
.lp-g .zeile{font-size:11.5px;line-height:16px;margin-top:7px;color:#3a3a3a}
.lp-g .zeile b{font-family:var(--mono);color:var(--ink)}
.lp-g .zeile .p{color:var(--grey);font-size:10.5px}
.lp-g--keine{background:repeating-linear-gradient(135deg,#fff 0 6px,#F4F4F4 6px 12px)}
.lp-kopf{display:flex;align-items:center;gap:14px}
.lp-kopf .lk{width:46px;height:46px;font-size:16px}

/* ---------- Quellenstatus ---------- */
.qs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;margin-top:10px}
.qs div{border:1px solid var(--line);padding:7px 10px;font-size:11px;line-height:15px}
.qs b{display:block;font-size:11.5px}
.qs .ok{border-left:3px solid var(--ok)}
.qs .aus{border-left:3px solid var(--stop)}
.qs .alt{border-left:3px solid var(--warn)}

@media(max-width:1200px){
  .wl-grid{grid-template-columns:1fr}
  .lp-gruppen{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ev2{grid-template-columns:70px minmax(0,1fr)}
  .ev2 .lk{display:none}
  /* Frist und Beleg sind unterwegs das Wichtigste — unter den Text statt ausblenden. */
  .ev2 .r{grid-column:2;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;text-align:left}
  .ak2{grid-template-columns:1fr}
}

/* ---------- Neugründungen: Monatsverlauf ---------- */
.ng-verlauf{border:1px solid var(--line);padding:12px 14px;margin-bottom:8px}
.ng-zeile{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:end;padding:6px 0;border-bottom:1px dotted var(--line)}
.ng-balken{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:62px}
.ng-m{position:relative;height:62px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.ng-m i{display:block;width:100%;background:var(--ink);min-height:0}
.ng-m b{font:700 10px var(--mono);position:absolute;bottom:2px;color:var(--signal)}
.ng-m--leer{background:repeating-linear-gradient(135deg,#fff 0 4px,#F2F2F2 4px 8px)}
.ng-achse{display:grid;grid-template-columns:34px repeat(12,1fr);gap:4px;font:700 9.5px var(--mono);color:var(--grey);padding-top:4px}
.ng-achse span:first-child{grid-column:2}
.de-mini{max-height:560px}

/* ---------- Lage in einem Satz ---------- */
.lp-satz{border-left:4px solid var(--signal);background:var(--ink);color:#fff;padding:14px 18px;font-size:14px;line-height:22px;margin:0 0 18px}
.lp-satz b{color:var(--signal);text-transform:uppercase;font-size:11px;letter-spacing:1px;margin-right:6px}
.lp-satz .leise{color:var(--grey-2);font-size:12px}
.leise{color:var(--grey);font-size:11.5px}

/* ---------- Weltlage-Kopf: Lage, Ampel, Fragen, Signale ---------- */
.wl-lage{background:var(--ink);color:#fff;border-left:5px solid var(--signal);padding:16px 20px 12px;margin:0 0 16px}
.wl-lage .k{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--signal);margin-bottom:8px}
.wl-lage p{font-size:15px;line-height:23px;margin:0 0 6px;cursor:pointer}
.wl-lage p:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.wl-lage .pf{display:inline-block;width:20px;font-weight:900}
.wl-lage .pf--auf{color:var(--signal)}
.wl-lage .pf--ab{color:var(--grey-2)}

.wl-ampel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:16px}
.wl-ampel .am{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 13px;cursor:pointer;background:var(--paper);border-top:4px solid #DADDE0}
.wl-ampel .am:hover{background:var(--paper-2)}
.wl-ampel .am--auf{border-top-color:#FFD000}
.wl-ampel .am--ab{border-top-color:#8C8C8C}
.wl-ampel .am--keine{border-top-color:transparent;background:repeating-linear-gradient(135deg,#fff 0 6px,#F7F7F7 6px 12px)}
.wl-ampel .kopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.wl-ampel .kopf b{font-size:13.5px}
.wl-ampel .rolle,.wl-matrix .rolle{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--grey)}
.wl-ampel .mo{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;margin:4px 0 2px}
.wl-ampel .mo i{font-style:normal;margin-right:6px}
.wl-ampel .zz{font:700 11px var(--mono)}
.wl-ampel .sig{font-size:11.5px;line-height:16px;color:#333;margin-top:6px}
.dn{color:var(--grey);font-weight:400}

.wl-fragen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);margin-bottom:16px}
.wl-fragen .fr{padding:12px 14px;border-right:1px solid var(--line)}
.wl-fragen .fr:last-child{border-right:0}
.wl-fragen .k{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.wl-fragen .z{font-size:12.5px;line-height:18px;padding:3px 0;cursor:pointer}
.wl-fragen .z b{font-family:var(--mono)}

.wl-signale{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:8px}
.wl-signale>div{border:1px solid var(--line)}
.wl-signale h3{background:var(--ink);color:#fff;padding:10px 14px;font-size:11px;letter-spacing:1px;margin:0}
.wl-signale h3 .dn{color:var(--grey-2);margin-left:6px;font-family:var(--mono)}
.wl-signale .it{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line);cursor:pointer}
.wl-signale .it:hover{background:var(--paper-2)}
.wl-signale .it .t{font-size:12.5px;line-height:17px}
.wl-signale .it .m{font-size:10.5px;color:var(--grey);margin-top:3px;font-family:var(--mono)}
.wl-signale .leer{padding:14px;font-size:12px;color:var(--grey)}

.wl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wl-matrix .neben{background:#FAFAFA}
.wl-bench{margin:10px 0 4px;border:1px solid var(--line)}
.wl-bench summary{cursor:pointer;padding:10px 14px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.wl-bench .wl-matrix{margin:0}
.zeile--alt{color:var(--grey)}
.zeile .alt{font:700 9.5px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--warn)}
.lp-g--neben{background:#FAFAFA}

@media(max-width:900px){
  .wl-fragen,.wl-signale{grid-template-columns:1fr}
  .wl-fragen .fr{border-right:0;border-bottom:1px solid var(--line)}
}

/* ---------- Diese Woche ---------- */
.wo-gebiet{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:6px}
.wo-gebiet label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:8px}
.wo-gebiet select{font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:700;padding:6px 8px;border:1px solid var(--ink);background:var(--paper)}
.wo-liste{border-top:1px solid var(--line);margin-bottom:8px}
.wo{padding:11px 2px;border-bottom:1px solid var(--line)}
.wo .kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.wo .kopf b{font-size:14px}
.wo .ort{font-size:11.5px;color:var(--grey)}
.wo .grund{font-size:13px;line-height:19px;margin:3px 0 2px;border-left:3px solid var(--signal);padding-left:8px}
.wo .meta{font-size:11px;color:var(--grey);line-height:16px}
.wo .neu{background:var(--signal);font:900 9px var(--mono);padding:1px 5px;text-transform:uppercase}

.ng-abdeckung{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin:0 0 14px}
.ng-abdeckung>div{padding:10px 12px;font-size:12px;line-height:17px;border-right:1px solid var(--line)}
.ng-abdeckung>div:last-child{border-right:0;background:repeating-linear-gradient(135deg,#fff 0 6px,#F7F7F7 6px 12px)}
.ng-abdeckung b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px}
.alt{font:700 9.5px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--warn)}
@media(max-width:900px){.ng-abdeckung{grid-template-columns:1fr}.ng-abdeckung>div{border-right:0;border-bottom:1px solid var(--line)}}

.qa-liste{max-height:420px;overflow:auto;border:1px solid var(--line);background:var(--paper-2)}
.qa-liste>div{padding:7px 10px;border-bottom:1px solid var(--line);font-size:12px;line-height:17px}
.qt .wl-mehr{border-top:0;padding:4px 0 0}

.wl-ampel .am--gemischt{border-top-color:#E6CF5A}
.wl-ampel .am--duenn{border-top-color:#DADDE0;background:repeating-linear-gradient(135deg,#fff 0 8px,#FAFAFA 8px 16px)}
.wl-lage .pf--handeln,.wl-lage .pf--neutral{color:#fff}
.wo--gu{opacity:.82}
.wo .tag{font:700 9px var(--mono);text-transform:uppercase;border:1px solid var(--grey-2);padding:0 4px}
