/* ============================================================
   SKYVIDYA v8 — Serviços contínuos styles
   layers on app-v3/v4 services
   ============================================================ */

.svc-wrap { margin-top: 4px; }

/* ---- anatomia comum ---- */
.svc-anatomy { border:1px solid var(--rule); border-radius:var(--radius-lg,10px); background:color-mix(in srgb, var(--sv-coral) 3%, var(--bg-elev)); padding:14px 16px; margin-bottom:18px; }
.svc-anatomy-h { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--rule-soft); }
.svc-vs { font-size:9px; letter-spacing:0.08em; color:var(--fg-mute); display:inline-flex; align-items:center; gap:7px; flex-wrap:wrap; }
.svc-vs em { font-style:normal; padding:3px 7px; border:1px solid; border-radius:4px; letter-spacing:0.1em; }
.svc-vs-mod { color:var(--fg-soft); border-color:var(--rule); }
.svc-vs-svc { color:var(--sv-coral); border-color:color-mix(in srgb, var(--sv-coral) 45%, transparent); background:color-mix(in srgb, var(--sv-coral) 8%, transparent); }
.svc-vs-sep { color:var(--fg-mute); }
.svc-anatomy-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
@media (max-width:880px){ .svc-anatomy-grid { grid-template-columns:repeat(2, 1fr); } }
.svc-anatomy-c { display:flex; align-items:flex-start; gap:9px; padding:6px 0; }
.svc-anatomy-ic { width:24px; height:24px; flex:none; display:grid; place-items:center; border:1px solid var(--rule); border-radius:6px; color:var(--sv-coral); background:var(--bg); }
.svc-anatomy-c b { display:block; font-size:11.5px; color:var(--fg); font-weight:600; letter-spacing:-0.005em; }
.svc-anatomy-c em { font-style:normal; font-size:10.5px; color:var(--fg-soft); line-height:1.45; }

/* fontes */
.svc-sources { padding:14px 16px; border:1px solid var(--rule); border-radius:var(--radius-lg,10px); background:var(--bg-elev); margin-bottom:18px; }
.svc-sources-list { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:8px; }
.svc-src { display:inline-flex; align-items:center; gap:7px; font-size:11px; color:var(--fg-mid); }
.svc-src .src-led { width:5px; height:5px; border-radius:50%; background:var(--risk-low); }
.svc-src b { font-weight:500; }
.svc-src em { font-style:normal; font-size:9.5px; color:var(--fg-mute); letter-spacing:0.04em; }

/* ---- 01/02/03 grammar cards ---- */
.gram-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-bottom:18px; }
@media (max-width:1000px){ .gram-grid { grid-template-columns:1fr; } }
.gram-card { padding:16px 18px; border:1px solid var(--rule); border-radius:var(--radius-lg,10px); background:var(--bg-elev); border-top:3px solid; display:flex; flex-direction:column; gap:8px; }
.gram-card.tone-coral { border-top-color:var(--sv-coral); }
.gram-card.tone-warn  { border-top-color:var(--sv-warn); }
.gram-card.tone-cyan  { border-top-color:var(--sv-cyan); }
.gram-h { display:flex; align-items:center; gap:9px; }
.gram-n { font-size:10px; letter-spacing:0.16em; color:var(--fg-mute); }
.gram-h b { font-family:var(--font-display); font-size:14px; font-weight:600; letter-spacing:-0.01em; color:var(--fg); }
.gram-card.tone-coral .gram-n { color:var(--sv-coral); }
.gram-card.tone-warn  .gram-n { color:var(--sv-warn); }
.gram-card.tone-cyan  .gram-n { color:var(--sv-cyan); }
.gram-lead { font-size:12px; color:var(--fg-soft); margin:0; }
.gram-body { font-size:12.5px; color:var(--fg-mid); line-height:1.6; margin:0; }
.gram-foot { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:8px; padding-top:10px; border-top:1px solid var(--rule-soft); font-size:11px; color:var(--fg-soft); }
.gram-foot b { font-family:var(--font-mono); font-size:12px; }

