/* ===========================
   Asistente de Inversión
   CSS v2
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#111827;
    color:#f8fafc;
    font-family:Arial,Helvetica,sans-serif;
}

header{
    background:#0f172a;
    color:#4ade80;
    font-size:34px;
    font-weight:bold;
    padding:22px 30px;
    border-bottom:1px solid #1e293b;
}

header i{margin-right:10px;}

#resumen{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    padding:24px;
    background:#1f2937;
}

.resumen-card{
    min-width:180px;
    background:#273449;
    border-radius:14px;
    padding:18px;
    text-align:center;
    font-size:18px;
    font-weight:bold;
}

.compra{background:#14532d;}
.mantener{background:#a16207;color:#111827;}
.venta{background:#7f1d1d;}
.actualizacion{background:#334155;}

#busqueda{
    display:flex;
    justify-content:center;
    padding:28px;
}

.busqueda-box{
    width:100%;
    max-width:900px;
    display:flex;
    align-items:center;
    gap:12px;
}

.busqueda-box i{
    color:#94a3b8;
    font-size:20px;
}

.busqueda-box input{
    flex:1;
    height:52px;
    background:#1f2937;
    color:white;
    border:2px solid #374151;
    border-radius:12px;
    padding:0 18px;
    font-size:18px;
    outline:none;
}

.busqueda-box input:focus{
    border-color:#3b82f6;
}

.busqueda-box input::placeholder{
    color:#94a3b8;
}

#agregarActivo{
    width:auto;
    min-width:150px;
    height:52px;
    padding:0 24px;
    background:#2563eb;
    color:white;
    border:none;
    border-radius:12px;
    font-size:17px;
    font-weight:bold;
    cursor:pointer;
    transition:.2s;
}

#agregarActivo:hover{
    background:#1d4ed8;
}

#actualizar{
    display:block;
    width:230px;
    margin:0 auto 30px;
    background:#2563eb;
    color:white;
    border:none;
    border-radius:10px;
    padding:14px;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
}

#watchlist{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
    gap:24px;
    padding:30px;
}

.card{
    background:#1f2937;
    border-radius:16px;
    padding:22px;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    transition:.25s;
}

.card:hover{
    transform:translateY(-5px);
}

.card h2{
    margin-bottom:16px;
}

.estado{
    margin-bottom:16px;
    font-size:18px;
    font-weight:bold;
}

.alcista{color:#22c55e;}
.bajista{color:#ef4444;}
.lateral{color:#facc15;}

table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:18px;
}

td{
    padding:8px 0;
}

td:last-child{
    text-align:right;
    font-weight:bold;
}

.buy,.sell,.hold{
    width:100%;
    border:none;
    border-radius:10px;
    padding:14px;
    font-size:17px;
    font-weight:bold;
    cursor:pointer;
}

.buy{background:#16a34a;color:white;}
.sell{background:#dc2626;color:white;}
.hold{background:#facc15;color:#111827;}

.confianza{
    text-align:center;
    margin-top:14px;
    color:#cbd5e1;
}

.progress{
    width:100%;
    height:10px;
    background:#334155;
    border-radius:999px;
    overflow:hidden;
    margin-top:10px;
}

.progress-bar{
    height:100%;
}

.motivos{
    margin-top:20px;
    border-top:1px solid #374151;
    padding-top:14px;
}

.motivos h3{
    margin-bottom:10px;
    color:#4ade80;
}

.motivos ul{
    padding-left:20px;
}

.motivos li{
    margin-bottom:8px;
    color:#d1d5db;
}

a{
    color:#60a5fa;
    text-decoration:none;
}

@media (max-width:700px){

    header{
        font-size:26px;
    }

    .busqueda-box{
        flex-direction:column;
    }

    .busqueda-box input,
    #agregarActivo{
        width:100%;
    }

    #watchlist{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   UI V3.2 - BOTONES Y VIGILAR
   ========================================================== */

.topbar{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 28px;
    background:#08111f;
    border-bottom:1px solid #1d2b3e;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:#00e58a;
    font-size:27px;
    font-weight:800;
}

.logo i{
    font-size:28px;
}

.topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.top-action{
    min-width:150px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 20px;
    border-radius:9px;
    border:1px solid transparent;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    transition:.18s ease;
}

.top-action:hover{
    transform:translateY(-1px);
}

.top-action.primary{
    background:#2563eb;
    color:#fff;
    box-shadow:0 7px 18px rgba(37,99,235,.20);
}

.top-action.primary:hover{
    background:#1d4ed8;
}

.top-action.logout{
    background:rgba(239,35,60,.04);
    color:#ff4054;
    border-color:#ff334a;
}

.top-action.logout:hover{
    background:rgba(239,35,60,.12);
    box-shadow:0 7px 18px rgba(239,35,60,.12);
}

.vigilar{
    background:linear-gradient(135deg,#7e22ce,#581c87);
    color:#fff;
    border:1px solid rgba(192,132,252,.9);
    box-shadow:inset 0 0 18px rgba(168,85,247,.12);
}

.vigilar .icono{
    color:#e9d5ff;
}

.watch{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:rgba(168,85,247,.10);
    color:#c084fc;
    border:1px solid #a855f7;
    border-radius:8px;
    padding:11px 14px;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
    transition:.18s ease;
}

.watch:hover{
    background:rgba(168,85,247,.20);
    color:#d8b4fe;
    border-color:#c084fc;
    transform:translateY(-1px);
}

.buy,
.sell,
.hold{
    min-height:44px;
    transition:.18s ease;
}

.buy:hover,
.sell:hover,
.hold:hover{
    transform:translateY(-1px);
}

#toast{
    position:fixed;
    right:22px;
    bottom:22px;
    min-width:260px;
    max-width:420px;
    padding:14px 18px;
    border-radius:9px;
    background:#172334;
    color:#fff;
    border:1px solid #33465e;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:.22s ease;
    z-index:2000;
}

#toast.show{
    opacity:1;
    transform:translateY(0);
}

#toast.success{
    border-color:#00c875;
}

#toast.error{
    border-color:#ef233c;
}

@media (max-width:900px){
    .topbar{
        flex-direction:column;
        align-items:stretch;
    }

    .topbar-actions{
        justify-content:center;
    }
}

@media (max-width:700px){
    .topbar-actions{
        flex-direction:column;
    }

    .top-action{
        width:100%;
    }
}


/* ==========================================================
   UI V3.2.1 - CORRECCIONES DE CABECERA Y PAPELERA
   No altera la lógica ni el motor de puntuación.
   ========================================================== */

/* La cabecera del dashboard usa botones sin clases .top-action.
   Evitamos que #actualizar herede el estilo antiguo del botón
   centrado debajo del resumen. */
.topbar > div:last-child{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    margin:0 !important;
}

.topbar > div:last-child button{
    min-width:136px;
    height:42px;
    margin:0 !important;
    padding:0 18px;
    border-radius:8px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:.18s ease;
}

.topbar > div:last-child #actualizar{
    width:auto !important;
    background:#2563eb;
    color:#fff;
    box-shadow:0 6px 16px rgba(37,99,235,.18);
}

.topbar > div:last-child #actualizar:hover{
    background:#1d4ed8;
    transform:translateY(-1px);
}

.topbar > div:last-child button:not(#actualizar){
    width:auto !important;
    background:rgba(239,35,60,.04);
    color:#ff4054;
    border-color:#ff334a;
}

.topbar > div:last-child button:not(#actualizar):hover{
    background:rgba(239,35,60,.12);
    transform:translateY(-1px);
}

/* Papelera de cada tarjeta.
   app.js ya genera .eliminar y llama a eliminarActivo(). */
.card{
    position:relative;
}

.card .eliminar{
    position:absolute !important;
    top:12px !important;
    right:12px !important;

    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    padding:0 !important;
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:rgba(239,68,68,.10) !important;
    color:#f87171 !important;
    border:1px solid rgba(239,68,68,.38) !important;
    border-radius:7px !important;

    font-size:12px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:20 !important;

    opacity:.90;
    transition:.18s ease;
}

.card .eliminar:hover{
    background:#dc2626 !important;
    color:#fff !important;
    border-color:#ef4444 !important;
    transform:scale(1.06);
}

/* Deja espacio para que el símbolo no choque con la papelera. */
.card h2{
    padding-right:38px;
}

/* En pantallas pequeñas la cabecera sigue siendo usable. */
@media(max-width:700px){
    .topbar > div:last-child{
        width:100%;
        justify-content:stretch !important;
    }

    .topbar > div:last-child button{
        flex:1;
    }
}


/* ==========================================================
   BUSCADOR V4.2
   Resultados alineados debajo del campo de búsqueda.
   La navegación por teclado la gestiona search_keyboard_v4_2_0.js
   ========================================================== */

#resultadosBusqueda{
    left:36px !important;
    right:auto !important;
    width:calc(100% - 201px) !important;
    top:58px !important;
}

.resultado-activo{
    background:#334155 !important;
    outline:1px solid rgba(96,165,250,.75);
    outline-offset:-1px;
}


/* ==========================================================
   V3.2.3 - RECUPERACION DEL DASHBOARD
   - Cabecera: Actualizar + Cerrar sesión
   - Resumen: Comprar / Mantener / Vender / Vigilar / Actualizado
   - Buscador: resultados debajo del input
   - El contenedor de resultados no participa en el flex del buscador
   ========================================================== */

/* ---------- CABECERA ---------- */

.topbar{
    min-height:88px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:18px 28px !important;
}

.topbar-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}

.top-action{
    min-width:136px !important;
    width:auto !important;
    height:42px !important;
    margin:0 !important;
    padding:0 18px !important;
    border-radius:8px !important;
    border:1px solid transparent !important;
    font-size:13px !important;
    font-weight:800 !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
}

.top-action.primary{
    background:#2563eb !important;
    color:#fff !important;
}

.top-action.primary:hover{
    background:#1d4ed8 !important;
    transform:translateY(-1px);
}

.top-action.logout{
    background:rgba(239,35,60,.04) !important;
    color:#ff4054 !important;
    border-color:#ff334a !important;
}

.top-action.logout:hover{
    background:rgba(239,35,60,.12) !important;
    transform:translateY(-1px);
}

/* ---------- RESUMEN ---------- */

#resumen{
    display:flex !important;
    justify-content:center !important;
    align-items:stretch !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    padding:16px 20px !important;
}

.resumen-card{
    min-width:108px !important;
    width:108px !important;
    min-height:66px !important;
    padding:10px 12px !important;
    border-radius:9px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

.resumen-card .icono{
    font-size:12px !important;
    line-height:1 !important;
    margin-bottom:3px !important;
}

.resumen-card small{
    font-size:10px !important;
    font-weight:800 !important;
}

.resumen-card h2{
    font-size:18px !important;
    line-height:1.05 !important;
    margin:2px 0 0 !important;
}

.resumen-card.vigilar{
    background:linear-gradient(135deg,#7e22ce,#581c87) !important;
    color:#fff !important;
    border:1px solid rgba(192,132,252,.9) !important;
}

/* ---------- BUSCADOR ---------- */

.busqueda-box{
    position:relative !important;
    width:100% !important;
    max-width:900px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

.busqueda-box input{
    flex:1 1 auto !important;
    min-width:0 !important;
}

#resultadosBusqueda{
    position:absolute !important;
    z-index:1000 !important;

    /* exactamente debajo del campo, sin convertirse en un item flex */
    left:32px !important;
    right:162px !important;
    top:58px !important;

    width:auto !important;
    max-height:300px !important;
    overflow-y:auto !important;

    background:#172334 !important;
    border:1px solid #3a4a61 !important;
    border-radius:8px !important;
    box-shadow:0 12px 30px rgba(0,0,0,.45) !important;
}

#resultadosBusqueda .resultado{
    display:flex !important;
    flex-direction:column !important;
    gap:2px !important;
    padding:10px 13px !important;
    cursor:pointer !important;
    border-bottom:1px solid rgba(71,85,105,.45) !important;
    background:#172334 !important;
}

#resultadosBusqueda .resultado:last-child{
    border-bottom:none !important;
}

#resultadosBusqueda .resultado:hover,
#resultadosBusqueda .resultado.resultado-activo{
    background:#334155 !important;
    outline:1px solid rgba(96,165,250,.75) !important;
    outline-offset:-1px !important;
}

#resultadosBusqueda .resultado strong{
    color:#f8fafc !important;
    font-size:13px !important;
    font-weight:900 !important;
}

#resultadosBusqueda .resultado small{
    color:#cbd5e1 !important;
    font-size:11px !important;
    line-height:1.2 !important;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:900px){
    .topbar-actions{
        gap:8px !important;
    }

    .top-action{
        min-width:120px !important;
        padding:0 12px !important;
    }
}

@media(max-width:700px){
    .topbar{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .topbar-actions{
        width:100% !important;
        justify-content:stretch !important;
    }

    .top-action{
        flex:1 !important;
        width:auto !important;
    }

    .busqueda-box{
        flex-wrap:wrap !important;
    }

    #resultadosBusqueda{
        left:32px !important;
        right:0 !important;
        top:58px !important;
    }
}


/* ==========================================================
   V3.2.4 - AJUSTE FINAL DEL DASHBOARD
   - Recupera los avisos flotantes (#toast)
   - Aumenta SOLO los textos de las tarjetas superiores
   - Mantiene la estructura y tamaño de las tarjetas de activos
   ========================================================== */

#resumen{
    gap:14px !important;
    padding:18px 20px !important;
}

.resumen-card{
    min-width:125px !important;
    width:125px !important;
    min-height:78px !important;
    padding:11px 12px !important;
}

.resumen-card .icono{
    font-size:14px !important;
    line-height:1 !important;
    margin-bottom:4px !important;
}

.resumen-card small{
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
}

.resumen-card h2{
    font-size:23px !important;
    line-height:1.05 !important;
    margin:3px 0 0 !important;
}

/* Vigilar conserva el morado de la versión anterior. */
.resumen-card.vigilar{
    background:linear-gradient(135deg,#7e22ce,#581c87) !important;
    color:#fff !important;
    border:1px solid rgba(192,132,252,.9) !important;
}

/* Avisos flotantes: app.js ya los genera; aquí solo aseguramos
   que estén visibles por encima de las tarjetas. */
#toast{
    position:fixed !important;
    right:22px !important;
    bottom:22px !important;
    min-width:260px !important;
    max-width:420px !important;
    padding:14px 18px !important;
    border-radius:9px !important;
    background:#172334 !important;
    color:#fff !important;
    border:1px solid #33465e !important;
    box-shadow:0 12px 30px rgba(0,0,0,.35) !important;
    opacity:0 !important;
    transform:translateY(12px) !important;
    pointer-events:none !important;
    transition:.22s ease !important;
    z-index:5000 !important;
}

#toast.show{
    opacity:1 !important;
    transform:translateY(0) !important;
}

#toast.success{
    border-color:#00c875 !important;
}

#toast.error{
    border-color:#ef233c !important;
}

@media(max-width:700px){
    .resumen-card{
        min-width:110px !important;
        width:110px !important;
        min-height:72px !important;
    }

    .resumen-card small{
        font-size:12px !important;
    }

    .resumen-card h2{
        font-size:21px !important;
    }
}


