/* Match Video Trim — scoped stylesheet.
   Every rule is namespaced under .mvt so it cannot collide with the
   UEFA Data Hub host styles (and host styles cannot leak in). */
/* Inter is loaded by the host page (App.razor); no @import needed here. */
.mvt{--bg-deep:   #070E19;
  --bg:        #0A1424;
  --panel:     #0E1B30;
  --panel-2:   #12233C;
  --panel-3:   #172B49;
  --line:      rgba(120,160,205,.14);
  --line-2:    rgba(120,160,205,.26);

  --cyan:      #29D3E6;   
  --cyan-dim:  #1B8FA0;
  --cyan-glow: rgba(41,211,230,.35);

  --in:        #46E08A;   
  --in-dim:    rgba(70,224,138,.18);
  --out:       #FF6B7D;   
  --out-dim:   rgba(255,107,125,.16);

  --txt:       #E7EEF8;
  --txt-mut:   #8DA1BC;
  --txt-faint: #5C7192;

  --ok:        #46E08A;
  --warn:      #FFC24B;
  --err:       #FF6B7D;

  --r-sm: 6px; --r: 10px; --r-lg: 14px;
  --ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;}
.mvt *{box-sizing:border-box;}
.mvt{height:100%; margin:0;}
.mvt{background:
    radial-gradient(1200px 600px at 80% -10%, rgba(41,211,230,.06), transparent 60%),
    var(--bg);
  color:var(--txt);
  font-family:var(--ui);
  font-size:14px;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
  overflow:hidden;}
.mvt button{font-family:inherit; color:inherit; cursor:pointer;}
.mvt input, .mvt select{font-family:inherit;}
.mvt ::selection{background:var(--cyan-glow);}
.mvt .app{display:grid;
  grid-template-columns: var(--nav-w, 300px) 1fr;
  grid-template-rows: 1fr;
  height:100%; min-height:0;}
.mvt .app.nav-collapsed{--nav-w: 0px;}
.mvt .nav{background:linear-gradient(180deg, var(--panel), var(--bg));
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; min-width:0;
  overflow:hidden;}
.mvt .brand{display:flex; align-items:center; gap:10px;
  padding:16px 16px 12px; border-bottom:1px solid var(--line);}
.mvt .brand .mark{width:26px;height:26px;border-radius:7px;flex:0 0 auto;
  background:conic-gradient(from 210deg, var(--cyan), #1348ff 60%, var(--cyan));
  box-shadow:0 0 18px var(--cyan-glow);
  position:relative;}
.mvt .brand .mark::after{content:""; position:absolute; inset:6px; border-radius:4px;
  background:var(--bg-deep);}
.mvt .brand .name{font-weight:700; letter-spacing:.02em;}
.mvt .brand .name small{display:block; font-weight:500; color:var(--txt-mut); letter-spacing:.14em; font-size:10px; text-transform:uppercase;}
.mvt .nav-controls{padding:12px 14px; display:flex; flex-direction:column; gap:10px; border-bottom:1px solid var(--line);}
.mvt .field{display:flex; align-items:center; gap:8px;}
.mvt .field label{font-size:11px; color:var(--txt-mut); text-transform:uppercase; letter-spacing:.08em;}
.mvt .search{width:100%; background:var(--bg-deep); border:1px solid var(--line);
  color:var(--txt); border-radius:var(--r-sm); padding:8px 10px; font-size:13px;}
.mvt .search::placeholder{color:var(--txt-faint);}
.mvt .field{flex-wrap:wrap;}
.mvt .folder-row{display:flex; gap:6px; width:100%; margin:0;}
.mvt .folder-input{flex:1; min-width:0; background:var(--bg-deep); border:1px solid var(--line);
  color:var(--txt); border-radius:var(--r-sm); padding:7px 9px; font-size:12px; font-family:ui-monospace,monospace;}
.mvt .folder-input::placeholder{color:var(--txt-faint);}
.mvt .source-row{display:flex; align-items:center; gap:6px; width:100%; min-width:0;}
.mvt .source-select{flex:0 0 auto; max-width:60%; background:var(--bg-deep); border:1px solid var(--line);
  color:var(--txt); border-radius:var(--r-sm); padding:6px 8px; font-size:12px;}
.mvt .source-addr{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:ui-monospace,monospace; font-size:11px; color:var(--txt-faint);}
.mvt .seg{display:inline-flex; background:var(--bg-deep); border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden;}
.mvt .seg button{background:transparent; border:0; color:var(--txt-mut); padding:6px 10px; font-size:12px;}
.mvt .seg button[aria-pressed="true"]{background:var(--panel-3); color:var(--txt);}
.mvt .fixtures{overflow:auto; padding:8px 8px 20px; flex:1;}
.mvt .fixtures::-webkit-scrollbar{width:10px;}
.mvt .fixtures::-webkit-scrollbar-thumb{background:var(--panel-3); border-radius:8px; border:2px solid transparent; background-clip:content-box;}
.mvt .day-group{margin:12px 6px 4px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-faint);}
.mvt .fixture{border:1px solid transparent; border-radius:var(--r); margin:2px 0;}
.mvt .fixture > .fx-head{display:flex; align-items:center; gap:10px; width:100%;
  background:transparent; border:0; text-align:left; padding:10px 10px; border-radius:var(--r);}
