/* ===== Slavic Airlines Group — v2 components (bid marketplace, live map, network) ===== */
.v2-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.v2-kicker{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;color:var(--brass);text-transform:uppercase;margin:36px 0 8px}
.v2-h1{font-family:Fraunces,serif;font-weight:500;font-size:2.6rem;line-height:1.05;margin:0 0 12px;color:var(--ivory)}
.v2-h2{font-family:Fraunces,serif;font-weight:500;font-size:1.5rem;margin:40px 0 8px;color:var(--ivory)}
.v2-lead{max-width:640px;color:#c9c2b5;font-size:.95rem;line-height:1.55;margin:0 0 20px}
.v2-lead a,.v2-note a{color:var(--brass)}
.v2-note{font-size:.8rem;color:#8f8a80;line-height:1.5;max-width:720px}
.v2-map{position:relative;background:#0b1526;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:16px 0}
.v2-map svg{display:block;width:100%;height:auto}
.v2-map .land{fill:#16263b;stroke:#1f3350;stroke-width:.4}
.v2-map .sphere{fill:#0b1526}
.v2-map .rt-spoke{fill:none;stroke:#3a5a86;stroke-width:.45;stroke-opacity:.22}
.v2-map .rt-trunk{fill:none;stroke:#e0b45a;stroke-width:1;stroke-opacity:.75}
.v2-map .rt-cargo{fill:none;stroke:#6a9c8a;stroke-width:.5;stroke-opacity:.28;stroke-dasharray:2 2}
.v2-map .rt-event{fill:none;stroke:#e34a5f;stroke-width:.8;stroke-opacity:.6}
.v2-map .hub{stroke:#0b1526;stroke-width:.8}
.v2-map .hub.r0{fill:#e34a5f}.v2-map .hub.r1{fill:#e34a5f}.v2-map .hub.r2{fill:#e0b45a}.v2-map .hub.r3{fill:#8fc1ff}.v2-map .hub.r4{fill:#6a9c8a}.v2-map .hub.r5{fill:#c9c2b5;fill-opacity:.55;stroke:none}
.v2-map .hub-lbl{font-family:"IBM Plex Mono",monospace;font-size:5px;fill:#f2ece1;pointer-events:none}
.v2-map .plane{fill:#f2ece1;stroke:#0b1526;stroke-width:.5}
.v2-map .plane.hb{fill:#e0b45a}
.v2-map .plane.cg{fill:#6a9c8a}
.v2-map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:10px 14px;background:#0e1a2b;border-top:1px solid var(--line);font-size:.72rem;color:#c9c2b5;font-family:"IBM Plex Mono",monospace}
.v2-map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.v2-live{position:absolute;top:12px;left:12px;background:rgba(14,26,43,.92);border:1px solid var(--line);padding:8px 12px;border-radius:4px;font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:#c9c2b5}
.v2-live b{font-family:Fraunces,serif;font-size:1.5rem;color:var(--ivory);display:block;line-height:1}
.v2-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.v2-filters label{display:block;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.06em;color:#8f8a80;text-transform:uppercase;margin-bottom:4px}
.v2-filters select,.v2-filters input{width:100%;background:#0b1526;border:1px solid var(--line);color:var(--ivory);padding:8px 10px;border-radius:3px;font:inherit;font-size:.85rem}
.v2-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
.v2-chip{border:1px solid var(--line);background:#0e1a2b;color:#c9c2b5;padding:6px 12px;border-radius:999px;font-size:.78rem;cursor:pointer;font-family:"IBM Plex Mono",monospace}
.v2-chip.on{border-color:var(--brass);color:var(--ivory);background:#1a2a44}
.v2-chip.crit.on{border-color:#e34a5f}.v2-chip.hol.on{border-color:#e0b45a}
.v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin:12px 0 30px}
.bid{background:#0e1a2b;border:1px solid var(--line);border-left:3px solid #3a5a86;border-radius:5px;padding:14px 16px;position:relative}
.bid.crit{border-left-color:#e34a5f}.bid.hol{border-left-color:#e0b45a}.bid.crit.hol{border-left:3px solid #e34a5f;box-shadow:inset 3px 0 0 #e0b45a,inset 6px 0 0 #e34a5f}
.bid-id{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:#8f8a80;letter-spacing:.04em}
.bid-ac{font-family:Fraunces,serif;font-size:1.15rem;color:var(--ivory);margin:2px 0 4px}
.bid-seq{font-family:"IBM Plex Mono",monospace;font-size:.86rem;color:#e0b45a;margin:4px 0 8px;word-break:break-word}
.bid-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:.78rem;color:#c9c2b5}
.bid-meta b{color:var(--ivory);font-weight:500}
.bid-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag2{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:3px;border:1px solid var(--line);color:#c9c2b5}
.tag2.crit{border-color:#e34a5f;color:#ff8a98}.tag2.hol{border-color:#e0b45a;color:#f0cf7a}.tag2.ok{border-color:#6a9c8a;color:#9fd3bf}.tag2.pri{border-color:#8fc1ff;color:#b7d8ff}
.bid-sectors{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;display:none}
.bid.open .bid-sectors{display:block}
.bid-sectors table{width:100%;border-collapse:collapse;font-size:.74rem;font-family:"IBM Plex Mono",monospace}
.bid-sectors td{padding:4px 4px;border-bottom:1px solid #16263b;color:#c9c2b5;vertical-align:top}
.bid-sectors td.fd{font-size:.66rem;color:#8f8a80}
.bid-actions{display:flex;gap:8px;margin-top:10px}
.v2-btn{background:transparent;border:1px solid var(--line);color:var(--ivory);padding:7px 12px;border-radius:3px;font:inherit;font-size:.8rem;cursor:pointer}
.v2-btn.primary{background:var(--crimson);border-color:var(--crimson);color:#fff}
.v2-btn:hover{border-color:var(--brass)}
.v2-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:10px 0 24px}
.v2-table th{text-align:left;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#8f8a80;padding:8px 10px;border-bottom:1px solid var(--line);background:#0b1526;position:sticky;top:0}
.v2-table td{padding:8px 10px;border-bottom:1px solid #16263b;color:#c9c2b5;white-space:nowrap}
.v2-table td.mono,.v2-table .mono{font-family:"IBM Plex Mono",monospace;color:#e0b45a}
.v2-table tr.hb td:first-child{box-shadow:inset 3px 0 0 #e0b45a}
.v2-table tr.cr td:first-child{box-shadow:inset 3px 0 0 #e34a5f}
.v2-scroll{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:5px}
.v2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0 28px}
.v2-card{background:#0e1a2b;border:1px solid var(--line);border-radius:5px;padding:14px 16px}
.v2-card h4{font-family:Fraunces,serif;font-weight:500;font-size:1.05rem;margin:0 0 4px;color:var(--ivory)}
.v2-card p{font-size:.8rem;color:#c9c2b5;margin:4px 0;line-height:1.45}
.v2-card .k{font-family:"IBM Plex Mono",monospace;font-size:.66rem;color:#8f8a80;letter-spacing:.05em;text-transform:uppercase}
.v2-card.tier0,.v2-card.tier1{border-top:3px solid #e34a5f}.v2-card.tier2{border-top:3px solid #e0b45a}.v2-card.tier3{border-top:3px solid #8fc1ff}.v2-card.tier4{border-top:3px solid #6a9c8a}
.v2-steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0 24px}
.v2-step{background:#0e1a2b;border:1px solid var(--line);border-radius:5px;padding:14px 16px 14px 46px;position:relative;font-size:.84rem;color:#c9c2b5;line-height:1.45}
.v2-step:before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:12px;font-family:Fraunces,serif;font-size:1.4rem;color:var(--brass)}
.v2-step b{color:var(--ivory);font-weight:500;display:block;margin-bottom:3px}
.v2-clause{background:#0b1526;border:1px solid var(--line);border-left:3px solid var(--brass);padding:18px 22px;margin:36px 0;font-size:.88rem;color:#c9c2b5;line-height:1.6}
.v2-clause h3{font-family:Fraunces,serif;font-weight:500;color:var(--ivory);margin:0 0 8px}
.v2-empty{padding:30px;text-align:center;color:#8f8a80;font-size:.85rem;border:1px dashed var(--line);border-radius:5px}
.v2-src{font-family:"IBM Plex Mono",monospace;font-size:.66rem;color:#8f8a80;margin:6px 0 0}
.v2-src i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6a9c8a;margin-right:6px}
.v2-src.static i{background:#e0b45a}
@media(max-width:700px){.v2-h1{font-size:2rem}.bid-meta{grid-template-columns:1fr}}