/* ==========================================================
   V3.2.5 - RESUMEN SUPERIOR COMPACTO Y LEGIBLE
   Mantener los cinco bloques en UNA sola línea.
   Solo aumenta la tipografía; no se agrandan los botones.
   ========================================================== */

#resumen{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:16px 12px !important;
    overflow-x:auto !important;
}

.resumen-card{
    flex:0 0 108px !important;
    min-width:108px !important;
    width:108px !important;
    min-height:66px !important;
    padding:9px 8px !important;
}

.resumen-card .icono{
    font-size:13px !important;
    margin-bottom:3px !important;
}

.resumen-card small{
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:.1px !important;
}

.resumen-card h2{
    font-size:21px !important;
    line-height:1.05 !important;
    margin:3px 0 0 !important;
}

/* En pantallas suficientemente anchas, los cinco quedan centrados. */
@media(min-width:900px){
    #resumen{
        overflow-x:visible !important;
    }
}

/* En móvil se mantiene una sola línea y se puede desplazar horizontalmente. */
@media(max-width:899px){
    #resumen{
        justify-content:flex-start !important;
    }
}


/* ==========================================================
   V5 UI - CONFIANZA Y OPORTUNIDAD SEPARADAS
   Solo presentación. No modifica ninguna lógica del motor.
   ========================================================== */

.confianza,
.oportunidad{
    text-align:center;
    margin-top:14px;
    padding:11px 12px;
    border-radius:10px;
    font-weight:800;
    line-height:1.35;
}

.confianza{
    color:#e2e8f0;
    background:rgba(59,130,246,.08);
    border:1px solid rgba(59,130,246,.35);
}

.oportunidad{
    color:#f8fafc;
    background:rgba(168,85,247,.08);
    border:1px solid rgba(168,85,247,.35);
}

.confianza i,
.oportunidad i{
    margin-right:6px;
}

.confianza{
    font-size:15px;
}

.oportunidad{
    font-size:15px;
}

.confianza + .oportunidad{
    margin-top:9px;
}

/* La barra sigue perteneciendo exclusivamente a CONFIANZA. */
.confianza + .oportunidad + .progress{
    margin-top:10px;
}

/* Página individual del activo: mismas dos métricas independientes. */
.asset-confidence{
    text-align:center;
    margin-top:14px;
    padding:11px 12px;
    border-radius:10px;
    color:#e2e8f0;
    background:rgba(59,130,246,.08);
    border:1px solid rgba(59,130,246,.35);
    font-weight:800;
}

.asset-opportunity{
    text-align:center;
    margin-top:9px;
    padding:11px 12px;
    border-radius:10px;
    color:#f8fafc;
    background:rgba(168,85,247,.08);
    border:1px solid rgba(168,85,247,.35);
    font-weight:800;
}


/* ==========================================================
   ALPACA PAPER PORTFOLIO
   TradingAssistant V5 - Professional Cards
   ========================================================== */

#alpaca-account,
#alpaca-portfolio,
#watchlist-section {
    width: calc(100% - 20px);
    margin: 18px auto;
}


/* ==========================================================
   CABECERAS
   ========================================================== */

#alpaca-account .section-title,
#alpaca-portfolio .section-title,
#watchlist-section .section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px 9px 0 0;
    background:
        linear-gradient(
            90deg,
            rgba(30,48,72,.98),
            rgba(22,37,58,.98)
        );
    color: #f1f5f9;
    font-size: 14px;
    font-weight: 700;
    box-sizing: border-box;
}

#alpaca-account .section-title > div,
#alpaca-portfolio .section-title > div,
#watchlist-section .section-title > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

#alpaca-account .section-title i,
#alpaca-portfolio .section-title i,
#watchlist-section .section-title i {
    color: #60a5fa;
    font-size: 15px;
}

#alpaca-portfolio .section-title i {
    color: #34d399;
}

#watchlist-section .section-title i {
    color: #a78bfa;
}


/* ==========================================================
   ESTADO ALPACA
   ========================================================== */

.alpaca-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 10px;
    border-radius: 20px;
    background: rgba(100,116,139,.18);
    border: 1px solid rgba(148,163,184,.18);
    color: #cbd5e1;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.alpaca-status.activo {
    color: #4ade80;
    background: rgba(34,197,94,.10);
    border-color: rgba(34,197,94,.28);
}

.alpaca-status.error {
    color: #f87171;
    background: rgba(239,68,68,.10);
    border-color: rgba(239,68,68,.28);
}


/* ==========================================================
   CUENTA ALPACA
   ========================================================== */

#alpaca-account {
    background: #111d2e;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,.16);
}

.alpaca-account-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    padding: 12px;
    background: rgba(9,18,31,.55);
}

.alpaca-account-card {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 7px;
    background:
        linear-gradient(
            145deg,
            rgba(43,60,85,.92),
            rgba(31,47,70,.92)
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 2px 7px rgba(0,0,0,.12);
}

.alpaca-account-card small {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.alpaca-account-card small i {
    color: #60a5fa;
}

.alpaca-account-card strong {
    display: block;
    color: #f8fafc;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}


/* ==========================================================
   CARTERA
   ========================================================== */

#alpaca-portfolio {
    background: #111d2e;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,.16);
}

#alpaca-positions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    padding: 12px;
    background: rgba(9,18,31,.55);
}


/* ==========================================================
   TARJETA DE POSICIÓN V5
   ========================================================== */

.alpaca-position-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 9px;
    background:
        linear-gradient(
            145deg,
            #202e43,
            #182536
        );
    box-shadow:
        0 3px 10px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.025);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.alpaca-position-card:hover {
    transform: translateY(-2px);
    border-color: rgba(96,165,250,.30);
    box-shadow:
        0 8px 20px rgba(0,0,0,.24),
        0 0 0 1px rgba(96,165,250,.05);
}


/* ==========================================================
   CABECERA DE POSICIÓN
   ========================================================== */

.alpaca-position-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.v5-position-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
}

.alpaca-position-header h2 {
    margin: 0;
    color: #f8fafc;
    font-size: 20px;
    font-weight: 850;
    letter-spacing: .3px;
    line-height: 1.1;
}

.alpaca-position-side {
    display: inline-block;
    margin-top: 5px;
    color: #64748b;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
}


/* ==========================================================
   SCORE V5
   ========================================================== */

.v5-score-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 5px 8px;
    border-radius: 7px;
    background: rgba(96,165,250,.08);
    border: 1px solid rgba(96,165,250,.18);
}

.v5-score-badge small {
    color: #7890aa;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.v5-score-badge strong {
    margin-top: 2px;
    color: #dbeafe;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}


/* ==========================================================
   RESULTADO ALPACA
   ========================================================== */

.alpaca-position-result {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    min-width: 75px;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.alpaca-position-result i {
    margin-right: 3px;
}

.alpaca-position-result small {
    font-size: 10px;
    font-weight: 700;
}

.alpaca-profit {
    color: #4ade80;
}

.alpaca-loss {
    color: #f87171;
}

.alpaca-neutral {
    color: #cbd5e1;
}


/* ==========================================================
   DATOS DE POSICIÓN
   ========================================================== */

.alpaca-position-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}

.alpaca-position-grid > div {
    padding: 9px 10px;
    border-radius: 6px;
    background: rgba(8,18,31,.34);
    border: 1px solid rgba(255,255,255,.035);
}

.alpaca-position-grid small {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
    color: #8291a7;
    font-size: 9px;
    font-weight: 600;
}

.alpaca-position-grid small i {
    color: #64748b;
}

.alpaca-position-grid strong {
    display: block;
    color: #e2e8f0;
    font-size: 12px;
    font-weight: 700;
}


/* ==========================================================
   BLOQUE TRADINGASSISTANT V5
   ========================================================== */

.v5-analysis {
    margin-top: 12px;
    padding: 11px;
    border-radius: 8px;
    background:
        linear-gradient(
            145deg,
            rgba(9,18,31,.48),
            rgba(13,25,41,.60)
        );
    border: 1px solid rgba(255,255,255,.055);
}

.v5-analysis-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 8px;
    margin-bottom: 9px;
    border-bottom: 1px solid rgba(255,255,255,.055);
}

.v5-analysis-header > span:first-child {
    color: #cbd5e1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
}

.v5-analysis-header i {
    color: #a78bfa;
    margin-right: 5px;
}

.v5-engine-version {
    color: #64748b;
    font-size: 8px;
    font-weight: 600;
}


/* ==========================================================
   SEÑAL + CONFIANZA
   ========================================================== */

.v5-signal-row {
    display: grid;
    grid-template-columns: 1.35fr .85fr;
    gap: 8px;
}

.v5-signal,
.v5-confidence {
    min-height: 54px;
    padding: 9px 10px;
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.v5-signal {
    border: 1px solid rgba(255,255,255,.06);
}

.v5-signal .v5-label,
.v5-confidence .v5-label {
    margin-bottom: 4px;
    color: #7f8ea3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .55px;
}

.v5-signal strong {
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .15px;
}

.v5-confidence {
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.05);
}

.v5-confidence strong {
    color: #f8fafc;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.v5-confidence small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700;
}


/* SEÑALES */

.v5-buy {
    color: #4ade80;
    background: rgba(34,197,94,.08);
    border-color: rgba(34,197,94,.20);
}

.v5-sell {
    color: #f87171;
    background: rgba(239,68,68,.08);
    border-color: rgba(239,68,68,.20);
}

.v5-watch {
    color: #facc15;
    background: rgba(250,204,21,.07);
    border-color: rgba(250,204,21,.18);
}

.v5-neutral {
    color: #cbd5e1;
    background: rgba(148,163,184,.06);
    border-color: rgba(148,163,184,.14);
}


/* ==========================================================
   MÉTRICAS V5
   ========================================================== */

.v5-metrics {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    margin-top: 8px;
}

.v5-metrics > div {
    min-width: 0;
    padding: 7px 6px;
    border-radius: 6px;
    background: rgba(255,255,255,.022);
    border: 1px solid rgba(255,255,255,.035);
}

.v5-metrics small {
    display: block;
    margin-bottom: 3px;
    color: #718096;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.v5-metrics strong {
    display: block;
    color: #dbe4ef;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.25;
}


/* ==========================================================
   RIESGO
   ========================================================== */

.v5-risk-high {
    color: #f87171 !important;
}

.v5-risk-medium {
    color: #facc15 !important;
}

.v5-risk-low {
    color: #4ade80 !important;
}

.v5-risk-neutral {
    color: #cbd5e1 !important;
}


/* ==========================================================
   CALIDAD V5
   ========================================================== */

.v5-quality {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 6px;
    margin-top: 8px;
}

.v5-quality > div {
    min-width: 0;
    padding: 7px 8px;
    border-radius: 6px;
    background: rgba(167,139,250,.035);
    border: 1px solid rgba(167,139,250,.08);
}

.v5-quality small {
    display: block;
    margin-bottom: 3px;
    color: #7d8195;
    font-size: 8px;
    font-weight: 650;
    line-height: 1.2;
}

.v5-quality strong {
    display: block;
    color: #ddd6fe;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
}


/* ==========================================================
   CONTADORES
   ========================================================== */

#alpaca-positions-count,
#watchlist-count {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}


/* ==========================================================
   LOADING / ESTADO VACÍO
   ========================================================== */

#alpaca-positions .loading {
    grid-column: 1 / -1;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #94a3b8;
    font-size: 12px;
    background: rgba(15,27,44,.55);
    border: 1px dashed rgba(148,163,184,.16);
    border-radius: 7px;
}

#alpaca-positions .loading p {
    margin: 0;
}


/* ==========================================================
   WATCHLIST
   ========================================================== */

#watchlist-section {
    background: transparent;
}

#watchlist-section .section-title {
    margin-bottom: 10px;
}

#watchlist-section #watchlist {
    width: 100%;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {

    .alpaca-account-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    #alpaca-positions {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .v5-metrics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 700px) {

    #alpaca-account,
    #alpaca-portfolio,
    #watchlist-section {
        width: calc(100% - 12px);
    }

    .alpaca-account-grid,
    #alpaca-positions {
        grid-template-columns: 1fr;
    }

    #alpaca-account .section-title,
    #alpaca-portfolio .section-title,
    #watchlist-section .section-title {
        padding: 0 11px;
    }

    .alpaca-account-card strong {
        font-size: 17px;
    }

    .v5-position-title {
        gap: 8px;
    }

    .alpaca-position-header {
        gap: 7px;
    }

    .alpaca-position-header h2 {
        font-size: 18px;
    }

    .v5-score-badge {
        min-width: 52px;
    }

    .v5-signal-row {
        grid-template-columns: 1fr;
    }

    .v5-metrics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .v5-quality {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   FIN ALPACA PAPER PORTFOLIO
   ========================================================== */

   ========================================================== */


/* ==========================================================
   TRADINGASSISTANT V5 — POLISHED PORTFOLIO CARDS
   Override visual sobre la versión actual.
   ========================================================== */

#alpaca-portfolio {
    background: #0d1828;
    border-color: rgba(96,165,250,.16);
}

#alpaca-positions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
}

