/* AL-MAYADEEN ECONOMY DESK — VISUAL SYSTEM AUTHORITY V1A
   Purpose: one product-grade authority for typography, spacing, controls,
   ticker, tables, settings, chart affordance and mobile touch ergonomics. */

:root{
  --vs-s1:4px;--vs-s2:8px;--vs-s3:12px;--vs-s4:16px;--vs-s5:24px;--vs-s6:32px;--vs-s7:48px;
  --vs-r1:8px;--vs-r2:12px;--vs-r3:16px;
  --vs-meta:12px;--vs-small:13px;--vs-body:14px;--vs-body-ar:15px;--vs-card-title:15px;
  --vs-h2:24px;--vs-touch-desktop:38px;--vs-touch-mobile:44px;
  --vs-border:var(--line);--vs-card:var(--panel);--vs-card-soft:var(--panel2);
}

/* --- base readability --- */
html{font-size:16px}
body{font-size:var(--vs-body);line-height:1.6}
html[lang="ar"] body{font-size:var(--vs-body-ar);line-height:1.72}
main p,main li,.micro,.source-card,.news-row,.country-row,.official-rate-row{font-size:var(--vs-body)}
html[lang="ar"] main p,html[lang="ar"] main li,html[lang="ar"] .micro,html[lang="ar"] .source-card,html[lang="ar"] .news-row,html[lang="ar"] .country-row,html[lang="ar"] .official-rate-row{font-size:var(--vs-body-ar)}
.section-head h2,.visual-head h2{font-size:var(--vs-h2);line-height:1.3}
.eyebrow,.visual-kicker,.card-meta,.source-pill,.source-tag,.priority-quality,.geo-card footer span,.analysis-status small,.analysis-kpis span,.analysis-kpis small,.analysis-rule-card header small,.analysis-truth-card header small,.analysis-audit-head small,.analysis-audit-row small{font-size:var(--vs-meta)}

/* No functional/factual microcopy below 11px */
.hero-status>span,.hero-status>small,.hero-signal.compact header>span,.hero-signal.compact header>span b,.hero-signal.compact header em,.hero-signal-unit,.hero-signal.compact footer span,.hero-signal.compact footer small,
.priority-card header small,.priority-card footer,.priority-quality,.geo-metric>small,.geo-metric>span,.geo-card footer span,.geo-card footer em,
.analysis-rule-card header small,.analysis-rule-card header em,.analysis-rule-meta span,.analysis-rule-meta span>b,.analysis-truth-card li,.analysis-audit-head small,.analysis-audit-head>span,.analysis-audit-row b,.analysis-audit-row small,.analysis-audit-row>span,.analysis-audit-row bdi,
.ticker-picker-head small,.ticker-picker-item small,.ticker-picker-foot,.type-settings-head button,.type-settings output{
  font-size:11px;
}

/* --- spacing/radius vocabulary --- */
.section-block,.visual-panel,.indicator-card,.official-rate-card,.tool-card,.editor-card,.source-card,.analysis-rule-card,.analysis-truth-card,.analysis-audit-block{border-radius:var(--vs-r3)}
.fx-card,.pulse-card,.priority-card,.geo-card,.country-row,.news-row,.ticker-item{border-radius:var(--vs-r2)}
.shell{padding-inline:clamp(16px,2.2vw,32px)}
.section-block,.visual-panel{padding:var(--vs-s5)}

/* --- top chrome: quieter and coherent --- */
.topbar{min-height:60px;height:60px;padding-inline:clamp(14px,2vw,28px);gap:var(--vs-s3)}
.top-actions{gap:var(--vs-s2);align-items:center}
.top-actions .icon-btn,.top-actions .chip,.theme-toggle{min-width:var(--vs-touch-desktop);height:var(--vs-touch-desktop);min-height:var(--vs-touch-desktop)}
.top-actions .icon-btn{width:var(--vs-touch-desktop);padding:0}
.theme-toggle{width:64px}
.live-state{font-size:12px;white-space:nowrap}
.brand b{font-size:14px}.brand small{font-size:12px}
.desk-tabs{top:60px;min-height:46px;padding:4px clamp(12px,2vw,24px);gap:4px}
.desk-tabs button{min-height:38px;padding:8px 12px;font-size:13px;border-radius:var(--vs-r1)}