.mvt .fixture > .fx-head:hover{background:var(--panel);}
.mvt .fixture .chev{transition:transform .15s ease; color:var(--txt-faint); flex:0 0 auto;}
.mvt .fixture[aria-expanded="true"] .chev{transform:rotate(90deg);}
.mvt .fx-meta{min-width:0; flex:1;}
.mvt .fx-title{font-weight:600; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mvt .fx-sub{font-size:11px; color:var(--txt-mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mvt .fx-count{font-size:10px; color:var(--txt-faint); font-family:var(--mono); background:var(--bg-deep); border:1px solid var(--line); border-radius:20px; padding:2px 7px;}
.mvt .videos{list-style:none; margin:0; padding:2px 8px 8px 30px; display:none;}
.mvt .fixture[aria-expanded="true"] .videos{display:block;}
.mvt .video-item{display:flex; align-items:center; gap:9px; width:100%;
  background:transparent; border:0; text-align:left; color:var(--txt-mut);
  padding:8px 10px; border-radius:var(--r-sm); font-size:12.5px; position:relative;}
.mvt .video-item:hover{background:var(--panel); color:var(--txt);}
.mvt .video-item[aria-current="true"]{background:var(--panel-3); color:var(--txt);}
.mvt .video-item[aria-current="true"]::before{content:""; position:absolute; left:-8px; top:8px; bottom:8px; width:2px; background:var(--cyan); border-radius:2px;}
.mvt .video-item .dot{width:7px;height:7px;border-radius:50%; background:var(--txt-faint); flex:0 0 auto;}
.mvt .video-item.done .dot{background:var(--ok); box-shadow:0 0 8px rgba(70,224,138,.6);}
.mvt .video-item .lbl{flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mvt .video-item .dur{font-family:var(--mono); font-size:10.5px; color:var(--txt-faint);}
.mvt .video-item.no-videos{color:var(--txt-faint); font-style:italic; cursor:default; padding-left:16px;}
.mvt .video-item.no-videos:hover{background:transparent; color:var(--txt-faint);}
.mvt .work{display:flex; flex-direction:column; min-width:0; min-height:0; height:100%; overflow:hidden;}
.mvt .topbar{display:flex; align-items:center; gap:14px;
  padding:12px 18px; border-bottom:1px solid var(--line); background:var(--panel);}
.mvt .icon-btn{background:var(--bg-deep); border:1px solid var(--line); border-radius:var(--r-sm); color:var(--txt-mut); width:34px;height:32px; display:grid;place-items:center;}
.mvt .icon-btn:hover{color:var(--txt); border-color:var(--line-2);}
.mvt .crumbs{min-width:0; flex:1;}
.mvt .crumbs .h{font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mvt .crumbs .s{font-size:11.5px; color:var(--txt-mut);}
.mvt .status-pills{display:flex; gap:8px; align-items:center;}
.mvt .pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-family:var(--mono); padding:5px 9px; border-radius:20px; border:1px solid var(--line); color:var(--txt-mut); background:var(--bg-deep);}
.mvt .pill .k{width:8px;height:8px;border-radius:50%; background:var(--txt-faint);}
.mvt .pill.ko .k{background:var(--in); box-shadow:0 0 8px rgba(70,224,138,.6);}
.mvt .pill.ft .k{background:var(--out); box-shadow:0 0 8px rgba(255,107,125,.6);}
.mvt .pill.unset{opacity:.5;}
.mvt .stage{flex:1; display:flex; flex-direction:column; padding:16px 18px 0; min-height:0;}
.mvt .player-wrap{position:relative; flex:1 1 0; min-height:0;
  background:#000; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  display:grid; place-items:center;}
.mvt .player-wrap video{width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; background:#000; display:block;}
.mvt .empty{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  color:var(--txt-mut); text-align:center; padding:24px;}
.mvt .empty svg{opacity:.5;}
.mvt .empty .drop{border:1.5px dashed var(--line-2); border-radius:var(--r); padding:16px 22px; color:var(--txt-faint); font-size:12.5px;}
.mvt .overlay-hud{position:absolute; top:12px; left:12px; display:flex; gap:8px; pointer-events:none;}
.mvt .hud-chip{font-family:var(--mono); font-size:11px; color:var(--txt); background:rgba(7,14,25,.72); border:1px solid var(--line); border-radius:6px; padding:4px 8px; backdrop-filter:blur(4px);}
.mvt .marker-flash{position:absolute; inset:0; pointer-events:none; opacity:0;}
.mvt .marker-flash.in{box-shadow: inset 0 0 0 3px var(--in);}
.mvt .marker-flash.out{box-shadow: inset 0 0 0 3px var(--out);}
.mvt .marker-flash.show{animation:flash .5s ease;}
@keyframes flash{ 0%{opacity:.9} 100%{opacity:0} }
.mvt .deck{padding:10px 18px 14px; border-top:1px solid var(--line); background:linear-gradient(180deg, var(--bg), var(--panel));}
.mvt .transport{display:flex; align-items:center; gap:14px; margin-bottom:8px; flex-wrap:wrap;}
.mvt .tbtns{display:flex; align-items:center; gap:4px; background:var(--bg-deep); border:1px solid var(--line); border-radius:var(--r); padding:4px;}
.mvt .tbtn{background:transparent; border:0; color:var(--txt-mut); width:36px;height:32px; border-radius:var(--r-sm); display:grid;place-items:center;}
.mvt .tbtn:hover{background:var(--panel-3); color:var(--txt);}
.mvt .tbtn.play{width:44px; color:var(--txt);}
.mvt .tbtn.play:hover{background:var(--cyan-dim);}
.mvt .tbtn small{font-family:var(--mono); font-size:9px; line-height:1;}
.mvt .tc{font-family:var(--mono); font-variant-numeric:tabular-nums; letter-spacing:.02em;
  display:flex; align-items:baseline; gap:2px;}
.mvt .tc .big{font-size:26px; font-weight:600; color:var(--txt);}
.mvt .tc .frame{font-size:15px; color:var(--cyan);}
.mvt .tc .lab{font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:var(--txt-faint); margin-left:8px;}
.mvt .tspacer{flex:1;}
.mvt .rate-tag{font-family:var(--mono); font-size:11px; color:var(--txt-mut);}
.mvt .mini-select{background:var(--bg-deep); border:1px solid var(--line); color:var(--txt); border-radius:var(--r-sm); padding:6px 8px; font-size:12px;}
.mvt .tl-over{position:relative; height:44px; border-radius:var(--r); background:var(--bg-deep); border:1px solid var(--line); overflow:hidden; cursor:pointer;}
.mvt .tl-over .track-fill{position:absolute; inset:0; background:
  repeating-linear-gradient(90deg, rgba(120,160,205,.05) 0 1px, transparent 1px 60px);}
.mvt .tl-over .buffered{position:absolute; top:0; bottom:0; left:0; background:rgba(120,160,205,.08);}
.mvt .pad-band{position:absolute; top:0; bottom:0; pointer-events:none;}
.mvt .pad-band.in{background:var(--in-dim); border-left:1px solid rgba(70,224,138,.4);}
.mvt .pad-band.out{background:var(--out-dim); border-right:1px solid rgba(255,107,125,.4);}
.mvt .clip-band{position:absolute; top:0; bottom:0; background:rgba(41,211,230,.08); border-left:1px solid var(--cyan); border-right:1px solid var(--cyan); pointer-events:none;}
.mvt .marker{position:absolute; top:-2px; bottom:-2px; width:2px; pointer-events:none;}
.mvt .marker.in{background:var(--in); box-shadow:0 0 10px rgba(70,224,138,.7);}
.mvt .marker.out{background:var(--out); box-shadow:0 0 10px rgba(255,107,125,.7);}
.mvt .marker .flag{position:absolute; top:2px; font-size:9px; font-family:var(--mono); padding:1px 5px; border-radius:4px; white-space:nowrap; transform:translateX(-50%);}
.mvt .marker.in .flag{background:var(--in); color:#04120a; left:1px; transform:translateX(0);}
.mvt .marker.out .flag{background:var(--out); color:#1a0409; right:1px;}
.mvt .playhead{position:absolute; top:0; bottom:0; width:2px; background:var(--cyan); box-shadow:0 0 10px var(--cyan-glow); pointer-events:none; z-index:5;}
.mvt .playhead::before{content:""; position:absolute; top:-1px; left:50%; transform:translateX(-50%); border:5px solid transparent; border-top-color:var(--cyan);}
.mvt .tl-fine-wrap{margin-top:10px;}
.mvt .tl-fine-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;}
.mvt .tl-fine-head .t{font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--txt-faint);}
.mvt .tl-fine-head .win{display:flex; align-items:center; gap:6px; font-size:11px; color:var(--txt-mut); font-family:var(--mono);}
.mvt .tl-fine{position:relative; height:88px; border-radius:var(--r); background:
  linear-gradient(180deg, var(--panel-2), var(--bg-deep)); border:1px solid var(--line); overflow:hidden; cursor:ew-resize;}
.mvt .tl-fine canvas{position:absolute; inset:0; width:100%; height:100%; display:block;}
.mvt .tl-fine .center{position:absolute; top:0; left:0; right:0; height:2px; background:var(--cyan); box-shadow:0 0 8px var(--cyan-glow); pointer-events:none;}
.mvt .tl-fine .center::after{content:""; position:absolute; left:50%; top:0; transform:translateX(-50%); border:5px solid transparent; border-top-color:var(--cyan);}
.mvt .tl-fine .hint{position:absolute; right:8px; bottom:6px; font-size:10px; color:var(--txt-faint); font-family:var(--mono); pointer-events:none;}
.mvt .markbar{display:flex; align-items:center; gap:10px; margin-top:10px; flex-wrap:wrap;}
.mvt .mk{display:inline-flex; align-items:center; gap:7px; background:var(--bg-deep); border:1px solid var(--line); border-radius:var(--r); padding:6px 8px 6px 10px;}
.mvt .mk.in{border-left:2px solid var(--in);}
.mvt .mk.out{border-left:2px solid var(--out);}
.mvt .mk-lab{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--txt-mut);}
.mvt .mk-tc{font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:14px; font-weight:600; min-width:98px;}
.mvt .mk-tc.unset{color:var(--txt-faint); font-weight:400;}
.mvt .mk-spacer{flex:1; min-width:8px;}
.mvt .mk-field{display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--txt-mut);}
.mvt .mk-field input{width:52px; background:var(--bg-deep); border:1px solid var(--line); color:var(--txt); border-radius:var(--r-sm); padding:6px 8px; font-family:var(--mono); font-size:12px;}
.mvt .btn{border:1px solid var(--line); background:var(--panel-2); color:var(--txt); border-radius:var(--r-sm); padding:8px 12px; font-size:12.5px; font-weight:500; display:inline-flex; align-items:center; gap:7px;}
.mvt .btn:hover{border-color:var(--line-2); background:var(--panel-3);}
.mvt .btn.sm{padding:6px 10px; font-size:12px;}
.mvt .btn.xs{padding:5px 8px; font-size:12px; line-height:1;}
.mvt .btn.ghost{background:transparent;}
.mvt .btn[disabled]{opacity:.4; cursor:not-allowed;}
.mvt .btn.in-btn{background:rgba(70,224,138,.14); border-color:rgba(70,224,138,.4); color:#c9ffe0;}
.mvt .btn.in-btn:hover{background:rgba(70,224,138,.22);}
.mvt .btn.out-btn{background:rgba(255,107,125,.14); border-color:rgba(255,107,125,.4); color:#ffd7dc;}
.mvt .btn.out-btn:hover{background:rgba(255,107,125,.22);}
.mvt .btn.assist-btn{background:linear-gradient(90deg, var(--cyan-dim), #1348ff); border:0; color:#eafeff; font-weight:600;}
.mvt .btn.assist-btn:hover{filter:brightness(1.12);}
.mvt .btn.send{background:linear-gradient(90deg, var(--cyan), var(--cyan-dim)); color:#03151a; border:0; font-weight:700;}
.mvt .btn.send:hover{filter:brightness(1.08);}
.mvt .btn.send[disabled]{background:var(--panel-3); color:var(--txt-faint);}
.mvt .dest-wrap{display:inline-flex; align-items:center; gap:6px; min-width:0;}
.mvt .dest-wrap label{font-size:11px; color:var(--txt-mut); text-transform:uppercase; letter-spacing:.08em;}
.mvt .btn.dest-btn{display:inline-flex; align-items:center; gap:6px; max-width:260px;}
.mvt .dest-btn .dest-path{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:var(--mono); font-size:11px;}
.mvt .validation{font-size:11px; font-family:var(--mono);}
.mvt .validation.ok{color:var(--ok);}
.mvt .validation.err{color:var(--err);}
.mvt .assist-wrap, .mvt .payload-wrap{position:relative; display:inline-flex;}
.mvt .popover{position:absolute; bottom:calc(100% + 8px); right:0; z-index:30;
  background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r);
  box-shadow:0 18px 46px rgba(0,0,0,.55); padding:12px;}
.mvt .popover.cands{width:284px; display:flex; flex-direction:column; gap:6px;}
.mvt .popover.payload{width:430px; max-height:44vh; overflow:auto;}
.mvt .popover.payload pre{margin:8px 0 0; font-family:var(--mono); font-size:11px; color:#bfe9ef; white-space:pre;}
.mvt .endpoint-row input{width:100%; background:var(--bg-deep); border:1px solid var(--line); color:var(--txt); border-radius:var(--r-sm); padding:8px 10px; font-size:11.5px; font-family:var(--mono);}
.mvt .cand{display:flex; align-items:center; gap:8px; font-size:11.5px; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r-sm); padding:7px 9px;}
.mvt .cand .type{font-size:9px; text-transform:uppercase; letter-spacing:.08em; padding:2px 6px; border-radius:10px;}
.mvt .cand .type.in{background:var(--in-dim); color:var(--in);}
.mvt .cand .type.out{background:var(--out-dim); color:var(--out);}
.mvt .cand .tc2{font-family:var(--mono); flex:1;}
.mvt .cand .conf{font-family:var(--mono); font-size:10px; color:var(--txt-faint);}
.mvt .cand button{background:var(--panel-3); border:1px solid var(--line); border-radius:5px; color:var(--txt); font-size:10.5px; padding:3px 7px;}
.mvt .toast-wrap{position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:50; display:flex; flex-direction:column; gap:8px; align-items:center;}
.mvt .toast{background:var(--panel-3); border:1px solid var(--line-2); color:var(--txt); padding:10px 16px; border-radius:var(--r); font-size:13px; box-shadow:0 10px 30px rgba(0,0,0,.4); animation:rise .2s ease;}
.mvt .toast.ok{border-color:rgba(70,224,138,.5);}
.mvt .toast.err{border-color:rgba(255,107,125,.5);}
@keyframes rise{ from{ transform:translateY(8px); opacity:0 } }
.mvt .help-toggle{position:fixed; right:18px; bottom:18px; z-index:40;}
.mvt .help{position:fixed; right:18px; bottom:62px; width:280px; background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r); padding:14px; z-index:41; box-shadow:0 20px 50px rgba(0,0,0,.5); display:none;}
.mvt .help.show{display:block;}
.mvt .help h4{margin:0 0 10px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--txt-mut);}
.mvt .help dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 12px; font-size:12px;}
.mvt .help kbd{font-family:var(--mono); font-size:10.5px; background:var(--bg-deep); border:1px solid var(--line); border-bottom-width:2px; border-radius:4px; padding:1px 6px; color:var(--txt);}
@media (prefers-reduced-motion: reduce){.mvt *{animation:none !important;}}
.mvt :focus-visible{outline:2px solid var(--cyan); outline-offset:2px;}
.mvt input[type=file]{display:none;}

/* --- integration overrides --- */
/* Fill the host content area. CC: change 100vh if the UEFA chrome
   (top nav/header) reduces the available height, e.g.
   height: calc(100vh - var(--app-header-height)); */
.mvt{ position:relative; height:calc(100vh - 96px); overflow:hidden; }
.mvt .app{ height:100%; }

/* VideoTrimmer wraps player + deck under one ref root; make it the growing
   flex column so the player fills the space above the deck (as .stage did). */
.mvt .mvt-stage{ display:flex; flex-direction:column; flex:1 1 0; min-height:0; overflow:hidden; }
.mvt .mvt-stage > .player-wrap{ margin:16px 18px 0; }
.mvt .deck{ flex:0 0 auto; }

/* ---------- Folder browser modal ---------- */
.fb-backdrop{position:fixed; inset:0; background:rgba(4,10,20,.62); backdrop-filter:blur(2px);
  display:flex; align-items:center; justify-content:center; z-index:9000;}
.fb-modal{width:min(560px, 92vw); max-height:80vh; display:flex; flex-direction:column;
  background:var(--panel-1, #101827); color:var(--txt, #e8eef8);
  border:1px solid var(--line, rgba(255,255,255,.08)); border-radius:12px;
  box-shadow:0 24px 64px rgba(0,0,0,.55);}
.fb-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:14px 16px 10px; border-bottom:1px solid var(--line, rgba(255,255,255,.08));}
.fb-title{font-size:14px; font-weight:600;}
.fb-sub{font-size:11.5px; color:var(--txt-mut, #92a4bd); margin-top:2px;}
.fb-close{background:transparent; border:0; color:var(--txt-mut, #92a4bd); font-size:22px;
  line-height:1; cursor:pointer; padding:2px 6px;}
.fb-close:hover{color:var(--txt, #e8eef8);}
.fb-sources{display:flex; align-items:center; gap:8px; padding:10px 16px 0; min-width:0;}
.fb-sources-lab{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-faint, #55677f);}
.fb-source-seg{display:inline-flex; background:var(--bg-deep, #0a1120); border-radius:6px; overflow:hidden;
  border:1px solid var(--line, rgba(255,255,255,.08)); flex:0 0 auto;}
.fb-source-seg button{background:transparent; border:0; color:var(--txt-mut, #92a4bd);
  padding:5px 10px; font-size:12px; cursor:pointer;}
.fb-source-seg button[aria-pressed="true"]{background:var(--panel-3, rgba(255,255,255,.06)); color:var(--txt, #e8eef8);}
.fb-source-addr{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:ui-monospace,monospace; font-size:11px; color:var(--txt-faint, #55677f);}

.fb-crumbs{display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px;
  padding:10px 16px; border-bottom:1px solid var(--line, rgba(255,255,255,.06));
  font-family:ui-monospace,monospace; font-size:12px;}
.fb-crumb{background:transparent; border:0; color:var(--accent, #7aa9ff); padding:2px 4px;
  border-radius:4px; cursor:pointer;}
.fb-crumb:hover{background:rgba(120,160,255,.12);}
.fb-sep{color:var(--txt-faint, #55677f);}
.fb-list{flex:1; overflow:auto; padding:6px;}
.fb-item{display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  padding:9px 10px; background:transparent; border:0; border-radius:6px; color:var(--txt);
  font-size:13px; cursor:pointer;}
.fb-item:hover{background:var(--panel-3, rgba(255,255,255,.06));}
.fb-item .fb-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.fb-item .fb-chev{color:var(--txt-faint, #55677f);}
.fb-empty{padding:24px; text-align:center; color:var(--txt-mut, #92a4bd); font-size:13px;}
.fb-empty.fb-err{color:#ff6b7d;}
.fb-foot{display:flex; align-items:center; gap:12px; padding:12px 16px;
  border-top:1px solid var(--line, rgba(255,255,255,.08));}
.fb-current{flex:1; min-width:0; display:flex; align-items:center; gap:8px; overflow:hidden;}
.fb-current-lab{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-faint, #55677f);}
.fb-current code{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:ui-monospace,monospace; font-size:12px; color:var(--txt);}
.fb-actions{display:flex; gap:8px;}
.fb-actions .btn.primary{background:var(--accent, #3a7dff); color:#fff; border:0; border-radius:6px;
  padding:7px 14px; font-size:12.5px; font-weight:600; cursor:pointer;}
.fb-actions .btn.primary:hover{filter:brightness(1.1);}
.fb-actions .btn.ghost{background:transparent; color:var(--txt-mut, #92a4bd); border:1px solid var(--line);
  border-radius:6px; padding:7px 14px; font-size:12.5px; cursor:pointer;}