.alpaca-position-card.v5-position-card {
    padding: 10px;
    border-radius: 8px;
    background: linear-gradient(145deg, #18283b, #142235);
    border: 1px solid rgba(148,163,184,.14);
}

.v5-position-title {
    align-items: flex-start;
}

.v5-position-title h2,
.alpaca-position-header h2 {
    font-size: 17px;
    line-height: 1.05;
}

.alpaca-position-side {
    font-size: 9px;
}

.v5-score-badge {
    min-width: 54px;
    padding: 5px 7px;
    border: 1px solid rgba(96,165,250,.20);
    border-radius: 6px;
    background: rgba(8,18,31,.48);
    text-align: center;
}

.v5-score-badge small {
    display: block;
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700;
}

.v5-score-badge strong {
    display: block;
    color: #f8fafc;
    font-size: 16px;
    line-height: 1;
}

.alpaca-position-result {
    font-size: 12px;
    line-height: 1.15;
}

.alpaca-position-result small {
    font-size: 9px;
}

.alpaca-position-grid {
    gap: 6px;
}

.alpaca-position-grid > div {
    padding: 7px 8px;
}

.alpaca-position-grid small {
    margin-bottom: 4px;
    font-size: 9px;
}

.alpaca-position-grid strong {
    font-size: 11px;
}

/* ---------------- V5 ---------------- */

.v5-analysis {
    margin-top: 8px;
    padding: 8px;
    border: 1px solid rgba(96,165,250,.12);
    border-radius: 7px;
    background: rgba(7,17,30,.38);
}

.v5-analysis-header {
    font-size: 8px;
    letter-spacing: .35px;
}

.v5-engine-version {
    font-size: 8px;
}

.v5-signal-row {
    display: grid;
    grid-template-columns: 1.35fr .65fr .65fr;
    gap: 6px;
    margin-top: 6px;
}

.v5-signal {
    min-height: 46px;
    padding: 7px 8px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.v5-signal .v5-label,
.v5-confidence .v5-label {
    font-size: 8px;
    letter-spacing: .5px;
}

.v5-signal strong {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.05;
}

.v5-confidence {
    min-height: 46px;
    padding: 7px 5px;
    border: 1px solid rgba(148,163,184,.12);
    border-radius: 6px;
    background: rgba(15,27,44,.55);
    text-align: center;
}

.v5-confidence strong {
    display: block;
    margin-top: 2px;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1;
}

.v5-confidence small {
    display: block;
    margin-top: 3px;
    color: #4ade80;
    font-size: 8px;
    font-weight: 700;
}

/* métricas: más legibles */

.v5-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-top: 6px;
}

.v5-metrics > div {
    min-width: 0;
    padding: 6px 4px;
    border: 1px solid rgba(148,163,184,.09);
    border-radius: 5px;
    background: rgba(15,27,44,.55);
    text-align: center;
}

.v5-metrics small {
    display: block;
    margin-bottom: 4px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700;
}

.v5-metrics strong {
    display: block;
    color: #e2e8f0;
    font-size: 10px;
    line-height: 1.12;
}

/* calidad / plan */

.v5-quality {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-top: 6px;
}

.v5-quality > div {
    min-width: 0;
    padding: 6px 5px;
    border: 1px solid rgba(148,163,184,.10);
    border-radius: 5px;
    background: rgba(15,27,44,.45);
    text-align: center;
}

.v5-quality small {
    display: block;
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: 8px;
    line-height: 1.05;
}

.v5-quality strong {
    display: block;
    color: #f8fafc;
    font-size: 10px;
    line-height: 1.12;
}

/* Clases de señal */

.v5-buy {
    color: #4ade80 !important;
    border-color: rgba(34,197,94,.38) !important;
    background: rgba(34,197,94,.10) !important;
}

.v5-sell {
    color: #f87171 !important;
    border-color: rgba(239,68,68,.38) !important;
    background: rgba(239,68,68,.10) !important;
}

.v5-watch {
    color: #facc15 !important;
    border-color: rgba(234,179,8,.38) !important;
    background: rgba(234,179,8,.10) !important;
}

.v5-risk-high { color: #f87171 !important; }
.v5-risk-medium { color: #facc15 !important; }
.v5-risk-low { color: #4ade80 !important; }

/* ---------------- Responsive ---------------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
    }

    .v5-signal-row,
    .v5-metrics,
    .v5-quality {
        grid-template-columns: 1fr 1fr;
    }
}

/* ==========================================================
   TRADINGASSISTANT V5 — ALPACA CARDS
   Diseño objetivo: versión profesional de cartera
   ========================================================== */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    background: rgba(6, 15, 28, 0.72) !important;
}

.v5-position-card {
    min-width: 0;
    padding: 9px !important;
    border: 1px solid rgba(96, 165, 250, 0.20) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(145deg, #10233a 0%, #0d1d31 52%, #0b192b 100%) !important;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255,255,255,0.035) !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.v5-position-card:hover {
    transform: translateY(-1px);
    border-color: rgba(96,165,250,.38) !important;
    box-shadow:
        0 7px 18px rgba(0,0,0,.34),
        0 0 0 1px rgba(96,165,250,.05) !important;
}

/* ---------- CABECERA ---------- */

.v5-position-card .alpaca-position-header {
    display: block !important;
    padding: 2px 3px 7px !important;
    margin: 0 0 7px !important;
    border-bottom: 1px solid rgba(148,163,184,.12) !important;
}

.v5-position-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 7px;
}

.v5-position-title > div:first-child {
    min-width: 0;
}

.v5-position-card .alpaca-position-header h2 {
    margin: 0 !important;
    color: #f8fafc !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    letter-spacing: .15px;
}

.v5-position-card .alpaca-position-side {
    display: block !important;
    margin-top: 3px !important;
    color: #9aa9bc !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.v5-score-badge {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 45px;
    padding-top: 1px;
}

.v5-score-badge small,
.v5-label {
    color: #93a4b8 !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.v5-score-badge strong {
    color: #f8fafc !important;
    font-size: 16px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
}

/* P/L actual */

.v5-position-card .alpaca-position-result {
    position: absolute;
    top: 11px;
    right: 11px;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 1px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

.v5-position-card .alpaca-position-result i {
    display: none;
}

.v5-position-card .alpaca-position-result small {
    font-size: 9px !important;
    font-weight: 800 !important;
}

/* ---------- DATOS DE POSICIÓN ---------- */

.v5-position-card .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 6px;
}

.v5-position-card .alpaca-position-grid > div {
    min-width: 0;
    padding: 5px 6px !important;
    border: 1px solid rgba(148,163,184,.10) !important;
    border-radius: 5px !important;
    background: rgba(4,13,25,.48) !important;
}

.v5-position-card .alpaca-position-grid small {
    display: flex !important;
    align-items: center;
    gap: 4px;
    margin-bottom: 2px !important;
    color: #9aaabd !important;
    font-size: 7px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
}

.v5-position-card .alpaca-position-grid small i {
    color: #60a5fa !important;
    font-size: 7px !important;
}

.v5-position-card .alpaca-position-grid strong {
    display: block;
    color: #edf2f7 !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

/* ---------- BLOQUE TRADINGASSISTANT ---------- */

.v5-analysis {
    padding-top: 5px;
    border-top: 1px solid rgba(96,165,250,.13);
}

.v5-analysis-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}

.v5-analysis-header > span:first-child {
    color: #a8b7c9;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .3px;
}

.v5-analysis-header > span:first-child i {
    color: #60a5fa;
    margin-right: 3px;
}

.v5-engine-version {
    color: #61748b !important;
    font-size: 6px !important;
    font-weight: 600 !important;
}

/* ---------- SEÑAL + SCORE + CONFIANZA ---------- */

.v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.8fr) minmax(70px, .75fr) minmax(70px, .75fr) !important;
    gap: 4px !important;
    align-items: stretch;
    margin-bottom: 5px;
}

.v5-signal {
    min-width: 0;
    min-height: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 5px;
    border: 1px solid rgba(148,163,184,.18);
}

.v5-signal strong {
    margin-top: 2px;
    color: #f8fafc;
    font-size: 10px;
    line-height: 1.05;
    font-weight: 850;
    white-space: nowrap;
}

.v5-buy {
    color: #4ade80 !important;
    background: rgba(34,197,94,.11) !important;
    border-color: rgba(34,197,94,.38) !important;
}

.v5-buy strong { color: #4ade80 !important; }

.v5-sell {
    color: #f87171 !important;
    background: rgba(239,68,68,.11) !important;
    border-color: rgba(239,68,68,.38) !important;
}

.v5-sell strong { color: #f87171 !important; }

.v5-watch {
    color: #facc15 !important;
    background: rgba(234,179,8,.11) !important;
    border-color: rgba(234,179,8,.38) !important;
}

.v5-watch strong { color: #facc15 !important; }

.v5-neutral {
    color: #cbd5e1 !important;
    background: rgba(100,116,139,.12) !important;
}

.v5-confidence {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4px 6px;
    border-radius: 5px;
    background: rgba(4,13,25,.48);
    border: 1px solid rgba(148,163,184,.12);
}

.v5-confidence strong {
    color: #f8fafc;
    font-size: 14px;
    line-height: 1.05;
    font-weight: 850;
}

.v5-confidence small {
    margin-top: 1px;
    color: #4ade80;
    font-size: 7px;
    line-height: 1.05;
    font-weight: 800;
}

/* ---------- MÉTRICAS ---------- */

.v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 3px !important;
    margin-bottom: 5px;
}

.v5-metrics > div,
.v5-quality > div {
    min-width: 0;
    padding: 5px 4px;
    border: 1px solid rgba(148,163,184,.11);
    border-radius: 5px;
    background: rgba(4,13,25,.38);
    text-align: center;
}

.v5-metrics small,
.v5-quality small {
    display: block;
    color: #93a4b8;
    font-size: 6.5px;
    line-height: 1.05;
    font-weight: 600;
}

.v5-metrics strong {
    display: block;
    margin-top: 2px;
    color: #e7edf4;
    font-size: 8px;
    line-height: 1.12;
    font-weight: 800;
}

.v5-risk-high { color: #f87171 !important; }
.v5-risk-medium { color: #facc15 !important; }
.v5-risk-low { color: #4ade80 !important; }
.v5-risk-neutral { color: #cbd5e1 !important; }

/* ---------- CALIDAD / PLAN ---------- */

.v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3px !important;
}

.v5-quality strong {
    display: block;
    margin-top: 2px;
    color: #dbe5ef;
    font-size: 8px;
    line-height: 1.1;
    font-weight: 800;
}

.v5-quality > div:last-child strong {
    font-size: 8px;
}

/* ---------- POSICIÓN ABSOLUTA PARA P/L ---------- */

.v5-position-card .alpaca-position-header {
    position: relative;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
    }

    .v5-signal-row {
        grid-template-columns: minmax(0, 1.6fr) minmax(65px, .7fr) minmax(65px, .7fr) !important;
    }
}

/* ==========================================================
   V5 ALPACA CARDS — REPARACIÓN FINAL
   Objetivo: legibilidad + cero solapamientos
   Este bloque debe quedar AL FINAL de static/style.css
   ========================================================== */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 12px !important;
}

.v5-position-card {
    position: relative !important;
    min-width: 0 !important;
    padding: 11px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
}

/* ---------- CABECERA SIN SOLAPAMIENTOS ---------- */

.v5-position-card .alpaca-position-header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: start !important;
    gap: 7px !important;
    min-height: 43px !important;
    padding: 2px 2px 8px !important;
    margin: 0 0 8px !important;
}

.v5-position-title {
    display: contents !important;
}

.v5-position-title > div:first-child {
    min-width: 0 !important;
}

.v5-position-card .alpaca-position-header h2 {
    font-size: 19px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.v5-position-card .alpaca-position-side {
    display: block !important;
    margin-top: 4px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    color: #aebdce !important;
}

.v5-score-badge {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    min-width: 43px !important;
    padding-top: 1px !important;
}

.v5-score-badge small {
    font-size: 7px !important;
    line-height: 1.1 !important;
}

.v5-score-badge strong {
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
}

/* P/L vuelve al flujo normal: nada de position:absolute */

.v5-position-card .alpaca-position-result {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 58px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.v5-position-card .alpaca-position-result small {
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

/* ---------- DATOS DE ALPACA ---------- */

.v5-position-card .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 7px !important;
}

.v5-position-card .alpaca-position-grid > div {
    min-width: 0 !important;
    padding: 7px 5px !important;
    border-radius: 6px !important;
    text-align: center !important;
}

.v5-position-card .alpaca-position-grid small {
    justify-content: center !important;
    font-size: 7.5px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.v5-position-card .alpaca-position-grid small i {
    font-size: 7px !important;
}

.v5-position-card .alpaca-position-grid strong {
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

/* ---------- CABECERA DEL MOTOR ---------- */

.v5-analysis {
    padding-top: 6px !important;
}

.v5-analysis-header {
    margin-bottom: 5px !important;
}

.v5-analysis-header > span:first-child {
    font-size: 7.5px !important;
}

.v5-engine-version {
    font-size: 6.5px !important;
}

/* ---------- SEÑAL + CONFIANZA ---------- */
/* Había 3 columnas para 2 elementos: eliminamos el hueco */

.v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(70px, .65fr) !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
}

.v5-signal {
    min-height: 39px !important;
    padding: 5px 8px !important;
}

.v5-signal strong {
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
}

.v5-confidence {
    padding: 5px 7px !important;
}

.v5-confidence strong {
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
}

.v5-confidence small {
    font-size: 8px !important;
    line-height: 1.05 !important;
}

/* ---------- MÉTRICAS V5 ---------- */

.v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 6px !important;
}

.v5-metrics > div {
    min-height: 39px !important;
    padding: 6px 4px !important;
}

.v5-metrics small,
.v5-quality small {
    font-size: 7px !important;
    line-height: 1.1 !important;
}

.v5-metrics strong {
    margin-top: 3px !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
}

/* ---------- CALIDAD / POSICIÓN ---------- */

.v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
}

.v5-quality > div {
    min-height: 40px !important;
    padding: 6px 4px !important;
}

.v5-quality strong {
    margin-top: 3px !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
}

/* ---------- COLORES MÁS LIMPIOS ---------- */

.v5-buy strong { color: #4ade80 !important; }
.v5-sell strong { color: #f87171 !important; }
.v5-watch strong { color: #facc15 !important; }

.v5-risk-high { color: #f87171 !important; }
.v5-risk-medium { color: #facc15 !important; }
.v5-risk-low { color: #4ade80 !important; }

/* ---------- TABLET ---------- */

@media (max-width: 1050px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ---------- MÓVIL ---------- */

@media (max-width: 650px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .v5-position-card .alpaca-position-header {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    .v5-position-card .alpaca-position-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .v5-position-card .alpaca-position-grid strong {
        font-size: 10px !important;
    }
}

/* Pantallas realmente estrechas: dos filas de información */
@media (max-width: 420px) {
    .v5-position-card .alpaca-position-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .v5-score-badge {
        grid-column: 2;
        grid-row: 1;
    }

    .v5-position-card .alpaca-position-result {
        grid-column: 1 / -1;
        grid-row: 2;
        align-items: flex-start !important;
        flex-direction: row !important;
        gap: 6px !important;
    }

    .v5-signal-row {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   V5 ALPACA CARDS — LEGIBILIDAD V2
   Último bloque: mayor tamaño sin cambiar la estructura
   ========================================================== */

.v5-position-card {
    padding: 13px !important;
}

/* Cabecera */
.v5-position-card .alpaca-position-header {
    min-height: 50px !important;
    gap: 9px !important;
    padding: 3px 3px 10px !important;
    margin-bottom: 10px !important;
}

.v5-position-card .alpaca-position-header h2 {
    font-size: 21px !important;
}

.v5-position-card .alpaca-position-side {
    margin-top: 5px !important;
    font-size: 10px !important;
}

.v5-score-badge {
    min-width: 50px !important;
}

.v5-score-badge small {
    font-size: 8px !important;
}

.v5-score-badge strong {
    font-size: 19px !important;
}

.v5-position-card .alpaca-position-result {
    min-width: 67px !important;
    font-size: 13px !important;
}

.v5-position-card .alpaca-position-result small {
    font-size: 11px !important;
}

/* Datos Alpaca */
.v5-position-card .alpaca-position-grid {
    gap: 5px !important;
    margin-bottom: 8px !important;
}

.v5-position-card .alpaca-position-grid > div {
    padding: 8px 5px !important;
}

.v5-position-card .alpaca-position-grid small {
    font-size: 8px !important;
}

.v5-position-card .alpaca-position-grid small i {
    font-size: 8px !important;
}

.v5-position-card .alpaca-position-grid strong {
    font-size: 12px !important;
}

/* Cabecera TradingAssistant */
.v5-analysis {
    padding-top: 8px !important;
}

.v5-analysis-header {
    margin-bottom: 6px !important;
}

.v5-analysis-header > span:first-child {
    font-size: 8px !important;
}

.v5-engine-version {
    font-size: 7px !important;
}

/* Señal */
.v5-signal-row {
    gap: 6px !important;
    margin-bottom: 7px !important;
}

.v5-signal {
    min-height: 45px !important;
    padding: 6px 9px !important;
}

.v5-signal .v5-label,
.v5-confidence .v5-label {
    font-size: 8px !important;
}

.v5-signal strong {
    font-size: 12px !important;
}

.v5-confidence {
    padding: 6px 8px !important;
}

.v5-confidence strong {
    font-size: 18px !important;
}

.v5-confidence small {
    font-size: 9px !important;
}

/* Métricas */
.v5-metrics {
    gap: 5px !important;
    margin-bottom: 7px !important;
}

.v5-metrics > div {
    min-height: 47px !important;
    padding: 7px 4px !important;
}

.v5-metrics small,
.v5-quality small {
    font-size: 7.5px !important;
}

.v5-metrics strong {
    margin-top: 4px !important;
    font-size: 10.5px !important;
}

/* Calidad / plan */
.v5-quality {
    gap: 5px !important;
}

.v5-quality > div {
    min-height: 48px !important;
    padding: 7px 5px !important;
}

.v5-quality strong {
    margin-top: 4px !important;
    font-size: 10.5px !important;
}

.v5-quality > div:last-child strong {
    font-size: 10px !important;
}

/* En pantallas pequeñas, conservar legibilidad antes que densidad */
@media (max-width: 1100px) {
    .v5-position-card .alpaca-position-header h2 {
        font-size: 20px !important;
    }
}

@media (max-width: 700px) {
    .v5-position-card .alpaca-position-header h2 {
        font-size: 21px !important;
    }

    .v5-position-card .alpaca-position-grid strong,
    .v5-metrics strong,
    .v5-quality strong {
        font-size: 11px !important;
    }
}

/* ==========================================================
   TRADINGASSISTANT V5 — ALPACA CARDS
   Diseño objetivo: versión profesional de cartera
   ========================================================== */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    background: rgba(6, 15, 28, 0.72) !important;
}

.v5-position-card {
    min-width: 0;
    padding: 9px !important;
    border: 1px solid rgba(96, 165, 250, 0.20) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(145deg, #10233a 0%, #0d1d31 52%, #0b192b 100%) !important;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255,255,255,0.035) !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.v5-position-card:hover {
    transform: translateY(-1px);
    border-color: rgba(96,165,250,.38) !important;
    box-shadow:
        0 7px 18px rgba(0,0,0,.34),
        0 0 0 1px rgba(96,165,250,.05) !important;
}

/* ---------- CABECERA ---------- */

.v5-position-card .alpaca-position-header {
    display: block !important;
    padding: 2px 3px 7px !important;
    margin: 0 0 7px !important;
    border-bottom: 1px solid rgba(148,163,184,.12) !important;
}

.v5-position-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 7px;
}

.v5-position-title > div:first-child {
    min-width: 0;
}

.v5-position-card .alpaca-position-header h2 {
    margin: 0 !important;
    color: #f8fafc !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    letter-spacing: .15px;
}

.v5-position-card .alpaca-position-side {
    display: block !important;
    margin-top: 3px !important;
    color: #9aa9bc !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.v5-score-badge {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 45px;
    padding-top: 1px;
}

.v5-score-badge small,
.v5-label {
    color: #93a4b8 !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.v5-score-badge strong {
    color: #f8fafc !important;
    font-size: 16px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
}

/* P/L actual */

.v5-position-card .alpaca-position-result {
    position: absolute;
    top: 11px;
    right: 11px;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 1px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

.v5-position-card .alpaca-position-result i {
    display: none;
}

.v5-position-card .alpaca-position-result small {
    font-size: 9px !important;
    font-weight: 800 !important;
}

/* ---------- DATOS DE POSICIÓN ---------- */

.v5-position-card .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 6px;
}

.v5-position-card .alpaca-position-grid > div {
    min-width: 0;
    padding: 5px 6px !important;
    border: 1px solid rgba(148,163,184,.10) !important;
    border-radius: 5px !important;
    background: rgba(4,13,25,.48) !important;
}

.v5-position-card .alpaca-position-grid small {
    display: flex !important;
    align-items: center;
    gap: 4px;
    margin-bottom: 2px !important;
    color: #9aaabd !important;
    font-size: 7px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
}

.v5-position-card .alpaca-position-grid small i {
    color: #60a5fa !important;
    font-size: 7px !important;
}

.v5-position-card .alpaca-position-grid strong {
    display: block;
    color: #edf2f7 !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

/* ---------- BLOQUE TRADINGASSISTANT ---------- */

.v5-analysis {
    padding-top: 5px;
    border-top: 1px solid rgba(96,165,250,.13);
}

.v5-analysis-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}

.v5-analysis-header > span:first-child {
    color: #a8b7c9;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .3px;
}

.v5-analysis-header > span:first-child i {
    color: #60a5fa;
    margin-right: 3px;
}

.v5-engine-version {
    color: #61748b !important;
    font-size: 6px !important;
    font-weight: 600 !important;
}

/* ---------- SEÑAL + SCORE + CONFIANZA ---------- */

.v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.8fr) minmax(70px, .75fr) minmax(70px, .75fr) !important;
    gap: 4px !important;
    align-items: stretch;
    margin-bottom: 5px;
}

.v5-signal {
    min-width: 0;
    min-height: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 5px;
    border: 1px solid rgba(148,163,184,.18);
}

.v5-signal strong {
    margin-top: 2px;
    color: #f8fafc;
    font-size: 10px;
    line-height: 1.05;
    font-weight: 850;
    white-space: nowrap;
}

.v5-buy {
    color: #4ade80 !important;
    background: rgba(34,197,94,.11) !important;
    border-color: rgba(34,197,94,.38) !important;
}

.v5-buy strong { color: #4ade80 !important; }

.v5-sell {
    color: #f87171 !important;
    background: rgba(239,68,68,.11) !important;
    border-color: rgba(239,68,68,.38) !important;
}

.v5-sell strong { color: #f87171 !important; }

.v5-watch {
    color: #facc15 !important;
    background: rgba(234,179,8,.11) !important;
    border-color: rgba(234,179,8,.38) !important;
}

.v5-watch strong { color: #facc15 !important; }

.v5-neutral {
    color: #cbd5e1 !important;
    background: rgba(100,116,139,.12) !important;
}

.v5-confidence {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4px 6px;
    border-radius: 5px;
    background: rgba(4,13,25,.48);
    border: 1px solid rgba(148,163,184,.12);
}

.v5-confidence strong {
    color: #f8fafc;
    font-size: 14px;
    line-height: 1.05;
    font-weight: 850;
}

.v5-confidence small {
    margin-top: 1px;
    color: #4ade80;
    font-size: 7px;
    line-height: 1.05;
    font-weight: 800;
}

/* ---------- MÉTRICAS ---------- */

.v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 3px !important;
    margin-bottom: 5px;
}

.v5-metrics > div,
.v5-quality > div {
    min-width: 0;
    padding: 5px 4px;
    border: 1px solid rgba(148,163,184,.11);
    border-radius: 5px;
    background: rgba(4,13,25,.38);
    text-align: center;
}

.v5-metrics small,
.v5-quality small {
    display: block;
    color: #93a4b8;
    font-size: 6.5px;
    line-height: 1.05;
    font-weight: 600;
}

.v5-metrics strong {
    display: block;
    margin-top: 2px;
    color: #e7edf4;
    font-size: 8px;
    line-height: 1.12;
    font-weight: 800;
}

.v5-risk-high { color: #f87171 !important; }
.v5-risk-medium { color: #facc15 !important; }
.v5-risk-low { color: #4ade80 !important; }
.v5-risk-neutral { color: #cbd5e1 !important; }

/* ---------- CALIDAD / PLAN ---------- */

.v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3px !important;
}

.v5-quality strong {
    display: block;
    margin-top: 2px;
    color: #dbe5ef;
    font-size: 8px;
    line-height: 1.1;
    font-weight: 800;
}

.v5-quality > div:last-child strong {
    font-size: 8px;
}

/* ---------- POSICIÓN ABSOLUTA PARA P/L ---------- */

.v5-position-card .alpaca-position-header {
    position: relative;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
    }

    .v5-signal-row {
        grid-template-columns: minmax(0, 1.6fr) minmax(65px, .7fr) minmax(65px, .7fr) !important;
    }
}

/* ==========================================================
   TRADINGASSISTANT V5 — FICHAS ALPACA V6
   Diseño: profesional / legible / sin solapamientos
   Solo afecta a las fichas Alpaca + V5.
   ========================================================== */

#alpaca-positions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}

/* Tarjeta */
#alpaca-positions .v5-position-card {
    min-width: 0;
    padding: 13px;
    border-radius: 9px;
    overflow: hidden;
}

/* Cabecera */
#alpaca-positions .v5-position-card .alpaca-position-header {
    gap: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

#alpaca-positions .v5-position-card .alpaca-position-header h2 {
    font-size: 19px;
    line-height: 1.05;
}

#alpaca-positions .v5-position-card .alpaca-position-side {
    margin-top: 4px;
    font-size: 10px;
}

#alpaca-positions .v5-position-card .alpaca-position-result {
    font-size: 15px;
    line-height: 1.15;
}

#alpaca-positions .v5-position-card .alpaca-position-result small {
    font-size: 11px;
}

/* Score */
#alpaca-positions .v5-position-title {
    min-width: 0;
}

#alpaca-positions .v5-score-badge {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    padding: 5px 8px;
    border-radius: 6px;
    background: rgba(8,18,31,.52);
    border: 1px solid rgba(255,255,255,.07);
}

#alpaca-positions .v5-score-badge small {
    font-size: 9px;
    color: #94a3b8;
}

#alpaca-positions .v5-score-badge strong {
    font-size: 17px;
    line-height: 1;
    color: #f8fafc;
}

/* Datos de posición */
#alpaca-positions .v5-position-card .alpaca-position-grid {
    gap: 6px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid > div {
    min-width: 0;
    padding: 8px 7px;
    min-height: 48px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid small {
    font-size: 9px;
    line-height: 1.15;
    white-space: nowrap;
}

#alpaca-positions .v5-position-card .alpaca-position-grid strong {
    font-size: 12px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

/* Bloque V5 */
#alpaca-positions .v5-analysis {
    margin-top: 10px;
    padding: 9px;
    border-radius: 8px;
    background: rgba(7,18,31,.46);
    border: 1px solid rgba(96,165,250,.13);
}

#alpaca-positions .v5-analysis-header {
    min-height: 22px;
    margin-bottom: 8px;
    font-size: 9px;
    letter-spacing: .3px;
}

#alpaca-positions .v5-engine-version {
    font-size: 8px;
}

/* Señal + confianza */
#alpaca-positions .v5-signal-row {
    gap: 7px;
}

#alpaca-positions .v5-signal {
    min-height: 48px;
    padding: 7px 8px;
    border-radius: 7px;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    display: block;
    margin-bottom: 4px;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .4px;
}

#alpaca-positions .v5-signal strong {
    font-size: 13px;
    line-height: 1.15;
}

#alpaca-positions .v5-confidence {
    min-width: 64px;
    padding: 7px 6px;
    text-align: center;
}