/* --- ticker: one quiet rail, small aligned controls --- */
.market-ticker{position:relative;display:block;padding:8px 48px 8px 82px;overflow:visible;background:var(--panel);border-bottom:1px solid var(--line)}
.ticker-track{display:flex;gap:8px;overflow-x:auto;max-width:none;margin:0;padding:0;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.ticker-track::-webkit-scrollbar{display:none}
.ticker-item{flex:0 0 180px;width:180px;min-width:180px;min-height:72px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);box-shadow:none;scroll-snap-align:start;grid-template-columns:minmax(0,1fr) 58px}
.ticker-item.up,.ticker-item.down{background:var(--panel2);border-color:var(--line)}
.ticker-item>div{gap:4px}
.ticker-item span{font-size:12px;line-height:1.3;color:var(--muted);white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:30px}
.ticker-item strong{font-size:17px;line-height:1.1}
.ticker-item small{font-size:12px;font-weight:700}
.ticker-nav,.ticker-customize-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 2px 8px rgba(15,23,42,.08);display:grid;place-items:center}
.ticker-nav .ui-icon,.ticker-customize-btn .ui-icon{width:13px;height:13px}
.ticker-nav-prev{inset-inline-start:10px}.ticker-customize-btn{inset-inline-start:44px}.ticker-nav-next{inset-inline-end:10px}
.ticker-nav:hover,.ticker-customize-btn:hover{border-color:var(--accent);background:var(--panel2)}
html[dir="rtl"] .ticker-nav-prev .ui-icon,html[dir="rtl"] .ticker-nav-next .ui-icon{transform:scaleX(-1)}

/* --- sparklines become analytical, not decorative --- */
.spark-wrap{position:relative;display:block;min-height:70px;padding:8px 26px 16px 26px;outline:none;cursor:crosshair}
.sparkline{width:100%;height:48px;overflow:visible}
.sparkline polyline{stroke-width:2;opacity:.9}
.spark-point{fill:var(--panel);stroke:currentColor;stroke-width:1.6;opacity:0;pointer-events:auto;transition:opacity .12s,r .12s}
.spark-wrap:hover .spark-point,.spark-wrap:focus .spark-point{opacity:1;r:3.5px}
.spark-y,.spark-x{position:absolute;color:var(--muted);font-size:11px;line-height:1;direction:ltr;font-variant-numeric:tabular-nums;pointer-events:none}
.spark-max{inset-block-start:4px;inset-inline-end:2px}.spark-min{inset-block-end:20px;inset-inline-end:2px}.spark-start{inset-block-end:2px;inset-inline-start:2px}.spark-end{inset-block-end:2px;inset-inline-end:2px}
.ticker-item .spark-wrap{min-height:48px;padding:4px 0 10px}.ticker-item .spark-y,.ticker-item .spark-x{display:none}.ticker-item .sparkline{height:34px}

/* --- cards: neutral surfaces; semantic colour only on values/deltas --- */
.movement-card,.priority-card,.indicator-card,.pulse-card,.geo-card{border-color:var(--line)}
.movement-card.up,.movement-card.down,.priority-card.up,.priority-card.down,.ticker-item.up,.ticker-item.down{border-color:var(--line)}

/* --- table/readability authority --- */
.country-head,.news-head{font-size:12px;min-height:42px;padding:10px 14px}
.country-row,.news-row{font-size:13px;min-height:60px;padding:10px 14px}
.country-row>span,.news-row>span{font-size:13px;line-height:1.45}
.country-row strong,.news-title strong{font-size:14px;line-height:1.45}
.country-row small,.news-row small,.news-title small{font-size:12px;line-height:1.45}
.official-rate-row,.source-card{font-size:13px}

/* --- settings: stable, legible, no fake options --- */
.settings-panel{width:min(410px,calc(100vw - 32px));padding:16px;border-radius:var(--vs-r3);display:grid;gap:12px}
.settings-panel[hidden]{display:none}
.settings-head{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line)}
.settings-head strong{font-size:15px}
.settings-panel label,.type-settings>label{font-size:13px;color:var(--text);gap:12px;align-items:center}
.settings-panel select{min-height:40px;font-size:13px;border-radius:var(--vs-r1)}
.type-settings{padding:12px;border-radius:var(--vs-r2);gap:10px}
.type-settings-head strong{font-size:13px}.type-settings-head button{font-size:12px}
.type-settings>label{grid-template-columns:minmax(120px,1fr) minmax(180px,1.2fr)}
.type-settings output{font-size:12px}
.accent-swatches button{width:36px;height:36px;min-width:36px;min-height:36px}

