
.ri-wrap{max-width:1300px;margin:30px auto;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.ri-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#101827,#1d2a40);color:#fff;padding:30px;border-radius:18px;margin-bottom:20px}
.ri-hero h1{margin:0;font-size:32px}.ri-hero p{margin:6px 0 0;opacity:.8}.ri-badge,.ri-price{background:rgba(255,255,255,.12);padding:9px 14px;border-radius:99px}
.ri-price-box{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ri-price-box strong{font-size:26px}.ri-price-box span{font-weight:700}
.ri-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.ri-card,.ri-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.ri-card span,.ri-metric span{display:block;color:#6b7280;font-size:13px}.ri-card strong{font-size:26px;margin-top:8px;display:block;color:#111827}
.ri-pos{color:#0a8f4d!important}.ri-neg{color:#d83a3a!important}.ri-panel{margin-bottom:20px}.ri-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.ri-panel h2{margin:0 0 14px}.ri-panel-head span{color:#6b7280;font-size:13px}
.ri-table{width:100%;border-collapse:collapse}.ri-table th,.ri-table td{padding:13px;border-bottom:1px solid #edf0f2;text-align:left}.ri-table th{color:#6b7280;font-size:12px;text-transform:uppercase}.ri-tablewrap{overflow:auto}
.ri-warning{padding:14px;background:#fff7db;border:1px solid #f0d98a;border-radius:10px;margin:12px 0 18px}.ri-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ri-form input,.ri-form select,.ri-form textarea{width:100%;padding:10px;border:1px solid #ccd0d4;border-radius:6px;box-sizing:border-box}.ri-form textarea{min-height:70px}
.ri-denied{max-width:650px;margin:50px auto;padding:35px;text-align:center;border:1px solid #ddd;border-radius:14px}.ri-back{text-decoration:none;color:#2563eb;font-weight:600}.ri-btn{display:inline-block;padding:9px 13px;border-radius:8px;background:#eef2ff;color:#3730a3;text-decoration:none;font-weight:600;border:0;cursor:pointer}
.ri-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.ri-tab{border:1px solid #e5e7eb;background:#fff;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600}.ri-tab.active{background:#101827;color:#fff;border-color:#101827}.ri-tab-panel{display:none}.ri-tab-panel.active{display:block}
.ri-chart-wrap{height:390px;position:relative}.ri-chart{width:100%!important;height:100%!important}.ri-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ri-metric{padding:16px;background:#f8fafc;border:1px solid #e9eef3;border-radius:12px}.ri-metric strong{display:block;margin-top:7px;font-size:18px;color:#111827}.ri-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ri-description{margin-top:20px;padding-top:15px;border-top:1px solid #edf0f2}.ri-description h3{margin:0 0 8px}.ri-description p{line-height:1.65;color:#4b5563}.ri-refresh{display:flex;justify-content:space-between;align-items:center;gap:15px}.ri-refresh span,.ri-note{font-size:13px;color:#6b7280}
@media(max-width:900px){.ri-grid{grid-template-columns:1fr 1fr}.ri-metrics{grid-template-columns:1fr 1fr}.ri-profile-grid{grid-template-columns:1fr 1fr}.ri-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ri-grid,.ri-metrics,.ri-profile-grid,.ri-form{grid-template-columns:1fr}.ri-hero{align-items:flex-start;gap:15px;flex-direction:column}.ri-price-box{align-items:flex-start}.ri-panel-head,.ri-refresh{align-items:flex-start;flex-direction:column}.ri-chart-wrap{height:280px}}

.ri-search-box{display:flex;gap:10px;max-width:760px}.ri-search-box input{flex:1;padding:11px 13px;border:1px solid #c3c4c7;border-radius:6px}
.ri-symbol-status{margin-top:12px;color:#646970}.ri-symbol-results{margin-top:14px;display:grid;gap:9px;max-width:900px}
.ri-symbol-result{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:1px solid #dcdcde;border-radius:9px;background:#fff}
.ri-symbol-result:hover{border-color:#2271b1;background:#f6f7f7}.ri-symbol-main{min-width:0}.ri-symbol-title{font-weight:700;font-size:15px}.ri-symbol-meta{font-size:13px;color:#646970;margin-top:4px}
.ri-symbol-badge{display:inline-block;margin-left:7px;padding:2px 7px;background:#eef2f7;border-radius:99px;font-size:12px;color:#50575e}
@media(max-width:700px){.ri-search-box{flex-direction:column}.ri-symbol-result{align-items:flex-start;flex-direction:column}}

.ri-section-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}.ri-section-head h2{margin:0}.ri-section-head span{font-size:13px;color:#6b7280}
.ri-company-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ri-company-card{background:#fff;border:1px solid #e4e7eb;border-radius:18px;padding:20px;box-shadow:0 6px 24px rgba(16,24,39,.06);display:flex;flex-direction:column}
.ri-company-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ri-company-name{display:flex;gap:10px;align-items:center}.ri-company-name h3{margin:0;font-size:17px;color:#172033}.ri-company-name span{font-size:12px;color:#6b7280}.ri-logo-letter{width:34px;height:34px;border-radius:9px;background:#eef2f7;display:grid;place-items:center;font-weight:800;color:#26374a}
.ri-score-pill{font-weight:800;font-size:12px;padding:6px 9px;border-radius:999px;background:#f3f4f6}.ri-score-pill.bullish{background:#e9f7ee;color:#08783e}.ri-score-pill.bearish{background:#fdecec;color:#b42318}.ri-score-pill.neutral{background:#fff6df;color:#8a5b00}
.ri-card-price{margin:18px 0 4px;display:flex;align-items:baseline;gap:12px}.ri-card-price strong{font-size:30px;letter-spacing:-.5px}.ri-card-price span{font-weight:700}.ri-market-line{font-size:12px;color:#687384;margin-bottom:18px}
.ri-ai-box{padding:14px;border-radius:12px;border:1px solid #e4e7eb;background:#f8fafc}.ri-ai-box>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.ri-ai-box span{font-size:11px;color:#687384;font-weight:700}.ri-ai-box strong{font-size:15px}.ri-ai-box.bullish strong{color:#08783e}.ri-ai-box.bearish strong{color:#b42318}.ri-ai-box.neutral strong{color:#8a5b00}.ri-score-bar{height:7px;border-radius:20px;background:#e5e7eb;margin:10px 0}.ri-score-bar i{display:block;height:100%;border-radius:20px;background:#3b82f6}.ri-ai-box small{font-size:11px;color:#687384;line-height:1.35;display:block}
.ri-news-mini{padding:15px 0;border-bottom:1px solid #eef0f3}.ri-news-mini>div:first-child{display:flex;justify-content:space-between}.ri-news-mini>div:first-child span{font-size:13px;color:#4b5563}.ri-news-counts{display:flex;gap:14px;margin-top:8px;font-size:12px}.ri-news-mini small{display:block;margin-top:7px;color:#687384}.ri-position-mini{font-size:12px;color:#4b5563;padding:13px 0}.ri-card-link{margin-top:auto;padding-top:16px;color:#2563eb;text-decoration:none;font-weight:700;font-size:13px}
.ri-news-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.ri-news-summary>div{background:#f8fafc;border:1px solid #e8edf2;border-radius:10px;padding:13px}.ri-news-summary span{display:block;font-size:11px;color:#687384}.ri-news-summary strong{display:block;font-size:19px;margin-top:4px}.ri-news-sentiment.bullish strong{color:#08783e}.ri-news-sentiment.bearish strong{color:#b42318}.ri-news-sentiment.neutral strong{color:#8a5b00}
.ri-news-list{display:grid;gap:12px}.ri-news-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid #eef0f3}.ri-news-item h3{font-size:15px;margin:0 0 5px}.ri-news-item p{font-size:13px;color:#596273;margin:0 0 7px;line-height:1.5}.ri-news-item small{font-size:11px;color:#7b8492}.ri-news-item a{font-size:12px;margin-left:10px;color:#2563eb}.ri-news-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:none;background:#d1d5db}.ri-news-dot.bullish{background:#16a34a}.ri-news-dot.bearish{background:#dc2626}.ri-news-dot.neutral{background:#d4a72c}
.ri-signal-score{text-align:right;font-size:23px;font-weight:800}.ri-signal-score small{font-size:12px;font-weight:700}.ri-signal-score.bullish{color:#08783e}.ri-signal-score.bearish{color:#b42318}.ri-signal-score.neutral{color:#8a5b00}.ri-signal-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ri-signal-columns h3{font-size:14px;margin:15px 0 8px}.ri-signal-columns ul{margin:0;padding:0;list-style:none}.ri-signal-columns li{font-size:13px;padding:7px 0;color:#4b5563}
@media(max-width:1100px){.ri-company-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ri-company-cards,.ri-news-summary,.ri-signal-columns{grid-template-columns:1fr}.ri-section-head{align-items:flex-start;flex-direction:column;gap:5px}.ri-card-price strong{font-size:26px}}


/* =========================================================
   ROCA INVESTMENT v1.4.2 — CONTRASTE DE TEXTO
   Fondo oscuro = texto claro/blanco
   Fondo claro  = texto oscuro/casi negro
   ========================================================= */

/* Cabeceras y cualquier bloque oscuro */
.ri-hero,
.ri-hero *,
.ri-company-header,
.ri-company-header *,
.ri-dark,
.ri-dark * {
    color: #ffffff !important;
}

.ri-hero p,
.ri-company-header p,
.ri-dark p {
    color: rgba(255,255,255,.78) !important;
}

/* Botones o pestañas con fondo oscuro */
.ri-tabs .active,
.ri-tab.active,
.ri-button-dark,
.ri-dark-button {
    background: #172033 !important;
    color: #ffffff !important;
}

.ri-tabs .active *,
.ri-tab.active *,
.ri-button-dark *,
.ri-dark-button * {
    color: #ffffff !important;
}

/* Todo el contenido sobre fondo claro debe usar texto oscuro */
.ri-wrap,
.ri-wrap .ri-panel,
.ri-wrap .ri-card,
.ri-wrap .ri-company-card,
.ri-wrap .ri-news-item,
.ri-wrap .ri-news-summary > div {
    color: #111827;
}

.ri-wrap .ri-panel h1,
.ri-wrap .ri-panel h2,
.ri-wrap .ri-panel h3,
.ri-wrap .ri-panel h4,
.ri-wrap .ri-card h1,
.ri-wrap .ri-card h2,
.ri-wrap .ri-card h3,
.ri-wrap .ri-company-card h1,
.ri-wrap .ri-company-card h2,
.ri-wrap .ri-company-card h3,
.ri-wrap .ri-news-item h1,
.ri-wrap .ri-news-item h2,
.ri-wrap .ri-news-item h3,
.ri-wrap .ri-company-card strong,
.ri-wrap .ri-card strong {
    color: #111827;
}

/* Textos secundarios en fondos claros */
.ri-wrap .ri-panel p,
.ri-wrap .ri-card p,
.ri-wrap .ri-company-card p,
.ri-wrap .ri-company-name span,
.ri-wrap .ri-market-line,
.ri-wrap .ri-news-item p,
.ri-wrap .ri-news-item small,
.ri-wrap .ri-news-mini small,
.ri-wrap .ri-news-summary span,
.ri-wrap .ri-ai-box small,
.ri-wrap .ri-section-head span {
    color: #4b5563;
}

/* Pestañas no activas y botones claros */
.ri-tabs:not(.active),
.ri-tab:not(.active) {
    color: #111827;
}

.ri-tabs:not(.active) *,
.ri-tab:not(.active) * {
    color: #111827;
}

/* Excepciones: conservar los colores semánticos de rendimiento */
.ri-pos,
.ri-pos * {
    color: #08783e !important;
}

.ri-neg,
.ri-neg * {
    color: #b42318 !important;
}

/* Garantizar legibilidad del panel de señal IA */
.ri-ai-box {
    color: #111827;
}

.ri-ai-box > div,
.ri-ai-box span,
.ri-ai-box small {
    color: #374151;
}

.ri-ai-box.bullish strong { color: #08783e !important; }
.ri-ai-box.bearish strong { color: #b42318 !important; }
.ri-ai-box.neutral strong { color: #8a5b00 !important; }


/* =========================================================
   ROCA INVESTMENT v1.4.3 — BOTONERA SUPERIOR LEGIBLE
   ========================================================= */

/* Botones/pestañas con fondo CLARO: texto oscuro */
.ri-company-tabs a,
.ri-company-tabs button,
.ri-tabs a,
.ri-tabs button,
.ri-tab,
.ri-tab:not(.active),
.ri-tab:not(.active) *,
.ri-company-tabs a:not(.active),
.ri-company-tabs a:not(.active) *,
.ri-tabs a:not(.active),
.ri-tabs a:not(.active) *,
.ri-tabs button:not(.active),
.ri-tabs button:not(.active) * {
    color: #111827 !important;
}

/* Fondo claro explícito para todas las pestañas no activas */
.ri-company-tabs a:not(.active),
.ri-tabs a:not(.active),
.ri-tabs button:not(.active),
.ri-tab:not(.active) {
    background: #ffffff !important;
    border-color: #d1d5db !important;
}

/* Iconos/emojis dentro de pestañas claras: conservar color natural,
   pero asegurar que nunca hereden blanco */
.ri-company-tabs a:not(.active) span,
.ri-tabs a:not(.active) span,
.ri-tabs button:not(.active) span,
.ri-tab:not(.active) span {
    color: inherit !important;
}

/* ÚNICAMENTE la pestaña activa tiene fondo oscuro y texto blanco */
.ri-company-tabs a.active,
.ri-company-tabs button.active,
.ri-tabs a.active,
.ri-tabs button.active,
.ri-tab.active {
    background: #1f2937 !important;
    border-color: #1f2937 !important;
    color: #ffffff !important;
}

.ri-company-tabs a.active *,
.ri-company-tabs button.active *,
.ri-tabs a.active *,
.ri-tabs button.active *,
.ri-tab.active * {
    color: #ffffff !important;
}

/* Si el tema de WordPress aplica color blanco a enlaces, lo anulamos */
.ri-wrap .ri-company-tabs a:not(.active),
.ri-wrap .ri-tabs a:not(.active),
.ri-wrap .ri-tab:not(.active) {
    color: #111827 !important;
}


/* =========================================================
   ROCA INVESTMENT v1.5.0 — DECISIÓN Y EXPLICACIÓN
   ========================================================= */
.ri-action-box{margin-top:12px;padding:13px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#f8fafc}
.ri-action-box span{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;color:#6b7280}
.ri-action-box strong{display:block;font-size:15px;margin:4px 0}
.ri-action-box small{display:block;font-size:11px;line-height:1.45;color:#4b5563}
.ri-action-box.buy{border-color:#b8e5c6;background:#f1fbf4}.ri-action-box.buy strong{color:#08783e}
.ri-action-box.hold{border-color:#eadcae;background:#fffaf0}.ri-action-box.hold strong{color:#8a5b00}
.ri-action-box.caution{border-color:#f2c9a5;background:#fff8f2}.ri-action-box.caution strong{color:#a24b00}
.ri-action-box.sell{border-color:#f0b9b5;background:#fff5f5}.ri-action-box.sell strong{color:#b42318}

.ri-decision-card{display:grid;grid-template-columns:1.4fr .6fr;gap:20px;margin:18px 0;padding:18px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.ri-decision-card.buy{border-left:5px solid #16a34a}.ri-decision-card.hold{border-left:5px solid #d4a72c}.ri-decision-card.caution{border-left:5px solid #d97706}.ri-decision-card.sell{border-left:5px solid #dc2626}
.ri-decision-main span{font-size:11px;font-weight:800;color:#6b7280}
.ri-decision-main strong{display:block;font-size:21px;margin:5px 0}
.ri-decision-main p{margin:0;color:#4b5563;font-size:13px;line-height:1.5}
.ri-confidence{border-left:1px solid #dde2e8;padding-left:20px;display:flex;flex-direction:column;justify-content:center}
.ri-confidence span{font-size:11px;color:#6b7280}.ri-confidence strong{font-size:26px;color:#172033;margin:4px 0}.ri-confidence small{font-size:10px;color:#6b7280;line-height:1.4}
.ri-how-to-read{margin-top:18px;padding:14px 16px;background:#f5f7fa;border-radius:10px;border:1px solid #e5e9ef}
.ri-how-to-read h3{font-size:14px;margin:0 0 6px}.ri-how-to-read p{font-size:12px;color:#4b5563;line-height:1.55;margin:0}
@media(max-width:650px){.ri-decision-card{grid-template-columns:1fr}.ri-confidence{border-left:0;border-top:1px solid #dde2e8;padding:14px 0 0}.ri-decision-main strong{font-size:18px}}


/* =========================================================
   ROCA INVESTMENT v1.6.0 — TOP 10 GLOBAL + MOBILE FIRST
   ========================================================= */
.ri-global-top{margin:22px 0 28px}
.ri-top-meta{font-size:11px;color:#6b7280;background:#f5f7fa;padding:7px 10px;border-radius:8px}
.ri-top10-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ri-top10-card{position:relative;padding:15px;border:1px solid #dfe5eb;border-radius:13px;background:#fff;min-width:0}
.ri-rank{position:absolute;top:10px;right:10px;font-size:11px;font-weight:800;color:#64748b}
.ri-top10-title{display:flex;flex-direction:column;padding-right:34px;gap:2px}
.ri-top10-title strong{font-size:17px;color:#111827}.ri-top10-title span{font-size:10px;color:#08783e;font-weight:700}
.ri-top10-score{font-size:23px;font-weight:800;color:#08783e;margin:12px 0 5px}
.ri-top10-price{font-size:13px;color:#111827;font-weight:700}.ri-top10-price span{margin-left:4px}
.ri-top10-card small{display:block;margin-top:10px;font-size:10px;line-height:1.4;color:#64748b}
.ri-global-empty p{margin:8px 0 12px;line-height:1.55}

/* Tables and wide admin screens become scrollable on small screens */
.ri-admin .ri-panel{overflow-x:auto}
.ri-admin table{min-width:680px}

/* Strong mobile adaptation */
@media(max-width:1200px){.ri-top10-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .ri-wrap{padding:14px!important}
  .ri-top10-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ri-company-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .ri-wrap{padding:10px!important}
  .ri-hero{padding:18px!important;border-radius:14px!important}
  .ri-hero h1{font-size:25px!important;line-height:1.15}
  .ri-hero p{font-size:12px!important}
  .ri-grid,.ri-company-cards,.ri-top10-grid,.ri-news-summary,.ri-signal-columns,.ri-metrics,.ri-profile-grid,.ri-form{grid-template-columns:1fr!important}
  .ri-card,.ri-company-card,.ri-top10-card,.ri-panel{border-radius:12px!important}
  .ri-company-card{padding:16px!important}
  .ri-section-head{gap:8px!important;margin:18px 0 10px!important}
  .ri-section-head h2{font-size:19px!important;line-height:1.2}
  .ri-company-top{gap:8px}
  .ri-company-name h3{font-size:16px!important}
  .ri-card-price strong{font-size:27px!important}
  .ri-action-box{padding:12px!important}
  .ri-decision-card{padding:14px!important}
  .ri-news-item{flex-direction:column!important;gap:5px!important}
  .ri-news-dot{margin-top:0!important}
  .ri-news-item a{display:inline-block;margin:7px 0 0!important}
  .ri-chart-wrap{height:235px!important}
  .ri-tabs,.ri-company-tabs{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:4px!important;-webkit-overflow-scrolling:touch}
  .ri-tabs a,.ri-tabs button,.ri-company-tabs a,.ri-company-tabs button,.ri-tab{flex:0 0 auto!important;white-space:nowrap}
  .ri-top-meta{width:100%;box-sizing:border-box}
  .ri-price-box{width:100%}
  .ri-admin .ri-panel{padding:14px!important}
}


/* v1.6.1: ranking progress + international symbol search */
.ri-top-meta{max-width:100%;white-space:normal;line-height:1.4}
.ri-symbol-result:first-child .ri-symbol-title:after{
  content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#16a34a; margin-left:7px; vertical-align:middle;
}
@media(max-width:650px){
  .ri-search-box{display:grid!important;grid-template-columns:1fr!important;gap:8px}
  .ri-search-box input,.ri-search-box button{width:100%!important;box-sizing:border-box}
  .ri-top-meta{font-size:10px}
}


/* v1.7.0 — ranking USA rápido */
.ri-top10-note{
  margin:0 0 12px;
  padding:9px 12px;
  border:1px solid #dfe5eb;
  border-radius:9px;
  font-size:12px;
  line-height:1.45;
  color:#4b5563;
  background:#f8fafc;
}
.ri-top10-card .ri-top10-title span{color:#08783e}
.ri-top10-card:nth-child(n+1){min-height:155px}
@media(max-width:650px){
  .ri-top10-note{font-size:11px}
  .ri-top10-card{min-height:auto!important}
}

.ri-card small{display:block;margin-top:6px;font-size:11px;font-weight:500;line-height:1.35;color:#64748b}.ri-card{min-height:96px}

/* v2.0 data engine */
.ri-data-freshness{display:block;margin-top:6px;color:#64748b;font-size:11px}.ri-data-warning,.ri-api-status{display:block;margin:8px 0;color:#9a3412;font-size:12px}.ri-api-status{padding:10px 12px;border:1px solid #fdba74;border-radius:8px;background:#fff7ed}
/* v2.1 — cartera real, posiciones y fuentes */
.ri-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.ri-card-actions form{margin:0}.ri-delete-company{border:0;background:#fff0f0;color:#b42318;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12px}.ri-delete-company:hover{background:#fee2e2}.ri-news-sources{margin:26px 0}.ri-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.ri-source-card{border:1px solid #dfe5eb;border-radius:13px;background:#fff;padding:15px;display:flex;flex-direction:column;gap:7px}.ri-source-card strong{color:#111827}.ri-source-card small{color:#64748b;line-height:1.4}.ri-source-card span{font-size:10px;font-weight:700;color:#2563eb}.ri-source-add,.ri-add-position{margin-top:14px;border:1px solid #dfe5eb;border-radius:12px;padding:12px;background:#fafbfc}.ri-source-add summary,.ri-add-position summary{cursor:pointer;font-weight:700;color:#1f2937}.ri-source-form,.ri-position-form{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:8px;margin-top:12px}.ri-source-form input,.ri-position-form input,.ri-position-form select{min-width:0;padding:10px;border:1px solid #cfd6df;border-radius:8px}.ri-position-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.ri-position-summary>div{padding:13px;border:1px solid #e2e8f0;border-radius:11px;background:#fafbfc}.ri-position-summary span{display:block;color:#64748b;font-size:11px}.ri-position-summary strong{display:block;margin-top:5px;font-size:18px;color:#172033}.ri-position-list{margin-top:14px}.ri-position-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb;color:#374151;font-size:13px}.ri-position-row form{margin:0}.ri-position-row b{color:#111827}.ri-valuation-note{font-size:10px;color:#64748b}
@media(max-width:650px){.ri-card-actions{align-items:stretch;flex-direction:column}.ri-card-actions form,.ri-card-link,.ri-delete-company{width:100%}.ri-source-form,.ri-position-form,.ri-position-summary{grid-template-columns:1fr!important}.ri-position-row{grid-template-columns:1fr;align-items:start}.ri-source-grid{grid-template-columns:1fr}}

/* v2.2 — proveedores múltiples y acciones de eliminación legibles */
.ri-delete-company,
.ri-wrap .ri-delete-company,
.ri-company-card .ri-delete-company,
.ri-position-row .ri-delete-company{
  background:#c62828 !important;
  color:#fff !important;
  border:1px solid #b71c1c !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
.ri-delete-company *, .ri-delete-company:hover{color:#fff !important}
.ri-delete-company:hover{background:#a91f1f !important}
.ri-source-card{position:relative}
.ri-source-card span{color:#2563eb!important}
.ri-card-price .ri-price-source{display:block;font-size:10px;color:#64748b;margin-top:4px}

/* =========================================================
   ROCA INVESTMENT v2.5.1 — MOTOR AVANZADO + TARJETAS RESTAURADAS
   ========================================================= */
.ri-wrap{max-width:1200px;margin:0 auto;padding:16px;color:#172333}.ri-score-breakdown{display:grid;gap:12px}.ri-breakdown-head{display:grid;gap:4px;margin-bottom:4px}.ri-breakdown-head small{color:#657084}.ri-component{border:1px solid #dbe1ea;border-radius:12px;padding:11px;background:#fff}.ri-component>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.ri-component span{font-weight:700}.ri-component em{font-style:normal;font-size:12px;color:#657084;margin-left:5px}.ri-component b{font-size:16px}.ri-component i{display:block;height:6px;background:#e7ebf0;border-radius:99px;overflow:hidden;margin:8px 0}.ri-component i u{display:block;height:100%;background:#315fbd;border-radius:99px;text-decoration:none}.ri-component small{color:#596579;line-height:1.4}.ri-score-breakdown-compact{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.ri-score-breakdown-compact .ri-component{padding:8px}.ri-score-breakdown-compact .ri-component>div span{font-size:11px}.ri-score-breakdown-compact .ri-component>div b{font-size:13px}.ri-score-breakdown-compact .ri-component i{margin:6px 0;height:5px}.ri-company-view .ri-panel{margin-top:18px}.ri-news-list article{padding:14px 0;border-bottom:1px solid #e5e9ef}.ri-news-list p{margin:6px 0}.ri-news-list small{color:#687386}.ri-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:center}.ri-form input,.ri-form select,.ri-form textarea{width:100%;box-sizing:border-box}.ri-btn,.ri-delete-company{color:#fff!important;background:#315fbd;border:0;padding:10px 14px;border-radius:6px;cursor:pointer}.ri-delete-company{background:#c53b32!important;color:#fff!important}.ri-company-view table{width:100%;margin-top:14px}@media(max-width:640px){.ri-wrap{padding:10px}.ri-score-breakdown-compact{grid-template-columns:1fr}.ri-component{padding:10px}.ri-company-view table{display:block;overflow-x:auto}.ri-form{grid-template-columns:1fr}.ri-breakdown-head strong{font-size:18px}}
/* Restauración explícita del layout de tarjetas */
.ri-company-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.ri-company-card{display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid #e4e7eb!important;border-radius:18px!important;padding:20px!important;box-shadow:0 6px 24px rgba(16,24,39,.06)!important;min-width:0!important;box-sizing:border-box!important}
.ri-company-card>*{max-width:100%}.ri-company-card .ri-card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ri-company-card .ri-delete-company{color:#fff!important;background:#c53b32!important;border:0!important;padding:9px 13px!important;border-radius:8px!important;font-weight:700!important}
.ri-company-card .ri-card-link{display:inline-block;margin-top:0;padding-top:16px}
.ri-company-card .ri-score-breakdown-compact{display:grid!important;grid-template-columns:1fr 1fr!important}
@media(max-width:1100px){.ri-company-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.ri-company-cards{grid-template-columns:1fr!important}.ri-company-card{padding:16px!important}.ri-company-card .ri-score-breakdown-compact{grid-template-columns:1fr!important}}
/* v2.7.0 — Matriz de decisión y confirmaciones */
.ri-decision-flags{margin-top:10px;padding-top:8px;border-top:1px solid rgba(20,35,55,.12);display:grid;gap:5px}
.ri-decision-flags small{display:block;line-height:1.35;color:#5b4a28!important}
.ri-decision-panel{border-left:4px solid #8794a5}
.ri-decision-panel.buy{border-left-color:#2d7a55}
.ri-decision-panel.caution{border-left-color:#c2851d}
.ri-decision-panel.sell{border-left-color:#b33a32}
.ri-decision-state{font-size:18px;line-height:1.4}
.ri-disclaimer{margin-top:16px!important;padding-top:12px;border-top:1px solid #d8dde4;font-size:12px!important;line-height:1.5;color:#667085!important}
@media (max-width:700px){
 .ri-decision-flags small{font-size:12px}
 .ri-decision-state{font-size:16px}
}
/* FASE 5 — Portfolio Intelligence */
.ri-portfolio-intelligence{margin:24px 0}.ri-portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0}.ri-portfolio-card{border:1px solid #d8dee8;border-radius:16px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:6px;min-height:120px}.ri-portfolio-card span,.ri-portfolio-card small{color:#667085}.ri-portfolio-card strong{font-size:20px;color:#1d2939}.ri-portfolio-card b{font-size:15px;color:#315ea8}.ri-portfolio-risk{padding:7px 12px;border-radius:999px;background:#fff3cd;color:#7a5600;font-weight:700}.ri-portfolio-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.ri-portfolio-panel h3{margin-top:0}.ri-allocation-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.ri-allocation-row>div:first-child{display:flex;gap:8px;min-width:0}.ri-allocation-row span{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-allocation-row .ri-score-bar{grid-column:1/3}.ri-portfolio-alerts{margin:0;padding:0;list-style:none}.ri-portfolio-alerts li{padding:10px 0;border-bottom:1px solid #eef1f5}.ri-portfolio-ok{color:#217a42;font-weight:600}@media(max-width:900px){.ri-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ri-portfolio-columns{grid-template-columns:1fr}}@media(max-width:560px){.ri-portfolio-grid{grid-template-columns:1fr}.ri-portfolio-intelligence .ri-section-head{align-items:flex-start;gap:10px}.ri-portfolio-risk{font-size:12px}.ri-allocation-row>div:first-child{flex-direction:column;gap:2px}}
.ri-ranking-base{font-size:12px;opacity:.82;margin:4px 0 8px}.ri-top10-score small{font-size:11px;font-weight:600;opacity:.75}
/* FASE 6 — Centro de seguimiento */
.ri-alert-center{margin:24px 0;padding:0}.ri-alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.ri-alert-card{border:1px solid #d9dee7;border-radius:16px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:7px}.ri-alert-card span{font-size:.88rem}.ri-alert-card strong{font-size:1.7rem}.ri-alert-card small{line-height:1.45;color:#596273}.ri-alert-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.ri-alert-panel h3{margin-top:0}.ri-alert-list{list-style:none;padding:0;margin:0}.ri-alert-list li{display:grid;grid-template-columns:70px 1fr;gap:4px 10px;padding:12px 0;border-bottom:1px solid #edf0f4}.ri-alert-list li:last-child{border-bottom:0}.ri-alert-list li span{grid-column:2;color:#596273;font-size:.9rem}.ri-alert-list li.warning b{color:#9a5c00}.ri-alert-list li.positive b{color:#166534}.ri-priority-list{display:grid;gap:9px}.ri-priority-list div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f4}.ri-priority-list div:last-child{border-bottom:0}.ri-priority-list span{color:#596273;font-size:.9rem;text-align:right}.ri-alert-meta{white-space:nowrap}.ri-signal-change{margin:8px 0;font-size:.85rem;font-weight:600}.ri-alert-center .ri-disclaimer{margin-top:12px}@media(max-width:900px){.ri-alert-grid{grid-template-columns:1fr 1fr}.ri-alert-columns{grid-template-columns:1fr}}@media(max-width:560px){.ri-alert-grid{grid-template-columns:1fr}.ri-section-head{gap:8px}.ri-alert-meta{white-space:normal}.ri-alert-list li{grid-template-columns:1fr}.ri-alert-list li span{grid-column:1}.ri-priority-list div{align-items:flex-start;flex-direction:column;gap:3px}.ri-priority-list span{text-align:left}}


/* v3.2.0 — FASE 8 Portfolio Intelligence avanzado */
.ri-portfolio-advanced .ri-section-head{align-items:flex-start}.ri-portfolio-kpis .ri-portfolio-card{min-height:132px}.ri-portfolio-kpis strong{font-size:24px}.ri-portfolio-detail{margin-top:16px}.ri-performance-list{display:grid;gap:0}.ri-performance-list article{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e8ecf1}.ri-performance-list article:last-child{border-bottom:0}.ri-performance-list article>div{display:flex;flex-direction:column;gap:3px;min-width:0}.ri-performance-list span,.ri-performance-list small{color:#667085;font-size:12px}.ri-performance-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-performance-list b{font-size:14px;color:#1d2939}.ri-performance-list .ri-pos{color:#217a42}.ri-performance-list .ri-neg{color:#b42318}
@media(max-width:760px){.ri-performance-list article{grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}.ri-performance-list article>div:first-child{grid-column:1/-1}.ri-portfolio-kpis strong{font-size:21px}}
@media(max-width:460px){.ri-performance-list article{grid-template-columns:1fr}.ri-performance-list article>div:first-child{grid-column:auto}.ri-performance-list span{white-space:normal}.ri-portfolio-advanced .ri-portfolio-card{padding:15px}}

/* FASE 10 — Comparador inteligente */
.ri-comparison-board{margin:28px 0;padding:26px;border:1px solid #d7dee8;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.05)}
.ri-comparison-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.ri-comparison-kpi{padding:18px;border:1px solid #dce3ec;border-radius:16px;background:linear-gradient(180deg,#fff,#f7f9fc)}
.ri-comparison-kpi span,.ri-comparison-kpi small{display:block;color:#5b6778;font-size:12px}.ri-comparison-kpi strong{display:block;font-size:22px;margin:8px 0 3px;color:#18263a}.ri-comparison-kpi b{font-size:17px}
.ri-comparison-table-wrap{overflow:hidden}.ri-comparison-table{min-width:900px}.ri-comparison-head,.ri-comparison-row{display:grid;grid-template-columns:42px 1.25fr .7fr .7fr .7fr .7fr .7fr 2fr;gap:12px;align-items:center}.ri-comparison-head{padding:10px 12px;border-bottom:1px solid #dce3ec;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ri-comparison-row{padding:14px 12px;border-bottom:1px solid #edf1f5}.ri-comparison-row:last-child{border-bottom:0}.ri-rank-number{font-weight:800;color:#64748b}.ri-comparison-company strong{display:block}.ri-comparison-company small{color:#64748b}.ri-comparison-score{font-weight:800}.ri-comparison-score.bullish{color:#177245}.ri-comparison-score.bearish{color:#b84232}.ri-comparison-reading small{display:block;font-size:11px;line-height:1.5;color:#5b6778}.ri-comparison-reading b{color:#24344a}
@media(max-width:900px){.ri-comparison-kpis{grid-template-columns:1fr}.ri-comparison-table-wrap{overflow-x:auto}.ri-comparison-board{padding:18px}}
.ri-notice.ri-success{margin:0 0 14px;padding:12px 15px;border:1px solid #b8ddc4;border-radius:10px;background:#f1faf4;color:#1f6a3d;font-weight:600}

.ri-source-weight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.ri-source-pending{opacity:.75}.ri-source-pending em{display:block;margin-top:8px;font-size:12px;font-style:normal}
