:root {
  --bg: #050608;
  --panel: rgba(10, 12, 16, 0.93);
  --panel-2: rgba(16, 19, 25, 0.92);
  --line: rgba(255, 191, 71, 0.24);
  --gold: #f0b94a;
  --gold-bright: #ffd67b;
  --text: #f6f1e8;
  --muted: #8d95a2;
  --green: #2de19a;
  --red: #ff5e6e;
  --amber: #f4bc4f;
  --blue: #4ca8ff;
  --locked: #727784;
}

* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

button, input { font: inherit; }

#app-shell {
  width: 100vw;
  height: 100vh;
  display: grid;
  grid-template-columns: 270px 1fr 390px;
  grid-template-rows: 66px 36px 1fr 116px;
  grid-template-areas:
    "top top top"
    "marquee marquee marquee"
    "side stage inspector"
    "side dock inspector";
  background: radial-gradient(circle at 50% 0%, #17140c 0%, #08090c 36%, #030405 80%);
}

.topbar {
  grid-area: top;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(5,6,8,.98), rgba(15,13,8,.98), rgba(5,6,8,.98));
  z-index: 10;
}

.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 38px; height: 38px; border: 1px solid var(--gold); border-radius: 10px;
  display: grid; place-items: center; color: var(--gold-bright); font-weight: 900; font-size: 24px;
  box-shadow: inset 0 0 18px rgba(240,185,74,.12), 0 0 20px rgba(240,185,74,.12);
}
.brand-name { letter-spacing: .42em; font-size: 15px; font-weight: 800; color: var(--gold-bright); }
.brand-sub { letter-spacing: .25em; font-size: 9px; color: var(--muted); margin-top: 3px; }

.connection-badge {
  display: flex; align-items: center; gap: 7px; font-size: 11px; letter-spacing: .12em; border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px; padding: 7px 12px; background: rgba(255,255,255,.03);
}
.connection-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--locked); box-shadow: 0 0 10px currentColor; }
.connection-badge.live .dot { background: var(--green); }
.connection-badge.demo .dot { background: var(--amber); }
.connection-badge.offline .dot { background: var(--red); }

.icon-button { border: 1px solid var(--line); background: transparent; color: var(--gold); border-radius: 8px; padding: 7px 10px; cursor: pointer; }

.marquee-shell {
  grid-area: marquee;
  display: flex; align-items: center; gap: 10px;
  background: #08090c; border-bottom: 1px solid rgba(255,255,255,.07); overflow: hidden; z-index: 9;
}
.live-pill { margin-left: 12px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .1em; border: 1px solid var(--gold); border-radius: 4px; padding: 3px 7px; }
.marquee-viewport { flex: 1; overflow: hidden; white-space: nowrap; }
.marquee-track { display: inline-flex; gap: 40px; min-width: 100%; font-size: 11px; color: #cdd3dc; animation: marquee 28s linear infinite; }
.marquee-track span::before { content: "◆"; color: var(--gold); margin-right: 8px; }
@keyframes marquee { from { transform: translateX(100%); } to { transform: translateX(-100%); } }

.sidebar {
  grid-area: side; padding: 14px 12px; border-right: 1px solid var(--line); background: var(--panel); overflow: auto; z-index: 8;
}
.section-title { font-size: 10px; color: var(--muted); letter-spacing: .18em; font-weight: 800; margin: 7px 8px 10px; }
.systems-title { margin-top: 20px; }
.agent-list { display: flex; flex-direction: column; gap: 7px; }
.agent-button {
  width: 100%; display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px;
  border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); color: var(--text); border-radius: 10px; padding: 9px; cursor: pointer; text-align: left;
}
.agent-button:hover, .agent-button.active { border-color: var(--gold); background: rgba(240,185,74,.08); box-shadow: 0 0 20px rgba(240,185,74,.07); }
.agent-avatar { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(145deg,#342316,#15171c); display: grid; place-items: center; color: var(--gold-bright); font-size: 11px; font-weight: 800; }
.agent-button strong { display:block; font-size: 12px; margin-bottom: 3px; }
.agent-button small { color: var(--muted); font-size: 10px; }
.agent-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--locked); box-shadow: 0 0 9px currentColor; }
.agent-dot.active { background: var(--green); }
.agent-dot.watch { background: var(--amber); }
.agent-dot.blocked { background: var(--red); }
.agent-dot.locked { background: var(--locked); }