/* --- hero: strong but not dominant --- */
.hero-pro{min-height:0;padding:24px;margin-top:16px;border-radius:var(--vs-r3)}
html[data-theme="light"] .hero h1,.hero h1{font-size:clamp(32px,3vw,44px);line-height:1.2;max-width:760px}
.hero-copy .lead{font-size:15px;line-height:1.75;max-width:780px}
.hero-media{max-height:340px}

/* --- Analysis: newsroom language, not debug console --- */
.analysis-status{font-size:13px}.analysis-status b{font-size:13px}.analysis-status small{font-size:12px}
.analysis-kpis span,.analysis-kpis small{font-size:12px}.analysis-kpis strong{font-size:26px}
.analysis-rule-card header small,.analysis-truth-card header small{font-size:12px}.analysis-rule-card header b,.analysis-truth-card header b{font-size:14px}.analysis-rule-card header em{font-size:11px}
.analysis-rule-card h3{font-size:17px}.analysis-rule-card p,.analysis-truth-card li{font-size:13px;line-height:1.65}
.analysis-rule-meta span,.analysis-rule-meta span>b{font-size:11px}
.analysis-audit-head small{font-size:12px}.analysis-audit-head h3{font-size:16px}.analysis-audit-head>span{font-size:12px}
.analysis-audit-row b{font-size:12px}.analysis-audit-row small{font-size:11px}.analysis-audit-row>span,.analysis-audit-row bdi{font-size:11px}

/* --- density: only spacing changes, never factual font size --- */
html[data-density="comfortable"] .country-row,html[data-density="comfortable"] .news-row,html[data-density="comfortable"] .official-rate-row{padding-block:12px}
html[data-density="compact"] .country-row,html[data-density="compact"] .news-row,html[data-density="compact"] .official-rate-row{padding-block:8px}
html[data-density="comfortable"] .indicator-card,html[data-density="comfortable"] .priority-card,html[data-density="comfortable"] .geo-card{padding:16px}
html[data-density="compact"] .indicator-card,html[data-density="compact"] .priority-card,html[data-density="compact"] .geo-card{padding:12px}

/* --- mobile/tablet IA --- */
@media(max-width:900px){
  .topbar{height:60px;min-height:60px;padding-inline:12px}
  .brand small,.live-state span{display:none}
  .top-actions{gap:6px;margin-inline-start:auto}
  .top-actions .icon-btn,.top-actions .chip,.theme-toggle{min-width:44px;height:44px;min-height:44px}
  .top-actions .icon-btn{width:44px}.theme-toggle{width:58px}
  .desk-tabs{top:60px;justify-content:flex-start;gap:2px;padding:4px 8px;scroll-snap-type:x proximity}
  .desk-tabs button{min-height:44px;padding:8px 12px;font-size:13px;scroll-snap-align:start}
  .market-ticker{padding:8px 44px 8px 76px}
  .ticker-nav,.ticker-customize-btn{width:32px;height:32px;min-width:32px;min-height:32px}
  .ticker-nav-prev{inset-inline-start:6px}.ticker-customize-btn{inset-inline-start:40px}.ticker-nav-next{inset-inline-end:6px}
  .ticker-item{flex-basis:170px;width:170px;min-width:170px}
  .hero-pro{padding:18px}.hero h1,html[data-theme="light"] .hero h1{font-size:32px}
  .overview-visuals,.tools-grid{grid-template-columns:1fr}
}