#alpaca-positions .v5-confidence strong {
    display: block;
    font-size: 17px;
    line-height: 1;
}

#alpaca-positions .v5-confidence small {
    display: block;
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.05;
}

/* Métricas V5 */
#alpaca-positions .v5-metrics {
    gap: 5px;
    margin-top: 7px;
}

#alpaca-positions .v5-metrics > div {
    min-width: 0;
    min-height: 52px;
    padding: 6px 5px;
    border-radius: 6px;
}

#alpaca-positions .v5-metrics small {
    display: block;
    margin-bottom: 4px;
    font-size: 8px;
    line-height: 1;
}

#alpaca-positions .v5-metrics strong {
    display: block;
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* Calidad / posición */
#alpaca-positions .v5-quality {
    gap: 5px;
    margin-top: 7px;
}

#alpaca-positions .v5-quality > div {
    min-width: 0;
    min-height: 48px;
    padding: 6px 5px;
    border-radius: 6px;
}

#alpaca-positions .v5-quality small {
    display: block;
    margin-bottom: 4px;
    font-size: 8px;
    line-height: 1.05;
}

#alpaca-positions .v5-quality strong {
    display: block;
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* Protección general contra solapamientos */
#alpaca-positions .v5-position-card *,
#alpaca-positions .v5-analysis * {
    box-sizing: border-box;
}

#alpaca-positions .v5-position-card {
    word-break: normal;
    overflow-wrap: anywhere;
}

#alpaca-positions .v5-position-card strong,
#alpaca-positions .v5-position-card small,
#alpaca-positions .v5-position-card span {
    max-width: 100%;
}

/* Pantallas medianas */
@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

/* Móvil */
@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px;
    }

    #alpaca-positions .v5-signal-row,
    #alpaca-positions .v5-metrics,
    #alpaca-positions .v5-quality {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #alpaca-positions .v5-position-card .alpaca-position-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Pantallas grandes: un pequeño incremento de presencia */
@media (min-width: 1400px) {
    #alpaca-positions {
        gap: 14px;
        padding: 15px;
    }

    #alpaca-positions .v5-position-card {
        padding: 15px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-header h2 {
        font-size: 20px;
    }

    #alpaca-positions .v5-score-badge strong {
        font-size: 18px;
    }

    #alpaca-positions .v5-signal strong {
        font-size: 14px;
    }

    #alpaca-positions .v5-confidence strong {
        font-size: 18px;
    }

    #alpaca-positions .v5-metrics strong,
    #alpaca-positions .v5-quality strong {
        font-size: 11px;
    }
}

/* ==========================================================
   TRADINGASSISTANT V5 — FICHAS ALPACA V7
   OBJETIVO: LEGIBILIDAD REAL
   Se añade al final de style.css para sobrescribir V5/V6.
   ========================================================== */

#alpaca-positions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 15px;
}

/* ---------- TARJETA ---------- */

#alpaca-positions .v5-position-card {
    padding: 15px;
    min-width: 0;
    border-radius: 10px;
}

/* ---------- CABECERA ---------- */

#alpaca-positions .v5-position-card .alpaca-position-header {
    min-height: 58px;
    padding-bottom: 11px;
    margin-bottom: 11px;
    gap: 12px;
}

#alpaca-positions .v5-position-card .alpaca-position-header h2 {
    font-size: 21px;
    line-height: 1.05;
}

#alpaca-positions .v5-position-card .alpaca-position-side {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.1;
}

#alpaca-positions .v5-position-card .alpaca-position-result {
    font-size: 16px;
    line-height: 1.2;
}

#alpaca-positions .v5-position-card .alpaca-position-result small {
    font-size: 11px;
}

/* ---------- SCORE V5 ---------- */

#alpaca-positions .v5-score-badge {
    margin-top: 8px;
    padding: 5px 8px;
    gap: 8px;
}

#alpaca-positions .v5-score-badge small {
    font-size: 9px;
}

#alpaca-positions .v5-score-badge strong {
    font-size: 18px;
}

/* ---------- DATOS ALPACA ---------- */

#alpaca-positions .v5-position-card .alpaca-position-grid {
    gap: 7px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid > div {
    min-height: 53px;
    padding: 9px 8px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid small {
    font-size: 9px;
    line-height: 1.15;
    margin-bottom: 5px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid strong {
    font-size: 13px;
    line-height: 1.2;
}

/* ---------- ANALISIS V5 ---------- */

#alpaca-positions .v5-analysis {
    margin-top: 12px;
    padding: 10px;
    border-radius: 9px;
}

#alpaca-positions .v5-analysis-header {
    min-height: 24px;
    margin-bottom: 9px;
    font-size: 10px;
}