.system-list { display: grid; gap: 10px; font-size: 10px; color: var(--muted); padding: 0 8px; }
.system-list > div { display:flex; align-items:center; gap:8px; }
.system-list strong { margin-left:auto; color:#dfe4ea; font-weight:600; }
.status-led { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(45,225,154,.6); }
.status-led.bad { background:var(--red); }
.status-led.warn { background:var(--amber); }
.status-led.locked { background:var(--locked); }

.scene-help { margin: 24px 8px 8px; padding: 10px; border:1px solid rgba(255,255,255,.06); border-radius:10px; font-size:10px; color:var(--muted); display:grid; gap:4px; }
.scene-help strong { color:#dfe4ea; }

#stage { grid-area: stage; min-width: 0; min-height: 0; position: relative; overflow: hidden; background: linear-gradient(#0a0c11,#050608); }
#threeCanvas { width:100%; height:100%; display:block; }
.selected-tag { position:absolute; top:16px; left:50%; transform:translateX(-50%); background:rgba(5,6,8,.92); border:1px solid var(--gold); color:var(--gold-bright); padding:7px 13px; border-radius:999px; font-size:10px; letter-spacing:.12em; pointer-events:none; }
.hidden { display:none; }

.market-pods { position:absolute; top:14px; left:14px; right:14px; display:grid; grid-template-columns: 1fr 1fr; gap:10px; pointer-events:none; }
.market-card { padding:9px 11px; border:1px solid rgba(240,185,74,.25); border-radius:10px; background:rgba(5,7,10,.76); backdrop-filter:blur(10px); max-width:330px; }
.market-card:nth-child(2) { justify-self:end; }
.market-card-head { display:flex; justify-content:space-between; align-items:center; color:var(--gold-bright); }
.market-card-head strong { letter-spacing:.16em; font-size:11px; }
.mini-status { font-size:9px; color:var(--green); }
.market-price { font-size:17px; font-weight:800; margin-top:5px; }
.market-thesis,.market-execution { font-size:10px; color:var(--muted); margin-top:3px; }

.inspector {
  grid-area: inspector; padding:16px; border-left:1px solid var(--line); background:var(--panel); overflow:auto; z-index:8;
}
.inspector-head { display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.07); padding-bottom:12px; }
.agent-role { color:var(--gold-bright); font-weight:800; letter-spacing:.12em; font-size:14px; }
.agent-subtitle { color:var(--muted); font-size:10px; margin-top:3px; }
.agent-status { font-size:9px; border:1px solid rgba(45,225,154,.35); color:var(--green); padding:4px 7px; border-radius:5px; }
.portrait-wrap { display:grid; grid-template-columns:58px 1fr; gap:12px; align-items:center; padding:14px 0; }
.portrait { width:58px; height:58px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(145deg,#3f2817,#14161a); border:1px solid rgba(240,185,74,.28); color:var(--gold-bright); font-weight:900; }
.agent-name { font-weight:750; }
.agent-mission { color:var(--muted); font-size:10px; margin-top:4px; line-height:1.4; }

.inspector-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-bottom:10px; }
.tab { border:0; border-bottom:1px solid rgba(255,255,255,.08); background:transparent; color:var(--muted); padding:8px 3px; font-size:9px; cursor:pointer; }
.tab.active { color:var(--gold-bright); border-bottom-color:var(--gold); }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.info-card { background:var(--panel-2); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:11px; margin-bottom:9px; }
.info-title { font-size:9px; letter-spacing:.12em; color:var(--gold); font-weight:800; margin-bottom:8px; }
.focus-primary { font-size:13px; font-weight:750; margin-bottom:4px; }
.muted { color:var(--muted); font-size:10px; line-height:1.45; }
.plain-list { margin:0; padding-left:17px; color:#c8ced7; font-size:10px; line-height:1.6; }
.work-items,.history-list { display:grid; gap:7px; }
.work-item,.history-item { display:grid; grid-template-columns:8px 1fr auto; gap:7px; font-size:10px; align-items:start; }
.work-bullet { width:7px; height:7px; border-radius:50%; background:var(--gold); margin-top:4px; }
.work-time { color:var(--muted); font-size:9px; }

.bottom-dock {
  grid-area:dock; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:9px 10px; border-top:1px solid var(--line); background:var(--panel); z-index:8;
}
.dock-card { min-width:0; border:1px solid rgba(255,255,255,.07); border-radius:9px; background:rgba(255,255,255,.025); padding:10px; display:grid; align-content:start; gap:5px; }
.dock-label { color:var(--gold); font-size:8px; letter-spacing:.12em; font-weight:800; }
.dock-card strong { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dock-card small { color:var(--muted); font-size:9px; }

dialog { border:1px solid var(--line); border-radius:14px; background:#0d1015; color:var(--text); box-shadow:0 24px 100px #000; }
dialog::backdrop { background:rgba(0,0,0,.7); }
.settings-panel { width:min(500px,80vw); display:grid; gap:12px; }
.settings-panel h2 { margin:0; color:var(--gold-bright); }
.settings-panel label { font-size:11px; color:var(--muted); }
.settings-panel input { background:#050608; border:1px solid rgba(255,255,255,.13); color:white; border-radius:8px; padding:10px; }
.settings-panel p { font-size:10px; color:var(--muted); line-height:1.5; }
.dialog-actions { display:flex; justify-content:flex-end; gap:8px; }
.primary-button,.secondary-button { border-radius:8px; padding:8px 12px; cursor:pointer; }
.primary-button { background:var(--gold); color:#161006; border:0; font-weight:800; }
.secondary-button { background:transparent; border:1px solid rgba(255,255,255,.12); color:#ddd; }

@media (max-width: 1180px) {
  #app-shell {
    grid-template-columns: 220px 1fr 330px;
  }
}
@media (max-width: 900px) {
  #app-shell {
    grid-template-columns: 1fr;
    grid-template-rows: 60px 34px 1fr 120px;
    grid-template-areas: "top" "marquee" "stage" "dock";
  }
  .sidebar,.inspector { display:none; }
  .bottom-dock { grid-template-columns:repeat(2,1fr); }
}

.floor-mode{position:absolute;left:16px;bottom:16px;z-index:4;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(240,185,74,.28);border-radius:999px;color:#e8d09a;background:rgba(5,7,10,.74);backdrop-filter:blur(10px);font-size:9px;letter-spacing:.12em;pointer-events:none}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(45,225,154,.9);animation:pulseDot 1.8s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
.agent-button{transition:border-color .18s ease,background .18s ease,transform .18s ease}
.agent-button:hover{transform:translateX(2px)}
.market-card{box-shadow:0 10px 34px rgba(0,0,0,.24)}


/* v0.3 — agent identity & presence */
.agent-callsign{
  margin-top:4px;
  color:#c69a49;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.agent-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:0 0 10px;
}
.agent-action{
  border:1px solid rgba(240,185,74,.34);
  background:rgba(240,185,74,.06);
  color:var(--gold-bright);
  border-radius:7px;
  padding:8px 6px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  cursor:pointer;
}
.agent-action.secondary{
  color:#cbd0d7;
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
}
.agent-action:hover{filter:brightness(1.2)}

.shift-briefing{
  margin:18px 8px 0;
  border:1px solid rgba(240,185,74,.18);
  border-radius:10px;
  background:rgba(240,185,74,.025);
}
.shift-briefing .section-title{
  margin:10px 10px 7px;
}
.shift-briefing-body{
  padding:0 10px 11px;
  color:#c9ced7;
  font-size:10px;
  line-height:1.5;
}

.agent-button .agent-avatar{
  position:relative;
  overflow:hidden;
}
.agent-button .agent-avatar::after{
  content:"";
  position:absolute;
  inset:auto 5px 4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.65;
}

.agent-status{
  transition:color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.agent-status[data-live="true"]{
  box-shadow:0 0 14px rgba(45,225,154,.09);
}

.desk-pop{
  animation:deskPop .45s ease;
}
@keyframes deskPop{
  0%{transform:translateY(3px);opacity:.4}
  100%{transform:translateY(0);opacity:1}
}


/* v0.4 — real GLB/GLTF character pipeline */
.agent-asset-status{
  margin-top:5px;
  color:#7f8792;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.agent-asset-status.loaded{ color:var(--green); }
.agent-asset-status.loading{ color:var(--amber); }
.agent-asset-status.fallback{ color:#7f8792; }


.stage-view{position:absolute;inset:0;}
.stage-view.view-active{display:block;}
#floorView.hidden,#boardView.hidden{display:none;}

.board-view{
  overflow:auto;
  padding:16px 18px 18px;
  background:
    radial-gradient(circle at top left, rgba(240,185,74,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(0,214,255,.05), transparent 30%),
    linear-gradient(180deg, #06080d, #040507 45%, #05070a 100%);
}
.board-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:10px 2px 4px;
}
.board-kicker{font-size:10px;color:var(--gold);letter-spacing:.28em;font-weight:800;}
.board-hero h2{margin:5px 0 4px;font-size:27px;letter-spacing:.22em;color:#f2cd7b;}
.board-hero p{margin:0;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.board-status-stack{display:grid;gap:8px;justify-items:end;}
.board-live-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(240,185,74,.22);background:rgba(255,255,255,.03);font-size:11px;font-weight:800;letter-spacing:.18em;color:#f5d891;}
.board-live-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(45,225,154,.8);}
.board-clock{font-size:10px;color:var(--muted);}
.identity-board-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.identity-card{
  position:relative;
  border:1px solid rgba(240,185,74,.26);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(13,16,22,.97), rgba(7,9,13,.98));
  overflow:hidden;
  box-shadow:0 16px 36px rgba(0,0,0,.30), inset 0 0 0 1px rgba(240,185,74,.05);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.identity-card:hover,.identity-card.active{transform:translateY(-2px);border-color:rgba(240,185,74,.62);box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 0 1px rgba(240,185,74,.15);}
.identity-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg, rgba(240,185,74,.65), rgba(43,225,154,.8));opacity:.95;}
.identity-card-top{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0;gap:8px;}
.identity-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#372517,#15161c);border:1px solid rgba(240,185,74,.28);color:#f4d07a;font-weight:900;font-size:13px;}
.identity-status{font-size:9px;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);letter-spacing:.14em;font-weight:800;}
.identity-status.active{color:var(--green);border-color:rgba(45,225,154,.28);background:rgba(45,225,154,.08);}
.identity-status.watch{color:var(--amber);border-color:rgba(244,188,79,.25);background:rgba(244,188,79,.08);}
.identity-status.locked,.identity-status.blocked{color:#d8dde5;border-color:rgba(168,175,185,.28);background:rgba(168,175,185,.08);}
.identity-portrait{display:grid;grid-template-columns:94px 1fr;gap:12px;padding:12px;}
.identity-portrait-art{height:178px;border-radius:16px;position:relative;overflow:hidden;border:1px solid rgba(240,185,74,.20);background:radial-gradient(circle at 50% 18%, rgba(255,217,122,.25), rgba(255,217,122,0) 26%), linear-gradient(180deg, rgba(13,16,21,.95), rgba(7,10,14,.98));}
.identity-portrait-art::before{content:"";position:absolute;inset:12px 16px 54px;border-radius:999px 999px 26px 26px/999px 999px 32px 32px;background:linear-gradient(180deg, rgba(78,46,29,.95), rgba(30,18,11,.95));box-shadow:0 18px 32px rgba(0,0,0,.26);}
.identity-portrait-art::after{content:"";position:absolute;left:28px;right:28px;bottom:18px;height:68px;border-radius:18px;background:linear-gradient(180deg, rgba(33,56,78,.75), rgba(10,17,26,.92));border:1px solid rgba(77,201,255,.18);box-shadow:inset 0 0 0 1px rgba(240,185,74,.04);}
.identity-portrait-sheen{position:absolute;inset:0;background:linear-gradient(120deg, transparent 25%, rgba(255,255,255,.04) 50%, transparent 75%);transform:translateX(-70%);animation:sheen 6.8s linear infinite;}
@keyframes sheen{to{transform:translateX(110%);}}
.identity-initials{position:absolute;left:16px;top:14px;font-size:30px;font-weight:900;color:rgba(240,185,74,.96);letter-spacing:.08em;text-shadow:0 4px 18px rgba(0,0,0,.35);}
.identity-mini-lines{position:absolute;left:16px;right:16px;bottom:32px;height:26px;display:grid;gap:4px;}
.identity-mini-lines span{display:block;height:4px;border-radius:999px;background:linear-gradient(90deg, rgba(55,210,152,.75), rgba(66,170,255,.75));opacity:.85;}
.identity-copy{display:flex;flex-direction:column;min-width:0;}
.identity-role{font-size:11px;letter-spacing:.08em;color:#f0cf87;font-weight:800;}
.identity-name{font-size:28px;font-weight:900;line-height:1.02;margin-top:4px;letter-spacing:.03em;}
.identity-subtitle{font-size:12px;color:var(--muted);margin-top:4px;}
.identity-callsign{margin-top:10px;font-size:10px;color:#77d8ff;letter-spacing:.16em;font-weight:800;}
.identity-mission{margin-top:10px;font-size:11px;color:#d2d8e0;line-height:1.55;min-height:52px;}
.identity-focus{margin-top:12px;padding:10px 11px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);}
.identity-focus-label{font-size:9px;letter-spacing:.16em;color:var(--gold);font-weight:800;margin-bottom:6px;}
.identity-focus-primary{font-size:16px;font-weight:850;line-height:1.2;}
.identity-focus-meta{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5;}
.identity-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px;}
.identity-meta-box{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:9px 10px;background:rgba(255,255,255,.02);}
.identity-meta-label{font-size:8px;letter-spacing:.14em;color:var(--gold);font-weight:800;margin-bottom:6px;}
.identity-meta-value{font-size:11px;color:#ecf1f8;line-height:1.45;word-break:break-word;}
.identity-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px;}
.identity-tag{font-size:9px;padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02);color:#d3dae2;}
.board-lower-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:12px;margin-top:12px;}
.board-support-card{border:1px solid rgba(240,185,74,.20);border-radius:16px;background:linear-gradient(180deg, rgba(12,15,20,.98), rgba(7,9,12,.98));padding:14px;min-height:180px;}
.board-support-title{font-size:10px;letter-spacing:.18em;color:#f0c96f;font-weight:800;margin-bottom:12px;}
.board-system-list{display:grid;gap:10px;}
.board-system-row{display:flex;align-items:center;gap:9px;font-size:12px;color:#d3dae3;}
.board-system-row strong{margin-left:auto;color:#f0f4fa;font-size:11px;}
.board-system-row .status-led{width:8px;height:8px;}
.board-market-snapshot{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.board-market-mini{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px;background:rgba(255,255,255,.02);}
.board-market-mini strong{display:block;font-size:11px;letter-spacing:.12em;color:#f4d07a;margin-bottom:5px;}
.board-market-price{font-size:20px;font-weight:900;margin-bottom:4px;}
.board-market-line{font-size:10px;color:var(--muted);line-height:1.5;}
.mini-floor-map{position:relative;height:154px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:radial-gradient(circle at center, rgba(240,185,74,.06), transparent 38%), linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));}
.mini-node{position:absolute;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#0a0d12;border:1px solid rgba(240,185,74,.32);color:#f2cf86;font-size:10px;font-weight:900;box-shadow:0 0 0 5px rgba(240,185,74,.05), 0 10px 20px rgba(0,0,0,.28);}
.mini-node.lead{left:calc(50% - 21px);top:54px;}
.mini-node.macro{left:88px;top:20px;}
.mini-node.liquidity{left:58px;bottom:14px;}
.mini-node.risk{right:88px;top:20px;}
.mini-node.scanner{right:58px;bottom:14px;}
.mini-node.execution{left:calc(50% - 21px);bottom:10px;}
.mini-link{position:absolute;inset:0;background:
 linear-gradient(transparent 0, transparent calc(50% - 1px), rgba(240,185,74,.18) calc(50% - 1px), rgba(240,185,74,.18) calc(50% + 1px), transparent calc(50% + 1px)),
 linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(240,185,74,.18) calc(50% - 1px), rgba(240,185,74,.18) calc(50% + 1px), transparent calc(50% + 1px));opacity:.6;}
@media (max-width: 1400px){.identity-board-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.board-lower-grid{grid-template-columns:1fr;}}
@media (max-width: 1180px){.board-hero{flex-direction:column;align-items:flex-start;}.board-status-stack{justify-items:start;}.identity-portrait{grid-template-columns:80px 1fr;}.identity-name{font-size:22px;}}
@media (max-width: 900px){.topbar-center{justify-content:flex-start;}.view-switch{display:none;}.board-view{padding:12px;}.identity-board-grid{grid-template-columns:1fr;}.identity-portrait{grid-template-columns:1fr;}.identity-portrait-art{height:120px;}.identity-name{font-size:24px;}.board-market-snapshot{grid-template-columns:1fr;}}


/* v0.6 — live agent portraits */
.agent-avatar{overflow:hidden;padding:0;}
.agent-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.portrait{overflow:hidden;padding:0;}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.identity-portrait-art{padding:0;background:#090b0f;}
.identity-portrait-art img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transform:scale(1.01);}
.identity-portrait-art::before,.identity-portrait-art::after,.identity-initials,.identity-mini-lines{display:none!important;}
.identity-portrait-sheen{z-index:2;pointer-events:none;}


/* v0.8 — operational command floor */
.follow-events-button{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#929aa5;
  border-radius:999px;
  padding:8px 11px;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.10em;
  cursor:pointer;
}
.follow-events-button:hover{border-color:rgba(240,185,74,.35);color:#ead49e}
.follow-events-button.active{color:#caffea;border-color:rgba(45,225,154,.35);background:rgba(45,225,154,.07)}
.follow-events-dot{width:7px;height:7px;border-radius:50%;background:#626b76}
.follow-events-button.active .follow-events-dot{background:var(--green);box-shadow:0 0 12px rgba(45,225,154,.85);animation:followPulse 1.6s ease-in-out infinite}
@keyframes followPulse{0%,100%{opacity:.42}50%{opacity:1}}

.event-toast{
  position:absolute;z-index:35;top:16px;left:50%;transform:translateX(-50%);
  width:min(620px,calc(100% - 36px));display:grid;grid-template-columns:52px 1fr auto;
  align-items:center;gap:11px;padding:10px 12px;border-radius:14px;
  border:1px solid rgba(240,185,74,.38);background:rgba(8,10,14,.97);
  box-shadow:0 22px 65px rgba(0,0,0,.48);backdrop-filter:blur(16px)
}
.event-toast.hidden{display:none}
.event-toast-agent{width:50px;height:50px;border-radius:12px;overflow:hidden;border:1px solid rgba(240,185,74,.28)}
.event-toast-agent img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.event-toast-title{color:#f3cf7d;font-size:9px;letter-spacing:.16em;font-weight:900;margin-bottom:4px}
.event-toast-message{color:#eef2f6;font-size:12px;line-height:1.35;font-weight:650}
.event-toast-time{align-self:start;color:#737d89;font-size:9px;white-space:nowrap}

.live-desk-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.live-desk-metric{min-width:0;border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:8px;background:rgba(255,255,255,.018)}
.live-desk-metric.wide{grid-column:1 / -1}
.live-desk-metric span{display:block;color:var(--gold);font-size:8px;letter-spacing:.12em;font-weight:900;margin-bottom:4px}
.live-desk-metric strong{display:block;color:#e8edf4;font-size:10px;line-height:1.38;word-break:break-word}

.command-strip{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:9px;margin-bottom:12px}
.command-strip-card{border:1px solid rgba(240,185,74,.17);border-radius:12px;background:rgba(255,255,255,.022);padding:10px 11px;min-width:0}
.command-strip-card span{display:block;color:var(--gold);font-size:8px;letter-spacing:.14em;font-weight:900;margin-bottom:5px}
.command-strip-card strong{display:block;color:#eff3f7;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.command-strip-card small{display:block;color:var(--muted);font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.identity-live-row{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:6px;padding:0 12px 10px}
.identity-live-row span{min-width:0;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:6px 7px;background:rgba(255,255,255,.018);font-size:9px;color:#dfe5eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.identity-card-actions{display:flex;justify-content:flex-end;padding:0 12px 12px}
.visit-desk-button{border:1px solid rgba(240,185,74,.30);background:rgba(240,185,74,.06);color:#f0cd80;border-radius:8px;padding:7px 10px;font-size:9px;font-weight:900;letter-spacing:.09em;cursor:pointer}
.visit-desk-button:hover{background:rgba(240,185,74,.12);border-color:rgba(240,185,74,.5)}
.agent-button.event-hot,.identity-card.event-hot{animation:eventHot 1.05s ease-out}
@keyframes eventHot{0%{box-shadow:0 0 0 0 rgba(240,185,74,.5)}100%{box-shadow:0 0 0 14px rgba(240,185,74,0)}}

@media(max-width:1400px){.command-strip{grid-template-columns:1fr 1fr}}
@media(max-width:1180px){.follow-events-button{display:none}}
@media(max-width:900px){.command-strip{grid-template-columns:1fr}.event-toast{top:10px}}


/* v0.9 — operations control layer */
.simulation-chip{
  border:1px solid rgba(90,180,255,.28);
  color:#9fd5ff;
  background:rgba(60,145,220,.065);
  border-radius:999px;
  padding:7px 10px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
}
.sync-led{background:#4ca8ff;box-shadow:0 0 8px rgba(76,168,255,.5)}

.events-view{
  overflow:auto;
  padding:18px;
  background:
    radial-gradient(circle at 12% 2%,rgba(240,185,74,.065),transparent 28%),
    radial-gradient(circle at 88% 4%,rgba(76,168,255,.05),transparent 30%),
    linear-gradient(180deg,#06080d,#040507 50%,#05070a);
}
.events-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.events-hero h2{
  margin:5px 0 4px;
  font-size:27px;
  letter-spacing:.22em;
  color:#f2cd7b;
}
.events-hero p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-center-actions{display:flex;align-items:center;gap:8px}
.event-count-chip{
  border:1px solid rgba(45,225,154,.23);
  background:rgba(45,225,154,.06);
  color:#a6f6d2;
  border-radius:999px;
  padding:8px 10px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.event-clear-button{
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.025);
  color:#aab2bd;
  border-radius:8px;
  padding:8px 10px;
  font-size:9px;
  cursor:pointer;
}
.event-filter-bar{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.event-filter{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018);
  color:#8e97a3;
  padding:7px 10px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  cursor:pointer;
}
.event-filter.active{
  border-color:rgba(240,185,74,.40);
  background:rgba(240,185,74,.075);
  color:#f3d184;
}
.events-command-strip{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.events-command-box{
  border:1px solid rgba(240,185,74,.15);
  border-radius:13px;
  background:rgba(255,255,255,.02);
  padding:11px 12px;
  min-width:0;
}
.events-command-box span{
  display:block;
  color:var(--gold);
  font-size:8px;
  letter-spacing:.14em;
  font-weight:900;
  margin-bottom:6px;
}
.events-command-box strong{
  display:block;
  font-size:13px;
  color:#eff3f8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.events-command-box small{
  display:block;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
  margin-top:4px;
}
.event-timeline{
  display:grid;
  gap:8px;
  padding-bottom:20px;
}
.event-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  padding:10px;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.event-row:hover{
  transform:translateX(2px);
  border-color:rgba(240,185,74,.28);
  background:rgba(240,185,74,.035);
}
.event-row-avatar{
  width:52px;height:52px;border-radius:11px;overflow:hidden;
  border:1px solid rgba(240,185,74,.20);
  background:#0a0c10;
}
.event-row-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.event-row-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  color:#f0cb79;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  margin-bottom:4px;
}
.event-row-message{
  color:#ecf1f6;
  font-size:12px;
  font-weight:650;
  line-height:1.4;
}
.event-row-meta{
  color:#7f8995;
  font-size:9px;
  margin-top:4px;
}
.event-row-time{
  color:#7f8995;
  font-size:9px;
  white-space:nowrap;
  align-self:start;
}
.event-empty{
  border:1px dashed rgba(255,255,255,.10);
  border-radius:14px;
  padding:30px;
  color:#818b97;
  text-align:center;
  font-size:11px;
}
.keyboard-hint{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:5;
  color:#68727e;
  font-size:8px;
  letter-spacing:.09em;
  pointer-events:none;
}
@media(max-width:1200px){
  .events-command-strip{grid-template-columns:1fr}
}
@media(max-width:900px){
  .simulation-chip{display:none}
  .events-view{padding:12px}
  .events-hero{flex-direction:column}
  .event-row{grid-template-columns:44px 1fr}
  .event-row-avatar{width:42px;height:42px}
  .event-row-time{grid-column:2}
}


/* ========================================================================== */
/* v1.0 — Johnson Trading Floor operating-system polish                       */
/* ========================================================================== */
.top-action-button{
  border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:#aab3be;
  border-radius:999px;padding:8px 10px;font-size:8px;font-weight:900;letter-spacing:.11em;cursor:pointer;
}
.top-action-button:hover{color:#f0d395;border-color:rgba(240,185,74,.30)}
.session-led{background:#9f7cff;box-shadow:0 0 8px rgba(159,124,255,.45)}
.reconnect-led{background:#65707d;box-shadow:none}
.agent-actions.three{grid-template-columns:1fr 1fr 1fr}

.event-control-stack{display:grid;gap:9px;margin-bottom:12px}
.event-search-row{display:grid;grid-template-columns:minmax(220px,1fr) 140px 150px;gap:7px}
.event-search-input,.event-select{
  min-width:0;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:#dce2e9;
  border-radius:9px;padding:9px 10px;font:inherit;font-size:10px;outline:none;
}
.event-search-input:focus,.event-select:focus{border-color:rgba(240,185,74,.42)}
.event-select option{background:#0b0e13;color:#e5e9ef}
.event-severity{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.1em}
.event-severity.info{color:#9fd5ff;background:rgba(76,168,255,.08);border:1px solid rgba(76,168,255,.22)}
.event-severity.warning{color:#ffd27a;background:rgba(244,188,79,.08);border:1px solid rgba(244,188,79,.24)}
.event-severity.critical{color:#ff9aa6;background:rgba(255,94,110,.08);border:1px solid rgba(255,94,110,.25)}
.event-repeat{color:#8f99a5;font-size:8px;margin-left:5px}

.briefing-view{
  overflow:auto;padding:18px;background:
  radial-gradient(circle at 14% 0,rgba(240,185,74,.075),transparent 28%),
  radial-gradient(circle at 88% 2%,rgba(45,225,154,.045),transparent 26%),
  linear-gradient(180deg,#06080d,#040507 55%,#05070a);
}
.briefing-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.briefing-hero h2{margin:5px 0 4px;font-size:27px;letter-spacing:.22em;color:#f2cd7b}
.briefing-hero p{margin:0;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.briefing-actions{display:flex;gap:7px}
.briefing-action{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:#aab4c0;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:900;letter-spacing:.09em;cursor:pointer}
.briefing-action.primary{border-color:rgba(240,185,74,.32);background:rgba(240,185,74,.07);color:#f3d187}
.lifecycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.lifecycle-card{border:1px solid rgba(240,185,74,.16);border-radius:14px;background:rgba(255,255,255,.018);padding:12px}
.lifecycle-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}
.lifecycle-head strong{font-size:14px;color:#f4d17f;letter-spacing:.12em}.lifecycle-head span{font-size:9px;color:#aab3be;letter-spacing:.1em}
.lifecycle-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;position:relative}
.lifecycle-step{position:relative;padding:7px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);text-align:center;color:#68727e;font-size:7px;font-weight:900;letter-spacing:.06em}
.lifecycle-step.done{color:#a8e8cc;border-color:rgba(45,225,154,.22);background:rgba(45,225,154,.045)}
.lifecycle-step.current{color:#ffe19c;border-color:rgba(240,185,74,.45);background:rgba(240,185,74,.085);box-shadow:0 0 18px rgba(240,185,74,.06)}
.lifecycle-step.blocked{color:#ff9aa6;border-color:rgba(255,94,110,.35);background:rgba(255,94,110,.06)}
.lifecycle-meta{margin-top:9px;color:#89939f;font-size:9px;line-height:1.45}
.briefing-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:20px}
.briefing-panel{border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.018);padding:13px;min-width:0}
.briefing-list{display:grid;gap:7px}
.briefing-item{border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.018);border-radius:10px;padding:9px 10px}
.briefing-item strong{display:block;font-size:11px;color:#edf1f6;margin-bottom:3px}.briefing-item span{font-size:9px;color:#89939f;line-height:1.45}
.briefing-desk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.briefing-desk{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.055);border-radius:10px;padding:8px;background:rgba(255,255,255,.018);cursor:pointer}
.briefing-desk img{width:38px;height:38px;border-radius:9px;object-fit:cover;object-position:center 22%}.briefing-desk strong{display:block;font-size:10px}.briefing-desk small{display:block;color:#7f8995;font-size:8px;margin-top:2px}
.briefing-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.briefing-health-box{border:1px solid rgba(255,255,255,.055);border-radius:10px;padding:10px;background:rgba(255,255,255,.018)}.briefing-health-box span{display:block;color:#d0a85a;font-size:8px;font-weight:900;letter-spacing:.1em;margin-bottom:4px}.briefing-health-box strong{font-size:13px;color:#edf2f7}

.desk-dialog{border:1px solid rgba(240,185,74,.28);border-radius:16px;background:#0a0d12;color:#edf1f6;box-shadow:0 30px 100px rgba(0,0,0,.7);padding:0}
.desk-dialog::backdrop{background:rgba(0,0,0,.70);backdrop-filter:blur(4px)}
.desk-dialog-panel{width:min(720px,88vw);padding:16px}
.desk-dialog-head{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:12px}
.desk-dialog-head h2{margin:3px 0 2px;color:#f2cf83;font-size:20px}.desk-dialog-head p{margin:0;color:#7f8995;font-size:9px;line-height:1.45}
.desk-dialog-portrait{width:60px;height:60px;border-radius:13px;overflow:hidden;border:1px solid rgba(240,185,74,.25)}.desk-dialog-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.dialog-close{border:0;background:transparent;color:#8e98a4;font-size:28px;cursor:pointer}
.desk-query-chips{display:flex;gap:6px;flex-wrap:wrap;padding:12px 0}.desk-query-chips button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:#aab4c0;border-radius:999px;padding:7px 9px;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer}.desk-query-chips button:hover{border-color:rgba(240,185,74,.35);color:#f2d18b}
.desk-query-input-row{display:grid;grid-template-columns:1fr auto;gap:7px}.desk-query-input-row input{border:1px solid rgba(255,255,255,.09);background:#05070a;color:#eef2f6;border-radius:9px;padding:10px;outline:none}.desk-query-input-row button{border:0;background:var(--gold);color:#161006;border-radius:9px;padding:0 15px;font-weight:900;cursor:pointer}
.desk-answer{margin-top:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.02);border-radius:11px;padding:12px;color:#d9e0e7;font-size:11px;line-height:1.6;min-height:72px;white-space:pre-line}

.agent-activity-halo{pointer-events:none}

@media(max-width:1300px){.event-search-row{grid-template-columns:1fr 120px 130px}.briefing-main-grid{grid-template-columns:1fr}.briefing-desk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.lifecycle-grid{grid-template-columns:1fr}.briefing-desk-grid{grid-template-columns:1fr 1fr}.event-search-row{grid-template-columns:1fr}.briefing-hero{flex-direction:column}.top-action-button{display:none}.agent-actions.three{grid-template-columns:1fr 1fr}}


/* v1.0.1 — Chrome/WebGL 2D Command Floor fallback only */
.fallback-floor2d{
  position:absolute;
  inset:0;
  overflow:auto;
  padding:18px;
  background:
    radial-gradient(circle at 50% 45%, rgba(240,185,74,.08), transparent 24%),
    radial-gradient(circle at 12% 10%, rgba(76,168,255,.04), transparent 28%),
    linear-gradient(180deg,#07090d,#040507 52%,#05070a);
}
.fallback-floor2d.hidden{display:none}
.fallback-floor-shell{min-height:100%;display:grid;grid-template-rows:auto 1fr;gap:14px}
.fallback-floor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.fallback-floor-kicker{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.18em}
.fallback-floor-head h2{margin:5px 0 4px;color:#f3cf7c;letter-spacing:.18em;font-size:24px}
.fallback-floor-head p{margin:0;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.fallback-webgl-chip{border:1px solid rgba(76,168,255,.28);background:rgba(76,168,255,.06);color:#a9d8ff;border-radius:999px;padding:7px 10px;font-size:8px;font-weight:900;letter-spacing:.12em;white-space:nowrap}
.fallback-floor-map{position:relative;min-height:640px;border:1px solid rgba(240,185,74,.13);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,.006));overflow:hidden}
.fallback-floor-map::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(240,185,74,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(240,185,74,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000 25%,transparent 85%)}
.fallback-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(240,185,74,.34);background:radial-gradient(circle,rgba(240,185,74,.12),rgba(5,7,10,.95) 62%);box-shadow:0 0 0 14px rgba(240,185,74,.025),0 0 60px rgba(240,185,74,.09);z-index:2}
.fallback-core-mark{font-size:42px;font-weight:950;color:#f3c968;letter-spacing:.06em}
.fallback-core small{display:block;color:#8e98a5;font-size:8px;letter-spacing:.13em;margin-top:4px}
.fallback-core strong{display:block;color:#d7dde5;font-size:10px;letter-spacing:.12em;margin-top:8px}
.fallback-desk{position:absolute;width:250px;min-height:164px;border:1px solid rgba(240,185,74,.18);border-radius:14px;background:linear-gradient(180deg,rgba(15,18,24,.98),rgba(8,10,14,.98));padding:10px;display:grid;grid-template-columns:58px 1fr;gap:10px;z-index:3;cursor:pointer;transition:.18s ease;box-shadow:0 18px 34px rgba(0,0,0,.28)}
.fallback-desk:hover,.fallback-desk.active{transform:translateY(-2px);border-color:rgba(240,185,74,.55);box-shadow:0 20px 40px rgba(0,0,0,.34),0 0 24px rgba(240,185,74,.07)}
.fallback-desk.lead{left:50%;top:36px;transform:translateX(-50%)}
.fallback-desk.lead:hover,.fallback-desk.lead.active{transform:translateX(-50%) translateY(-2px)}
.fallback-desk.macro{left:26px;top:104px}
.fallback-desk.liquidity{left:34px;bottom:54px}
.fallback-desk.risk{right:26px;top:104px}
.fallback-desk.scanner{right:34px;bottom:54px}
.fallback-desk.execution{left:50%;bottom:28px;transform:translateX(-50%)}
.fallback-desk.execution:hover,.fallback-desk.execution.active{transform:translateX(-50%) translateY(-2px)}
.fallback-desk img{width:58px;height:72px;object-fit:cover;object-position:center 22%;border-radius:10px;border:1px solid rgba(240,185,74,.18)}
.fallback-desk-role{font-size:9px;color:#f0cb78;font-weight:900;letter-spacing:.12em}
.fallback-desk-name{font-size:15px;color:#f4f6f8;font-weight:850;margin-top:3px}
.fallback-desk-status{display:inline-flex;margin-top:7px;padding:4px 6px;border-radius:999px;border:1px solid rgba(45,225,154,.22);color:#9ef4cd;background:rgba(45,225,154,.05);font-size:8px;font-weight:900;letter-spacing:.08em}
.fallback-desk-focus{grid-column:1/-1;margin-top:3px;padding:8px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.018);color:#d9dfe7;font-size:10px;line-height:1.4}
.fallback-desk-focus strong{display:block;color:#f3f5f7;font-size:11px;margin-bottom:3px}
.fallback-connector{position:absolute;background:linear-gradient(90deg,transparent,rgba(240,185,74,.14),transparent);height:1px;z-index:1;transform-origin:left center}
.fallback-floor-note{position:absolute;left:14px;bottom:12px;color:#66717d;font-size:8px;letter-spacing:.08em;z-index:4}
@media(max-width:1300px){.fallback-floor-map{min-height:760px}.fallback-desk{width:220px}.fallback-desk.macro{left:18px}.fallback-desk.risk{right:18px}.fallback-desk.liquidity{left:18px}.fallback-desk.scanner{right:18px}}
@media(max-width:960px){.fallback-floor-map{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;min-height:auto}.fallback-core{position:relative;left:auto;top:auto;transform:none;width:auto;height:100px;border-radius:14px}.fallback-desk,.fallback-desk.lead,.fallback-desk.execution,.fallback-desk.macro,.fallback-desk.liquidity,.fallback-desk.risk,.fallback-desk.scanner{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:auto}.fallback-desk:hover,.fallback-desk.active,.fallback-desk.lead:hover,.fallback-desk.lead.active,.fallback-desk.execution:hover,.fallback-desk.execution.active{transform:translateY(-1px)}}