@media(max-width:720px){
  :root{--vs-body:14px;--vs-body-ar:15px;--vs-h2:21px}
  .shell{padding-inline:12px;padding-top:14px}
  .topbar{padding-inline:10px}
  .brand img{width:36px;height:36px}.brand b{font-size:13px}
  .top-actions .icon-btn,.top-actions .chip,.theme-toggle{min-width:44px;height:44px;min-height:44px}
  .top-actions .icon-btn{width:44px}
  .live-state{display:none}
  .desk-tabs button{font-size:13px}
  .market-ticker{padding-block:6px}
  .ticker-item{flex:0 0 158px;width:158px;min-width:158px;min-height:74px;padding:9px 10px}
  .ticker-item span{font-size:12px;line-height:1.3;min-height:30px}.ticker-item strong{font-size:16px}.ticker-item small{font-size:11px}
  .hero-pro{padding:16px;margin-top:12px}.hero h1,html[data-theme="light"] .hero h1{font-size:28px;line-height:1.25}.hero-copy .lead{font-size:15px}
  .section-block,.visual-panel{padding:16px}
  .section-head h2,.visual-head h2{font-size:21px}
  .settings-panel{top:64px;inset-inline:8px;width:auto;max-height:calc(100vh - 76px);overflow:auto;padding:14px}
  .settings-panel label,.type-settings>label{font-size:13px;grid-template-columns:1fr}
  .type-settings>label>div{width:100%}
  .settings-panel select{min-height:44px;font-size:14px}
  .accent-swatches button{width:44px;height:44px;min-width:44px;min-height:44px}
  .country-table,.news-table{border:0;overflow:visible}
  .country-head,.news-head{display:none}
  .country-row,.news-row{min-width:0;display:grid;border:1px solid var(--line);border-radius:var(--vs-r2);margin-bottom:8px;padding:12px;gap:8px}
  .country-row{grid-template-columns:1fr 1fr}
  .country-row .country-name{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
  .country-row>span,.news-row>span,.country-row small,.news-row small{font-size:12px}
  .news-row{grid-template-columns:1fr auto}.news-row .news-title{grid-column:1/-1;order:-1}
  /* keep essential context on mobile */
  .country-row>span:nth-child(5),.country-row>span:nth-child(6),.news-row>span:nth-child(4),.news-row>span:nth-child(5){display:grid}
  .analysis-kpis,.analysis-workbench{grid-template-columns:1fr}
  .analysis-audit-row{grid-template-columns:1fr auto}.analysis-audit-row>div:last-child{grid-column:1/-1}
}

@media(max-width:420px){
  .top-actions .chip{padding-inline:8px;font-size:12px}
  .theme-toggle{width:54px}
  .desk-tabs{padding-inline:6px}
  .market-ticker{padding-inline-start:74px;padding-inline-end:42px}
  .ticker-item{flex-basis:152px;width:152px;min-width:152px}
  .hero h1,html[data-theme="light"] .hero h1{font-size:26px}
}


/* V1B — secondary actions + chart hover */
.market-ticker{padding-inline:48px}
.ticker-nav-prev{inset-inline-start:10px}.ticker-nav-next{inset-inline-end:10px}
.ticker-customize-btn{display:none}
.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:4px;border-top:1px solid var(--line)}
.settings-actions button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:750;cursor:pointer}
.settings-actions button:hover{border-color:var(--accent)}
.settings-actions .ui-icon{width:15px;height:15px}
.spark-tooltip{position:absolute;z-index:5;pointer-events:none;background:rgba(15,23,42,.94);color:#fff;border-radius:6px;padding:6px 8px;font-size:11px;line-height:1;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,.18);direction:ltr;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .spark-tooltip{background:#eef4f8;color:#0f172a}
.spark-wrap:hover .sparkline polyline,.spark-wrap:focus .sparkline polyline{stroke-width:2.4}
@media(max-width:900px){.market-ticker{padding-inline:42px}.ticker-nav-prev{inset-inline-start:6px}.ticker-nav-next{inset-inline-end:6px}.settings-actions{grid-template-columns:1fr}}
@media(max-width:720px){.settings-actions button{min-height:44px;font-size:13px}.market-ticker{padding-inline:40px}}


/* V1C — mobile information architecture + newsroom labels */
.more-tab,.more-menu{display:none}
@media(max-width:720px){
  .desk-tabs{position:sticky;overflow:visible}
  .desk-tabs>button[data-view="global"],.desk-tabs>button[data-view="analysis"]{display:none}
  .more-tab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
  .more-menu{position:absolute;display:grid;inset-inline-end:8px;top:calc(100% + 4px);z-index:40;min-width:190px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(15,23,42,.16)}
  .more-menu[hidden]{display:none}
  .more-menu button{display:flex!important;width:100%;justify-content:flex-start;min-height:44px;font-size:13px}
  .country-row>span[data-label],.news-row>span[data-label]{position:relative;padding-top:18px;min-width:0}
  .country-row>span[data-label]::before,.news-row>span[data-label]::before{content:attr(data-label);position:absolute;inset-block-start:0;inset-inline-start:0;color:var(--muted);font-size:11px;font-weight:700;line-height:1}
  .country-row .country-name{padding-top:0}
  .country-row>span:nth-child(2),.country-row>span:nth-child(3){background:var(--panel2);border-radius:8px;padding:22px 10px 10px}
  .country-row .country-fx{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px}
  .country-row>span:nth-child(5),.country-row>span:nth-child(6){font-size:12px;color:var(--muted)}
  .news-row .news-title{padding:2px 0 6px}
  .news-row .news-title strong{font-size:15px;line-height:1.55}
  .news-row .news-title small{font-size:12px;line-height:1.55;-webkit-line-clamp:3}
  .news-row .news-date,.news-row>span:nth-child(3),.news-row .news-region,.news-row>span:nth-child(6){font-size:12px}
  .news-row.has-image .news-visual{min-height:110px;border-radius:8px;overflow:hidden}
}

/* V1D — audit closure authority */
.priority-card header b,.priority-card header small{
  white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35;min-height:2.7em;
}
.priority-card header b{font-size:13px}.priority-card header small{font-size:11px}
.priority-quality,.priority-card footer,.geo-card footer span,.geo-card footer em{font-size:11px}
.priority-card>strong,.geo-metric>strong,.big-number bdi{font-variant-numeric:tabular-nums}

/* one hover language: border/background, no distracting vertical motion in dense surfaces */
.country-row:hover,.news-row:hover,.pulse-card:hover,.priority-card:hover,.geo-card:hover,.ticker-item:hover{transform:none}
.indicator-card:hover{transform:none}

/* all secondary interactive controls remain comfortable */
.feed-tabs button,.country-quick-tabs button,.rate-quick-tabs button,.geo-news-tabs button,.source-quick-tabs button,
.heat-cell,.ticker-picker-item,.ticker-picker-foot button,.settings-head button,.type-settings-head button{
  min-height:36px;
}
.search input,.country-search input,.settings-panel select{min-height:40px}

/* consistent metadata hierarchy */
.card-meta,.priority-card footer,.priority-quality,.geo-card footer,.source-card small,.news-title small,.country-row small,.official-rate-row small{
  color:var(--muted);line-height:1.45;
}
.source-pill,.source-tag{font-size:11px;font-weight:700}

/* keep semantic color focused on value/delta, never card chrome */
.indicator-card.up,.indicator-card.down,.pulse-card.up,.pulse-card.down,.movement-card.up,.movement-card.down,.priority-card.up,.priority-card.down{
  border-color:var(--line);
}

/* chart affordance */
.movement-card:has(.spark-wrap),.ticker-item:has(.spark-wrap){cursor:default}
.spark-wrap::after{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 1px transparent;transition:.12s}
.spark-wrap:hover::after,.spark-wrap:focus::after{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}

@media(max-width:720px){
  /* professional mobile touch floor */
  .feed-tabs button,.country-quick-tabs button,.rate-quick-tabs button,.geo-news-tabs button,.source-quick-tabs button,
  .heat-cell,.ticker-picker-item,.ticker-picker-foot button,.settings-head button,.type-settings-head button,
  .search input,.country-search input,.settings-panel select{min-height:44px}
  .settings-head button{min-width:44px}
  /* factual/supporting text floor */
  .shell small,.market-ticker small,.settings-panel small,.card-meta,.priority-quality,.geo-card footer span,.geo-card footer em,
  .analysis-audit-row small,.analysis-rule-meta span,.source-pill,.source-tag{font-size:11px}
  .priority-card header b{font-size:13px}.priority-card header small{font-size:11px}
  .feed-tabs,.country-quick-tabs,.rate-quick-tabs,.geo-news-tabs,.source-quick-tabs{gap:6px;padding-bottom:8px}
  .feed-tabs button,.country-quick-tabs button,.rate-quick-tabs button,.geo-news-tabs button,.source-quick-tabs button{padding-inline:12px;font-size:12px}
  html,body{overflow-x:clip;max-width:100%}
}

/* DATA ENRICHMENT V2 — scoped additive release */
.de-enrichment{margin-top:var(--vs-s4)}
.de-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--vs-s2)}
.de-kpi{min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--vs-r2);background:var(--panel2)}
.de-kpi>span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.de-kpi>strong{display:block;margin:8px 0 4px;font-size:20px;line-height:1.15}.de-kpi>small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.de-kpi>em{display:block;margin-top:5px;font-size:11px;font-style:normal}
.de-mini-trend{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.de-mini-trend>div:first-child{display:grid;gap:2px}.de-mini-trend b{font-size:13px}.de-mini-trend small{font-size:11px;color:var(--muted)}.de-bars{display:flex;align-items:end;gap:6px;height:54px}.de-bars i{display:block;width:34px;border-radius:5px 5px 0 0;background:var(--accent);opacity:.45}.de-bars i:last-child{opacity:.8}
.de-country-intel{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:var(--vs-r3);background:var(--panel2)}.de-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.de-inline-head>div{display:grid;gap:2px}.de-inline-head b{font-size:14px}.de-inline-head small{font-size:11px;color:var(--muted)}.de-inline-head select,.de-exposure-controls select{min-height:40px;border:1px solid var(--line);border-radius:var(--vs-r1);background:var(--panel);color:var(--text);padding:0 10px}
.de-exposure-panel{margin:12px 0;border:1px solid var(--line);border-radius:var(--vs-r3);background:var(--panel2);padding:0 12px}.de-exposure-panel summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}.de-exposure-panel summary span{font-weight:700}.de-exposure-panel summary small{font-size:11px;color:var(--muted)}.de-exposure-controls{display:flex;gap:8px;padding:8px 0}.de-rank-list{display:grid;gap:4px;padding-bottom:10px}.de-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.de-rank-row:last-child{border-bottom:0}.de-rank-row span{font-size:11px;color:var(--muted)}.de-rank-row b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.de-rank-row strong{font-size:13px}
.de-analysis-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin:12px 0}.de-feed-card{border:1px solid var(--line);border-radius:var(--vs-r3);background:var(--panel2);padding:12px}.de-feed-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.de-feed-card>header b{font-size:14px}.de-feed-card>header small{font-size:11px;color:var(--muted)}.de-feed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.de-feed-row:last-child{border-bottom:0}.de-feed-row>div{min-width:0}.de-feed-row b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.de-feed-row small{display:block;font-size:11px;color:var(--muted)}.de-feed-row>strong{font-size:13px;text-align:end}.de-feed-row>strong em{display:block;font-size:10px;font-style:normal;color:var(--muted)}
.de-source-health{margin-bottom:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--vs-r2);background:var(--panel2);font-size:12px;color:var(--muted)}.de-editor-actions{display:flex;align-items:center;gap:8px}.de-empty{font-size:12px;color:var(--muted)}
@media(max-width:760px){.de-kpi-grid{grid-template-columns:1fr 1fr}.de-analysis-grid{grid-template-columns:1fr}.de-inline-head{align-items:flex-start}.de-inline-head select{min-height:44px}.de-exposure-controls select{min-height:44px;min-width:0;flex:1}.de-exposure-panel summary{align-items:flex-start;flex-direction:column;justify-content:center;padding:6px 0}.de-editor-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}}
@media(max-width:360px){.de-kpi{padding:10px}.de-kpi>strong{font-size:18px}.de-feed-row{grid-template-columns:1fr}.de-feed-row>strong{text-align:start}.de-exposure-controls{display:grid;grid-template-columns:1fr 1fr}}