#alpaca-positions .v5-engine-version {
    font-size: 9px;
}

/* ---------- SEÑAL / CONFIANZA ---------- */

#alpaca-positions .v5-signal-row {
    gap: 8px;
}

#alpaca-positions .v5-signal {
    min-height: 54px;
    padding: 8px 9px;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    margin-bottom: 5px;
    font-size: 9px;
}

#alpaca-positions .v5-signal strong {
    font-size: 14px;
    line-height: 1.15;
}

#alpaca-positions .v5-confidence {
    min-height: 54px;
    min-width: 68px;
    padding: 8px 6px;
}

#alpaca-positions .v5-confidence strong {
    font-size: 19px;
    line-height: 1;
}

#alpaca-positions .v5-confidence small {
    margin-top: 5px;
    font-size: 9px;
    line-height: 1.05;
}

/* ---------- TENDENCIA / FASE / RIESGO / OPORTUNIDAD ---------- */

#alpaca-positions .v5-metrics {
    gap: 6px;
    margin-top: 8px;
}

#alpaca-positions .v5-metrics > div {
    min-height: 58px;
    padding: 7px 6px;
}

#alpaca-positions .v5-metrics small {
    margin-bottom: 5px;
    font-size: 9px;
    line-height: 1;
}

#alpaca-positions .v5-metrics strong {
    font-size: 11px;
    line-height: 1.2;
}

/* ---------- CALIDAD / GUÍA ---------- */

#alpaca-positions .v5-quality {
    gap: 6px;
    margin-top: 8px;
}

#alpaca-positions .v5-quality > div {
    min-height: 53px;
    padding: 7px 6px;
}

#alpaca-positions .v5-quality small {
    margin-bottom: 5px;
    font-size: 9px;
    line-height: 1.1;
}

#alpaca-positions .v5-quality strong {
    font-size: 11px;
    line-height: 1.2;
}

/* ---------- ANTI-SOLAPAMIENTO ---------- */

#alpaca-positions .v5-position-card *,
#alpaca-positions .v5-analysis * {
    box-sizing: border-box;
}

#alpaca-positions .v5-position-card {
    overflow: hidden;
    overflow-wrap: anywhere;
}

#alpaca-positions .v5-position-card h2,
#alpaca-positions .v5-position-card strong,
#alpaca-positions .v5-position-card small,
#alpaca-positions .v5-position-card span {
    max-width: 100%;
}

/* ---------- TABLET ---------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 11px;
    }
}

/* ---------- MÓVIL ---------- */

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        padding: 10px;
        gap: 10px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #alpaca-positions .v5-signal-row,
    #alpaca-positions .v5-metrics,
    #alpaca-positions .v5-quality {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- ESCRITORIO GRANDE ---------- */

@media (min-width: 1400px) {
    #alpaca-positions {
        gap: 16px;
        padding: 16px;
    }

    #alpaca-positions .v5-position-card {
        padding: 16px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-header h2 {
        font-size: 22px;
    }

    #alpaca-positions .v5-score-badge strong {
        font-size: 19px;
    }

    #alpaca-positions .v5-signal strong {
        font-size: 15px;
    }

    #alpaca-positions .v5-confidence strong {
        font-size: 20px;
    }

    #alpaca-positions .v5-metrics strong,
    #alpaca-positions .v5-quality strong {
        font-size: 12px;
    }
}

/* ==========================================================
   TRADINGASSISTANT V5 — ALPACA CARDS V8
   FICHA PROFESIONAL / MÁS AIRE / MÁS LEGIBILIDAD
   Se añade al final de style.css.
   ========================================================== */

#alpaca-positions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 16px;
    align-items: stretch;
}

/* ==========================================================
   TARJETA BASE
   ========================================================== */

#alpaca-positions .v5-position-card {
    min-width: 0;
    padding: 16px;
    border-radius: 10px;
    overflow: hidden;
}

/* ==========================================================
   CABECERA
   ========================================================== */

#alpaca-positions .v5-position-card .alpaca-position-header {
    min-height: 62px;
    gap: 12px;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

#alpaca-positions .v5-position-card .alpaca-position-header h2 {
    font-size: 22px;
    line-height: 1.05;
}

#alpaca-positions .v5-position-card .alpaca-position-side {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.2;
}

#alpaca-positions .v5-position-card .alpaca-position-result {
    font-size: 17px;
    line-height: 1.2;
}

#alpaca-positions .v5-position-card .alpaca-position-result small {
    font-size: 11px;
}

/* ==========================================================
   SCORE
   ========================================================== */

#alpaca-positions .v5-score-badge {
    margin-top: 8px;
    padding: 6px 9px;
    gap: 9px;
    border-radius: 7px;
}

#alpaca-positions .v5-score-badge small {
    font-size: 9px;
}

#alpaca-positions .v5-score-badge strong {
    font-size: 20px;
}

/* ==========================================================
   DATOS DE POSICIÓN
   ========================================================== */

#alpaca-positions .v5-position-card .alpaca-position-grid {
    gap: 7px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid > div {
    min-height: 58px;
    padding: 10px 8px;
    border-radius: 7px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid small {
    font-size: 9px;
    line-height: 1.15;
    margin-bottom: 6px;
}

#alpaca-positions .v5-position-card .alpaca-position-grid strong {
    font-size: 14px;
    line-height: 1.2;
}

/* ==========================================================
   PANEL V5
   ========================================================== */

#alpaca-positions .v5-analysis {
    margin-top: 13px;
    padding: 11px;
    border-radius: 9px;
}

#alpaca-positions .v5-analysis-header {
    min-height: 25px;
    margin-bottom: 10px;
    font-size: 10px;
}

#alpaca-positions .v5-engine-version {
    font-size: 9px;
}

/* ==========================================================
   SEÑAL / CONFIANZA
   ========================================================== */

#alpaca-positions .v5-signal-row {
    gap: 8px;
}

#alpaca-positions .v5-signal {
    min-height: 60px;
    padding: 9px 10px;
    border-radius: 8px;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 1;
}

#alpaca-positions .v5-signal strong {
    font-size: 15px;
    line-height: 1.15;
}

#alpaca-positions .v5-confidence {
    min-height: 60px;
    min-width: 72px;
    padding: 9px 7px;
}

#alpaca-positions .v5-confidence strong {
    font-size: 21px;
    line-height: 1;
}

#alpaca-positions .v5-confidence small {
    margin-top: 6px;
    font-size: 9px;
    line-height: 1.1;
}

/* ==========================================================
   CUATRO MÉTRICAS
   ========================================================== */

#alpaca-positions .v5-metrics {
    gap: 7px;
    margin-top: 9px;
}

#alpaca-positions .v5-metrics > div {
    min-height: 64px;
    padding: 8px 6px;
    border-radius: 7px;
}

#alpaca-positions .v5-metrics small {
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 1.05;
}

#alpaca-positions .v5-metrics strong {
    font-size: 12px;
    line-height: 1.2;
}

/* ==========================================================
   CALIDAD / GUÍA
   ========================================================== */

#alpaca-positions .v5-quality {
    gap: 7px;
    margin-top: 9px;
}

#alpaca-positions .v5-quality > div {
    min-height: 59px;
    padding: 8px 6px;
    border-radius: 7px;
}

#alpaca-positions .v5-quality small {
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 1.1;
}

#alpaca-positions .v5-quality strong {
    font-size: 12px;
    line-height: 1.2;
}

/* ==========================================================
   CONTENCIÓN DE TEXTO
   ========================================================== */

#alpaca-positions .v5-position-card *,
#alpaca-positions .v5-analysis * {
    box-sizing: border-box;
}

#alpaca-positions .v5-position-card {
    overflow-wrap: anywhere;
    word-break: normal;
}

#alpaca-positions .v5-position-card h2,
#alpaca-positions .v5-position-card strong,
#alpaca-positions .v5-position-card small,
#alpaca-positions .v5-position-card span {
    max-width: 100%;
}

/* ==========================================================
   ESCRITORIO GRANDE
   ========================================================== */

@media (min-width: 1400px) {
    #alpaca-positions {
        gap: 18px;
        padding: 18px;
    }

    #alpaca-positions .v5-position-card {
        padding: 17px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-header h2 {
        font-size: 23px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-result {
        font-size: 18px;
    }

    #alpaca-positions .v5-score-badge strong {
        font-size: 21px;
    }

    #alpaca-positions .v5-signal strong {
        font-size: 16px;
    }

    #alpaca-positions .v5-confidence strong {
        font-size: 22px;
    }

    #alpaca-positions .v5-metrics strong,
    #alpaca-positions .v5-quality strong {
        font-size: 12px;
    }
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding: 12px;
    }
}

/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px;
    }

    #alpaca-positions .v5-position-card {
        padding: 14px;
    }

    #alpaca-positions .v5-position-card .alpaca-position-grid,
    #alpaca-positions .v5-signal-row,
    #alpaca-positions .v5-metrics,
    #alpaca-positions .v5-quality {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================
   TRADINGASSISTANT V9 — ALPACA CARDS / LEGIBILIDAD
   Override visual sobre style.css existente.
   No modifica backend ni app.js.
   ========================================================== */

/* ---------- CONTENEDOR DE CARTERA ---------- */

#alpaca-portfolio {
    width: calc(100% - 34px);
    margin: 20px auto;
}

#alpaca-positions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    align-items: stretch;
}

/* ---------- FICHA ---------- */

#alpaca-positions .alpaca-position-card.v5-position-card {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border-radius: 9px;
}

/* ---------- CABECERA ---------- */

.v5-position-card .alpaca-position-header {
    min-height: 48px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    gap: 12px;
}

.v5-position-card .v5-position-title {
    min-width: 0;
    flex: 1 1 auto;
}

.v5-position-card .v5-position-title h2,
.v5-position-card .alpaca-position-header h2 {
    font-size: 20px;
    line-height: 1.05;
    letter-spacing: .15px;
}

.v5-position-card .alpaca-position-side {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.1;
}

/* precio + P/L */

.v5-position-card .alpaca-position-result {
    flex: 0 0 auto;
    font-size: 16px;
    line-height: 1.15;
}

.v5-position-card .alpaca-position-result small {
    font-size: 11px;
    line-height: 1.1;
}

/* ---------- SCORE ---------- */

.v5-position-card .v5-score-badge {
    min-width: 62px;
    padding: 5px 7px;
    box-sizing: border-box;
}

.v5-position-card .v5-score-badge small {
    display: block;
    font-size: 9px;
    line-height: 1.05;
}

.v5-position-card .v5-score-badge strong {
    display: block;
    margin-top: 2px;
    font-size: 20px;
    line-height: 1;
}

/* ---------- DATOS DE LA POSICIÓN ---------- */

.v5-position-card .alpaca-position-grid {
    gap: 7px;
    margin-bottom: 11px;
}

.v5-position-card .alpaca-position-grid > div {
    min-height: 50px;
    padding: 8px 9px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.v5-position-card .alpaca-position-grid small {
    font-size: 9px;
    line-height: 1.15;
    margin-bottom: 5px;
}

.v5-position-card .alpaca-position-grid strong {
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
}

/* ---------- BLOQUE V5 ---------- */

.v5-position-card .v5-analysis {
    margin-top: 2px;
}

.v5-position-card .v5-analysis-header {
    min-height: 23px;
    font-size: 9px;
}

.v5-position-card .v5-engine-version {
    font-size: 8px;
}

/* ---------- SEÑAL / CONFIANZA ---------- */

.v5-position-card .v5-signal-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(74px, .55fr);
    gap: 7px;
    margin-bottom: 8px;
}

.v5-position-card .v5-signal,
.v5-position-card .v5-confidence {
    min-height: 52px;
    box-sizing: border-box;
    padding: 8px 9px;
}

.v5-position-card .v5-label {
    font-size: 8px;
    line-height: 1;
    letter-spacing: .25px;
}

.v5-position-card .v5-signal strong {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.1;
}

.v5-position-card .v5-confidence strong {
    display: block;
    margin-top: 4px;
    font-size: 20px;
    line-height: 1;
}

.v5-position-card .v5-confidence small {
    display: block;
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.1;
}

/* ---------- MÉTRICAS V5 ---------- */

.v5-position-card .v5-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 8px;
}

.v5-position-card .v5-metrics > div {
    min-width: 0;
    min-height: 55px;
    padding: 7px 5px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.v5-position-card .v5-metrics small {
    font-size: 8px;
    line-height: 1.1;
    margin-bottom: 5px;
}

.v5-position-card .v5-metrics strong {
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* ---------- CALIDADES ---------- */

.v5-position-card .v5-quality {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.v5-position-card .v5-quality > div {
    min-width: 0;
    min-height: 50px;
    padding: 7px 5px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.v5-position-card .v5-quality small {
    font-size: 8px;
    line-height: 1.1;
    margin-bottom: 4px;
}

.v5-position-card .v5-quality strong {
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* ---------- NO COMPRIMIR TIPOGRAFÍA IMPORTANTE ---------- */

.v5-position-card .v5-signal strong,
.v5-position-card .v5-confidence strong,
.v5-position-card .v5-score-badge strong,
.v5-position-card .v5-metrics strong,
.v5-position-card .v5-quality strong {
    font-weight: 800;
}

/* ---------- TABLET ---------- */

@media (max-width: 1150px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v5-position-card .v5-position-title h2,
    .v5-position-card .alpaca-position-header h2 {
        font-size: 19px;
    }
}

/* ---------- PANTALLA ESTRECHA ----------
   Aquí priorizamos legibilidad sobre número de columnas.
   */

@media (max-width: 760px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .v5-position-card .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v5-position-card .v5-quality {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .v5-position-card .v5-position-title h2,
    .v5-position-card .alpaca-position-header h2 {
        font-size: 20px;
    }

    .v5-position-card .alpaca-position-grid strong {
        font-size: 13px;
    }
}

/* ---------- MÓVIL ---------- */

@media (max-width: 480px) {
    #alpaca-portfolio {
        width: calc(100% - 12px);
    }

    #alpaca-positions {
        padding: 9px;
    }

    .v5-position-card .v5-signal-row {
        grid-template-columns: 1fr;
    }

    .v5-position-card .v5-quality {
        grid-template-columns: 1fr 1fr;
    }
}

/* ==========================================================
   TRADINGASSISTANT V10 — ALPACA CARDS
   RECONSTRUCCIÓN VISUAL LIMPIA
   ========================================================== */

/* La cartera ocupa el espacio disponible sin encoger
   artificialmente el contenido de las fichas. */
#alpaca-portfolio {
    width: calc(100% - 28px);
    max-width: 1500px;
    margin: 20px auto;
}

#alpaca-positions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 14px;
    align-items: stretch;
}

/* ---------- FICHA BASE ---------- */

#alpaca-positions .alpaca-position-card.v5-position-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 15px;
    border-radius: 10px;
}

/* ---------- CABECERA ---------- */

.v5-position-card .alpaca-position-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    margin-bottom: 12px;
    padding-bottom: 11px;
}

.v5-position-card .v5-position-title {
    min-width: 0;
    flex: 1 1 auto;
}

