/* EL PALCO Tracker · PRO layer · FM command-center */
:root{
  --pro-rail:56px;--pro-insp:320px;--pro-gap:16px;
  --pro-surface:#0c0c0e;--pro-elev:#141418;--pro-line:#2a2a32;
  --pro-accent:#3dff7a;--pro-blue:#5eb3ff;--pro-amber:#ffe14d;
  --pro-radius:12px;--pro-radius-sm:8px;
}
html[data-device="desktop"]{--insp-w:var(--pro-insp)}

/* ── App shell · fill viewport ── */
html[data-device="desktop"] .app-body{
  display:flex;flex-direction:column;min-height:100vh;min-width:0;
  background:var(--bg);overflow:hidden;
}
html[data-device="desktop"] .shell,
html[data-device="desktop"] .ledger-shell{
  flex:1;display:flex;flex-direction:column;min-height:0;
  padding:0 var(--desk-pad) 20px;width:100%;max-width:none;
  padding-bottom:20px;
}
html[data-device="desktop"] #main,
html[data-device="desktop"] .ledger-main{
  flex:1;overflow-y:auto;min-height:0;padding-right:4px;
  max-width:none;width:100%;
}
html[data-device="desktop"] #mobShell,
html[data-device="desktop"] #streakRail{display:none!important}
html[data-device="desktop"] .ledger-shell #splitBar{display:none!important}

/* ── Command header · every page ── */
.cmd-hd{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:18px 0 14px;border-bottom:1px solid var(--pro-line);margin-bottom:var(--pro-gap);
  flex-wrap:wrap;
}
.cmd-hd .cmd-left{flex:1;min-width:200px}
.cmd-hd .cmd-kicker{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--pro-blue);font-weight:700;margin-bottom:6px;
}
.cmd-hd .cmd-title{
  font-family:var(--mono);font-size:clamp(28px,4vw,40px);font-weight:700;
  line-height:1;letter-spacing:-.03em;
}
.cmd-hd .cmd-title .unit{font-size:.42em;color:var(--muted);font-weight:500;vertical-align:baseline}
.cmd-hd .cmd-sub{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px}
.cmd-hd .cmd-stats{display:flex;gap:10px;flex-wrap:wrap}
.cmd-stat{
  min-width:108px;padding:12px 14px;border:1px solid var(--pro-line);border-radius:var(--pro-radius-sm);
  background:linear-gradient(165deg,var(--pro-elev) 0%,var(--pro-surface) 100%);
}
.cmd-stat .lbl{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.cmd-stat .val{font-family:var(--mono);font-size:20px;font-weight:700;margin-top:4px;text-align:right}
.cmd-stat .val.pos{text-shadow:0 0 14px rgba(61,255,122,.35)}
.cmd-stat .val.neg{text-shadow:0 0 14px rgba(255,92,82,.3)}

/* ── Caja · desktop master grid ── */
.desk-caja-grid{
  display:grid;gap:var(--pro-gap);
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "toolbar toolbar"
    "frentes kpi"
    "hero hero"
    "pos pm";
}
.desk-caja-grid .caja-toolbar{grid-area:toolbar}
.desk-caja-grid .caja-frentes{grid-area:frentes}
.desk-caja-grid .caja-kpi{grid-area:kpi}
.desk-caja-grid .caja-hero{grid-area:hero}
.desk-caja-grid .caja-pos{grid-area:pos}
.desk-caja-grid .caja-pm{grid-area:pm}

html[data-device="mobile"] .desk-caja-grid{display:block}
html[data-device="mobile"] .desk-caja-grid > *{margin-bottom:var(--pro-gap)}

.pro-panel{
  border:1px solid var(--pro-line);border-radius:var(--pro-radius);
  background:linear-gradient(180deg,var(--pro-elev) 0%,#08080a 100%);
  padding:16px;position:relative;overflow:hidden;
}
.pro-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--pro-blue),transparent 70%);
}
.pro-panel-h{
  display:flex;justify-content:space-between;align-items:center;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pro-blue);font-weight:700;margin-bottom:12px;
}
.pro-panel-h .meta{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}

/* Hide duplicate exposure on desktop main */
html[data-device="desktop"] .caja-dup-expo{display:none!important}
html[data-device="desktop"] .caja-hero .expo-donut-wrap{margin-top:0}