/* ---- ANTI-GREENWASHING ---- */
.ag-rule { display:flex; align-items:flex-start; gap:9px; padding:12px 14px; border:1px solid color-mix(in srgb, var(--sv-coral) 35%, transparent); background:color-mix(in srgb, var(--sv-coral) 5%, transparent); border-radius:8px; margin-bottom:18px; }
.ag-rule span { font-size:12px; color:var(--fg-mid); line-height:1.55; }

.ag-cover { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:18px 22px; border:1px solid var(--rule); border-radius:var(--radius-lg,10px); background:var(--bg-elev); margin-bottom:18px; }
@media (max-width:680px){ .ag-cover { grid-template-columns:1fr; } }
.ag-cover-l h3 { font-family:var(--font-display); font-size:21px; font-weight:500; letter-spacing:-0.02em; color:var(--fg); margin:8px 0 6px; line-height:1.3; }
.ag-cover-l h3 b { font-family:var(--font-display); font-weight:700; font-size:32px; margin-right:6px; }
.ag-cover-l .ag-cover-of { font-family:var(--font-mono); font-size:11px; color:var(--fg-mute); margin:0 8px; letter-spacing:0.04em; }
.ag-cover-l p { font-size:12px; color:var(--fg-soft); margin:0; }
.ag-pct { font-family:var(--font-display); font-weight:700; font-size:56px; letter-spacing:-0.04em; line-height:1; text-align:center; }
.ag-pct small { font-size:22px; color:var(--fg-mute); }
.ag-cover-r .mono { display:block; text-align:center; font-size:9px; letter-spacing:0.12em; color:var(--fg-mute); margin-top:4px; }

/* critérios */
.ag-criteria { margin-bottom:18px; padding-bottom:0; }
.ag-crit-list { display:flex; flex-direction:column; }
.ag-crit-row { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:14px; padding:13px 16px; border-bottom:1px solid var(--rule-soft); }
.ag-crit-row:last-child { border-bottom:none; }
.ag-crit-row.pass { border-left:3px solid var(--risk-low); }
.ag-crit-row.fail { border-left:3px solid var(--risk-critical); background:color-mix(in srgb, var(--risk-critical) 4%, transparent); }
.ag-crit-led { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; border:1.5px solid currentColor; color:var(--risk-low); }
.ag-crit-row.fail .ag-crit-led { color:var(--risk-critical); }
.ag-crit-meta b { display:block; font-size:13px; color:var(--fg); font-weight:500; letter-spacing:-0.005em; }
.ag-crit-meta .mono { font-size:9.5px; color:var(--fg-mute); letter-spacing:0.04em; margin-top:3px; }
.ag-crit-trail { text-align:right; display:flex; flex-direction:column; gap:3px; }
.ag-crit-trail .mono { font-size:9px; color:var(--fg-soft); letter-spacing:0.04em; }
.ag-crit-trail .mono.soft { color:var(--fg-mute); }

.ag-evitar { color:var(--risk-critical); display:inline-flex; align-items:center; gap:5px; }
.ag-evitar em { font-style:normal; color:var(--fg-soft); }

/* selo + página */
.ag-seal-card { margin-bottom:18px; }
.ag-seal-body { padding:18px; }
.ag-seal-page { border:1px solid var(--rule); border-radius:8px; background:var(--bg); }
.ag-seal-h { display:flex; align-items:center; gap:11px; padding:14px; border-bottom:1px solid var(--rule-soft); }
.ag-seal-h .vf-mark { width:28px; height:28px; object-fit:contain; }
[data-theme="dark"] .ag-seal-h .vf-mark { filter:invert(1); }
.ag-seal-h b { font-size:13px; color:var(--fg); }
.ag-seal-h .mono { font-size:9px; color:var(--fg-mute); letter-spacing:0.05em; margin-top:3px; }
.ag-seal-h > div { flex:1; }
.ag-seal-evid { padding:6px 14px 4px; }