.v5-position-card .v5-position-title h2,
.v5-position-card .alpaca-position-header h2 {
    font-size: 21px;
    line-height: 1.05;
    margin: 0;
}

.v5-position-card .alpaca-position-side {
    font-size: 10px;
    line-height: 1.2;
    margin-top: 5px;
}

.v5-position-card .alpaca-position-result {
    flex: 0 0 auto;
    font-size: 17px;
    line-height: 1.15;
    text-align: right;
}

.v5-position-card .alpaca-position-result small {
    font-size: 11px;
    line-height: 1.15;
}

/* ---------- SCORE ---------- */

.v5-position-card .v5-score-badge {
    min-width: 66px;
    padding: 6px 8px;
    border-radius: 7px;
}

.v5-position-card .v5-score-badge small {
    font-size: 9px;
    line-height: 1.05;
}

.v5-position-card .v5-score-badge strong {
    font-size: 21px;
    line-height: 1;
    margin-top: 3px;
}

/* ---------- DATOS ALPACA ---------- */

.v5-position-card .alpaca-position-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 12px;
}

.v5-position-card .alpaca-position-grid > div {
    min-height: 54px;
    padding: 9px 10px;
    box-sizing: border-box;
}

.v5-position-card .alpaca-position-grid small {
    font-size: 10px;
    line-height: 1.15;
    margin-bottom: 5px;
}

.v5-position-card .alpaca-position-grid strong {
    font-size: 14px;
    line-height: 1.15;
}

/* ---------- CABECERA V5 ---------- */

.v5-position-card .v5-analysis-header {
    min-height: 25px;
    font-size: 10px;
}

.v5-position-card .v5-engine-version {
    font-size: 9px;
}

/* ---------- SEÑAL ---------- */

.v5-position-card .v5-signal-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    gap: 8px;
    margin-bottom: 9px;
}

.v5-position-card .v5-signal,
.v5-position-card .v5-confidence {
    min-height: 58px;
    padding: 9px 10px;
    box-sizing: border-box;
    border-radius: 7px;
}

.v5-position-card .v5-label {
    font-size: 9px;
    line-height: 1;
    letter-spacing: .3px;
}

.v5-position-card .v5-signal strong {
    display: block;
    font-size: 14px;
    line-height: 1.1;
    margin-top: 6px;
}

.v5-position-card .v5-confidence {
    text-align: center;
}

.v5-position-card .v5-confidence strong {
    display: block;
    font-size: 21px;
    line-height: 1;
    margin-top: 5px;
}

.v5-position-card .v5-confidence small {
    display: block;
    font-size: 9px;
    line-height: 1.1;
    margin-top: 5px;
}

/* ---------- CUATRO MÉTRICAS ---------- */

.v5-position-card .v5-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 9px;
}

.v5-position-card .v5-metrics > div {
    min-width: 0;
    min-height: 62px;
    padding: 8px 5px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.v5-position-card .v5-metrics small {
    font-size: 9px;
    line-height: 1.1;
    margin-bottom: 6px;
}

.v5-position-card .v5-metrics strong {
    font-size: 11px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* ---------- CALIDAD / POSICIÓN ---------- */

.v5-position-card .v5-quality {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.v5-position-card .v5-quality > div {
    min-width: 0;
    min-height: 58px;
    padding: 8px 6px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.v5-position-card .v5-quality small {
    font-size: 9px;
    line-height: 1.1;
    margin-bottom: 5px;
}

.v5-position-card .v5-quality strong {
    font-size: 11px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* ==========================================================
   RESPONSIVE REAL
   ========================================================== */

/* 3 columnas solo mientras haya espacio razonable por ficha */
@media (max-width: 1200px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Una columna cuando las fichas vuelvan a ser demasiado estrechas */
@media (max-width: 760px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .v5-position-card .v5-position-title h2,
    .v5-position-card .alpaca-position-header h2 {
        font-size: 21px;
    }

    .v5-position-card .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    #alpaca-portfolio {
        width: calc(100% - 10px);
    }

    .v5-position-card .v5-signal-row {
        grid-template-columns: 1fr;
    }

    .v5-position-card .v5-quality {
        grid-template-columns: 1fr 1fr;
    }
}
/* TRADINGASSISTANT V11 — ALPACA CARDS / LEGIBILIDAD */

#alpaca-portfolio{width:calc(100% - 28px);max-width:1480px;margin:20px auto;box-sizing:border-box}
#alpaca-positions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;box-sizing:border-box;align-items:stretch}

#alpaca-positions .alpaca-position-card.v5-position-card{min-width:0;width:100%;box-sizing:border-box;padding:14px;border-radius:10px;overflow:hidden}

.v5-position-card .alpaca-position-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;min-height:58px;margin-bottom:12px;padding-bottom:11px}
.v5-position-card .v5-position-title{min-width:0}
.v5-position-card .v5-position-title h2,.v5-position-card .alpaca-position-header h2{margin:0;font-size:20px;line-height:1.05;letter-spacing:.15px}
.v5-position-card .alpaca-position-side{display:block;margin-top:5px;font-size:9px;line-height:1.15;letter-spacing:.35px}
.v5-position-card .alpaca-position-result{min-width:72px;text-align:right;font-size:15px;line-height:1.15}
.v5-position-card .alpaca-position-result small{display:block;margin-top:3px;font-size:10px;line-height:1.1}

.v5-position-card .v5-score-badge{min-width:64px;padding:5px 7px;margin-top:5px;box-sizing:border-box}
.v5-position-card .v5-score-badge small{display:block;font-size:8px;line-height:1}
.v5-position-card .v5-score-badge strong{display:block;margin-top:3px;font-size:19px;line-height:1}

.v5-position-card .alpaca-position-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:11px}
.v5-position-card .alpaca-position-grid>div{min-width:0;min-height:57px;padding:8px 5px;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;justify-content:center}
.v5-position-card .alpaca-position-grid small{display:flex;justify-content:center;align-items:center;gap:4px;margin-bottom:5px;font-size:8px;line-height:1.1;text-align:center}
.v5-position-card .alpaca-position-grid strong{font-size:11px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}

.v5-position-card .v5-analysis-header{min-height:24px;font-size:9px}
.v5-position-card .v5-engine-version{font-size:8px}

.v5-position-card .v5-signal-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:7px;margin-bottom:8px}
.v5-position-card .v5-signal,.v5-position-card .v5-confidence{min-width:0;min-height:56px;padding:8px;box-sizing:border-box}
.v5-position-card .v5-signal{display:flex;flex-direction:column;justify-content:center}
.v5-position-card .v5-label{font-size:8px;line-height:1;letter-spacing:.25px}
.v5-position-card .v5-signal strong{display:block;margin-top:5px;font-size:13px;line-height:1.1;overflow-wrap:anywhere}
.v5-position-card .v5-confidence{text-align:center}
.v5-position-card .v5-confidence strong{display:block;margin-top:4px;font-size:20px;line-height:1}
.v5-position-card .v5-confidence small{display:block;margin-top:4px;font-size:8px;line-height:1.05}

.v5-position-card .v5-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:8px}
.v5-position-card .v5-metrics>div{min-width:0;min-height:61px;padding:7px 4px;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;justify-content:center}
.v5-position-card .v5-metrics small{display:block;margin-bottom:5px;font-size:8px;line-height:1.05}
.v5-position-card .v5-metrics strong{display:block;font-size:10px;line-height:1.15;overflow-wrap:anywhere}

.v5-position-card .v5-quality{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.v5-position-card .v5-quality>div{min-width:0;min-height:55px;padding:7px 5px;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;justify-content:center}
.v5-position-card .v5-quality small{display:block;margin-bottom:5px;font-size:8px;line-height:1.05}
.v5-position-card .v5-quality strong{display:block;font-size:10px;line-height:1.15;overflow-wrap:anywhere}

@media (max-width:1250px){#alpaca-positions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:850px){#alpaca-positions{grid-template-columns:1fr}}
@media (max-width:600px){
#alpaca-positions{grid-template-columns:1fr;padding:9px}
.v5-position-card .v5-position-title h2,.v5-position-card .alpaca-position-header h2{font-size:21px}
.v5-position-card .v5-signal-row{grid-template-columns:minmax(0,1fr) 88px}
.v5-position-card .v5-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.v5-position-card .v5-quality{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:430px){
.v5-position-card .v5-signal-row{grid-template-columns:1fr}
.v5-position-card .v5-quality{grid-template-columns:1fr 1fr}
}

/* ==========================================================
   TRADINGASSISTANT V12 — ALPACA CARDS / LEGIBILIDAD
   Reemplaza visualmente las reglas anteriores de las fichas
   sin modificar el HTML ni los datos del Engine V5.
   ========================================================== */

/* Contenedor de cartera */
#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 14px !important;
    background: rgba(7, 17, 30, .72) !important;
    align-items: start !important;
}

/* Tarjeta principal */
#alpaca-positions .alpaca-position-card.v5-position-card {
    min-width: 0 !important;
    padding: 13px !important;
    border: 1px solid rgba(80, 130, 180, .28) !important;
    border-radius: 9px !important;
    background:
        linear-gradient(145deg, rgba(27, 43, 62, .98), rgba(18, 31, 47, .98)) !important;
    box-shadow:
        0 3px 12px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
    overflow: hidden !important;
}

/* Cabecera: ticker / precio / P&L */
#alpaca-positions .alpaca-position-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 10px !important;
    padding-bottom: 9px !important;
    margin-bottom: 9px !important;
    border-bottom: 1px solid rgba(120,160,200,.16) !important;
}

#alpaca-positions .v5-position-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
}

#alpaca-positions .alpaca-position-header h2 {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    color: #f8fafc !important;
    letter-spacing: .15px !important;
}

#alpaca-positions .alpaca-position-side {
    display: block !important;
    margin-top: 4px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    color: #a8b8ca !important;
    letter-spacing: .35px !important;
}

/* Precio/resultado */
#alpaca-positions .alpaca-position-result {
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    text-align: right !important;
}

#alpaca-positions .alpaca-position-result small {
    font-size: 10px !important;
    font-weight: 750 !important;
}

/* Badge Score V5 */
#alpaca-positions .v5-score-badge {
    min-width: 50px !important;
    padding: 5px 6px !important;
    border-radius: 6px !important;
    background: rgba(8, 21, 36, .78) !important;
    border: 1px solid rgba(100,150,200,.18) !important;
    text-align: center !important;
}

#alpaca-positions .v5-score-badge small {
    display: block !important;
    margin-bottom: 2px !important;
    color: #9fb1c5 !important;
    font-size: 8px !important;
    line-height: 1 !important;
}

#alpaca-positions .v5-score-badge strong {
    display: block !important;
    color: #f8fafc !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
}

/* Datos de posición */
#alpaca-positions .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
}

#alpaca-positions .alpaca-position-grid > div {
    min-width: 0 !important;
    padding: 7px 8px !important;
    min-height: 38px !important;
    border-radius: 6px !important;
    background: rgba(6, 18, 32, .52) !important;
    border: 1px solid rgba(85,125,165,.15) !important;
}

#alpaca-positions .alpaca-position-grid small {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-bottom: 3px !important;
    color: #a9b9cb !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    font-weight: 650 !important;
}

#alpaca-positions .alpaca-position-grid small i {
    color: #7fa6cc !important;
    font-size: 8px !important;
}

#alpaca-positions .alpaca-position-grid strong {
    display: block !important;
    color: #f1f5f9 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

/* Panel V5 */
#alpaca-positions .v5-analysis {
    margin-top: 8px !important;
    padding: 9px !important;
    border-radius: 8px !important;
    background: rgba(7, 20, 34, .60) !important;
    border: 1px solid rgba(80,125,165,.18) !important;
}

#alpaca-positions .v5-analysis-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 7px !important;
    color: #aebfd0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    letter-spacing: .2px !important;
}

#alpaca-positions .v5-engine-version {
    color: #71869b !important;
    font-size: 7px !important;
}

/* Señal + confianza */
#alpaca-positions .v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(64px, .65fr) !important;
    gap: 6px !important;
    margin-bottom: 7px !important;
}

#alpaca-positions .v5-signal {
    min-height: 43px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 7px 9px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

#alpaca-positions .v5-label {
    display: block !important;
    margin-bottom: 3px !important;
    color: #9eb0c3 !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
}

#alpaca-positions .v5-signal strong {
    font-size: 12px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}

#alpaca-positions .v5-buy {
    color: #4ade80 !important;
    background: rgba(34,197,94,.11) !important;
    border-color: rgba(34,197,94,.34) !important;
}

#alpaca-positions .v5-sell {
    color: #f87171 !important;
    background: rgba(239,68,68,.11) !important;
    border-color: rgba(239,68,68,.34) !important;
}

#alpaca-positions .v5-watch {
    color: #facc15 !important;
    background: rgba(234,179,8,.10) !important;
    border-color: rgba(234,179,8,.34) !important;
}

#alpaca-positions .v5-neutral {
    color: #cbd5e1 !important;
}

/* Confianza */
#alpaca-positions .v5-confidence {
    min-height: 43px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 5px !important;
    border-radius: 6px !important;
    background: rgba(17,31,48,.80) !important;
    border: 1px solid rgba(100,145,185,.16) !important;
    text-align: center !important;
}

#alpaca-positions .v5-confidence strong {
    color: #f8fafc !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

#alpaca-positions .v5-confidence small {
    margin-top: 3px !important;
    color: #4ade80 !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
}

/* Métricas estructurales */
#alpaca-positions .v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin-bottom: 7px !important;
}

#alpaca-positions .v5-metrics > div {
    min-width: 0 !important;
    min-height: 45px !important;
    padding: 6px 4px !important;
    border-radius: 5px !important;
    background: rgba(15,30,47,.78) !important;
    border: 1px solid rgba(90,135,175,.15) !important;
    text-align: center !important;
}

#alpaca-positions .v5-metrics small {
    display: block !important;
    margin-bottom: 4px !important;
    color: #91a5b9 !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#alpaca-positions .v5-metrics strong {
    display: block !important;
    color: #edf2f7 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

#alpaca-positions .v5-risk-high {
    color: #f87171 !important;
}

#alpaca-positions .v5-risk-medium {
    color: #facc15 !important;
}

#alpaca-positions .v5-risk-low {
    color: #4ade80 !important;
}

/* Calidad / guía */
#alpaca-positions .v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
}

#alpaca-positions .v5-quality > div {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 6px 5px !important;
    border-radius: 5px !important;
    background: rgba(12,27,44,.75) !important;
    border: 1px solid rgba(90,135,175,.17) !important;
    text-align: center !important;
}

#alpaca-positions .v5-quality small {
    display: block !important;
    margin-bottom: 3px !important;
    color: #91a5b9 !important;
    font-size: 6.5px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

#alpaca-positions .v5-quality strong {
    display: block !important;
    color: #dce7f1 !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

/* P&L */
#alpaca-positions .alpaca-profit {
    color: #4ade80 !important;
}

#alpaca-positions .alpaca-loss {
    color: #f87171 !important;
}

#alpaca-positions .alpaca-neutral {
    color: #cbd5e1 !important;
}