/* NEWSROOM OPERATIONS V3 — scoped additive */
.v3-newsroom-grid{display:grid;grid-template-columns:1.05fr .95fr 1.1fr;gap:12px;margin-top:12px}
.v3-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.v3-card-head h3{margin:0;font-size:14px}.v3-card-head small{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}.v3-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.v3-badges span,.v3-counter{font-size:10px;color:#60707b;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px 6px;white-space:nowrap}
.v3-release-list,.v3-watch-list,.v3-brief-pool{display:grid;gap:5px}.v3-release-row,.v3-watch-row,.v3-brief-row{border-bottom:1px solid var(--line);padding:7px 0}.v3-release-row:last-child,.v3-watch-row:last-child,.v3-brief-row:last-child{border-bottom:0}.v3-release-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}.v3-release-row>span{font-size:10.5px;font-weight:700;direction:ltr;white-space:nowrap}.v3-release-row b{display:block;font-size:11.5px}.v3-release-row small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.v3-watch-controls,.v3-save-controls{display:grid;grid-template-columns:.8fr 1fr auto;gap:6px;margin-bottom:7px}.v3-watch-controls select,.v3-watch-controls input,.v3-save-controls input{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:var(--vs-r1);background:var(--panel);color:var(--text);padding:0 8px}.v3-watch-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center}.v3-watch-row span{font-size:9.5px;color:#60707b;background:var(--panel);border-radius:999px;padding:3px 5px}.v3-watch-row b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-watch-row button,.v3-saved-row button{border:0;background:transparent;color:var(--muted);cursor:pointer}.v3-saved-views{margin-top:8px;border-top:1px solid var(--line);padding-top:7px}.v3-saved-views summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:11px}.v3-save-controls{margin-top:7px;grid-template-columns:1fr auto}.v3-saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:5px 0}.v3-saved-row b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-brief-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center}.v3-brief-row b{display:block;font-size:11px}.v3-brief-row small{display:block;font-size:9.5px;color:var(--muted)}.v3-brief-row strong{font-size:10.5px;direction:ltr}.v3-brief-actions{display:flex;justify-content:flex-end;margin-top:8px}.v3-brief-preview{max-height:120px;overflow:auto;margin:7px 0 0;padding:8px;border:1px solid var(--line);border-radius:var(--vs-r1);background:var(--panel);color:var(--text);white-space:pre-wrap;font:10.5px/1.55 inherit}
@media(max-width:980px){.v3-newsroom-grid{grid-template-columns:1fr 1fr}.v3-brief-card{grid-column:1/-1}}
@media(max-width:760px){.v3-newsroom-grid{grid-template-columns:1fr}.v3-brief-card{grid-column:auto}.v3-watch-controls select,.v3-watch-controls input,.v3-save-controls input{min-height:44px}.v3-card-head{align-items:flex-start}}
@media(max-width:360px){.v3-watch-controls{grid-template-columns:1fr 1fr}.v3-watch-controls button{grid-column:1/-1}.v3-release-row{grid-template-columns:1fr}.v3-release-row>span{white-space:normal}.v3-brief-row{grid-template-columns:auto 1fr}.v3-brief-row strong{grid-column:2}}


/* EVENT CONTEXT V4 — scoped additive */
.v4-context-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:12px;margin-top:12px}
.v4-timeline-card{grid-row:span 2}.v4-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.v4-card-head h3{margin:0;font-size:14px}.v4-card-head small{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}
.v4-window-tabs{display:flex;gap:5px}.v4-window-tabs button{min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);padding:0 9px;font-size:10.5px;cursor:pointer}.v4-window-tabs button.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.v4-timeline-list,.v4-shift-list,.v4-gap-list{display:grid;gap:0}.v4-timeline-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid var(--line)}.v4-timeline-row:last-child,.v4-shift-row:last-child,.v4-gap-row:last-child{border-bottom:0}.v4-timeline-row>span{font-size:10px;direction:ltr;white-space:nowrap;color:var(--muted)}.v4-timeline-row b,.v4-shift-row b,.v4-gap-row b{display:block;font-size:11.5px;line-height:1.45}.v4-timeline-row small,.v4-shift-row small,.v4-gap-row small{display:block;font-size:9.5px;color:var(--muted);margin-top:2px}.v4-timeline-row em{font-size:9px;font-style:normal;color:#60707b;background:var(--panel);border-radius:999px;padding:3px 5px;white-space:nowrap}
.v4-shift-row,.v4-gap-row{padding:7px 0;border-bottom:1px solid var(--line)}.v4-gap-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.v4-gap-row>span,.v4-gap-count{font-size:9.5px;color:#60707b;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px 6px;white-space:nowrap}
@media(max-width:980px){.v4-context-grid{grid-template-columns:1fr}.v4-timeline-card{grid-row:auto}}
@media(max-width:760px){.v4-window-tabs button{min-height:44px}.v4-card-head{align-items:flex-start}.v4-timeline-row{grid-template-columns:1fr}.v4-timeline-row>span{white-space:normal}.v4-timeline-row em{justify-self:start}}
@media(max-width:360px){.v4-context-grid{gap:9px}.v4-card-head{display:grid}.v4-window-tabs{width:100%}.v4-window-tabs button{flex:1}}
