/* ============================================================================
   Findex Cockpit — design system  (IBM Carbon · full-viewport app shell)
   Derived from the "femto full vision" reference. Scoped under #fc-root.
   Fixes: (1) full-page takeover, (2) clean multilingual + RTL.
   ==========================================================================*/
#fc-root{
  --bg:#161616;--l1:#1c1c1c;--l2:#262626;--l3:#393939;--bd:#2a2a2a;--bd2:#393939;--bd3:#525252;
  --tx:#f4f4f4;--tx2:#c6c6c6;--tx3:#8d8d8d;
  --brand:#4589ff;--brand2:#78a9ff;--bsoft:rgba(69,137,255,.14);
  --profit:#42be65;--psoft:rgba(66,190,101,.14);--loss:#fa4d56;--lsoft:rgba(250,77,86,.14);
  --warn:#f1c21b;--wsoft:rgba(241,194,27,.14);
  --teal:#3ddbd9;--purple:#be95ff;--magenta:#ff7eb6;
  --ease:cubic-bezier(.2,0,0,1);--d1:140ms;--d2:220ms;
  --depth:0 8px 28px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.6);--acrylic:rgba(26,26,28,.94);
  --sans:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,sans-serif;
  --ar:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --gap:12px;
}
#fc-root[data-theme="light"]{--bg:#fff;--l1:#f9f9f9;--l2:#f4f4f4;--l3:#e8e8e8;--bd:#e6e6e6;--bd2:#d6d6d6;--bd3:#a8a8a8;--tx:#161616;--tx2:#4d4d4d;--tx3:#6f6f6f;--brand:#0f62fe;--brand2:#0043ce;--bsoft:rgba(15,98,254,.08);--profit:#198038;--psoft:rgba(25,128,56,.1);--loss:#da1e28;--lsoft:rgba(218,30,40,.09);--warn:#b28600;--wsoft:rgba(241,194,27,.16);--depth:0 8px 28px rgba(16,24,40,.14),0 0 1px rgba(16,24,40,.2);--acrylic:rgba(255,255,255,.94)}
#fc-root[data-density="terminal"]{--gap:6px}
#fc-root[data-density="reading"]{--gap:18px}

/* ── FULL-VIEWPORT TAKEOVER (the fix for "not full page") ──────────────── */
#fc-root{position:fixed;inset:0;height:100vh;height:100dvh;z-index:99990;overflow:hidden;
  background:var(--bg);color:var(--tx);font-family:var(--ar);font-size:14px;line-height:1.45;
  -webkit-font-smoothing:antialiased;
  display:grid;grid-template-columns:56px 1fr;grid-template-rows:52px 1fr;
  grid-template-areas:"rail top" "rail main"}