/* Hover */
#alpaca-positions .alpaca-position-card.v5-position-card:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(96,165,250,.40) !important;
    box-shadow:
        0 6px 18px rgba(0,0,0,.27),
        0 0 0 1px rgba(96,165,250,.07) !important;
}

/* Tablet */
@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #alpaca-positions .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Móvil */
@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
        padding: 9px !important;
    }

    #alpaca-positions .alpaca-position-header {
        grid-template-columns: 1fr !important;
    }

    #alpaca-positions .alpaca-position-result {
        align-items: flex-start !important;
        text-align: left !important;
    }

    #alpaca-positions .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ==========================================================
   FIN V12
   ========================================================== */

/* ==========================================================
   TRADINGASSISTANT V13 — ALPACA CARDS
   Legibilidad + jerarquía visual
   SOLO afecta a las fichas de Mi cartera · Alpaca Paper.
   ========================================================== */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    align-items: start !important;
}

/* TARJETA */
#alpaca-positions .alpaca-position-card.v5-position-card {
    min-width: 0 !important;
    padding: 11px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(82, 126, 169, .34) !important;
    background: linear-gradient(145deg, #1b2c42, #17263a) !important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* CABECERA */
#alpaca-positions .alpaca-position-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: start !important;
    margin-bottom: 7px !important;
    padding-bottom: 7px !important;
    border-bottom: 1px solid rgba(115,155,195,.18) !important;
}

#alpaca-positions .v5-position-title {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 6px !important;
}

#alpaca-positions .alpaca-position-header h2 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #f8fafc !important;
}

#alpaca-positions .alpaca-position-side {
    margin-top: 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    color: #aebdcb !important;
    font-weight: 700 !important;
}

#alpaca-positions .alpaca-position-result {
    font-size: 12px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

#alpaca-positions .alpaca-position-result small {
    display: block !important;
    margin-top: 2px !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

/* SCORE */
#alpaca-positions .v5-score-badge {
    min-width: 45px !important;
    padding: 4px 5px !important;
    border-radius: 5px !important;
    background: rgba(5,17,30,.72) !important;
    border: 1px solid rgba(100,145,185,.18) !important;
    text-align: center !important;
}

#alpaca-positions .v5-score-badge small {
    display: block !important;
    margin: 0 0 2px !important;
    font-size: 6px !important;
    line-height: 1 !important;
    color: #9fb0c1 !important;
}

#alpaca-positions .v5-score-badge strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #fff !important;
    font-weight: 900 !important;
}

/* DATOS ALPACA */
#alpaca-positions .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 5px !important;
    margin-bottom: 7px !important;
}

#alpaca-positions .alpaca-position-grid > div {
    min-height: 34px !important;
    padding: 6px 7px !important;
    border-radius: 5px !important;
    background: rgba(5,17,30,.48) !important;
    border: 1px solid rgba(82,126,169,.15) !important;
}

#alpaca-positions .alpaca-position-grid small {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-bottom: 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    color: #aebdcb !important;
    font-weight: 700 !important;
}

#alpaca-positions .alpaca-position-grid small i {
    font-size: 7px !important;
    color: #82add5 !important;
}

#alpaca-positions .alpaca-position-grid strong {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    color: #f1f5f9 !important;
    font-weight: 850 !important;
}

/* PANEL V5 */
#alpaca-positions .v5-analysis {
    margin-top: 6px !important;
    padding: 7px !important;
    border-radius: 7px !important;
    background: rgba(5,18,31,.58) !important;
    border: 1px solid rgba(78,126,170,.20) !important;
}

#alpaca-positions .v5-analysis-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
    margin-bottom: 5px !important;
    font-size: 6px !important;
    line-height: 1 !important;
    color: #aabaca !important;
    font-weight: 800 !important;
}

#alpaca-positions .v5-engine-version {
    font-size: 6px !important;
    color: #74899d !important;
}

/* SEÑAL / CONFIANZA */
#alpaca-positions .v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0,1.6fr) minmax(55px,.7fr) !important;
    gap: 5px !important;
    margin-bottom: 5px !important;
}

#alpaca-positions .v5-signal {
    min-height: 39px !important;
    padding: 6px 8px !important;
    border-radius: 5px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

#alpaca-positions .v5-label {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 6px !important;
    line-height: 1 !important;
    color: #aebdcb !important;
    font-weight: 850 !important;
    letter-spacing: .3px !important;
}

#alpaca-positions .v5-signal strong {
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

#alpaca-positions .v5-buy {
    color: #4ade80 !important;
    background: rgba(34,197,94,.12) !important;
    border: 1px solid rgba(34,197,94,.30) !important;
}

#alpaca-positions .v5-sell {
    color: #f87171 !important;
    background: rgba(239,68,68,.12) !important;
    border: 1px solid rgba(239,68,68,.30) !important;
}

#alpaca-positions .v5-watch {
    color: #facc15 !important;
    background: rgba(234,179,8,.11) !important;
    border: 1px solid rgba(234,179,8,.30) !important;
}

/* CONFIANZA */
#alpaca-positions .v5-confidence {
    min-height: 39px !important;
    padding: 4px !important;
    border-radius: 5px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    background: rgba(16,31,48,.82) !important;
    border: 1px solid rgba(94,139,180,.17) !important;
}

#alpaca-positions .v5-confidence strong {
    font-size: 14px !important;
    line-height: 1 !important;
    color: #f8fafc !important;
    font-weight: 900 !important;
}

#alpaca-positions .v5-confidence small {
    margin-top: 3px !important;
    font-size: 6px !important;
    line-height: 1 !important;
    color: #4ade80 !important;
    font-weight: 800 !important;
}

/* TENDENCIA / FASE / RIESGO / OPORTUNIDAD */
#alpaca-positions .v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 4px !important;
    margin-bottom: 5px !important;
}

#alpaca-positions .v5-metrics > div {
    min-height: 42px !important;
    padding: 5px 3px !important;
    border-radius: 5px !important;
    background: rgba(14,30,47,.80) !important;
    border: 1px solid rgba(86,130,169,.17) !important;
    text-align: center !important;
}

#alpaca-positions .v5-metrics small {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 6px !important;
    line-height: 1 !important;
    color: #91a6b9 !important;
    font-weight: 750 !important;
}

#alpaca-positions .v5-metrics strong {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    color: #f0f4f8 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

/* CALIDAD / GUIA */
#alpaca-positions .v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 4px !important;
}

#alpaca-positions .v5-quality > div {
    min-height: 39px !important;
    padding: 5px 4px !important;
    border-radius: 5px !important;
    background: rgba(11,27,44,.78) !important;
    border: 1px solid rgba(86,130,169,.18) !important;
    text-align: center !important;
}

#alpaca-positions .v5-quality small {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 6px !important;
    line-height: 1.05 !important;
    color: #91a6b9 !important;
    font-weight: 750 !important;
}

#alpaca-positions .v5-quality strong {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    color: #e7eef5 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

/* COLORES RIESGO */
#alpaca-positions .v5-risk-high { color:#f87171 !important; }
#alpaca-positions .v5-risk-medium { color:#facc15 !important; }
#alpaca-positions .v5-risk-low { color:#4ade80 !important; }

/* P&L */
#alpaca-positions .alpaca-profit { color:#4ade80 !important; }
#alpaca-positions .alpaca-loss { color:#f87171 !important; }
#alpaca-positions .alpaca-neutral { color:#cbd5e1 !important; }

/* RESPONSIVE */
@media (max-width:1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    #alpaca-positions .v5-metrics {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:700px) {
    #alpaca-positions {
        grid-template-columns:1fr !important;
    }

    #alpaca-positions .alpaca-position-header {
        grid-template-columns:1fr !important;
    }

    #alpaca-positions .v5-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* ==========================================================
   FIN V13
   ========================================================== */

/* ==========================================================
   TRADINGASSISTANT V14 — ALPACA CARDS LEGIBILITY
   Objetivo:
   - Mantener la estructura V5 actual
   - Llevar las fichas Alpaca al lenguaje visual de las fichas
     de referencia / Watchlist
   - Aumentar tipografías y números sin aumentar innecesariamente
     la altura total
   - Evitar solapamientos y textos microscópicos
   ========================================================== */

#alpaca-portfolio,
#alpaca-account {
    width: calc(100% - 20px) !important;
    max-width: none !important;
}

/* ---------- CONTENEDOR DE CARTERA ---------- */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px !important;
    align-items: start !important;
}

/* ---------- FICHA PRINCIPAL ---------- */

#alpaca-positions .alpaca-position-card.v5-position-card {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background:
        linear-gradient(145deg, #172b42 0%, #13243a 55%, #102035 100%) !important;
    border: 1px solid rgba(96,165,250,.20) !important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* ---------- CABECERA ---------- */

#alpaca-positions .alpaca-position-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 38px !important;
    margin: 0 0 8px !important;
    padding: 0 0 7px !important;
    border-bottom: 1px solid rgba(148,163,184,.16) !important;
}

#alpaca-positions .v5-position-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

#alpaca-positions .v5-position-title > div:first-child {
    min-width: 0 !important;
}

#alpaca-positions .alpaca-position-header h2 {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    letter-spacing: .15px !important;
    color: #f8fafc !important;
}

#alpaca-positions .alpaca-position-side {
    display: block !important;
    margin-top: 3px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
    color: #94a3b8 !important;
    letter-spacing: .35px !important;
}

/* ---------- RESULTADO P/L ---------- */

#alpaca-positions .alpaca-position-result {
    flex: 0 0 auto !important;
    align-items: flex-end !important;
    gap: 1px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
}

#alpaca-positions .alpaca-position-result small {
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
}

/* ---------- DATOS DE POSICIÓN ---------- */

#alpaca-positions .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 7px !important;
}

#alpaca-positions .alpaca-position-grid > div {
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 6px 4px !important;
    min-height: 43px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(5,18,32,.48) !important;
    border: 1px solid rgba(96,165,250,.08) !important;
}

#alpaca-positions .alpaca-position-grid small {
    display: block !important;
    margin: 0 0 3px !important;
    font-size: 7px !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    color: #9fb0c5 !important;
    white-space: nowrap !important;
}

#alpaca-positions .alpaca-position-grid small i {
    display: none !important;
}

#alpaca-positions .alpaca-position-grid strong {
    display: block !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    white-space: nowrap !important;
}

/* ---------- PANEL V5 ---------- */

#alpaca-positions .v5-analysis {
    margin-top: 5px !important;
    padding: 7px !important;
    border-radius: 6px !important;
    background:
        linear-gradient(145deg, rgba(7,22,38,.78), rgba(10,27,45,.66)) !important;
    border: 1px solid rgba(96,165,250,.11) !important;
}

#alpaca-positions .v5-analysis-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
    padding-bottom: 5px !important;
    border-bottom: 1px solid rgba(148,163,184,.12) !important;
    font-size: 7px !important;
    line-height: 1 !important;
    color: #a9bad0 !important;
}

#alpaca-positions .v5-analysis-header > span:first-child {
    font-weight: 800 !important;
    letter-spacing: .25px !important;
}

#alpaca-positions .v5-engine-version {
    font-size: 7px !important;
    color: #64748b !important;
    white-space: nowrap !important;
}

/* ---------- SEÑAL + SCORE + CONFIANZA ---------- */

#alpaca-positions .v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58px 58px !important;
    gap: 4px !important;
    align-items: stretch !important;
    margin-bottom: 6px !important;
}

#alpaca-positions .v5-signal {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 6px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .25px !important;
}

#alpaca-positions .v5-signal strong {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

#alpaca-positions .v5-confidence {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 5px 3px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.62) !important;
    border: 1px solid rgba(96,165,250,.10) !important;
}

#alpaca-positions .v5-confidence strong {
    display: block !important;
    font-size: 17px !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    color: #f8fafc !important;
}

#alpaca-positions .v5-confidence small {
    display: block !important;
    margin-top: 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* ---------- MÉTRICAS: TENDENCIA / FASE / RIESGO / OPORTUNIDAD ---------- */

#alpaca-positions .v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 6px !important;
}

#alpaca-positions .v5-metrics > div {
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 5px 3px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.62) !important;
    border: 1px solid rgba(96,165,250,.09) !important;
}

#alpaca-positions .v5-metrics small,
#alpaca-positions .v5-quality small {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 7px !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    color: #9fb0c5 !important;
}

#alpaca-positions .v5-metrics strong {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    color: #e5edf7 !important;
    overflow-wrap: anywhere !important;
}

/* ---------- CALIDAD / GUÍA ---------- */

#alpaca-positions .v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
}

#alpaca-positions .v5-quality > div {
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 5px 4px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.62) !important;
    border: 1px solid rgba(96,165,250,.09) !important;
}

#alpaca-positions .v5-quality strong {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    color: #f1f5f9 !important;
    overflow-wrap: anywhere !important;
}

/* ---------- COLORES DE SEÑAL ---------- */

#alpaca-positions .v5-buy {
    color: #4ade80 !important;
    background: rgba(22,163,74,.16) !important;
    border: 1px solid rgba(34,197,94,.38) !important;
}

#alpaca-positions .v5-sell {
    color: #f87171 !important;
    background: rgba(220,38,38,.15) !important;
    border: 1px solid rgba(239,68,68,.36) !important;
}

#alpaca-positions .v5-watch {
    color: #facc15 !important;
    background: rgba(202,138,4,.14) !important;
    border: 1px solid rgba(234,179,8,.36) !important;
}

#alpaca-positions .v5-neutral {
    color: #cbd5e1 !important;
    background: rgba(71,85,105,.15) !important;
    border: 1px solid rgba(148,163,184,.18) !important;
}

/* ---------- COLORES DE RIESGO ---------- */

#alpaca-positions .v5-risk-high {
    color: #f87171 !important;
}

#alpaca-positions .v5-risk-medium {
    color: #facc15 !important;
}

#alpaca-positions .v5-risk-low {
    color: #4ade80 !important;
}

#alpaca-positions .v5-risk-neutral {
    color: #cbd5e1 !important;
}

/* ---------- HOVER ---------- */

#alpaca-positions .alpaca-position-card.v5-position-card:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(96,165,250,.38) !important;
    box-shadow:
        0 6px 16px rgba(0,0,0,.25),
        0 0 0 1px rgba(96,165,250,.06) !important;
}

/* ---------- TABLET ---------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ---------- MÓVIL ---------- */

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
    }

    #alpaca-positions .alpaca-position-card.v5-position-card {
        padding: 10px !important;
    }

    #alpaca-positions .alpaca-position-header h2 {
        font-size: 20px !important;
    }

    #alpaca-positions .v5-signal-row {
        grid-template-columns: minmax(0, 1fr) 64px 64px !important;
    }

    #alpaca-positions .v5-signal strong {
        font-size: 12px !important;
    }

    #alpaca-positions .v5-confidence strong {
        font-size: 18px !important;
    }

    #alpaca-positions .alpaca-position-grid strong {
        font-size: 11px !important;
    }

    #alpaca-positions .v5-metrics strong {
        font-size: 9px !important;
    }
}

/* ==========================================================
   FIN V14
   ========================================================== */

/* ==========================================================
   TRADINGASSISTANT V15 — ALPACA CARDS REBUILD
   Rediseño de la composición interna.
   NO depende de aumentar todo indiscriminadamente.
   ========================================================== */

