/* ============================================================
   ODPRAWA - karty planowania + prezentacja. Styl spójny z resztą TACTIMAP.
   ============================================================ */
#briefing-screen{position:fixed;top:var(--hdr-h,92px);left:0;right:0;bottom:0;z-index:39;background:var(--bg-void);
  display:flex;flex-direction:column;}
#briefing-screen.hidden{display:none;}

.brf-header{flex:none;display:flex;align-items:center;gap:14px;padding:10px 16px;flex-wrap:wrap;
  border-bottom:1px solid var(--border-strong);background:linear-gradient(180deg,#121712,#0d100e);
  box-shadow:0 1px 0 rgba(242,166,35,0.1);}
.brf-title{font-family:var(--font-stencil);font-size:16px;letter-spacing:1px;text-transform:uppercase;
  color:var(--text-primary);display:flex;align-items:center;gap:8px;text-shadow:0 0 10px var(--accent-glow);}
.brf-title i{color:var(--accent);}
.brf-save{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);min-width:80px;}
.brf-save.dirty{color:var(--accent);}
.brf-header .brf-spacer{flex:1;}
.brf-header .btn-primary,.brf-header .btn-secondary{width:auto;flex:none;white-space:nowrap;}

.brf-body{flex:1;display:flex;min-height:0;}
.brf-nav{width:230px;flex:none;overflow-y:auto;border-right:1px solid var(--border-dim);background:var(--bg-panel);
  padding:8px;display:flex;flex-direction:column;gap:2px;}
.brf-nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:3px;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.4px;color:var(--text-secondary);
  border:1px solid transparent;text-align:left;background:none;width:100%;transition:all .12s;}
.brf-nav-item .num{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex:none;width:18px;text-align:right;}
.brf-nav-item i{color:var(--accent);font-size:15px;flex:none;}
.brf-nav-item .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.brf-nav-item .dot{width:7px;height:7px;border-radius:50%;background:var(--success);flex:none;opacity:.85;}
.brf-nav-item:hover{background:var(--bg-panel-raised);color:var(--text-primary);}
.brf-nav-item.active{background:rgba(242,166,35,0.1);border-color:var(--accent);color:var(--accent);}

.brf-main{flex:1;overflow-y:auto;padding:20px 24px;}
.brf-card-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.brf-card-head h2{margin:0;font-family:var(--font-stencil);font-size:20px;font-weight:400;letter-spacing:1px;
  text-transform:uppercase;color:var(--text-primary);}
.brf-card-head i{color:var(--accent);font-size:22px;}
.brf-card-desc{color:var(--text-muted);font-size:12px;margin:0 0 16px;font-style:italic;}
.brf-max{max-width:900px;}

/* Pola formularza */
.brf-field{margin-bottom:14px;}
.brf-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);
  margin-bottom:5px;font-weight:600;}
.brf-input,.brf-textarea{width:100%;background:var(--bg-panel-raised);color:var(--text-primary);
  border:1px solid var(--border-dim);border-radius:3px;font-family:var(--font-body);font-size:13px;padding:9px 11px;
  box-sizing:border-box;transition:border-color .12s;}
.brf-input:focus,.brf-textarea:focus{outline:none;border-color:var(--accent-dim);}
.brf-textarea{resize:vertical;min-height:90px;line-height:1.5;}
.brf-row{display:flex;gap:12px;flex-wrap:wrap;}
.brf-row .brf-field{flex:1;min-width:160px;}

.brf-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:3px;cursor:pointer;
  background:rgba(242,166,35,0.1);border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-display);
  font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase;transition:all .12s;}
.brf-add-btn:hover{background:rgba(242,166,35,0.18);border-color:var(--accent);}

/* Przesuwalne kafelki */
.brf-tiles{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.brf-tiles.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.brf-tile{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:5px;padding:10px 12px;
  position:relative;box-shadow:0 2px 8px rgba(0,0,0,0.35);}
.brf-tile.dragging{opacity:.45;}
.brf-tile.drop-target{outline:2px dashed var(--accent);outline-offset:2px;}
.brf-tile-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.brf-grip{cursor:grab;color:var(--text-muted);font-size:16px;flex:none;touch-action:none;padding:2px;}
.brf-grip:active{cursor:grabbing;}
.brf-tile-title{flex:1;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text-primary);
  letter-spacing:.4px;}