/* kit de pauta */
.ag-pauta-card { margin-bottom:18px; }
.ag-pauta-list { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; padding:14px 16px; }
@media (max-width:980px){ .ag-pauta-list { grid-template-columns:1fr; } }
.ag-pauta-row { padding:14px 15px; border:1px solid var(--rule); border-radius:8px; background:var(--bg); display:flex; flex-direction:column; gap:10px; }
.ag-pauta-meta { display:flex; justify-content:space-between; align-items:center; }
.ag-pauta-canal { font-size:9px; letter-spacing:0.1em; color:var(--sv-cyan); }
.ag-pauta-data { font-size:9px; letter-spacing:0.06em; color:var(--fg-mute); }
.ag-pauta-claim { margin:0; padding:11px 13px; border-left:2px solid var(--sv-coral); background:color-mix(in srgb, var(--sv-coral) 4%, transparent); font-size:13px; color:var(--fg); line-height:1.5; }
.ag-pauta-lastro { font-size:9.5px; letter-spacing:0.04em; color:var(--fg-soft); line-height:1.55; display:flex; align-items:flex-start; gap:6px; }
.ag-pauta-cta { font-size:9px; letter-spacing:0.06em; color:var(--sv-cyan); padding-top:8px; border-top:1px solid var(--rule-soft); }

/* shared svc-ai-cta */
.svc-ai-cta { margin-top:18px; }

/* ---- ENSO upgrade ---- */
.enso-consensus { font-size:8.5px; letter-spacing:0.1em; color:var(--fg-mute); margin-top:8px; padding-top:8px; border-top:1px solid var(--rule-soft); }

.enso-gram { margin-top:18px; }

.enso-exposure { margin-bottom:18px; padding-bottom:0; }
.enso-exp-list { padding:8px 16px; }
.enso-exp-row { display:grid; grid-template-columns:14px 130px 1fr 60px 90px; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--rule-soft); }
.enso-exp-row:last-child { border-bottom:none; }
.enso-exp-led { width:9px; height:9px; border-radius:50%; }
.enso-exp-row.sev-alta .enso-exp-led { background:var(--risk-critical); }
.enso-exp-row.sev-media .enso-exp-led { background:var(--sv-warn); }
.enso-exp-row.sev-baixa .enso-exp-led { background:var(--fg-mute); }
.enso-exp-reg { font-size:12.5px; color:var(--fg); font-weight:500; }
.enso-exp-bar { height:7px; background:var(--sv-ink-600); border-radius:4px; overflow:hidden; }
.enso-exp-bar i { display:block; height:100%; background:var(--sv-coral); border-radius:4px; transition:width 500ms ease-out; }
.enso-exp-row.sev-media .enso-exp-bar i { background:var(--sv-warn); }
.enso-exp-row.sev-baixa .enso-exp-bar i { background:var(--fg-mute); }
.enso-exp-anom { font-family:var(--font-mono); font-size:13px; color:var(--risk-critical); text-align:right; font-weight:600; }
.enso-exp-row.sev-media .enso-exp-anom { color:var(--sv-warn); }
.enso-exp-row.sev-baixa .enso-exp-anom { color:var(--fg-soft); }
.enso-exp-ativos { font-size:10.5px; color:var(--fg-soft); text-align:right; letter-spacing:0.04em; }
.enso-exp-ativos b { font-family:var(--font-mono); font-size:13px; color:var(--fg); margin-right:3px; }
.enso-irrig { display:flex; align-items:center; gap:9px; padding:12px 16px; margin:0; border-top:1px solid var(--rule); background:color-mix(in srgb, var(--sv-cyan) 4%, transparent); font-size:11.5px; color:var(--fg-mid); }
.enso-irrig b { font-family:var(--font-display); font-weight:600; font-size:14px; color:var(--sv-cyan); margin-right:2px; }

.enso-bridge { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:16px 20px; margin-bottom:18px; border-left:3px solid var(--sv-coral); }
.enso-bridge.applied { border-left-color:var(--risk-low); background:color-mix(in srgb, var(--risk-low) 4%, transparent); }
.enso-bridge-l h4 { font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:-0.01em; color:var(--fg); margin:6px 0 6px; }
.enso-bridge-l p { font-size:11.5px; color:var(--fg-soft); margin:0; line-height:1.5; }
@media (max-width:680px){ .enso-bridge { grid-template-columns:1fr; } }