/* ── Inspector · glance panel ── */
.insp-glance{padding:0 2px}
.insp-glance .insp-brand{
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pro-blue);font-weight:700;margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid var(--pro-line);
}
.insp-glance .insp-caja{
  font-family:var(--mono);font-size:32px;font-weight:700;text-align:right;
  line-height:1;margin-bottom:4px;
}
.insp-glance .insp-caja-lbl{font-size:10px;color:var(--muted);text-align:right;margin-bottom:16px}
.insp-glance .insp-row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:10px 0;border-top:1px solid #1a1a1e;font-size:13px;
}
.insp-glance .insp-row .l{color:var(--muted)}
.insp-glance .insp-row .v{font-family:var(--mono);font-weight:600}
.insp-glance .insp-streak{margin:14px 0}
.insp-glance .insp-streak .lbl{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.insp-glance .insp-mini-pos{display:grid;gap:6px;margin-top:12px}
.insp-mini-card{
  padding:8px 10px;border:1px solid var(--pro-line);border-radius:var(--pro-radius-sm);
  background:var(--pro-surface);font-size:11px;
}
.insp-mini-card .t{font-weight:600;line-height:1.25;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insp-mini-card .n{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted)}
.insp-hint{
  margin-top:16px;padding:10px;border:1px dashed var(--pro-line);border-radius:var(--pro-radius-sm);
  font-size:10px;color:var(--muted);text-align:center;line-height:1.45;
}

html[data-device="desktop"] .desk-inspector{
  width:var(--pro-insp);padding:20px 18px;
  border-left:1px solid var(--pro-line);
  background:linear-gradient(180deg,#0a0a0c 0%,#000 100%);
}

/* ── Fixture clusters · pro cards ── */
.fixture-cluster{
  margin-bottom:10px;border:1px solid var(--pro-line);border-radius:var(--pro-radius);
  overflow:hidden;background:var(--pro-surface);
  transition:border-color .15s,box-shadow .15s;
}
.fixture-cluster:hover{border-color:#404048}
.fixture-cluster.open{border-color:rgba(94,179,255,.45);box-shadow:0 0 20px rgba(94,179,255,.08)}
.fixture-hd{
  padding:12px 14px;background:linear-gradient(90deg,var(--pro-elev),var(--pro-surface));
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;cursor:pointer;
  border-bottom:1px solid transparent;
}
.fixture-cluster.open .fixture-hd{border-bottom-color:var(--pro-line)}
.fixture-hd .match{font-size:14px;font-weight:700;line-height:1.2}
.fixture-hd .match-meta{font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:3px}
.fixture-hd .agg-wrap{text-align:right}
.fixture-hd .agg{font-family:var(--mono);font-size:15px;font-weight:700;display:block}
.fixture-hd .agg-sub{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.fixture-hd .chev{
  grid-column:1/-1;font-size:9px;color:var(--muted);letter-spacing:.08em;
  text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-top:4px;
}
.fixture-hd .chev::before{content:'▸';font-size:11px;transition:transform .15s}
.fixture-cluster.open .fixture-hd .chev::before{transform:rotate(90deg)}
.fixture-legs{display:none;padding:4px 0 6px}
.fixture-cluster.open .fixture-legs{display:block}
.fixture-leg{
  display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;
  padding:9px 14px 9px 28px;border-bottom:1px solid #141416;font-size:12px;cursor:pointer;
  position:relative;
}
.fixture-leg::before{content:'';position:absolute;left:14px;top:50%;width:6px;height:6px;
  border-radius:50%;background:var(--pro-line);transform:translateY(-50%)}
.fixture-leg:hover{background:rgba(255,255,255,.03)}
.fixture-leg .leg-market{color:var(--muted);font-size:10px;font-family:var(--mono)}
.fixture-leg .leg-stake{font-family:var(--mono);font-size:11px;color:var(--muted)}
.fixture-leg .leg-pnl{font-family:var(--mono);font-weight:600}

/* ── Ledger · historial layout ── */
.hist-layout{
  display:grid;gap:var(--pro-gap);
  grid-template-columns:1fr;
}
html[data-device="desktop"] .hist-layout{
  grid-template-columns:300px 1fr;
  align-items:start;
}
.hist-sidebar{display:flex;flex-direction:column;gap:var(--pro-gap)}
.hist-sidebar .pro-panel{max-height:calc(100vh - 280px);overflow-y:auto}
.hist-main{min-width:0}
.hist-main .tbl-wrap{max-height:calc(100vh - 320px)}

/* ── Jornada · matchday command ── */
.jornada-cmd{
  display:grid;gap:var(--pro-gap);
  grid-template-columns:1fr;
}
html[data-device="desktop"] .jornada-cmd{
  grid-template-columns:1.1fr .9fr;
  grid-template-areas:
    "day cap"
    "cal bets"
    "pos pos"
    "slate slate"
    "intent intent";
}
html[data-device="desktop"] .jorn-day-panel{grid-area:day}
html[data-device="desktop"] .jorn-cap-panel{grid-area:cap}
html[data-device="desktop"] .jorn-cal-panel{grid-area:cal}
html[data-device="desktop"] .jorn-bets-panel{grid-area:bets}
html[data-device="desktop"] .jorn-pos-panel{grid-area:pos}
html[data-device="desktop"] .jorn-slate-panel{grid-area:slate}
html[data-device="desktop"] .jorn-intent-panel{grid-area:intent}
html[data-device="desktop"] #openList{display:none!important}

/* ── Más · system dashboard ── */
.more-dash{display:grid;gap:var(--pro-gap)}
html[data-device="desktop"] .more-dash{
  grid-template-columns:repeat(3,1fr);
  grid-template-areas:
    "health health health"
    "align align session"
    "stack stack pending";
}
.more-health{grid-area:health}
.more-align{grid-area:align}
.more-session{grid-area:session}
.more-stack{grid-area:stack}
.more-pending{grid-area:pending}

.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.status-tile{
  padding:14px;border:1px solid var(--pro-line);border-radius:var(--pro-radius-sm);
  background:var(--pro-surface);text-align:center;
}
.status-tile .ico{font-size:18px;margin-bottom:6px;opacity:.7}
.status-tile .lbl{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.status-tile .val{font-family:var(--mono);font-size:18px;font-weight:700;margin-top:6px}
.status-tile.live .val{color:var(--pro-accent)}
.status-tile.warn .val{color:var(--pro-amber)}

.align-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:900px){.align-grid{grid-template-columns:repeat(4,1fr)}}
.align-card{
  padding:12px;border:1px solid var(--pro-line);border-radius:var(--pro-radius-sm);
  background:linear-gradient(160deg,#16161a,#0c0c0e);
}
.align-card .t{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.align-card .p{font-family:var(--mono);font-size:22px;font-weight:700;margin:6px 0 2px;text-align:right}
.align-card .s{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:right}

.pending-list .pending-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-top:1px solid #1a1a1e;font-size:13px;
}
.pending-list .pending-item:first-child{border-top:0;padding-top:0}
.pending-list .badge-pend{
  font-family:var(--mono);font-size:9px;padding:4px 8px;border-radius:4px;
  border:1px solid var(--pro-amber);color:var(--pro-amber);background:rgba(255,225,77,.08);
}

/* ── Table polish ── */
html[data-device="desktop"] table.tbl{font-size:13px}
html[data-device="desktop"] table.tbl th{
  position:sticky;top:0;z-index:2;background:#121214;
  padding:11px 12px;font-size:10px;
}
html[data-device="desktop"] table.tbl td{padding:10px 12px}
html[data-device="desktop"] table.tbl tr.data-row:nth-child(even){background:rgba(255,255,255,.02)}

/* ── EU4 zones · denser ── */
html[data-device="desktop"] .eu4-map{margin:0;gap:12px}
html[data-device="desktop"] .eu4-zone{min-height:140px;padding:16px}
html[data-device="desktop"] .eu4-zone .cash{font-size:26px}

/* ── Positions board · denser cards ── */
html[data-device="desktop"] .pos-card-dense{
  border-color:var(--pro-line);background:var(--pro-surface);
  transition:border-color .12s;
}
html[data-device="desktop"] .pos-card-dense:hover{border-color:#505058}

/* ── Footer compact ── */
html[data-device="desktop"] footer.meta,
html[data-device="desktop"] footer.status{
  margin-top:auto;padding:12px 0;border-top:1px solid var(--pro-line);flex-shrink:0;
}