.brf-tile-del{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;flex:none;}
.brf-tile-del:hover{color:var(--danger);}
.brf-tile .brf-field{margin-bottom:8px;}
.brf-tile .brf-field:last-child{margin-bottom:0;}
.brf-tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--accent);border:1px solid var(--accent-dim);border-radius:10px;padding:1px 8px;}
/* Wypożyczony (z innej jednostki) - wyróżnienie w odprawie. */
.brf-tag.brf-borrowed{color:#7db3ff;border-color:#3a6ea5;background:rgba(80,140,220,0.12);margin-left:6px;}
/* Ostrzeżenie o prawie jazdy - kierowca bez wymaganej kategorii. */
.brf-tag.brf-licwarn{color:#fff;border-color:var(--danger);background:var(--danger);margin-left:6px;}
.brf-auto-note{font-size:11px;color:var(--text-muted);font-style:italic;margin:2px 0 12px;
  display:flex;align-items:center;gap:6px;}
.brf-auto-note i{color:var(--accent);}

/* Zestawienie sił i środków */
.brf-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.brf-stat{background:var(--bg-panel-raised);border:1px solid var(--border-dim);border-radius:5px;padding:12px 16px;
  min-width:120px;text-align:center;}
.brf-stat .n{font-family:var(--font-stencil);font-size:28px;color:var(--accent);line-height:1;}
.brf-stat .l{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-top:6px;}
.brf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.brf-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel);border:1px solid var(--border-dim);
  border-radius:14px;padding:4px 11px;font-size:12px;color:var(--text-secondary);}
.brf-chip i{color:var(--accent);font-size:13px;}
.brf-chip b{color:var(--text-primary);font-family:var(--font-mono);}
.brf-stat-sub{display:block;font-size:9px;letter-spacing:.5px;color:#7db3ff;margin-top:3px;text-transform:none;}

/* Wyszczególnione siły i środki (osoby / pojazdy, w tym wypożyczeni) */
.brf-sublabel{display:flex;align-items:center;gap:7px;margin:12px 0 6px;font-family:var(--font-display);
  font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:12px;color:var(--text-secondary);}
.brf-sublabel i{color:var(--accent);font-size:15px;}
.brf-count{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;}
.brf-force-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px;}
.brf-force-row{display:flex;align-items:center;gap:8px;background:var(--bg-panel-raised);
  border:1px solid var(--border-dim);border-radius:4px;padding:6px 10px;font-size:13px;color:var(--text-secondary);}
.brf-force-row i{color:var(--accent);font-size:15px;flex:none;}
.brf-force-row.is-borrowed{border-color:#3a6ea5;background:rgba(80,140,220,0.08);}
.brf-force-row .fr-name{font-family:var(--font-display);font-weight:600;letter-spacing:.3px;color:var(--text-primary);}
.brf-force-row .fr-role{color:var(--text-muted);font-size:12px;}
.brf-force-row .fr-plate{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);}
.brf-slide-sublabel{font-family:var(--font-display);font-weight:600;letter-spacing:1px;text-transform:uppercase;
  color:var(--accent);font-size:16px;margin:14px 0 4px;}

/* Tabele sił i środków (operatorzy / pojazdy / wyposażenie) */
.brf-table{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:12.5px;
  background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;}
.brf-table th{text-align:left;font-family:var(--font-display);font-weight:700;font-size:10px;letter-spacing:1px;
  text-transform:uppercase;color:var(--text-muted);padding:7px 10px;background:var(--bg-panel-raised);
  border-bottom:1px solid var(--border-strong);white-space:nowrap;}