.enso-routing { margin-bottom:18px; }
.enso-route-list { display:flex; flex-direction:column; }
.enso-route-row { display:grid; grid-template-columns:100px 180px 1fr; gap:14px; padding:11px 16px; border-bottom:1px solid var(--rule-soft); align-items:center; }
.enso-route-row:last-child { border-bottom:none; }
.enso-route-row b { font-size:12px; color:var(--fg); font-weight:600; }
.enso-route-row .mono { font-size:11px; color:var(--sv-cyan); letter-spacing:0.04em; }
.enso-route-row em { font-style:normal; font-size:11px; color:var(--fg-soft); }
@media (max-width:680px){ .enso-route-row { grid-template-columns:1fr; gap:4px; padding:10px 14px; } }

/* ---- IMPACTOS ECONÔMICOS ---- */
.econ-pipeline { margin-bottom:18px; padding-bottom:0; }
.econ-pipe-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:0; padding:0; }
@media (max-width:980px){ .econ-pipe-grid { grid-template-columns:repeat(2, 1fr); } .econ-pipe-arrow { display:none !important; } }
.econ-pipe-step { padding:16px 18px; border-right:1px solid var(--rule-soft); position:relative; display:flex; flex-direction:column; gap:5px; }
.econ-pipe-step:last-child { border-right:none; }
.econ-pipe-n { font-size:9px; letter-spacing:0.16em; color:var(--sv-coral); }
.econ-pipe-step b { font-family:var(--font-display); font-size:13px; font-weight:700; letter-spacing:0.02em; color:var(--fg); }
.econ-pipe-step em { font-style:normal; font-size:10.5px; color:var(--fg-soft); line-height:1.5; }
.econ-pipe-arrow { position:absolute; right:-7px; top:50%; transform:translateY(-50%); font-family:var(--font-mono); font-size:14px; color:var(--sv-coral); background:var(--bg-elev); padding:2px 4px; z-index:1; }

.econ-focus { display:flex; flex-direction:column; gap:14px; margin-bottom:18px; }
.econ-focus-h { display:flex; flex-direction:column; gap:6px; padding:12px 16px; border:1px solid var(--rule); border-radius:var(--radius-lg,10px); background:var(--bg-elev); }
.econ-focus-h .mod-tag { width:max-content; }
.econ-focus-h h3 { font-family:var(--font-display); font-size:20px; font-weight:600; letter-spacing:-0.02em; color:var(--fg); margin:4px 0 2px; }
.econ-focus-h .soft { font-size:11px; letter-spacing:0.04em; }

.econ-evid-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:11px; }
@media (max-width:780px){ .econ-evid-grid { grid-template-columns:1fr; } }
.econ-evid { display:flex; flex-direction:column; gap:4px; padding:10px 12px; border:1px solid var(--rule-soft); border-radius:6px; background:var(--bg); }
.econ-signals { display:flex; gap:14px; flex-wrap:wrap; margin-top:11px; padding-top:11px; border-top:1px solid var(--rule-soft); }
.econ-sig { display:flex; flex-direction:column; gap:3px; padding:8px 13px; border:1px solid var(--rule-soft); border-radius:6px; background:var(--bg); }
.econ-sig .mono { font-size:8.5px; letter-spacing:0.12em; color:var(--fg-mute); }
.econ-sig b { font-family:var(--font-display); font-size:18px; font-weight:700; letter-spacing:-0.02em; }
.econ-sig em { font-style:normal; font-size:10px; color:var(--fg-soft); }

.econ-band-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:11px; padding-top:11px; border-top:1px solid var(--rule-soft); }
@media (max-width:780px){ .econ-band-grid { grid-template-columns:1fr; } }
.econ-band { padding:11px 13px; border:1px solid var(--rule-soft); border-radius:6px; background:var(--bg); display:flex; flex-direction:column; gap:4px; }
.econ-band-l, .econ-band > .mono { font-size:8.5px; letter-spacing:0.1em; color:var(--fg-mute); }
.econ-band b { font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-0.01em; line-height:1.2; }
.econ-band b small { font-size:11px; color:var(--fg-mute); font-weight:500; margin-left:4px; }
.econ-band em { font-style:normal; font-size:10px; color:var(--fg-soft); }
.econ-band-arr { font-size:12px; color:var(--fg-mute); margin:0 4px; }