#fc-root[lang="en"],#fc-root[lang="es"],#fc-root[lang="fr"],#fc-root[lang="it"]{font-family:var(--sans)}
html.fc-locked,body.fc-locked{overflow:hidden!important}
#fc-root *{box-sizing:border-box;margin:0;padding:0}
#fc-root .mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#fc-root button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
#fc-root input,#fc-root select{font:inherit;color:var(--tx);background:var(--l1);border:1px solid var(--bd2);padding:9px 11px;outline:0;width:100%}
#fc-root input:focus,#fc-root select:focus{border-color:var(--brand)}
#fc-root :focus-visible{outline:2px solid var(--brand);outline-offset:1px}
#fc-root .up{color:var(--profit)}#fc-root .dn{color:var(--loss)}
#fc-root ::-webkit-scrollbar{width:8px;height:8px}#fc-root ::-webkit-scrollbar-thumb{background:var(--l3)}#fc-root ::-webkit-scrollbar-track{background:transparent}
@media(prefers-reduced-motion:reduce){#fc-root *{animation:none!important;transition:none!important}}

/* ── TOP BAR ──────────────────────────────────────────────────────────── */
#fc-root .fc-top{grid-area:top;display:flex;align-items:center;background:var(--bg);border-bottom:1px solid var(--bd);z-index:50}
#fc-root .fc-brand{display:flex;align-items:center;gap:9px;padding:0 18px;height:100%;font-weight:600;font-size:15px;border-inline-end:1px solid var(--bd)}
#fc-root .fc-sq{width:15px;height:15px;background:var(--brand);position:relative}#fc-root .fc-sq::after{content:"";position:absolute;inset:4px 0 0 4px;background:var(--bg)}
#fc-root .fc-brand b{color:var(--brand)}
#fc-root .fc-cmd{flex:1;max-width:420px;display:flex;align-items:center;gap:9px;height:34px;margin:0 16px;padding:0 12px;background:var(--l1);border:1px solid var(--bd);color:var(--tx3);transition:border-color var(--d1)}
#fc-root .fc-cmd:focus-within{border-color:var(--brand)}
#fc-root .fc-cmd input{flex:1;border:0;background:none;padding:0;width:auto;font-size:13px}
#fc-root .fc-cmd svg{width:16px;height:16px;flex:none}
#fc-root .fc-cmd .k{font-family:var(--mono);font-size:11px;border:1px solid var(--bd2);padding:1px 5px;color:var(--tx3)}
#fc-root .fc-tr{display:flex;align-items:center;margin-inline-start:auto;height:100%}
#fc-root .fc-live{display:inline-flex;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--profit);border-inline-start:1px solid var(--bd);height:100%}
#fc-root .fc-live i{width:6px;height:6px;background:var(--profit);animation:fcbk 1.5s steps(1) infinite}@keyframes fcbk{50%{opacity:.25}}
#fc-root .fc-clk{padding:0 12px;font-size:12px;color:var(--tx2);height:100%;display:flex;align-items:center}
#fc-root .fc-tb{width:46px;height:100%;display:grid;place-items:center;color:var(--tx2);transition:.12s;font-size:15px}#fc-root .fc-tb:hover{background:var(--l1);color:var(--tx)}
#fc-root .fc-avb{display:flex;align-items:center;gap:8px;padding:0 16px 0 9px;height:100%;border-inline-start:1px solid var(--bd);font-size:12px;cursor:pointer}
#fc-root .fc-avb .c{width:26px;height:26px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}
#fc-root .fc-langmenu{position:absolute;top:50px;inset-inline-end:8px;z-index:200;background:var(--l1);border:1px solid var(--bd2);box-shadow:var(--depth);min-width:150px}
#fc-root .fc-langmenu[hidden]{display:none}
#fc-root .fc-langmenu button{display:flex;width:100%;align-items:center;gap:8px;height:36px;padding:0 14px;color:var(--tx2);font-size:13px;text-align:start}
#fc-root .fc-langmenu button:hover{background:var(--l2);color:var(--tx)}#fc-root .fc-langmenu button.on{color:var(--brand)}

/* ── ICON RAIL ────────────────────────────────────────────────────────── */
#fc-root .fc-rail{grid-area:rail;background:var(--bg);border-inline-end:1px solid var(--bd);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:2px;z-index:40}
#fc-root .fc-ri{width:40px;height:40px;display:grid;place-items:center;color:var(--tx3);position:relative;transition:.12s}
#fc-root .fc-ri:hover{color:var(--tx);background:var(--l1)}
#fc-root .fc-ri.on{color:var(--brand)}
#fc-root .fc-ri.on::before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:2px;background:var(--brand)}
#fc-root .fc-ri svg{width:20px;height:20px}
#fc-root .fc-ri .bdg{position:absolute;top:6px;inset-inline-end:6px;width:7px;height:7px;background:var(--loss);border-radius:50%}
#fc-root .fc-ri .tip{position:absolute;inset-inline-start:52px;background:var(--l2);border:1px solid var(--bd2);padding:4px 9px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:.12s;z-index:60}
#fc-root .fc-ri:hover .tip{opacity:1}
#fc-root .fc-rail .grow{flex:1}

/* ── MAIN / VIEWS ─────────────────────────────────────────────────────── */
#fc-root .fc-main{grid-area:main;overflow-y:auto;overflow-x:hidden;position:relative}
#fc-root .fc-view{display:none}
#fc-root .fc-view.on{display:block;animation:fcfd .25s var(--ease)}
@keyframes fcfd{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#fc-root .fc-sec{padding:0 24px}
#fc-root .fc-ph{padding:22px 24px 8px}
#fc-root .fc-ph h1{font-size:22px;font-weight:600;letter-spacing:-.02em}
#fc-root .fc-ph p{color:var(--tx3);font-size:13px;margin-top:4px;font-family:var(--mono)}
#fc-root .fc-eb{display:flex;align-items:baseline;gap:10px;padding:22px 24px 12px}
#fc-root .fc-eb .n{font-family:var(--mono);font-size:12px;color:var(--brand)}
#fc-root .fc-eb h2{font-size:15px;font-weight:600;letter-spacing:-.01em}
#fc-root .fc-eb .x{margin-inline-start:auto;font-size:12px;color:var(--brand);font-family:var(--mono);cursor:pointer}

/* tabs */
#fc-root .fc-tabs{display:flex;border-bottom:1px solid var(--bd);overflow-x:auto;scrollbar-width:none}
#fc-root .fc-tabs::-webkit-scrollbar{display:none}
#fc-root .fc-tab{padding:11px 16px;font-size:13px;font-weight:500;color:var(--tx2);white-space:nowrap;border-bottom:2px solid transparent;transition:.14s}
#fc-root .fc-tab:hover{color:var(--tx);background:var(--l1)}
#fc-root .fc-tab.on{color:var(--tx);border-bottom-color:var(--brand)}

/* boxes / buttons / chips */
#fc-root .fc-box{background:var(--bg);border:1px solid var(--bd2)}
#fc-root .fc-bh{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--bd);font-size:12px}
#fc-root .fc-bh .t{font-weight:600}#fc-root .fc-bh .a{margin-inline-start:auto;color:var(--brand);font-family:var(--mono);font-size:11px;cursor:pointer}
#fc-root .fc-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--brand);color:#fff;font-weight:600;transition:.18s}
#fc-root .fc-btn:hover{background:var(--brand2)}
#fc-root .fc-btn.ghost{background:none;border:1px solid var(--bd2);color:var(--tx)}#fc-root .fc-btn.ghost:hover{border-color:var(--brand);color:var(--brand)}
#fc-root .fc-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--bd2);font-family:var(--mono);font-size:11px;color:var(--tx2);cursor:pointer;transition:.14s}
#fc-root .fc-chip:hover{border-color:var(--bd3)}#fc-root .fc-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
#fc-root .fc-seg{display:flex;border:1px solid var(--bd2)}
#fc-root .fc-seg button{padding:5px 11px;font-family:var(--mono);font-size:11px;color:var(--tx3);border-inline-start:1px solid var(--bd2)}
#fc-root .fc-seg button:first-child{border:0}#fc-root .fc-seg button.on{background:var(--brand);color:#fff}

/* KPI strip (live key markets) */
#fc-root .fc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd2)}
#fc-root .fc-kpi{background:var(--bg);padding:16px}
#fc-root .fc-kpi .k{font-size:11px;color:var(--tx3);font-family:var(--mono);text-transform:uppercase;display:flex;align-items:center;gap:7px}
#fc-root .fc-kpi .v{font-family:var(--mono);font-size:22px;font-weight:600;margin:8px 0 3px}
#fc-root .fc-kpi .c{font-family:var(--mono);font-size:12px;font-weight:600}

/* ── NEWSROOM (the centrepiece) ───────────────────────────────────────── */
#fc-root .fc-grid2{display:grid;grid-template-columns:1fr 320px;gap:var(--gap);align-items:start}
/* lead/hero story */
#fc-root .fc-lead{position:relative;border:1px solid var(--bd2);background:var(--l1);padding:30px 32px;overflow:hidden;cursor:pointer;transition:.16s}
#fc-root .fc-lead:hover{border-color:var(--bd3)}
#fc-root .fc-lead .bn{position:absolute;inset-inline-end:-8px;top:-40px;font-family:var(--mono);font-size:170px;font-weight:700;color:var(--brand);opacity:.05;pointer-events:none}
#fc-root .fc-lead .mt{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
#fc-root .fc-lead h1{font-size:26px;font-weight:600;line-height:1.28;letter-spacing:-.02em;max-width:30ch;margin-bottom:12px}
#fc-root .fc-lead:hover h1{color:var(--brand)}
#fc-root .fc-lead p{font-size:15px;line-height:1.6;color:var(--tx2);max-width:70ch;margin-bottom:14px}
#fc-root .fc-lead .by{font-family:var(--mono);font-size:12px;color:var(--tx3);display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* news river */
#fc-root .fc-nl{border:1px solid var(--bd2)}
#fc-root .fc-fn{padding:16px 18px;border-bottom:1px solid var(--bd);cursor:pointer;transition:.14s}
#fc-root[data-density="terminal"] .fc-fn{padding:10px 16px}
#fc-root[data-density="reading"] .fc-fn{padding:22px 26px}
#fc-root .fc-fn:last-child{border:0}
#fc-root .fc-fn:hover{background:var(--l1)}
#fc-root .fc-fn.p{box-shadow:inset 3px 0 0 var(--profit)}
#fc-root .fc-fn.ng{box-shadow:inset 3px 0 0 var(--loss)}
#fc-root .fc-fn.w{box-shadow:inset 3px 0 0 var(--warn)}
#fc-root[dir="rtl"] .fc-fn.p{box-shadow:inset -3px 0 0 var(--profit)}
#fc-root[dir="rtl"] .fc-fn.ng{box-shadow:inset -3px 0 0 var(--loss)}
#fc-root[dir="rtl"] .fc-fn.w{box-shadow:inset -3px 0 0 var(--warn)}
#fc-root .fc-fn .mt{display:flex;gap:8px;margin-bottom:7px;flex-wrap:wrap;align-items:center}
#fc-root .fc-tg{font-family:var(--mono);font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}
#fc-root .fc-tg.cat{background:var(--bsoft);color:var(--brand)}
#fc-root .fc-tg.p{background:var(--psoft);color:var(--profit)}
#fc-root .fc-tg.ng{background:var(--lsoft);color:var(--loss)}
#fc-root .fc-tg.w{background:var(--wsoft);color:var(--warn)}
#fc-root .fc-fn .src{font-family:var(--mono);font-size:11px;color:var(--tx3)}
#fc-root .fc-fn .ti{font-size:14.5px;font-weight:600;line-height:1.45;margin-bottom:5px}
#fc-root[data-density="reading"] .fc-fn .ti{font-size:16px}
#fc-root .fc-fn:hover .ti{color:var(--brand)}
#fc-root .fc-fn .ex{font-size:12.5px;color:var(--tx2);line-height:1.55;margin-bottom:8px}
#fc-root[data-density="terminal"] .fc-fn .ex{display:none}
#fc-root .fc-fn .ft{font-family:var(--mono);font-size:11px;color:var(--tx3);display:flex;gap:10px;align-items:center}
#fc-root .fc-fn .ft .rx{margin-inline-start:auto;display:flex;gap:12px}
#fc-root .fc-day{font-family:var(--mono);font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;padding:14px 18px 6px;border-bottom:1px solid var(--bd);background:var(--l1)}

/* time-grouped section labels inside the river */
#fc-root .fc-river-pad{padding-bottom:8px}

/* breaking strip */
#fc-root .fc-bk{display:flex;align-items:center;border:1px solid var(--bd2);background:var(--bg);overflow:hidden;height:38px;margin:0 0 var(--gap)}
#fc-root .fc-bk .lab{flex:none;display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 14px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em;color:#fff;background:var(--loss)}
#fc-root .fc-bk .lab .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:fcbk 1.4s steps(1) infinite}
#fc-root .fc-bk .track{flex:1;overflow:hidden;height:100%;position:relative}
#fc-root .fc-bk .move{position:absolute;inset-block:0;display:inline-flex;align-items:center;white-space:nowrap;animation:fcmarq 55s linear infinite}
#fc-root[dir="rtl"] .fc-bk .move{animation-name:fcmarq-rtl}
#fc-root .fc-bk:hover .move{animation-play-state:paused}
#fc-root .fc-bk .it{display:inline-flex;align-items:center;gap:8px;padding:0 20px;font-size:12.5px;color:var(--tx2)}
#fc-root .fc-bk .it b{color:var(--tx);font-weight:500}
#fc-root .fc-bk .it .t{font-family:var(--mono);font-size:11px;color:var(--tx3)}
@keyframes fcmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fcmarq-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}

/* side widgets (market pulse gauge + next events) */
#fc-root .fc-gw{display:flex;align-items:center;gap:16px;padding:18px}
#fc-root .fc-gw .arc{position:relative;width:120px;height:66px}
#fc-root .fc-gw .gv{position:absolute;bottom:-2px;left:0;right:0;text-align:center;font-size:28px;font-weight:600;font-family:var(--mono)}
#fc-root .fc-cle{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--bd)}
#fc-root .fc-cle:last-child{border:0}#fc-root .fc-cle:hover{background:var(--l1)}
#fc-root .fc-cle .tm{font-family:var(--mono);font-size:12px;color:var(--tx2);min-width:46px}
#fc-root .fc-cle .imp{width:5px;height:28px}#fc-root .fc-cle .imp.h{background:var(--loss)}#fc-root .fc-cle .imp.m{background:var(--warn)}#fc-root .fc-cle .imp.l{background:var(--tx3)}
#fc-root .fc-cle .ev{flex:1;font-size:13px}#fc-root .fc-cle .ev .c{font-size:10.5px;color:var(--tx3);font-family:var(--mono)}

/* pager */
#fc-root .fc-pager{display:flex;align-items:center;justify-content:center;gap:6px;padding:18px}
#fc-root .fc-pager button{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--bd2);color:var(--tx2);font-family:var(--mono);font-size:12px}
#fc-root .fc-pager button:hover:not(:disabled){background:var(--l1);color:var(--tx)}
#fc-root .fc-pager button.on{background:var(--brand);border-color:var(--brand);color:#fff}
#fc-root .fc-pager button:disabled{opacity:.4;cursor:default}

/* skeleton + empty */
#fc-root .fc-skel{background:linear-gradient(90deg,var(--l1),var(--l2),var(--l1));background-size:200% 100%;animation:fcsk 1.2s infinite;height:14px}
@keyframes fcsk{from{background-position:200% 0}to{background-position:-200% 0}}
#fc-root .fc-empty{padding:48px 18px;text-align:center;color:var(--tx3)}
#fc-root .fc-empty .ttl{font-size:15px;color:var(--tx2);margin-bottom:14px}

/* placeholder */
#fc-root .fc-soon{padding:48px;text-align:center;color:var(--tx3);border:1px solid var(--bd2);background:var(--bg)}
#fc-root .fc-soon .t{font-size:16px;color:var(--tx2);margin-bottom:8px}

/* foot + toast */
#fc-root .fc-foot{padding:28px 24px 36px;color:var(--tx3);font-family:var(--mono);font-size:11px;display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--bd);margin-top:28px}
#fc-root .fc-toast{position:fixed;bottom:20px;inset-inline-start:50%;transform:translateX(-50%) translateY(20px);background:var(--l2);border:1px solid var(--bd2);box-shadow:var(--depth);padding:10px 16px;font-size:12px;color:var(--tx);opacity:0;transition:.2s;z-index:9999;pointer-events:none}
#fc-root .fc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* bottom bar (mobile) */
#fc-root .fc-bbar{display:none}
@media(max-width:1000px){#fc-root .fc-grid2{grid-template-columns:1fr}#fc-root .fc-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){
  #fc-root{grid-template-columns:1fr;grid-template-areas:"top" "main"}
  #fc-root .fc-rail{display:none}
  #fc-root .fc-cmd .k{display:none}
  #fc-root .fc-clk,#fc-root .fc-live{display:none}
  #fc-root .fc-kpis{grid-template-columns:1fr}
  #fc-root .fc-sec{padding:0 14px}
  #fc-root .fc-lead{padding:22px 18px}
  #fc-root .fc-lead h1{font-size:21px}
  #fc-root .fc-main{padding-bottom:64px}
  #fc-root .fc-bbar{display:flex;position:fixed;inset-inline:0;bottom:0;height:56px;z-index:100;background:var(--acrylic);backdrop-filter:blur(18px);border-top:1px solid var(--bd)}
  #fc-root .fc-bbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--tx3);font-size:10px}
  #fc-root .fc-bbar button svg{width:20px;height:20px}
  #fc-root .fc-bbar button.on{color:var(--brand)}
}