.brf-table td{padding:6px 10px;border-bottom:1px solid var(--border-dim);color:var(--text-secondary);vertical-align:top;}
.brf-table tbody tr:last-child td{border-bottom:none;}
.brf-table tbody tr:nth-child(even) td{background:rgba(255,255,255,0.018);}
.brf-table .lp,.brf-table th.lp{width:38px;text-align:right;color:var(--text-muted);font-family:var(--font-mono);}
.brf-table .qty,.brf-table th.qty{width:70px;text-align:right;font-weight:700;color:var(--text-primary);}
.brf-table td.nm{color:var(--text-primary);font-family:var(--font-display);font-weight:600;letter-spacing:.3px;white-space:nowrap;}
.brf-table td.nm i{color:var(--accent);margin-right:5px;}
.brf-table tr.is-borrowed td{background:rgba(80,140,220,0.09);}
.brf-table tr.is-borrowed td.nm{color:#79b0ee;}
.brf-slide .brf-table{font-size:15px;}
.brf-slide .brf-table th{font-size:12px;}

/* Rozmieszczenie w pojazdach / kolumna */
.brf-veh{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;margin-bottom:10px;}
.brf-veh-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-panel-raised);
  border-bottom:1px solid var(--border-dim);font-family:var(--font-display);font-weight:700;color:var(--text-primary);}
.brf-veh-head i{color:#378add;}
.brf-veh-head .plate{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);}
.brf-veh-body{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;}
.brf-seat{display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel-raised);border:1px solid var(--border-dim);
  border-radius:4px;padding:4px 9px;font-size:12px;color:var(--text-secondary);}
.brf-seat.driver{border-color:var(--accent-dim);color:var(--accent);}
.brf-seat i{font-size:13px;}
.brf-order-num{font-family:var(--font-stencil);font-size:16px;color:var(--accent);width:26px;flex:none;text-align:center;}

/* Struktura dowodzenia - kanwa */
.brf-canvas-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.brf-canvas-wrap{position:relative;width:100%;height:520px;background:
  linear-gradient(rgba(53,73,60,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(53,73,60,0.10) 1px,transparent 1px);
  background-size:28px 28px;background-color:#0b0f0d;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;}
.brf-canvas-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.brf-node{position:absolute;min-width:120px;max-width:190px;background:var(--bg-panel-raised);
  border:2px solid var(--accent);border-radius:6px;padding:7px 9px;cursor:grab;box-shadow:0 3px 10px rgba(0,0,0,0.5);
  user-select:none;touch-action:none;}
.brf-node.linking{outline:2px dashed var(--success);outline-offset:2px;}
.brf-node.link-src{border-color:var(--success);}
.brf-node:active{cursor:grabbing;}
.brf-node .n-title{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text-primary);
  background:none;border:none;width:100%;padding:0;outline:none;}
.brf-node .n-desc{font-size:11px;color:var(--text-secondary);background:none;border:none;width:100%;padding:0;outline:none;
  resize:none;margin-top:3px;font-family:var(--font-body);line-height:1.35;overflow:hidden;display:block;}
.brf-node .n-tools{position:absolute;top:-10px;right:-10px;display:flex;gap:3px;}
.brf-node .n-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-panel);
  color:var(--text-secondary);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.brf-node .n-btn.link:hover{color:var(--success);border-color:var(--success);}
.brf-node .n-btn.del:hover{color:var(--danger);border-color:var(--danger);}
.brf-node .n-btn.color:hover{color:var(--accent);border-color:var(--accent);}
.brf-node .n-color-pop{position:absolute;top:14px;right:-6px;z-index:30;display:flex;flex-wrap:wrap;gap:4px;width:96px;
  padding:6px;background:var(--bg-panel-raised);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.35);}