.econ-acoes { display:flex; flex-direction:column; gap:7px; margin-top:11px; }
.econ-acao-row { display:grid; grid-template-columns:110px 1fr 2fr; gap:11px; align-items:center; padding:8px 11px; border:1px solid var(--rule-soft); border-radius:6px; background:var(--bg); }
.econ-acao-row .mono { font-size:9px; letter-spacing:0.08em; }
.econ-acao-row.tipo-notificar .mono { color:var(--sv-cyan); }
.econ-acao-row.tipo-reavaliar .mono { color:var(--sv-warn); }
.econ-acao-row.tipo-revisar .mono { color:var(--sv-coral); }
.econ-acao-row.tipo-oportunidade .mono { color:var(--risk-low); }
.econ-acao-row b { font-size:12px; color:var(--fg); }
.econ-acao-row em { font-style:normal; font-size:11px; color:var(--fg-soft); }
@media (max-width:680px){ .econ-acao-row { grid-template-columns:1fr; gap:4px; padding:10px 12px; } }

/* ComexStat */
.econ-flow { margin-bottom:18px; padding-bottom:14px; }
.comex-bars { display:grid; grid-template-columns:repeat(6, 1fr); gap:18px; padding:18px 20px 0; align-items:end; height:200px; position:relative; }
.comex-col { display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.comex-stack { width:36px; display:flex; flex-direction:column; justify-content:flex-end; border-radius:3px; overflow:hidden; min-height:8px; }
.comex-seg { display:block; }
.comex-seg.soja { background:var(--sv-cyan); }
.comex-seg.milho { background:var(--sv-coral); }
.comex-mes { font-size:9px; letter-spacing:0.08em; color:var(--fg-mute); }
.comex-total { font-size:10.5px; color:var(--fg-soft); }
.comex-legend { position:absolute; top:14px; right:16px; display:flex; gap:14px; font-size:10px; color:var(--fg-soft); }
.comex-legend i { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; vertical-align:middle; }
.comex-legend i.soja { background:var(--sv-cyan); }
.comex-legend i.milho { background:var(--sv-coral); }

/* declaração · event-study */
.econ-decl { margin-bottom:18px; padding-bottom:0; }
.econ-decl-body { padding:16px 18px 18px; }
.econ-decl-h { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom:12px; }
.econ-decl-h h4 { font-family:var(--font-display); font-size:17px; font-weight:600; letter-spacing:-0.01em; color:var(--fg); margin:0; }
.econ-decl-h .mono { font-size:9.5px; letter-spacing:0.06em; color:var(--fg-mute); }
.econ-decl-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:14px; }
@media (max-width:880px){ .econ-decl-stats { grid-template-columns:repeat(2, 1fr); } }
.econ-decl-disclaimer { display:flex; align-items:flex-start; gap:7px; font-size:9.5px; letter-spacing:0.04em; color:var(--sv-coral); padding:11px 13px; margin-top:14px; background:color-mix(in srgb, var(--sv-coral) 5%, transparent); border-left:2px solid var(--sv-coral); border-radius:0 6px 6px 0; line-height:1.55; }

/* API mention */
.econ-api { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:18px 20px; margin-bottom:18px; }
@media (max-width:880px){ .econ-api { grid-template-columns:1fr; } }
.econ-api-l h4 { font-family:var(--font-display); font-size:18px; font-weight:600; margin:6px 0 8px; }
.econ-api-l h4 code { font-family:var(--font-mono); font-size:14px; color:var(--sv-coral); }
.econ-api-l p { font-size:11.5px; color:var(--fg-soft); line-height:1.55; margin:0; }
.econ-api-r { padding:14px 16px; border:1px solid var(--rule); border-radius:8px; background:var(--bg-void); color:var(--fg); }
.econ-api-method { display:inline-block; font-size:9px; letter-spacing:0.1em; padding:3px 8px; background:var(--sv-coral); color:#fff; border-radius:4px; margin-right:8px; }
.econ-api-r code { font-family:var(--font-mono); font-size:11.5px; color:var(--sv-cyan); }
.econ-api-r pre { font-family:var(--font-mono); font-size:10.5px; color:var(--fg-mid); margin:11px 0 0; white-space:pre-wrap; line-height:1.6; }

/* shared v2-card header inside services */
.svc-wrap .v2-card-h { display:flex; align-items:center; justify-content:space-between; padding:11px 16px; border-bottom:1px solid var(--rule-soft); font-size:10px; letter-spacing:0.13em; color:var(--fg-soft); }
