/* Auditoría de valores — layout parte 1 y triángulo parte 2 */

.av-root .av-sub {
    margin: 0 0 0.25rem;
    font-size: 0.9rem;
    color: var(--nb-color-muted, #6b7280);
}

.av-panel {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 1.5rem;
    padding: 1.75rem 1.5rem;
    background: var(--nb-color-bg, #fff);
    border: 1px solid var(--nb-color-border, #e5e7eb);
    border-radius: var(--nb-radius-card, 12px);
    box-shadow: var(--nb-shadow-card, 0 4px 14px rgba(0, 0, 0, 0.08));
    text-align: left;
}

.av-panel h3 {
    margin: 0 0 0.5rem;
    color: var(--nb-color-dark, #040037);
    font-size: 1.2rem;
    text-align: center;
}

.av-panel-intro {
    margin: 0 0 1.25rem;
    font-size: 0.95rem;
    color: var(--nb-color-muted, #6b7280);
    line-height: 1.45;
    text-align: center;
}

.av-p1-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1rem;
}

@media (max-width: 640px) {
    .av-p1-cols {
        grid-template-columns: 1fr;
    }
}

.av-p1-col-title {
    margin: 0 0 0.5rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--nb-color-primary, #2c1a46);
    text-align: center;
}

.av-p1-col {
    padding: 0.9rem;
    border-radius: 12px;
}

.av-p1-col--valores {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.av-p1-col--valores .av-p1-col-title {
    color: #166534;
}

.av-p1-col--valores .av-p1-slot-input {
    border-color: #86efac;
    background: #ffffff;
}

.av-p1-col--valores .av-p1-slot-input:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14);
}

.av-p1-col--antivalores {
    background: #fff7ed;
    border: 1px solid #fdba74;
}

.av-p1-col--antivalores .av-p1-col-title {
    color: #c2410c;
}

.av-p1-col--antivalores .av-p1-slot-input {
    border-color: #fdba74;
    background: #ffffff;
}

.av-p1-col--antivalores .av-p1-slot-input:focus {
    border-color: #f97316;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.14);
}

.av-p1-sort-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.av-p1-sort-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.25rem;
    border-radius: var(--nb-radius-control, 8px);
    border: 1px solid transparent;
    transition: border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
    flex-wrap: wrap;
}

.av-p1-slot-input {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--nb-color-border, #e5e7eb);
    border-radius: var(--nb-radius-control, 8px);
    font-size: 1rem;
    box-sizing: border-box;
}

.av-p1-slot-input:focus {
    outline: none;
    border-color: var(--nb-color-accent, #ff0081);
    box-shadow: 0 0 0 3px rgba(255, 0, 129, 0.12);
}

.av-p1-points {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.av-p1-pt-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--nb-color-border, #e5e7eb) !important;
    border-radius: 9999px !important;
    background: var(--nb-color-bg-muted, #f8fafc) !important;
    color: var(--nb-color-dark, #040037) !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    appearance: none !important;
}

.av-p1-pt-btn:hover {
    background: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
}

.av-p1-pt-btn:focus-visible {
    outline: 2px solid var(--nb-color-accent, #ff0081) !important;
    outline-offset: 2px !important;
}

.av-p1-pt-val {
    min-width: 1.75rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--nb-color-dark, #040037);
    user-select: none;
}

/* Triángulo: vértice arriba + base abajo (valor principal arriba, operativo abajo) */
.av-triangle-block {
    margin-bottom: 0.5rem;
}

.av-triangle-principal input,
.av-triangle-operativo input,
.av-p2-corner {
    width: 100%;
    max-width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--nb-color-border, #e5e7eb);
    border-radius: var(--nb-radius-control, 8px);
    font-size: 1rem;
    box-sizing: border-box;
    text-align: center;
}

.av-triangle-principal input:focus,
.av-triangle-operativo input:focus,
.av-p2-corner:focus {
    outline: none;
    border-color: var(--nb-color-accent, #ff0081);
    box-shadow: 0 0 0 3px rgba(255, 0, 129, 0.12);
}

.av-triangle-principal {
    text-align: center;
    margin-bottom: 0.75rem;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.av-p2-note {
    margin: 0.45rem 0 0;
    font-size: 0.85rem;
    color: var(--nb-color-muted, #6b7280);
}

.av-triangle-wrap {
    position: relative;
    max-width: 420px;
    min-height: 220px;
    margin: 0 auto 1rem;
    padding: 0.5rem 0 1rem;
}

.av-triangle-shape {
    position: absolute;
    left: 50%;
    top: 56%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 130px solid transparent;
    border-right: 130px solid transparent;
    border-bottom: 180px solid rgba(44, 26, 70, 0.09);
    z-index: 0;
    pointer-events: none;
}

@media (max-width: 480px) {
    .av-triangle-shape {
        border-left-width: 100px;
        border-right-width: 100px;
        border-bottom-width: 140px;
    }
}

.av-triangle-apex {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    margin-bottom: 2.5rem;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
}

.av-triangle-base {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding: 0 0.25rem;
}

.av-triangle-base-node {
    flex: 1;
    min-width: 0;
}

.av-p2-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
}

.av-p2-field .av-p2-corner,
.av-p2-field #av_p2_operativo {
    width: 100%;
}

.av-p2-points {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.av-p2-pt-val {
    min-width: 1.75rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--nb-color-dark, #040037);
    user-select: none;
}

.av-triangle-operativo {
    margin-top: 0.5rem;
    text-align: center;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.av-btn-action--secondary {
    background: #475569;
}

.av-btn-action--secondary:hover {
    background: #334155;
}

.av-p2-resultado {
    margin-top: 0.9rem;
    padding: 1rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #0f172a;
}

.av-p2-resultado-title {
    margin: 0 0 0.75rem;
    font-weight: 700;
    text-align: center;
}

.av-p2-resultado-list {
    margin: 0;
    padding-left: 1.25rem;
}

.av-p2-resultado-list li {
    margin-bottom: 0.35rem;
}

.av-btn-action {
    display: block;
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.75rem 1.25rem;
    background: var(--nb-color-primary, #2c1a46);
    color: #fff !important;
    border: none;
    border-radius: var(--nb-radius-control, 8px);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}

.av-btn-action:hover {
    background: var(--nb-color-primary-hover, #3d2560);
}

.av-mensaje {
    max-width: 760px;
    margin: 1rem auto 0;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
    text-align: center;
}

.av-mensaje--ok {
    background: #e8f5e9;
    color: #1b5e20;
}

.av-mensaje--err {
    background: #ffebee;
    color: #b71c1c;
}

.av-tie-pick{
    display: flex;
    flex-direction: column;
    gap: 2rem !important;
    margin: 1rem 0 0;
    text-align: center;
}

@media (max-width: 480px) {
    .av-triangle-base {
        flex-direction: column;
        gap: 1.25rem;
        align-items: stretch;
    }
}