.brf-node .n-color-sw{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:11px;}
.brf-node .n-color-sw.is-active{border-color:#fff;box-shadow:0 0 0 2px var(--accent);}
.brf-node .n-color-sw.n-color-clear{background:var(--bg-panel);}

/* Zdjęcia (trasa / obiekt) */
.brf-variant{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:6px;padding:12px;margin-bottom:14px;}
.brf-variant-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.brf-variant-head .brf-input{flex:1;}
.brf-imgs{display:flex;flex-wrap:wrap;gap:10px;}
.brf-img{position:relative;width:180px;background:var(--bg-panel-raised);border:1px solid var(--border-dim);border-radius:4px;
  overflow:hidden;}
.brf-img img{width:100%;height:120px;object-fit:cover;display:block;cursor:pointer;}
.brf-img input{width:100%;border:none;border-top:1px solid var(--border-dim);background:var(--bg-panel);
  color:var(--text-secondary);font-size:11px;padding:5px 7px;box-sizing:border-box;}
.brf-img .img-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:3px;border:none;
  background:rgba(8,10,9,0.8);color:#fff;cursor:pointer;font-size:13px;}
.brf-img .img-del:hover{color:var(--danger);}
.brf-drop{border:1.5px dashed var(--border-strong);border-radius:5px;padding:16px;text-align:center;color:var(--text-muted);
  font-size:12px;cursor:pointer;transition:all .12s;}
.brf-drop:hover,.brf-drop.over{border-color:var(--accent);color:var(--accent);background:rgba(242,166,35,0.05);}

/* Pogoda */
.brf-geo-search{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.brf-geo-search .brf-input{flex:1;min-width:150px;}
.brf-geo-search .brf-add-btn{flex:none;}
.brf-geo-results{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.brf-geo-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-dim);border-radius:4px;
  background:var(--bg-panel-raised);cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .12s;}
.brf-geo-item:hover{border-color:var(--accent);color:var(--text-primary);background:rgba(242,166,35,0.06);}
.brf-geo-item i{color:var(--accent);flex:none;}
.brf-geo-item span:first-of-type{flex:1;}
.brf-geo-coord{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);flex:none;}
/* 0.4.71 — przełącznik podkładu map w odprawie (mapa / satelita). Stoi NAD mapą, bo dotyczy
   tego, co widać poniżej, i musi być widoczny zanim ktoś zrobi zrzut. */
/* 0.4.81 — blok z pustym polem („Dowódca: —"). Kreskowana obwódka, a nie czerwień:
   to informacja „jeszcze nie wpisane", a nie błąd. */
.brf-node.brf-node-missing{border-style:dashed;}
.brf-missing-note{color:var(--accent);}
.brf-basemap{display:flex;gap:6px;margin:6px 0 8px;}
.brf-basemap-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:3px;cursor:pointer;
  font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.4px;
  border:1px solid var(--border-dim);background:var(--bg-panel-raised);color:var(--text-secondary);transition:all .12s;}
