.atp-portfolio,.atp-front-locked,.atp-front-message { --at-primary:#004666; --at-positive:#087d59; --at-negative:#b23845; --at-border:#d8e3e6; color:#183642; font-size:15px; }
.atp-portfolio *,.atp-front-locked * { box-sizing:border-box; }
.wp-site-blocks .atp-portfolio,.atp-portfolio { background:#fff; border:1px solid var(--at-border); border-radius:16px; box-shadow:0 18px 48px rgba(0,52,77,.08); left:50%; margin:24px 0!important; max-width:1180px!important; overflow:hidden; position:relative; transform:translateX(-50%); width:calc(100vw - 40px)!important; }
.atp-portfolio-header { align-items:center; background:#f4f8f8; border-bottom:1px solid var(--at-border); display:flex; justify-content:space-between; gap:24px; padding:24px 28px; }
.atp-portfolio-header p { color:#0081ae; font-size:11px; font-weight:800; letter-spacing:.12em; margin:0 0 5px; }
.atp-portfolio-header h2 { color:var(--at-primary); font-size:30px; line-height:1.1; margin:0 0 7px; }
.atp-portfolio-header>div>span { color:#627e89; }
.atp-live-status { align-items:flex-start; display:grid; grid-template-columns:10px 1fr; max-width:310px; }
.atp-live-dot { background:#16a573; border-radius:50%; height:9px; margin-top:5px; width:9px; }
.atp-portfolio.is-quotes-closed .atp-live-dot { background:#7b9098; }
.atp-portfolio.is-quotes-delayed .atp-live-dot { background:#d58a20; box-shadow:0 0 0 3px rgba(213,138,32,.13); }
.atp-portfolio.is-quotes-delayed .atp-live-status small { color:#985f10; font-weight:700; }
.atp-live-status strong,.atp-live-status small { grid-column:2; }
.atp-live-status small { color:#66818c; margin-top:3px; }
.atp-front-metrics { display:grid; gap:1px; grid-template-columns:repeat(6,minmax(0,1fr)); background:var(--at-border); border-bottom:1px solid var(--at-border); }
.atp-front-metrics>div { background:#fff; padding:15px 16px; }
.atp-front-metrics span { color:#66818c; display:block; font-size:11px; margin-bottom:6px; text-transform:uppercase; }
.atp-front-metrics strong { color:var(--at-primary); font-size:17px; }
.atp-front-table-wrap { overflow-x:visible; }
.atp-front-table { border-collapse:separate; border-spacing:0; min-width:0; table-layout:fixed; width:100%; }
/* Ticker admite hasta siete caracteres (por ejemplo, OHLA.MC). A partir de
   ahí se conserva el truncado con puntos suspensivos sin ampliar la tabla. */
.atp-front-table col.atp-col-ticker { width:6.6%; }
.atp-front-table col.atp-col-date { width:6%; }
.atp-front-table col.atp-col-buy { width:4.6%; }
.atp-front-table col.atp-col-stop { width:4.6%; }
.atp-front-table col.atp-col-stop-pct { width:5.2%; }
.atp-front-table col.atp-col-partial { width:3.2%; }
.atp-front-table col.atp-col-sell-pct { width:5.2%; }
.atp-front-table col.atp-col-target { width:5%; }
.atp-front-table col.atp-col-target-pct { width:5.2%; }
.atp-front-table col.atp-col-price { width:4.6%; }
.atp-front-table col.atp-col-var { width:5%; }
.atp-front-table col.atp-col-time { width:4%; }
.atp-front-table col.atp-col-return { width:5%; }
.atp-front-table col.atp-col-days { width:3.6%; }
.atp-front-table col.atp-col-capital { width:5.8%; }
.atp-front-table col.atp-col-pl { width:5%; }
.atp-front-table col.atp-col-strategy { width:7.2%; }
.atp-front-table col.atp-col-movement { width:14.2%; }
.atp-front-table th { background:#edf4f5; border-bottom:1px solid var(--at-border); color:#294b58; font-size:11px; padding:11px 4px; text-align:center; white-space:nowrap; }
.atp-front-table td { border-bottom:1px solid #e4ecee; font-size:12px; font-variant-numeric:tabular-nums; overflow:hidden; padding:11px 4px; text-align:center; text-overflow:ellipsis; vertical-align:middle; white-space:nowrap; }
/* Cabecera y datos comparten exactamente el mismo eje de cada columna. */
.atp-front-table th:not(.atp-front-sticky),.atp-front-table td:not(.atp-front-sticky) { padding-left:4px; padding-right:4px; }
.atp-target-plan-help { color:#627e89; font-size:12px; line-height:1.55; margin:0; padding:10px 12px; }
@media (min-width:901px) and (max-width:1300px) {
  .atp-front-table th:not(.atp-front-sticky),.atp-front-table td:not(.atp-front-sticky) { padding-left:3px; padding-right:3px; }
}
.atp-front-table tbody tr:hover td { background:#f7fafa; }
.atp-front-table tr.is-quote-delayed [data-atp-time] { color:#a5670f; font-weight:750; }
.atp-front-table tr.is-quote-delayed [data-atp-time]::after { background:#d58a20; border-radius:50%; content:""; display:inline-block; height:5px; margin-left:4px; vertical-align:middle; width:5px; }
.atp-front-table tr.is-quote-closed [data-atp-time] { color:#66818c; }
.atp-front-sticky { background:#fff; left:0; padding-left:4px!important; padding-right:4px!important; position:sticky; text-align:center; z-index:2; }
.atp-front-table th.atp-front-sticky { background:#edf4f5; z-index:3; }
.atp-front-change { border-radius:4px; font-weight:750; }
.atp-front-change.is-positive { color:var(--at-positive); }
.atp-front-change.is-negative { color:var(--at-negative); }
.atp-price-flash-up { animation:atp-price-up .9s ease-out; }
.atp-price-flash-down { animation:atp-price-down .9s ease-out; }
@keyframes atp-price-up { 0% { background:#bfead7; } 100% { background:transparent; } }
@keyframes atp-price-down { 0% { background:#f6cbd1; } 100% { background:transparent; } }
.atp-portfolio .is-positive { color:var(--at-positive); }
.atp-portfolio .is-negative { color:var(--at-negative); }
.atp-front-strategy { text-align:center; }
.atp-front-movement { text-align:left!important; vertical-align:middle; white-space:nowrap!important; }
.atp-movement-text { display:inline-block; font:inherit; line-height:inherit; max-width:100%; overflow:hidden; text-align:left; text-overflow:ellipsis; vertical-align:middle; white-space:nowrap; }
.atp-movement-alerts { display:flex; flex-wrap:wrap; gap:4px; justify-content:flex-start; margin-top:5px; }
.atp-front-alert { border-radius:999px; display:inline-block; font-size:10px; font-weight:750; margin:0; padding:3px 5px; width:max-content; }
.atp-front-alert.is-stop { background:#fae4e7; color:var(--at-negative); }
.atp-front-alert.is-target { background:#dff4ea; color:var(--at-positive); }
.atp-front-alert.is-hidden { display:none; }
.atp-front-empty { align-items:center; display:flex; flex-direction:column; gap:5px; padding:46px 20px; text-align:center; }
.atp-front-empty strong { color:var(--at-primary); font-size:20px; }
.atp-front-empty span { color:#66818c; }
.atp-front-locked { background:#f4f8f8; border:1px solid var(--at-border); border-radius:14px; margin:24px auto; max-width:760px; padding:38px; text-align:center; }
.atp-front-locked>span { color:#0081ae; font-size:11px; font-weight:800; letter-spacing:.12em; }
.atp-front-locked h2 { color:var(--at-primary); font-size:28px; margin:8px 0; }
.atp-front-locked a { background:var(--at-primary); border-radius:8px; color:#fff; display:inline-block; font-weight:750; margin-top:8px; padding:12px 18px; text-decoration:none; }
@media (max-width:1100px) { .atp-front-metrics { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) {
  .atp-portfolio { border-radius:10px; }
  .atp-portfolio-header { align-items:flex-start; flex-direction:column; padding:20px; }
  .atp-portfolio-header h2 { font-size:25px; }
  .atp-front-metrics { grid-template-columns:1fr 1fr; }
  .atp-front-metrics>div { padding:14px; }
  .atp-front-table-wrap { overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
  .atp-front-table { min-width:1180px; }
  .atp-front-table th { font-size:10px; padding-bottom:8px; padding-top:8px; }
  .atp-front-table td { font-size:11px; padding-bottom:9px; padding-top:9px; }
  .atp-front-table .atp-front-sticky { box-shadow:5px 0 8px rgba(0,52,77,.08); position:sticky; }
  .atp-front-table td.atp-front-sticky { background:#fff; }
  .atp-front-table th.atp-front-sticky { background:#edf4f5; }
}

/* Integración de carteras en la zona privada */
.atp-private-nav { align-items:center; display:flex; flex-wrap:wrap; gap:7px; margin:22px auto; max-width:1180px; padding:0 4px; }
.atp-private-nav a { background:#fff; border:1px solid var(--at-border); border-radius:999px; color:#315765; font-size:12px; font-weight:700; padding:9px 13px; text-decoration:none; }
.atp-private-nav a:hover,.atp-private-nav a.is-current { background:var(--at-primary); border-color:var(--at-primary); color:#fff; }
.atp-member-overview { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.atp-member-card { background:#fff; border:1px solid var(--at-border); border-radius:12px; box-shadow:0 12px 30px rgba(0,53,78,.035); min-width:0; padding:20px; }
.atp-member-card-head { align-items:flex-start; display:flex; gap:12px; justify-content:space-between; }
.atp-member-card-head span { color:#66818c; display:block; font-size:11px; }
.atp-member-card-head h2 { color:var(--at-primary); font-size:21px; margin:3px 0 0; }
.atp-member-card-head b { background:#e8f2f5; border-radius:7px; color:var(--at-primary); font-size:11px; padding:5px 8px; }
.atp-member-card-metrics { border-bottom:1px solid var(--at-border); border-top:1px solid var(--at-border); display:grid; gap:1px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:17px; padding:7px 0; }
.atp-member-card-metrics>div { padding:9px; }
.atp-member-card-metrics span { color:#66818c; display:block; font-size:10px; }
.atp-member-card-metrics strong { color:var(--at-primary); display:block; font-size:15px; margin-top:3px; overflow-wrap:anywhere; }
.atp-member-card-metrics .is-positive,.atp-member-quicklinks .is-positive { color:var(--at-positive); }
.atp-member-card-metrics .is-negative,.atp-member-quicklinks .is-negative { color:var(--at-negative); }
.atp-member-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.atp-member-card-actions a { background:var(--at-primary); border:1px solid var(--at-primary); border-radius:8px; color:#fff; flex:1 1 120px; font-size:12px; font-weight:750; padding:10px 12px; text-align:center; text-decoration:none; }
.atp-member-card-actions a+ a { background:#fff; color:var(--at-primary); }
.atp-member-movements { --atp-movement-grid:32px minmax(88px,120px) minmax(120px,165px) minmax(250px,1fr) 142px; display:grid; margin-top:12px; }
.atp-member-movement-filters { align-items:center; border-bottom:1px solid var(--at-border); display:flex; flex-wrap:wrap; gap:6px; padding:2px 0 12px; }
.atp-member-movement-filters>span { color:#66818c; font-size:10px; font-weight:750; letter-spacing:.04em; margin-right:4px; text-transform:uppercase; }
.atp-member-movement-filters button { background:#f1f6f7; border:1px solid #cddde1; border-radius:999px; color:#315765; cursor:pointer; font:inherit; font-size:11px; font-weight:750; line-height:1; min-height:32px; padding:8px 13px; }
.atp-member-movement-filters button:hover { background:#e5f0f2; border-color:#a9c7cf; color:var(--at-primary); }
.atp-member-movement-filters button[aria-pressed="true"] { background:var(--at-primary); border-color:var(--at-primary); color:#fff; }
.atp-member-filter-empty { color:#66818c; font-size:12px; padding:22px 0 10px; text-align:center; }
.atp-member-movements article[hidden],.atp-member-filter-empty[hidden] { display:none!important; }
.atp-member-movements-head,.atp-member-movements article { align-items:center; display:grid; gap:12px; grid-template-columns:var(--atp-movement-grid); }
.atp-member-movements-head { border-bottom:1px solid var(--at-border); color:#66818c; font-size:10px; font-weight:750; letter-spacing:.04em; padding:7px 0; text-transform:uppercase; }
.atp-member-movements article { border-bottom:1px solid var(--at-border); min-width:0; padding:9px 0; }
.atp-member-movement-mark { align-items:center; background:#e5f3ed; border-radius:8px; color:#087657; display:flex; font-size:16px; height:32px; justify-content:center; width:32px; }
.atp-member-movement-ticker,.atp-member-movement-detail { min-width:0; }
.atp-member-movement-ticker strong,.atp-member-movement-ticker small,.atp-member-movement-detail strong,.atp-member-movement-detail small { display:block; }
.atp-member-movement-ticker strong { color:var(--at-primary); font-size:14px; line-height:1.15; }
.atp-member-movement-ticker small { color:#7a9098; font-size:9px; margin-top:2px; }
.atp-member-movement-portfolio { color:#315765; font-size:12px; font-weight:700; }
.atp-member-movement-detail strong { color:#284a57; font-size:12px; line-height:1.2; }
.atp-member-movement-detail small { color:#66818c; font-size:10px; line-height:1.2; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.atp-member-movement-end { align-items:flex-end; display:flex; flex-direction:column; gap:2px; min-width:0; }
.atp-member-movement-end time { color:#66818c; font-size:11px; white-space:nowrap; }
.atp-member-movement-action { color:var(--at-primary); font-size:12px; font-weight:750; text-align:right; }
.atp-activity-heading { flex-wrap:wrap; }
.atp-activity-heading>div { flex:1 1 560px; min-width:0; }
.atp-member-portfolio-links { align-items:center; display:flex; flex-wrap:wrap; gap:6px; }
.atp-member-portfolio-links a { background:#edf4f5; border:1px solid #cddde1; border-radius:999px; color:var(--at-primary); font-size:12px; font-weight:700; padding:8px 12px; text-decoration:none; white-space:nowrap; }
.atp-member-portfolio-links a:hover { background:#e5f0f2; border-color:#a9c7cf; }
.atp-member-portfolio-links a:focus-visible { outline:2px solid var(--at-primary); outline-offset:3px; }
@media (max-width:700px) { .atp-activity-heading>div { flex-basis:auto; } .atp-member-portfolio-links { width:100%; } .atp-member-portfolio-links a { font-size:11px; padding:8px 10px; } }
.atp-member-movements.is-compact { margin-top:7px; }
.atp-member-movements.is-compact article { gap:8px; grid-template-columns:28px minmax(0,1fr) auto; padding:8px 0; }
.atp-member-movements.is-compact .atp-member-movement-mark { height:28px; width:28px; }
.atp-member-movements.is-compact .atp-member-movement-ticker { grid-column:2; grid-row:1; }
.atp-member-movements.is-compact .atp-member-movement-ticker small,.atp-member-movements.is-compact .atp-member-movement-portfolio { display:none; }
.atp-member-movements.is-compact .atp-member-movement-detail { grid-column:2; grid-row:2; }
.atp-member-movements.is-compact .atp-member-movement-end { grid-column:3; grid-row:1 / span 2; }
.atp-member-history-links { align-items:center; display:flex; flex-wrap:wrap; gap:8px; padding:15px 0 2px; }
.atp-member-history-links span { color:#66818c; font-size:11px; }
.atp-member-history-links a { background:#edf4f5; border-radius:999px; color:var(--at-primary); font-size:11px; font-weight:750; padding:7px 11px; text-decoration:none; }
.atp-member-empty { display:flex; flex-direction:column; gap:3px; padding:20px 0; }
.atp-member-empty strong { color:var(--at-primary); }
.atp-member-empty span { color:#66818c; font-size:11px; }
.atp-member-quicklinks { display:grid; margin-top:10px; }
.atp-member-quicklinks a { align-items:center; border-bottom:1px solid var(--at-border); color:inherit; display:flex; gap:12px; justify-content:space-between; padding:12px 0; text-decoration:none; }
.atp-member-quicklinks a:last-child { border-bottom:0; }
.atp-member-quicklinks span { color:var(--at-primary); font-weight:750; }
.atp-member-quicklinks small { color:#66818c; display:block; font-size:10px; font-weight:400; }
.atp-member-quicklinks strong { font-size:12px; }
@media (max-width:700px) {
  .atp-member-overview { grid-template-columns:1fr; }
  .atp-private-nav { gap:6px; margin:16px 0; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .atp-private-nav a { flex:0 0 auto; font-size:11px; padding:8px 11px; }
  .atp-member-movements-head { display:none; }
  .atp-member-movement-filters { align-items:flex-start; padding-bottom:10px; }
  .atp-member-movement-filters>span { flex:0 0 100%; margin:0 0 2px; }
  .atp-member-movement-filters button { flex:1 1 auto; padding-inline:9px; }
  .atp-member-movements article { gap:4px 9px; grid-template-columns:28px minmax(0,1fr) auto; padding:10px 0; }
  .atp-member-movement-mark { grid-row:1 / span 3; height:28px; width:28px; }
  .atp-member-movement-ticker { grid-column:2; grid-row:1; }
  .atp-member-movement-portfolio { font-size:10px; grid-column:2; grid-row:2; }
  .atp-member-movement-detail { grid-column:2; grid-row:3; }
  .atp-member-movement-end { grid-column:3; grid-row:1 / span 3; }
  .atp-member-movement-end time { font-size:10px; }
}

/* Publicaciones privadas generadas por los movimientos de cartera */
.atp-operation-notice { --at-primary:#004666; --at-positive:#087d59; --at-border:#d8e3e6; background:#fff; border:1px solid var(--at-border); border-radius:16px; box-shadow:0 18px 48px rgba(0,52,77,.07); color:#183642; margin:24px 0; overflow:hidden; padding:clamp(22px,4vw,38px); }
.atp-operation-kicker { color:#0081ae; font-size:11px; font-weight:800; letter-spacing:.12em; margin-bottom:8px; }
.atp-operation-notice h2 { color:var(--at-primary); font-size:clamp(25px,4vw,34px); line-height:1.12; margin:0 0 10px; }
.atp-operation-lead { color:#496773; font-size:16px; line-height:1.6; margin:0 0 24px; }
.atp-operation-data { background:#f4f8f8; border:1px solid var(--at-border); border-radius:12px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; overflow:hidden; }
.atp-operation-data>div { border-bottom:1px solid var(--at-border); padding:14px 16px; }
.atp-operation-data>div:nth-child(odd) { border-right:1px solid var(--at-border); }
.atp-operation-data dt { color:#66818c; font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.atp-operation-data dd { color:var(--at-primary); font-size:15px; font-weight:750; margin:5px 0 0; }
.atp-operation-notes { border-left:4px solid #008fc7; margin-top:20px; padding:3px 0 3px 15px; }
.atp-operation-notes strong { color:var(--at-primary); }
.atp-operation-notes p { color:#496773; margin:5px 0 0; }
.atp-operation-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.atp-operation-actions a { background:var(--at-primary); border:1px solid var(--at-primary); border-radius:8px; color:#fff; font-size:13px; font-weight:750; padding:11px 15px; text-decoration:none; }
.atp-operation-actions a+a { background:#fff; color:var(--at-primary); }
.atp-operation-disclaimer { border-top:1px solid var(--at-border); color:#78909a; font-size:11px; margin:24px 0 0; padding-top:16px; }
@media (max-width:600px) { .atp-operation-data { grid-template-columns:1fr; } .atp-operation-data>div:nth-child(odd) { border-right:0; } .atp-operation-actions a { text-align:center; width:100%; } }
.atp-operation-data .atp-operation-analysis{grid-column:1 / -1}
.atp-operation-analysis a{color:#006b91;text-decoration:underline;text-underline-offset:3px}
.atp-values-grid .atp-value-card.is-trading{background:linear-gradient(115deg,#0c1923,#102c3b);border-color:#274353;color:#e7f3f8}
.atp-values-grid .atp-value-card.is-trading h3 a,.atp-values-grid .atp-value-card.is-trading .atp-value-arrow{color:#fff}
.atp-values-grid .atp-value-card.is-trading p,.atp-values-grid .atp-value-card.is-trading span,.atp-values-grid .atp-value-card.is-trading footer{color:#a5c5d7}
.atp-values-grid .atp-value-card.is-trading footer b{color:#a5c5d7}