#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px !important;
    align-items: start !important;
}

/* FICHA */
#alpaca-positions .alpaca-position-card.v5-position-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 10px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: linear-gradient(145deg,#172b42,#102238) !important;
    border: 1px solid rgba(96,165,250,.22) !important;
}

/* CABECERA */
#alpaca-positions .alpaca-position-header {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
    align-items: start !important;
    margin: 0 0 8px !important;
    padding: 0 0 7px !important;
    min-height: 42px !important;
    border-bottom: 1px solid rgba(148,163,184,.16) !important;
}

#alpaca-positions .alpaca-position-header h2 {
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #f8fafc !important;
}

#alpaca-positions .alpaca-position-side {
    display: block !important;
    margin-top: 4px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    color: #9fb0c5 !important;
    letter-spacing: .3px !important;
}

#alpaca-positions .alpaca-position-result {
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-align: right !important;
}

#alpaca-positions .alpaca-position-result small {
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

/* DATOS DE POSICIÓN — 4 CELDAS */
#alpaca-positions .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 4px !important;
    margin: 0 0 7px !important;
}

#alpaca-positions .alpaca-position-grid > div {
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 6px 3px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(5,18,32,.62) !important;
    border: 1px solid rgba(96,165,250,.10) !important;
}

#alpaca-positions .alpaca-position-grid small {
    display: block !important;
    margin: 0 0 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #aab9ca !important;
    white-space: nowrap !important;
}

#alpaca-positions .alpaca-position-grid small i {
    display: none !important;
}

#alpaca-positions .alpaca-position-grid strong {
    display: block !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #f1f5f9 !important;
    white-space: nowrap !important;
}

/* MOTOR V5 */
#alpaca-positions .v5-analysis {
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 6px !important;
    background: rgba(5,18,32,.42) !important;
    border: 1px solid rgba(96,165,250,.12) !important;
}

#alpaca-positions .v5-analysis-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 0 6px !important;
    padding: 0 0 5px !important;
    border-bottom: 1px solid rgba(148,163,184,.13) !important;
    font-size: 7px !important;
    line-height: 1 !important;
}

#alpaca-positions .v5-engine-version {
    font-size: 7px !important;
    color: #64748b !important;
}

/* SEÑAL / SCORE / CONFIANZA */
#alpaca-positions .v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px 58px !important;
    gap: 4px !important;
    margin: 0 0 6px !important;
}

#alpaca-positions .v5-signal {
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 6px 7px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border-radius: 5px !important;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    font-size: 7px !important;
    line-height: 1 !important;
    margin-bottom: 3px !important;
    font-weight: 800 !important;
}

#alpaca-positions .v5-signal strong {
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

#alpaca-positions .v5-confidence {
    min-height: 43px !important;
    padding: 4px 2px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.72) !important;
    border: 1px solid rgba(96,165,250,.12) !important;
}

#alpaca-positions .v5-confidence strong {
    font-size: 17px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    color: #f8fafc !important;
}

#alpaca-positions .v5-confidence small {
    display: block !important;
    margin-top: 3px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

/* MÉTRICAS */
#alpaca-positions .v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 4px !important;
    margin: 0 0 6px !important;
}

#alpaca-positions .v5-metrics > div {
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 5px 3px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.72) !important;
    border: 1px solid rgba(96,165,250,.10) !important;
}

#alpaca-positions .v5-metrics small,
#alpaca-positions .v5-quality small {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #aab9ca !important;
}

#alpaca-positions .v5-metrics strong {
    display: block !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    color: #f1f5f9 !important;
    overflow-wrap: anywhere !important;
}

/* CALIDAD — 3 CELDAS */
#alpaca-positions .v5-quality {
    display: grid !important;
    grid-template-columns: 74px 74px minmax(0,1fr) !important;
    gap: 4px !important;
}

#alpaca-positions .v5-quality > div {
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 5px 4px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 5px !important;
    background: rgba(8,20,35,.72) !important;
    border: 1px solid rgba(96,165,250,.10) !important;
}

#alpaca-positions .v5-quality strong {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #f1f5f9 !important;
    overflow-wrap: anywhere !important;
}

/* SEÑALES */
#alpaca-positions .v5-buy {
    color: #4ade80 !important;
    background: rgba(22,163,74,.17) !important;
    border-color: rgba(34,197,94,.40) !important;
}
#alpaca-positions .v5-sell {
    color: #f87171 !important;
    background: rgba(220,38,38,.17) !important;
    border-color: rgba(239,68,68,.40) !important;
}
#alpaca-positions .v5-watch {
    color: #facc15 !important;
    background: rgba(202,138,4,.17) !important;
    border-color: rgba(234,179,8,.40) !important;
}
#alpaca-positions .v5-neutral {
    color: #cbd5e1 !important;
    background: rgba(71,85,105,.17) !important;
}

/* RIESGO */
#alpaca-positions .v5-risk-high { color:#f87171 !important; }
#alpaca-positions .v5-risk-medium { color:#facc15 !important; }
#alpaca-positions .v5-risk-low { color:#4ade80 !important; }
#alpaca-positions .v5-risk-neutral { color:#cbd5e1 !important; }

/* RESPONSIVE */
@media (max-width:1100px) {
    #alpaca-positions {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:700px) {
    #alpaca-positions {
        grid-template-columns:1fr !important;
    }

    #alpaca-positions .v5-signal-row {
        grid-template-columns:minmax(0,1fr) 64px 64px !important;
    }

    #alpaca-positions .v5-quality {
        grid-template-columns:74px 74px minmax(0,1fr) !important;
    }
}

/* ==========================================================
   FIN V15
   ========================================================== */

/* ==========================================================
   TRADINGASSISTANT V5 — ALPACA CARDS V16
   Legibilidad / jerarquía visual
   Se añade AL FINAL de style.css
   No modifica las fichas de Watchlist.
   ========================================================== */

/* ---------- CONTENEDOR ALPACA ---------- */

#alpaca-positions {
    align-items: stretch;
    gap: 12px;
    padding: 14px;
}

.alpaca-position-card.v5-position-card {
    padding: 14px;
    border-radius: 9px;
    min-height: 0;
    overflow: hidden;
}

/* ---------- CABECERA ---------- */

.v5-position-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    width: 100%;
}

.v5-position-title h2 {
    font-size: 19px;
    line-height: 1.1;
    letter-spacing: .2px;
}

.v5-position-title .alpaca-position-side {
    font-size: 10px;
    line-height: 1.25;
    margin-top: 5px;
}

.v5-score-badge {
    min-width: 62px;
    padding: 5px 7px;
    border-radius: 6px;
    background: rgba(8,18,31,.42);
    border: 1px solid rgba(96,165,250,.14);
    text-align: center;
}

.v5-score-badge small {
    display: block;
    font-size: 9px;
    line-height: 1.15;
    color: #94a3b8;
}

.v5-score-badge strong {
    display: block;
    margin-top: 2px;
    color: #f8fafc;
    font-size: 16px;
    line-height: 1.1;
}

/* ---------- RESULTADO DE LA POSICIÓN ---------- */

.alpaca-position-result {
    font-size: 14px;
    line-height: 1.15;
}

.alpaca-position-result small {
    font-size: 10px;
    line-height: 1.15;
}

/* ---------- DATOS DE POSICIÓN ---------- */

.alpaca-position-grid {
    gap: 7px;
}

.alpaca-position-grid > div {
    min-width: 0;
    padding: 9px 9px 8px;
    border-radius: 6px;
}

.alpaca-position-grid small {
    font-size: 9px;
    line-height: 1.15;
    margin-bottom: 5px;
}

.alpaca-position-grid strong {
    font-size: 12px;
    line-height: 1.2;
}

/* ==========================================================
   BLOQUE TRADINGASSISTANT V5
   ========================================================== */

.v5-analysis {
    margin-top: 11px;
    padding: 11px;
    border-radius: 8px;
    background: rgba(5,16,29,.48);
    border: 1px solid rgba(96,165,250,.10);
}

.v5-analysis-header {
    min-height: 18px;
    margin-bottom: 9px;
    font-size: 9px;
    line-height: 1.2;
}

.v5-analysis-header > span:first-child {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .25px;
}

.v5-engine-version {
    font-size: 8px;
}

/* ---------- SEÑAL + CONFIANZA ---------- */

.v5-signal-row {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(70px, .65fr);
    gap: 7px;
    align-items: stretch;
}

.v5-signal,
.v5-confidence {
    min-height: 52px;
    box-sizing: border-box;
}

.v5-signal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 6px;
}

.v5-signal .v5-label,
.v5-confidence .v5-label {
    font-size: 8px;
    line-height: 1.15;
    margin-bottom: 4px;
}

.v5-signal strong {
    font-size: 12px;
    line-height: 1.15;
}

.v5-confidence {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 7px 8px;
    border-radius: 6px;
    background: rgba(8,18,31,.46);
    border: 1px solid rgba(255,255,255,.055);
    text-align: center;
}

.v5-confidence strong {
    font-size: 16px;
    line-height: 1.05;
}

.v5-confidence small {
    margin-top: 3px;
    font-size: 8px;
    line-height: 1.15;
}

/* ---------- MÉTRICAS ---------- */

.v5-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-top: 7px;
}

.v5-metrics > div {
    min-width: 0;
    padding: 7px 5px;
    border-radius: 5px;
    background: rgba(10,24,40,.58);
    border: 1px solid rgba(255,255,255,.045);
    text-align: center;
}

.v5-metrics small {
    display: block;
    font-size: 7.5px;
    line-height: 1.15;
    color: #94a3b8;
    margin-bottom: 4px;
}

.v5-metrics strong {
    display: block;
    font-size: 9px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* ---------- CALIDADES ---------- */

.v5-quality {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-top: 7px;
}

.v5-quality > div {
    min-width: 0;
    padding: 7px 6px;
    border-radius: 5px;
    background: rgba(10,24,40,.58);
    border: 1px solid rgba(255,255,255,.045);
    text-align: center;
}

.v5-quality small {
    display: block;
    font-size: 7.5px;
    line-height: 1.15;
    color: #94a3b8;
    margin-bottom: 4px;
}

.v5-quality strong {
    display: block;
    font-size: 9px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* ---------- COLORES DE DECISIÓN ---------- */

.v5-buy {
    color: #4ade80;
    background: rgba(34,197,94,.12);
    border: 1px solid rgba(34,197,94,.28);
}

.v5-sell {
    color: #f87171;
    background: rgba(239,68,68,.12);
    border: 1px solid rgba(239,68,68,.28);
}

.v5-watch {
    color: #facc15;
    background: rgba(234,179,8,.11);
    border: 1px solid rgba(234,179,8,.28);
}

.v5-neutral {
    color: #cbd5e1;
    background: rgba(100,116,139,.12);
    border: 1px solid rgba(148,163,184,.18);
}

/* ---------- RIESGO ---------- */

.v5-risk-high {
    color: #f87171 !important;
}

.v5-risk-medium {
    color: #facc15 !important;
}

.v5-risk-low {
    color: #4ade80 !important;
}

.v5-risk-neutral {
    color: #cbd5e1 !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v5-quality {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   TRADINGASSISTANT — ALPACA V5 HARD OVERRIDE
   V17 — Legibilidad real
   IMPORTANTE: este archivo está pensado para concatenarse
   AL FINAL de static/style.css
   ========================================================== */

/* Fuerza el tamaño del bloque de cartera */
#alpaca-positions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 14px !important;
}

/* Tarjeta principal */
#alpaca-positions .alpaca-position-card.v5-position-card {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 15px !important;
    border-radius: 10px !important;
    overflow: visible !important;
}

/* ---------------- CABECERA ---------------- */

#alpaca-positions .alpaca-position-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
}

#alpaca-positions .v5-position-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
}

#alpaca-positions .v5-position-title h2 {
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

#alpaca-positions .alpaca-position-side {
    display: block !important;
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

#alpaca-positions .v5-score-badge {
    min-width: 68px !important;
    padding: 6px 7px !important;
}

#alpaca-positions .v5-score-badge small {
    font-size: 9px !important;
}

#alpaca-positions .v5-score-badge strong {
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Resultado P/L */
#alpaca-positions .alpaca-position-result {
    font-size: 15px !important;
    line-height: 1.15 !important;
}

#alpaca-positions .alpaca-position-result small {
    font-size: 11px !important;
}

/* ---------------- DATOS ---------------- */

#alpaca-positions .alpaca-position-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

#alpaca-positions .alpaca-position-grid > div {
    padding: 9px 10px !important;
    min-height: 48px !important;
}

#alpaca-positions .alpaca-position-grid small {
    font-size: 9px !important;
    line-height: 1.15 !important;
    margin-bottom: 5px !important;
}

#alpaca-positions .alpaca-position-grid strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
}

/* ---------------- MOTOR V5 ---------------- */

#alpaca-positions .v5-analysis {
    display: block !important;
    margin-top: 12px !important;
    padding: 11px !important;
    border-radius: 8px !important;
}

#alpaca-positions .v5-analysis-header {
    margin-bottom: 9px !important;
}

#alpaca-positions .v5-analysis-header > span:first-child {
    font-size: 9px !important;
}

#alpaca-positions .v5-engine-version {
    font-size: 8px !important;
}

/* Señal y confianza */
#alpaca-positions .v5-signal-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(75px, .7fr) !important;
    gap: 7px !important;
}

#alpaca-positions .v5-signal {
    min-height: 57px !important;
    padding: 9px 10px !important;
}

#alpaca-positions .v5-signal .v5-label,
#alpaca-positions .v5-confidence .v5-label {
    font-size: 8px !important;
    line-height: 1.1 !important;
}

#alpaca-positions .v5-signal strong {
    font-size: 13px !important;
    line-height: 1.15 !important;
}

#alpaca-positions .v5-confidence {
    min-height: 57px !important;
    padding: 8px !important;
}

#alpaca-positions .v5-confidence strong {
    font-size: 18px !important;
}

#alpaca-positions .v5-confidence small {
    font-size: 9px !important;
}

/* Cuatro indicadores */
#alpaca-positions .v5-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin-top: 7px !important;
}

#alpaca-positions .v5-metrics > div {
    padding: 8px 5px !important;
    min-height: 54px !important;
}

#alpaca-positions .v5-metrics small {
    font-size: 8px !important;
    line-height: 1.15 !important;
    margin-bottom: 5px !important;
}

#alpaca-positions .v5-metrics strong {
    font-size: 10px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

/* Calidad / exposición */
#alpaca-positions .v5-quality {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin-top: 7px !important;
}

#alpaca-positions .v5-quality > div {
    padding: 8px 6px !important;
    min-height: 50px !important;
}

#alpaca-positions .v5-quality small {
    font-size: 8px !important;
    line-height: 1.15 !important;
    margin-bottom: 5px !important;
}

#alpaca-positions .v5-quality strong {
    font-size: 10px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 1100px) {
    #alpaca-positions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    #alpaca-positions {
        grid-template-columns: 1fr !important;
        padding: 10px !important;
    }

    #alpaca-positions .v5-signal-row {
        grid-template-columns: 1fr 1fr !important;
    }

    #alpaca-positions .v5-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #alpaca-positions .v5-quality {
        grid-template-columns: 1fr !important;
    }
}