.brf-basemap-btn:hover{border-color:var(--accent);color:var(--text-primary);}
.brf-basemap-btn.on{border-color:var(--accent);color:var(--accent);background:rgba(242,166,35,0.10);}
.brf-basemap-btn i{font-size:14px;}
.brf-weather-map{width:100%;height:460px;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;margin-bottom:4px;}
.brf-alerts{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.brf-alert{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:4px;font-size:13px;font-weight:600;
  font-family:var(--font-display);letter-spacing:.3px;border:1px solid var(--border-dim);}
.brf-alert i{font-size:17px;flex:none;}
.brf-alert.warn{color:#f2a623;border-color:#7a5713;background:rgba(242,166,35,0.08);}
.brf-alert.danger{color:#e24b4a;border-color:#7a2b2a;background:rgba(226,75,74,0.1);}
.brf-alert.none{color:var(--success);border-color:#2f5a1e;background:rgba(99,194,42,0.07);}
/* Oficjalne ostrzeżenia IMGW */
.brf-official-box{margin-top:10px;}
.brf-official-item{border:1px solid var(--border-dim);border-left-width:4px;border-radius:4px;padding:10px 12px;background:var(--bg-panel-raised);}
.brf-official-item.warn{border-left-color:#f2a623;}
.brf-official-item.danger{border-left-color:#e24b4a;}
.oi-head{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;color:var(--text-primary);flex-wrap:wrap;}
.oi-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;flex:none;color:#140d00;}
.oi-badge.lvl1{background:#f2c94c;} .oi-badge.lvl2{background:#f2a623;} .oi-badge.lvl3{background:#e24b4a;color:#fff;}
.oi-period{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);margin-top:5px;display:flex;align-items:center;gap:5px;}
.oi-content{font-size:12px;color:var(--text-secondary);margin-top:6px;line-height:1.45;}
.brf-weather-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px;}
.brf-wx{background:var(--bg-panel-raised);border:1px solid var(--border-dim);border-radius:5px;padding:12px;text-align:center;}
.brf-wx .v{font-family:var(--font-stencil);font-size:22px;color:var(--accent);}
.brf-wx .k{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-top:5px;}
.brf-wx-summary{display:flex;align-items:center;gap:12px;background:var(--bg-panel);border:1px solid var(--border-strong);
  border-radius:6px;padding:14px 16px;margin-top:12px;}
.brf-wx-summary .big{font-size:34px;}
.brf-wx-summary .desc{font-family:var(--font-display);font-size:15px;color:var(--text-primary);}

/* ---------- Prezentacja (pełny ekran) ---------- */
#brf-present{position:fixed;inset:0;z-index:2000;background:#050605;display:none;flex-direction:column;}
#brf-present.on{display:flex;}
.brf-present-stage{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px;}
.brf-slide{width:1280px;height:720px;flex:none;background:linear-gradient(160deg,#10130f,#0a0c0a);
  border:1px solid var(--border-strong);box-shadow:0 0 60px rgba(0,0,0,0.7);transform-origin:center;
  padding:54px 64px;box-sizing:border-box;position:relative;color:var(--text-primary);overflow:hidden;}
.brf-slide::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--accent),transparent);}
/* 0.4.110 — numer strony przy tytule, gdy karta nie mieści się na jednym slajdzie. */
.brf-slide-page{font-family:var(--font-mono);font-size:20px;color:var(--text-muted);letter-spacing:1px;}
.brf-slide-badge{position:absolute;top:26px;right:34px;font-family:var(--font-mono);font-size:13px;color:var(--text-muted);
  letter-spacing:2px;}
.brf-slide h1{font-family:var(--font-stencil);font-size:40px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-primary);margin:0 0 22px;display:flex;align-items:center;gap:14px;text-shadow:0 0 16px var(--accent-glow);}
.brf-slide h1 i{color:var(--accent);font-size:42px;}
.brf-slide-content{font-size:19px;line-height:1.55;color:var(--text-secondary);height:560px;overflow:hidden;}
.brf-slide-content .line{margin-bottom:10px;}
.brf-slide-content .k{color:var(--text-muted);text-transform:uppercase;font-size:13px;letter-spacing:1px;}
.brf-slide-content ul{margin:0;padding-left:0;list-style:none;}
.brf-slide-content li{padding:8px 0 8px 26px;border-bottom:1px solid rgba(53,73,60,0.35);position:relative;}
.brf-slide-content li::before{content:'\25B8';position:absolute;left:2px;color:var(--accent);}
.brf-slide-content li b{color:var(--text-primary);}
/* 0.4.104 — na SLAJDZIE zdjęcia mają być duże. Odprawę czyta się z rzutnika albo z drugiego
   końca stołu, a zrzut obiektu z zaznaczonymi ścianami przy 360 px był nieczytelny.
   Jedno zdjęcie zajmuje całą szerokość, dwa i więcej dzielą ją po połowie. */
.brf-slide-imgs{display:flex;flex-wrap:wrap;gap:14px;}
.brf-slide-imgs img{flex:1 1 420px;max-width:100%;max-height:72vh;border:1px solid var(--border-strong);
  border-radius:4px;object-fit:contain;background:var(--bg-void);}
.brf-slide-imgs img:only-child{flex-basis:100%;}
.brf-slide-empty{color:var(--text-muted);font-style:italic;font-size:22px;}
.brf-slide .cap{font-size:12px;color:var(--text-muted);text-align:center;margin-top:3px;}
.brf-present-bar{flex:none;display:flex;align-items:center;justify-content:center;gap:20px;padding:12px;
  background:#0a0c0a;border-top:1px solid var(--border-strong);}
.brf-present-bar button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);
  background:var(--bg-panel-raised);color:var(--text-primary);cursor:pointer;font-size:18px;}
.brf-present-bar button:hover{border-color:var(--accent);color:var(--accent);}
.brf-present-bar .counter{font-family:var(--font-mono);color:var(--text-muted);min-width:70px;text-align:center;}
.brf-present-close{position:absolute;top:16px;right:20px;width:40px;height:40px;border-radius:3px;
  background:var(--bg-panel-raised);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer;
  font-size:18px;z-index:2;}
.brf-present-close:hover{color:var(--danger);border-color:var(--danger);}

/* Kanwa struktury na slajdzie (statyczna) */
.brf-slide .brf-canvas-wrap{height:520px;background-color:#0a0c0a;}
.brf-slide .brf-node{cursor:default;}

@media (max-width: 820px){
  .brf-nav{width:64px;}
  .brf-nav-item .lbl,.brf-nav-item .num{display:none;}
  .brf-nav-item{justify-content:center;padding:10px 0;}
  .brf-main{padding:14px;}
}

/* ============================================================
   0.3.93 — struktura dowodzenia PIONOWO (domyślny układ karty)
   ============================================================
   Plansza z grafem rozstawia bloki co 230 px w poziomie: przy pięciu zespołach ostatnie
   uciekały poza prawą krawędź, a przy siedmiu trzeba było ich szukać myszą. Układ pionowy
   to jedna kolumna — każdy zespół pod poprzednim, podległość pokazana wcięciem i kreską. */
.brf-cmd-modes{display:inline-flex;gap:4px;margin-left:6px;}
.brf-cmd-mode{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:3px;cursor:pointer;
  background:transparent;border:1px solid var(--border-dim);color:var(--text-muted);
  font-family:var(--font-body);font-size:11px;}
.brf-cmd-mode:hover{border-color:var(--accent-dim);color:var(--text-secondary);}
.brf-cmd-mode.on{color:var(--accent);border-color:var(--accent);background:rgba(242,166,35,.08);}

.brf-cmd-vert{display:flex;flex-direction:column;gap:8px;padding:12px;
  background:var(--bg-void);border:1px solid var(--border-strong);border-radius:6px;}
/* Blok w kolumnie: te same style co na planszy, ale bez pozycjonowania bezwzględnego.
   `position:relative` zostaje — trzyma narzędzia i próbnik koloru w rogu bloku. */
.brf-cmd-vert .brf-node{position:relative;min-width:0;max-width:none;width:auto;cursor:default;
  border-width:1px;border-left-width:4px;border-left-color:var(--n-color,var(--accent));
  box-shadow:none;user-select:text;touch-action:auto;padding:8px 96px 8px 10px;}
.brf-cmd-vert .brf-node:active{cursor:default;}
.brf-cmd-vert .brf-node .n-tools{top:6px;right:6px;}
.brf-cmd-vert .brf-node .n-title{font-size:14px;}
.brf-cmd-vert .brf-node .n-desc{font-size:12px;}
/* Slajd i PDF: bez narzędzi, więc i bez miejsca na nie po prawej. */
.brf-cmd-vert.is-slide .brf-node{padding-right:10px;}

/* 0.4.23 — termin akcji w nagłówku Odprawy (te same pola co w Planowaniu). */
.brf-date-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
  font-family:var(--font-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-secondary);}
.brf-date-label i{color:var(--accent);}
.brf-date-label input[type="date"]{width:auto;padding:3px 6px;font-size:11px;}

/* 0.4.31 — plansza struktury dowodzenia: okno przewijane, powierzchnia większa niż kadr. */
.brf-canvas-scroll{position:relative;width:100%;height:640px;overflow:auto;
  border:1px solid var(--border-strong);border-radius:6px;background-color:#0b0f0d;}
.brf-canvas-scroll .brf-canvas-wrap{border:0;border-radius:0;height:auto;min-height:100%;}


/* 0.4.142 — stan wysyłki odprawy na telefony. Odprawa nie aktualizuje się sama (jest
   szyfrowana osobno dla każdego operatora), więc panel musi MÓWIĆ, że operatorzy mają
   starszą wersję — inaczej wygląda identycznie przed i po zmianie. */
.brf-share-state{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:3px;
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.brf-share-state.ok{color:var(--ok,#639922);border:1px solid rgba(99,153,34,.45);}
.brf-share-state.stale{color:var(--danger,#e24b4a);border:1px solid rgba(226,75,74,.5);
  background:rgba(226,75,74,.08);font-weight:700;}
