/* =========================================================
   ÁREA PRIVADA B2B – LAYOUT ULTRA COMPACTO (Opción A)
   Rediseño visual tipo SaaS (Notion / Linear / Stripe)
   ========================================================= */


/* ---------------------------------------------------------
   0. CSS AILLATS
   --------------------------------------------------------- */
body.woocommerce-account h2 {margin-left: 1em !important;}


/* ---------------------------------------------------------
   1. LAYOUT GENERAL "MI CUENTA"
   --------------------------------------------------------- */

/* Contenedor principal Mi Cuenta: 2 columnas (sidebar + contenido) */
body.woocommerce-account .woocommerce {
    display: flex;
    gap: 32px; /* 4 × 8 */
    align-items: flex-start;
    border:1px solid gray;
    background-color: #fff !important;
}

/* Sidebar navegación izquierda */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 270px;
    max-width: 270px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    float: none;
}

/* Lista del menú lateral */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Items del menú */
body.woocommerce-account .woocommerce-MyAccount-navigation li {
    list-style: none;
}

/* Enlaces del menú */
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    position: relative;
    padding: 10px 14px 10px 36px; /* espacio para icono */
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    color: #111827;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    transition:
        background 140ms ease-out,
        border-color 140ms ease-out,
        color 140ms ease-out,
        box-shadow 140ms ease-out,
        transform 100ms ease-out;
}

/* Hover y foco */
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
    background: #e5e7eb;
    border-color: #d1d5db;
    color: #111827;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
    transform: translateY(-1px);
    outline: none;
}

/* Estado activo */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: #0f172a;
    border-color: #0f172a;
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25);
    transform: translateY(-1px);
}

/* Contenido derecha */
body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    margin: 0;
    padding: 0;
    max-width: 100%;
}

/* Ocultar botones antiguos Bitubi si existieran */
body.woocommerce-account #bitubi-buttons {
    display: none;
}

/* ---------------------------------------------------------
   2. WRAPPER PERFIL B2B
   --------------------------------------------------------- */

#btb2b-profile-wrapper {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    padding: 24px 24px;
    margin-top: 12px;
    width: 70%;
    box-sizing: border-box;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

/* Título principal */
#btb2b-profile-wrapper h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 16px;
    color: #0f172a;
    letter-spacing: -0.01em;
}

/* Subtítulos */
#btb2b-profile-wrapper .btb2b-section-title,
#btb2b-profile-wrapper h3 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
    margin: 16px 0 4px;
}

/* Descripciones */
#btb2b-profile-wrapper .btb2b-section-description,
#btb2b-profile-wrapper p.description {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #6b7280;
    margin: 0 0 12px;
}

/* ---------------------------------------------------------
   3. TABS (EMPRESA / CONTACTOS / DIRECCIONES / MARCAS)
   --------------------------------------------------------- */

#btb2b-profile-wrapper .btb2b-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 4px;
    border-bottom: 1px solid #e5e7eb;
}

#btb2b-profile-wrapper .btb2b-tab-button {
    position: relative;
    border: none;
    background: transparent;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 500;
    color: #4b5563;
    cursor: pointer;
    transition:
        background 140ms ease-out,
        color 140ms ease-out,
        box-shadow 140ms ease-out,
        transform 100ms ease-out;
}

/* Hover */
#btb2b-profile-wrapper .btb2b-tab-button:hover {
    background: #f3f4f6;
    color: #111827;
    transform: translateY(-0.5px);
}

/* Activo: pill + subrayado */
#btb2b-profile-wrapper .btb2b-tab-button.active {
    color: #0f172a;
    font-weight: 600;
    background: #eef2ff;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.18);
}

#btb2b-profile-wrapper .btb2b-tab-button.active::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -6px;
    height: 2px;
    background: #2563eb;
    border-radius: 999px;
}

/* ---------------------------------------------------------
   4. PANELES
   --------------------------------------------------------- */

#btb2b-profile-wrapper .btb2b-tab-panel {
    display: none;
    width: 100%;
    margin-top: 4px;
}

#btb2b-profile-wrapper .btb2b-tab-panel.active {
    display: block;
    animation: btb2b-fade-in 140ms ease-out;
}

@keyframes btb2b-fade-in {
    from { opacity: 0; transform: translateY(2px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---------------------------------------------------------
   5. FORMULARIO
   --------------------------------------------------------- */

#btb2b-profile-wrapper label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: #374151;
    margin-top: 4px;
    margin-bottom: 2px;
}

#btb2b-profile-wrapper input,
#btb2b-profile-wrapper select,
#btb2b-profile-wrapper textarea {
    width: 100%;
    padding: 8px 10px;
    margin: 0 0 8px;
    font-size: 0.88rem;
    color: #111827 !important;
    background: #f9fafb !important;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    transition:
        border-color 140ms ease-out,
        box-shadow 140ms ease-out,
        background 140ms ease-out,
        transform 100ms ease-out;
}

#btb2b-profile-wrapper input:focus,
#btb2b-profile-wrapper select:focus,
#btb2b-profile-wrapper textarea:focus {
    outline: none;
    border-color: #2563eb;
    color: #000 !important;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
    transform: translateY(-0.5px);
}

/* Textareas */
#btb2b-profile-wrapper textarea {
    min-height: 90px;
    resize: vertical;
}

/* Inline groups */
#btb2b-profile-wrapper .btb2b-field-inline {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

#btb2b-profile-wrapper .btb2b-field-inline .btb2b-field-group {
    flex: 1 1 0;
}

/* ---------------------------------------------------------
   6. BLOQUES REPETIBLES
   --------------------------------------------------------- */

#btb2b-profile-wrapper .btb2b-repeat-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#btb2b-profile-wrapper .btb2b-repeat-item {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 12px 14px;
}

/* Botones añadir / eliminar */
#btb2b-profile-wrapper .btb2b-add-item,
#btb2b-profile-wrapper .btb2b-remove-item {
    padding: 7px 12px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.8rem;
    margin-top: 6px;
    border: none;
    cursor: pointer;
    transition:
        background 140ms ease-out,
        box-shadow 140ms ease-out,
        transform 100ms ease-out;
}

/* Añadir */
#btb2b-profile-wrapper .btb2b-add-item {
    background: #2563eb;
    color: #ffffff;
}

#btb2b-profile-wrapper .btb2b-add-item:hover {
    background: #1d4ed8;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
    transform: translateY(-1px);
}

/* Eliminar */
#btb2b-profile-wrapper .btb2b-remove-item {
    background: #dc2626;
    color: #ffffff;
}

#btb2b-profile-wrapper .btb2b-remove-item:hover {
    background: #b91c1c;
    box-shadow: 0 2px 6px rgba(220, 38, 38, 0.3);
    transform: translateY(-1px);
}

/* ---------------------------------------------------------
   7. BOTÓN GUARDAR
   --------------------------------------------------------- */

#btb2b-profile-wrapper .btb2b-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

#btb2b-save-profile-btn {
    min-width: 180px;
    padding: 10px 16px;
    background: #16a34a;
    border-radius: 8px;
    border: none;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition:
        background 140ms ease-out,
        box-shadow 140ms ease-out,
        transform 100ms ease-out;
}

#btb2b-save-profile-btn:hover {
    background: #15803d;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.35);
    transform: translateY(-1px);
}

/* ---------------------------------------------------------
   8. ICONOS LATERALES (SVG)
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    opacity: 0.85;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Escritorio */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/></svg>");
}

/* Perfil B2B */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--perfil-b2b a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M3 21V8l9-5 9 5v13H3zm9-8a3 3 0 100-6 3 3 0 000 6zm0 2c-3 0-6 1.5-6 3v1h12v-1c0-1.5-3-3-6-3z'/></svg>");
}

/* Detalles */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><circle cx='12' cy='8' r='4'/><path d='M6 20v-1c0-2.2 2.7-4 6-4s6 1.8 6 4v1'/></svg>");
}

/* Dirección */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M12 22s8-6.4 8-12a8 8 0 10-16 0c0 5.6 8 12 8 12z'/><circle cx='12' cy='10' r='3'/></svg>");
}

/* Facturas */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M4 4h16v18l-8-4-8 4V4z'/></svg>");
}

/* Descargas */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M12 3v12m0 0l-4-4m4 4l4-4'/><path d='M5 20h14'/></svg>");
}

/* Salir */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M15 3h4v18h-4'/><path d='M10 17l4-5-4-5'/></svg>");
}

/* ---------------------------------------------------------
   9. ICONOS EN LAS TABS
   --------------------------------------------------------- */

#btb2b-profile-wrapper .btb2b-tab-button {
    padding-left: 28px !important; /* espacio para icono */
}

/* Base icono */
#btb2b-profile-wrapper .btb2b-tab-button::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.9;
}

/* EMPRESA */
#btb2b-profile-wrapper .btb2b-tab-button[data-btb2b-tab="empresa"]::before {
    background-image: url("data:image/svg+xml;utf8,\
<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>\
<path d='M3 21V8l9-5 9 5v13H3z'/>\
<path d='M12 13a3 3 0 100-6 3 3 0 000 6z'/>\
</svg>");
}

/* CONTACTOS */
#btb2b-profile-wrapper .btb2b-tab-button[data-btb2b-tab="contactos"]::before {
    background-image: url("data:image/svg+xml;utf8,\
<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>\
<circle cx='12' cy='7' r='4'/>\
<path d='M4 21v-1c0-3 4-5 8-5s8 2 8 5v1'/>\
</svg>");
}

/* DIRECCIONES */
#btb2b-profile-wrapper .btb2b-tab-button[data-btb2b-tab="direcciones"]::before {
    background-image: url("data:image/svg+xml;utf8,\
<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>\
<path d='M12 22s8-6 8-12a8 8 0 10-16 0c0 6 8 12 8 12z'/>\
<circle cx='12' cy='10' r='3'/>\
</svg>");
}

/* MARCAS */
#btb2b-profile-wrapper .btb2b-tab-button[data-btb2b-tab="marcas"]::before {
    background-image: url("data:image/svg+xml;utf8,\
<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>\
<path d='M5 7h14M5 12h14M5 17h14'/>\
</svg>");
}






/* ---------------------------------------------------------
   10. TABLAS WOOCOMMERCE (PEDIDOS, DESCARGAS, ETC.)
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.95rem;
    background: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden;
    border: 1px solid #e5e7eb !important;
    padding:10px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table thead {
    background: #f3f4f6;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th {
    padding: 5px 3px;
    text-align: left;
    font-weight: 600;
    color: #374151;
    /*border-bottom: 1px solid #e5e7eb;*/
    white-space: nowrap;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td {
    padding: 4px 6px;
    border-bottom: 1px solid #e5e7eb !important;
    color: #4b5563;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(even),
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr:nth-child(even) {
    background: #f9fafb;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr:hover {
    background: #eef2ff;
}

/* Enlaces dentro de tablas */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table a,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table a {
    color: #2563eb;
    font-weight: 500;
}

/* ---------------------------------------------------------
   11. BLOQUE DIRECCIONES
   --------------------------------------------------------- */

body.woocommerce-account .addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 8px;
}

body.woocommerce-account .woocommerce-Address {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    padding: 16px 18px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

body.woocommerce-account .woocommerce-Address-title h3 {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 4px;
    color: #111827;
}

body.woocommerce-account .woocommerce-Address-title .edit {
    font-size: 0.8rem;
    font-weight: 500;
}

body.woocommerce-account .woocommerce-Address address {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #4b5563;
}

/* ---------------------------------------------------------
   12. DASHBOARD / ESCRITORIO (GENÉRICO)
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content > p {
    font-size: 0.9rem;
    color: #4b5563;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
    border-radius: 4px;
    border-width: 1px;
    font-size: 0.95rem;
}

/* ---------------------------------------------------------
   13. RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 20px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li a {
        padding: 10px 12px 10px 36px;
    }

    #btb2b-profile-wrapper {
        padding: 18px 16px;
        margin-top: 10px;
        border-radius: 8px;
    }

    #btb2b-profile-wrapper .btb2b-tabs {
        gap: 6px;
    }

    .btb2b-tab-panel[data-btb2b-panel="empresa"].active {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-account .addresses {
        grid-template-columns: 1fr;
    }
}




/** En mi-cuenta/orders **/
body.woocommerce-account.woocommerce-orders
    .elementor-3915 .elementor-element.elementor-element-6cc732a {
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
}
/* Por si acaso, el contenedor interno del widget también a 100% */
body.woocommerce-account.woocommerce-orders
    .elementor-3915 .elementor-element.elementor-element-6cc732a > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
}


/* SOLO para la página de pedidos */
body.woocommerce-account .woocommerce table.my_account_orders .woocommerce-button {
    display: inline-block;
    padding: 8px 16px;
    margin: 4px 4px;
    background: linear-gradient(135deg, #3940FF 0%, #6A72FF 100%);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 13px;
    border-radius: 6px;
    border: none !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
}

/* Hover */
body.woocommerce-account .woocommerce table.my_account_orders .woocommerce-button:hover {
    background: linear-gradient(135deg, #2A32CC 0%, #575FEF 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

/* Asegurar buen contraste del texto interno */
body.woocommerce-account .woocommerce table.my_account_orders .woocommerce-button * {
    color: #ffffff !important;
}


/* ==========================================
   BOTÓN "FACTURA" – Estilo Moderno B2B  
   Página: /mi-cuenta/view-order/
   ========================================== */
body.woocommerce-view-order .woocommerce .button.invoice {
    background: #3b33d6 !important;    /* Mismo tono púrpura moderno */
    color: #ffffff !important;         /* Texto blanco para contraste */
    padding: 5px 11px !important;     /* Botón más grande y usable */
    border-radius: 6px !important;     /* Botón moderno */
    font-weight: 600 !important;       /* Texto más legible */
    border: none !important;
    display: inline-block !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease-in-out;
}



/* Hover efectos */
body.woocommerce-view-order .woocommerce .button.invoice:hover {
    background: #2620a8 !important;    /* Oscurecer en hover */
    transform: translateY(-2px);
}

/* Evitar que WooCommerce fuerce max-width */
body.woocommerce-view-order .woocommerce .button.invoice {
    white-space: nowrap !important;
    max-width: none !important;
}

/* ==========================================
   Overlay al pulsar botón subir presupuesto  
   ========================================== */
#btb2b-upload-overlay,
body.btb2b-uploading {
    cursor: wait !important;
}
.btb2b-loading-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    font-size: 16px;
    z-index: 9999;
    background: rgba(0,0,0,0.5);
}

@keyframes btb2bSpin {
    to { transform: rotate(360deg); }
}


/* ==========================================================
   TABLA DE PRESUPUESTOS (Frontend - Mi Cuenta)
   ========================================================== */

/* 1. Contenedor Principal */
#btb2b-presupuestos-cliente {
    font-family: inherit;
    width: 100%;
}

/* 2. Tabla (Reset y Estilos) */
#btb2b-presupuestos-cliente table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #e5e5e5 !important;
    margin-bottom: 20px !important;
    font-size: 0.9em !important; /* TEXTO 0.9em */
}

/* Cabecera */
#btb2b-presupuestos-cliente th {
    background-color: #f9f9f9 !important;
    color: #333 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 10px 12px !important;
    border-bottom: 2px solid #ddd !important;
    line-height: 1.2 !important;
}

/* Celdas (Filas finas) */
#btb2b-presupuestos-cliente td {
    padding: 6px 12px !important;
    border-bottom: 1px solid #eee !important;
    vertical-align: middle !important;
    color: #555 !important;
    line-height: 1.3 !important;
}

#btb2b-presupuestos-cliente a {
    text-decoration: none !important;
    box-shadow: none !important;
}

/* 3. Botón NEGRO "VER ARCHIVO" */
#btb2b-presupuestos-cliente .btb2b-btn-black {
    display: inline-block !important;
    background-color: #000 !important;
    color: #fff !important;
    padding: 4px 10px !important;
    text-decoration: none !important;
    font-size: 0.85em !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    border: 1px solid #000 !important;
    transition: opacity 0.2s ease !important;
    margin-bottom: 2px !important;
}

#btb2b-presupuestos-cliente .btb2b-btn-black:hover {
    opacity: 0.8 !important;
    background-color: #333 !important;
    color: #fff !important;
}

/* 4. Badges de Estado */
#btb2b-presupuestos-cliente .status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.85em;
    text-transform: uppercase;
}

/* 5. Responsive (Móvil) */
@media screen and (max-width: 768px) {
    #btb2b-presupuestos-cliente thead { display: none !important; }
    #btb2b-presupuestos-cliente tr { display: block; border: 1px solid #ccc; margin-bottom: 15px; }
    #btb2b-presupuestos-cliente td { display: block; padding-left: 40% !important; position: relative; text-align: right; }
    #btb2b-presupuestos-cliente td::before { content: attr(data-label); position: absolute; left: 10px; font-weight: bold; }
}



/* ==========================================================
   SEPARADORES DE MENÚ (Bloques Lógicos)
   ========================================================== */

/* Bloque Comercial (Presupuestos) */
.woocommerce-MyAccount-navigation-link--presupuestos-b2b {
    margin-top: 25px !important;
}
.woocommerce-MyAccount-navigation-link--presupuestos-b2b a::before {
    content: "ÁREA COMERCIAL";
    display: block;
    font-size: 10px;
    color: #999;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1;
}

/* Bloque Técnico (Proyectos - Futuro) */
.woocommerce-MyAccount-navigation-link--proyectos-b2b {
    margin-top: 25px !important;
}
.woocommerce-MyAccount-navigation-link--proyectos-b2b a::before {
    content: "ÁREA TÉCNICA";
    display: block;
    font-size: 10px;
    color: #999;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1;
}

/* Bloque Configuración (Perfil B2B) */
.woocommerce-MyAccount-navigation-link--perfil-b2b {
    margin-top: 25px !important;
}
.woocommerce-MyAccount-navigation-link--perfil-b2b a::before {
    content: "CONFIGURACIÓN";
    display: block;
    font-size: 10px;
    color: #999;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1;
}

/* Separador Salir */
.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 30px !important;
    border-top: 1px solid #eee;
    padding-top: 10px;
}





/* =========================================
   GESTIÓN DE SUSCRIPCIÓN (ÁREA PRIVADA B2B)
   ========================================= */

/* --- Contenedor Principal --- */
#btb2b-subscription-manager {
    width: 100%;
    max-width: 75%; /* Equivalente visual al 40% en monitores grandes */
    margin: 0 auto;
    font-size: 1.1em;
    color: #444;
}

/* --- Barra de Datos de Suscripción (NUEVO) --- */
#btb2b-sub-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 12px 15px;
    background-color: #f8fbfe;
    border-bottom: 1px solid #eee;
    font-size: 0.8em;
    color: #555;
    align-items: center;
}

.btb2b-meta-item {
    display: flex;
    flex-direction: column;
}

.btb2b-meta-label {
    font-size: 0.8em;
    text-transform: uppercase;
    color: #888;
    font-weight: 600;
    margin-bottom: 2px;
}

.btb2b-meta-value {
    color: #333;
    font-weight: 700;
}

/* --- Títulos y Textos --- */
#btb2b-subscription-manager h3 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.5em;
    color: #333;
}

#btb2b-subscription-manager .btb2b-intro-text {
    color: #666;
    margin-bottom: 20px;
    font-size: 0.6em;
}

/* --- Grid de Preferencias --- */
.btb2b-prefs-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 30px;
}

/* --- Tarjetas (Cards) --- */
.btb2b-pref-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 1px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.btb2b-pref-card h4 {
    margin: 0 0 3px 0;
    font-size: 0.95em;
    color: #333;
    font-weight: 600;
}

/* --- Estados (Status) --- */
.btb2b-status { font-weight: 700; font-size: 0.8em; text-transform: uppercase; }
.btb2b-status.active { color: #4ab866; }
.btb2b-status.pending { color: #e0a800; }
.btb2b-status.inactive { color: #999; }
.btb2b-status.manual { color: #e0a800; }
.btb2b-status.info { color: #0073aa; }

/* --- Botones de Acción --- */
.btb2b-action-form {
    width: 180px; flex-shrink: 0; text-align: right; margin: 0;
}

#btb2b-btn-wl, #btb2b-btn-pay, #btb2b-btn-col {
    width: 100% !important;
    padding: 11px 10px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    min-height: 3em !important;
    height: 3.5em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    text-decoration: none !important;
}
/* #btb2b-btn-status*/
.btb2b-ajax-btn {
    width: 100% !important;
    padding: 11px 10px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    min-height: 3em !important;
    height: 3.5em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    text-decoration: none !important;
}
/* --- Ficha Técnica --- */
.btb2b-technical-sheet {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.btb2b-sheet-header {
    background: #f9f9f9;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.btb2b-sheet-header h2 { margin: 0; font-size: 1em; color: #333; }

.btb2b-sheet-badge {
    background: #e7f6e9; color: #4ab866; border: 1px solid #4ab866;
    padding: 1px 8px; border-radius: 10px; font-size: 0.65em; font-weight: 600; text-transform: uppercase;
}

.btb2b-sheet-content { padding: 15px; }

.btb2b-sheet-title {
    margin-top: 0; text-transform: uppercase; font-size: 0.75em; color: #999;
    letter-spacing: 1px;  display: inline-block; padding-bottom: 3px; margin-bottom: 8px;
}

/* --- Tabla Compacta --- */
#btb2b-specs-table { border: none !important; width: 100%; margin: 0; border-collapse: collapse; }
.btb2b-spec-row { border-bottom: 1px solid #f1f1f1; }
.btb2b-spec-row:last-child { border-bottom: none; }
.btb2b-spec-label { padding: 5px 0 !important; font-size: 1em !important; color: #777; font-weight: 500; text-align: left; width: 60%; }
.btb2b-spec-value { padding: 5px 0 !important; font-size:1em !important; text-align: left; color: #333;  font-weight: 400;width: 40%; }
.btb2b-spec-value strong { font-weight: 700; color: #000; }

/* --- Iconos --- */
.btb2b-icon-sm { width: 12px; height: 12px; margin-left: 5px; }
.btb2b-icon-md { width: 14px; height: 14px; vertical-align: text-bottom; }
.btb2b-icon-lg { width: 24px; height: 24px; }

/* Añadir esto al final de tu CSS */

/* --- Barra de Datos de Suscripción --- */
#btb2b-sub-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 10px 15px;
    background-color: #f0f7fb; /* Azul muy clarito */
    border-bottom: 1px solid #e1e1e1;
    font-size: 0.85em;
    color: #555;
    align-items: center;
}

.btb2b-meta-item {
    display: flex;
    flex-direction: column;
}

.btb2b-meta-label {
    font-size: 0.8em;
    text-transform: uppercase;
    color: #888;
    font-weight: 600;
    margin-bottom: 2px;
}

.btb2b-meta-value {
    color: #333;
    font-weight: 600;
}

.btb2b-vat-note {font-size: 0.6em !important;}
.btb2b-radio-label {font-size: 0.7em !important;font-weight:500;}







/* =========================================
   BOTONES DE ACCIÓN B2B (BLINDADOS)
   ========================================= */

/* Usamos el ID padre #btb2b-subscription-manager para ganar prioridad sobre el tema */
#btb2b-subscription-manager button.btb2b-action-btn,
#btb2b-subscription-manager .btb2b-action-form button {
    /* 1. RESETEO AGRESIVO DE TAMAÑO */
    width: 100% !important;
    min-height: 0 !important;        /* Mata la altura mínima de Woo (suele ser 40px+) */
    height: auto !important;         /* Altura flexible */
    padding: 4px 8px !important;     /* Relleno mínimo para que sea bajito */
    margin: 0 !important;
    
    /* 2. TIPOGRAFÍA Y ALINEACIÓN */
    font-size: 11px !important;      /* Tamaño compacto */
    line-height: 1.2 !important;     /* Interlineado pegado */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    
    /* 3. FLEXBOX (Para centrar icono y texto verticalmente) */
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 6px;
    
    /* 4. ESTÉTICA BASE */
    border-radius: 4px !important;
    text-decoration: none !important;
    background-image: none !important; /* Quita gradientes del tema */
    box-shadow: none !important;       /* Quita sombras del tema */
    transition: all 0.2s ease !important;
    cursor: pointer;
}

/* --- COLORES --- */

/* Gris (Por defecto) */
#btb2b-subscription-manager button.btb2b-action-btn {
    background-color: #f0f0f1 !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
}
#btb2b-subscription-manager button.btb2b-action-btn:hover {
    background-color: #e5e5e5 !important;
    color: #000 !important;
}

/* Azul (Clase .alt) */
#btb2b-subscription-manager button.btb2b-action-btn.alt {
    background-color: #0073aa !important;
    color: #fff !important;
    border: 1px solid #0073aa !important;
}
#btb2b-subscription-manager button.btb2b-action-btn.alt:hover {
    background-color: #005177 !important;
}

/* Verde (Éxito AJAX) */
#btb2b-subscription-manager button.btb2b-action-btn.btb2b-success-btn {
    background-color: #4ab866 !important;
    color: #fff !important;
    border-color: #4ab866 !important;
    opacity: 1 !important;
}

/* Rojo (Botón Solicitar Información) */
#btb2b-subscription-manager button#btb2b-btn-status-ajax {
    background-color: #d63638 !important;
    color: #fff !important;
    border-color: #d63638 !important;
}
#btb2b-subscription-manager button#btb2b-btn-status-ajax:hover {
    background-color: #a02628 !important;
}

/* Animación Carga */
.btb2b-spin {
    animation: btb2b-spin 1s linear infinite;
}
@keyframes btb2b-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}





/* =========================================
   BARRA INTEGRADA EN FOOTER (NO FLOTANTE)
   ========================================= */
#btb2b-dashboard-bar {
    /* Posicionamiento: Normal (Bloque) */
    position: relative !important;
    display: block !important;
    width: 100% !important;
    
    /* Estética: Gris Claro */
    background-color: #f0f0f1 !important;
    border-top: 1px solid #dcdcde;
    border-bottom: 1px solid #e0e0e0; /* Separador con el resto del footer */
    
    /* Espaciado */
    padding: 0px 0px !important;
    margin: 0 !important; /* Sin márgenes externos */
    z-index: 10;

    box-sizing: border-box;
}

/* Contenedor interior */
.btb2b-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 80px; /* Margen lateral interno */
    max-width: 100%; /* Ancho máximo estándar */
    margin: 0 auto;    /* Centrado */
    flex-wrap: wrap;   /* Permitir que baje en móviles si es necesario */
    gap: 15px;
}

/* Gadgets (Izquierda) */
.btb2b-bar-gadgets {
    display: flex;
    gap: 15px;
    font-size: 12px;
    color: #666;
    font-weight: 600;
    align-items: center;
}

.btb2b-status-dot {
    width: 8px; 
    height: 8px; 
    background-color: #4ab866; 
    border-radius: 50%; 
    display: block;
}

/* Notificaciones (Derecha/Centro) */
#btb2b-bar-notifications {
    font-size: 13px;
    font-weight: 500;
    color: #333;
    display: flex;
    align-items: center;
    text-align: center;
}

/* Mensajes AJAX */
.btb2b-msg-success { color: #0f5132; display: flex; align-items: center; text-align:center; }
.btb2b-msg-error { color: #721c24; display: flex; align-items: center; }
.btb2b-icon-inline { width: 18px; height: 18px; margin-right: 8px; vertical-align: sub; }

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    #btb2b-dashboard-bar {
        padding: 15px 0;
    }
    .btb2b-bar-container {
        flex-direction: column; /* En móvil, uno encima de otro */
        align-items: flex-start; /* Alineados a la izquierda */
        gap: 10px;
    }
    #btb2b-bar-notifications {
        width: 100%;
        padding-top: 5px;
        border-top: 1px dashed #ddd; /* Separador sutil en móvil */
    }
}


/* =========================================
   BARRA INTEGRADA (CSS FINAL)
   ========================================= */
#btb2b-dashboard-bar {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    background-color: #ebebeb !important; /* Un gris un poco más oscuro que el footer */
    border-bottom: 1px solid #dcdcde;     /* Línea separadora */
    padding: 8px 0 !important;
    margin: 0 !important;
    z-index: 10;
    box-sizing: border-box;
}

.btb2b-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    max-width: 100%;
    margin: 0 auto;
}

/* Gadgets */
.btb2b-bar-gadgets {
    display: flex; gap: 15px; font-size: 11px; color: #666; font-weight: 600; text-transform: uppercase;
}
.btb2b-status-dot {
    width: 8px; height: 8px; background-color: #4ab866; border-radius: 50%; display: inline-block; margin-right: 5px;
}

/* Notificaciones */
#btb2b-bar-notifications {
    font-size: 12px; font-weight: 600; color: #333;
}
.btb2b-msg-success { color: #0f5132; }
.btb2b-msg-error { color: #721c24; }
.btb2b-icon-inline { width: 14px; height: 14px; vertical-align: text-bottom; margin-right: 5px; }








/* ============================================================
   ESTILOS GENERALES AREA PRIVADA B2B
   ============================================================ */

/* --- 1. RESET Y FLAT DESIGN (Para limpiar estilos del tema) --- */
body.woocommerce-account *,
body.woocommerce-account *::before,
body.woocommerce-account *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    -webkit-box-shadow: none !important;
    border-radius: 0 !important; 
    /*margin-right: 1em !important;*/
}

/* REFUERZO PARA CONTENEDORES */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content > div,
body.woocommerce-account .woocommerce-MyAccount-content section,
body.woocommerce-account article {
    box-shadow: none !important;
    background-color: #d7d1d100 !important; 
    border: none !important;
    border-radius: 0 !important;
    padding:5px !important;
    margin-top: 0px !important;
}

/* FIX ELEMENTO ELEMENTOR QUE SUELE MOLESTAR */
.elementor-3915 .elementor-element.elementor-element-253a0af0,
.elementor-element-253a0af0 {
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    margin-left: 15px !important;
}
.elementor-element-253a0af0 .elementor-widget-container {
    box-shadow: none !important;
    background: transparent !important;
}

/* OCULTAR SOLO EL FOOTER DE LA WEB (SALVANDO EL DE LOS FORMULARIOS) */
body.woocommerce-account .site-footer,
body.woocommerce-account .elementor-location-footer,
body.woocommerce-account #colophon,
body.woocommerce-account .footer-widgets,
body.woocommerce-account .elementor-section-wrap > footer,
body.woocommerce-account #bitubi-global-footer { 
    display: none !important;
}

/* --- 2. BODY Y ESPACIADO GLOBAL --- */
html, body.woocommerce-account {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-top: 43px !important; 
    
    /* Espacio abajo para el footer fijo */
    padding-bottom: 120px !important; 
    
    overflow-x: hidden !important;
    background-color: #ffffff !important;
    min-height: 100vh;
    position: relative; 
}

/* Breadcrumbs */
body.woocommerce-account .woocommerce-breadcrumb {
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    padding: 10px 2% 0 2% !important; 
    font-size: 12px !important;
    color: #777 !important;
    width: 96vw !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- 3. HEADER FIJO (GRIS) --- */
.btb2b-flex-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important; 
    max-width: 100vw !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
    background-color: #f4f6f8 !important;
    padding: 12px 2% !important;
    border-bottom: 1px solid #e5e5e5 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.btb2b-header-logo { display: block !important; width: 140px !important; height: auto !important; margin: 0 !important; }
.btb2b-flex-header h2, .btb2b-flex-header .elementor-heading-title { 
    margin: 0 !important; padding: 0 !important; line-height: 1 !important; 
    font-size: 24px !important; color: #333 !important; width: auto !important;
}
.btb2b-flex-header h2 img, .btb2b-flex-header .elementor-heading-title img { display: none !important; }
.btb2b-flex-header h2 span, .btb2b-flex-header .elementor-heading-title span { display: inline-block !important; margin:0 !important; padding-top:4px; }

/* --- 4. ESTRUCTURA WOOCOMMERCE --- */
body.woocommerce-account .elementor-section, 
body.woocommerce-account .elementor-column, 
body.woocommerce-account .e-con { 
    background: transparent !important; padding: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; box-shadow: none !important; border: none !important;
}

body.woocommerce-account .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 96vw !important;        
    max-width: none !important;  
    margin: 0 auto !important;   
    padding: 20px !important;
    background: transparent !important;
    box-shadow: none !important; 
}

/* --- 5. MENÚ DE NAVEGACIÓN IZQUIERDO --- */
/* Contenedor de la lista */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul { 
    margin: 0 !important; 
    padding: 0 !important; 
    list-style: none !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Elementos de lista */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li { 
    padding: 0 !important; 
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    display: block !important;
    width: 100% !important;
}

/* Enlaces del menú (Estado Normal) */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a { 
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 15px 40px !important;
    
    /* Estilo Tarjeta Blanca */
    background-color: #ffffff !important; 
    color: #333333 !important; 
    border: 1px solid #e0e0e0 !important; 
    border-radius: 12px !important; 
    
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important;
}

/* Hover en menú */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: #f9f9f9 !important;
    border-color: #000 !important;
    color: #000 !important;
    transform: translateX(5px) !important;
}

/* Elemento Activo (Pestaña actual) */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: #000 !important; /* Fondo Negro */
    color: #ffffff !important; /* Texto Blanco */
    border-color: #000000 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
}

/* Iconos del menú */
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a i,
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a::before {
    margin-right: 15px !important;
    font-size: 1.1rem !important;
    color: inherit !important; /* Hereda el color del texto */
}

/* --- 6. CONTENIDO DERECHA --- */
body.woocommerce-account .woocommerce-MyAccount-content {
    flex-grow: 1 !important;
    padding-left: 50px !important; 
    padding-right: 20px !important;
    padding-top: 10px !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* >>> RESUCITADOR DE BOTONES (GUARDAR) <<< */
body.woocommerce-account .woocommerce-MyAccount-content button:not(.show-password-input),
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-color: #000 !important; /* Negro Bitubi */
    color: #fff !important;
    border: none !important;
    padding: 10px 15px !important;
    margin-top: 0px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    width: auto !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10 !important;
    font-size:0.8em !important;
}

body.woocommerce-account .woocommerce-MyAccount-content button:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
    background-color: #333 !important;
}

/* --- 7. FOOTER B2B FIXED & GRAY --- */
.btb2b-custom-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    z-index: 999999 !important;
    background-color: #f4f6f8 !important;
    border-top: 1px solid #e5e5e5 !important;
    padding: 0 !important; /* Sin padding para que la barra dashboard toque bordes */
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important; /* APILADO VERTICAL (Barra arriba, menú abajo) */
    justify-content: center !important; 
    align-items: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    box-shadow: none !important;
}

/* Contenedor para el Copyright y Menú */
.btb2b-footer-content-row {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 2%;
    position: relative;
}

.btb2b-copyright {
    position: absolute !important;
    left: 2% !important;
    font-size: 0.9em !important;
    color: #999 !important;
}

.btb2b-footer-menu {
    display: flex !important;
    gap: 25px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.btb2b-footer-menu li a {
    text-decoration: none !important;
    color: #666 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    transition: color 0.2s;
    font-size: 11px !important; 
}
.btb2b-footer-menu li a:hover { color: #000 !important; }

/* --- 8. MODAL DE CONFIRMACIÓN --- */
body.btb2b-modal-active { overflow: hidden; }

#btb2b-success-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.98);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

#btb2b-success-modal.is-visible {
    opacity: 1;
    visibility: visible;
}

.btb2b-modal-content {
    background: #fff;
    color: #000;
    max-width: 500px;
    width: 90%;
    padding: 40px;
    border: 2px solid #000;
    text-align: center;
    position: relative;
}

.btb2b-modal-title {
    font-size: 24px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.btb2b-modal-text {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 30px;
}

.btb2b-btn-primary {
    display: inline-block;
    background-color: #000;
    color: #fff;
    padding: 15px 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    text-transform: uppercase;
    border: 1px solid #000;
    transition: all 0.2s;
}
.btb2b-btn-primary:hover {
    background-color: #fff;
    color: #000;
}

.btb2b-link-close {
    display: block;
    margin-top: 20px;
    font-size: 13px;
    color: #666;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
}

.btb2b-warning-box {
    background: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    padding: 10px;
    margin-bottom: 20px;
    font-size: 13px;
}

/* --- 9. RESPONSIVE --- */
@media (max-width: 900px) {
    html, body.woocommerce-account { padding-top: 80px !important; padding-left:0 !important; padding-bottom: 80px !important; }
    .btb2b-flex-header { padding: 15px 2% !important; }
    body.woocommerce-account .woocommerce { flex-direction: column !important; width: 92vw !important; padding: 15px !important; }
    body.woocommerce-account .woocommerce-breadcrumb { width: 92vw !important; padding: 10px 0 0 0 !important; }
    body.woocommerce-account .woocommerce-MyAccount-navigation { 
        width: 100% !important; border-right: none !important; border-bottom: 1px solid #eee !important; 
        padding-left: 0 !important; padding-right: 0 !important; margin-right: 0 !important; margin-bottom: 30px !important; 
    }
    .btb2b-custom-footer { position: relative !important; flex-direction: column; gap: 10px; text-align: center; padding: 20px !important; }
    .btb2b-copyright { position: relative !important; left: auto !important; margin-bottom: 10px; }
    .elementor-element-253a0af0 { margin-left: 0 !important; }
}

/* =========================================
   CORRECCIONES VISUALES (FONDO BLANCO)
   ========================================= */

/* Recuperar el fondo blanco y estilo tarjeta para el Gestor de Suscripción */
#btb2b-subscription-manager {
    background-color: #ffffff !important;
    padding: 30px !important;
    border-radius: 8px !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03) !important;
    margin-bottom: 30px !important;
}

/* Ajuste para móviles */
@media (max-width: 768px) {
    #btb2b-subscription-manager {
        padding: 20px !important;
    }
}



/* =========================================
   ESTILO RADIO BUTTONS (SUPER BLINDADO)
   ========================================= */

/* 1. Contenedor */
#btb2b-subscription-manager .btb2b-radio-group {
    display: flex !important;
    gap: 8px !important;
    margin-top: 5px !important;
    width: 100% !important;
    flex-wrap: wrap !important;
}

/* 2. Ocultar input real */
#btb2b-subscription-manager .btb2b-radio-label input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    cursor: pointer !important;
    height: 0 !important;
    width: 0 !important;
}

/* 3. Estilo del Botón (LABEL) */
#btb2b-subscription-manager .btb2b-radio-label {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* --- BORDES REDONDEADOS Y MARGEN --- */
    border-radius: 50px !important; /* Usamos 50px para asegurar píldora perfecta */
    margin-bottom: 7px !important;
    /* ---------------------------------- */

    padding: 6px 15px !important;
    height: auto !important;
    min-height: 0 !important;
    
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    
    /* Texto */
    cursor: pointer !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    color: #666 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    line-height: 1.2 !important;
    transition: all 0.2s ease !important;
    
    /* Quitar estilos por defecto */
    background-image: none !important;
    box-shadow: none !important;
}

/* 4. Hover */
#btb2b-subscription-manager .btb2b-radio-label:hover {
    background-color: #f4f4f4 !important;
    border-color: #999 !important;
    color: #000 !important;
}

/* 5. SELECCIONADO (Detectando el input checked dentro) */
/* Soporte moderno */
#btb2b-subscription-manager .btb2b-radio-label:has(input[type="radio"]:checked) {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
}

/* Soporte para navegadores antiguos (Fallback JavaScript class) */
#btb2b-subscription-manager .btb2b-radio-label.checked {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
}

#btb2b-subscription-manager button.btb2b-action-btn, #btb2b-subscription-manager .btb2b-action-form button {padding:11px 8px !important; }

/* ****** btb2b-dashboard.php **** */
 .btb2b-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 20px; }
 .btb2b-card { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); position: relative; }
 .btb2b-card h2 { margin-top: 0; font-size: 14px; color: #646970; text-transform: uppercase; font-weight: 600; letter-spacing: 0.5px; }
 .btb2b-number { font-size: 32px; font-weight: 700; color: #1d2327; margin: 10px 0; display: block; }
 .btb2b-link { text-decoration: none; font-weight: 600; font-size: 13px; }
 .btb2b-icon-bg { position: absolute; top: 20px; right: 20px; font-size: 24px; opacity: 0.1; }
.status-badge { display: inline-block; padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; margin-bottom: 10px; }





/* ==========================================================================
   1. FIX URGENTE: VISIBILIDAD DE AVISOS Y ERRORES (Texto blanco sobre blanco)
   ========================================================================== */

/* Forzamos que el contenedor de avisos sea visible y bloqueamos la transparencia */
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    margin-bottom: 20px !important;
}

/* Estilo base para TODOS los mensajes (Info, Éxito, Error) */
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error,
html body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-error {
    background-color: #ffffff !important;  /* FONDO BLANCO SÓLIDO */
    color: #333333 !important;             /* TEXTO OSCURO (Legible) */
    opacity: 1 !important;
    display: flex !important;
    align-items: center !important;
    padding: 15px 20px !important;
    margin-bottom: 15px !important;
    border: 1px solid #e5e5e5 !important;
    border-top-width: 4px !important;      /* Borde de color arriba */
    border-radius: 4px !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.05) !important;
    list-style: none !important;
}

/* Colores Específicos */
/* ÉXITO (Verde) */
html body.woocommerce-account .woocommerce-message { border-top-color: #4ab866 !important; }
html body.woocommerce-account .woocommerce-message::before { content: "✓"; color: #4ab866; font-weight: bold; margin-right: 15px; font-size: 18px; }

/* INFO / AVISO (Azul) */
html body.woocommerce-account .woocommerce-info { border-top-color: #0073aa !important; }
html body.woocommerce-account .woocommerce-info::before { content: "ℹ"; color: #0073aa; font-weight: bold; margin-right: 15px; font-size: 18px; }

/* ERROR (Rojo) */
html body.woocommerce-account .woocommerce-error, 
html body.woocommerce-account ul.woocommerce-error { border-top-color: #d63638 !important; }
html body.woocommerce-account .woocommerce-error::before, 
html body.woocommerce-account ul.woocommerce-error::before { content: "⚠"; color: #d63638; margin-right: 15px; font-size: 18px; }

/* Enlaces dentro de los avisos */
html body.woocommerce-account .woocommerce-notices-wrapper a { color: #000 !important; text-decoration: underline !important; font-weight: bold !important; margin-left: auto; }


/* ==========================================================================
   2. ESTILOS TRASPASADOS (DEL ARCHIVO PHP ELIMINADO)
   ========================================================================== */

/* DASHBOARD GRID (Tarjetas) */
.btb2b-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; margin-top: 20px; margin-bottom: 35px; }
.btb2b-card-link { display: block; background: #f8f8f8 !important; border: 1px solid #e0e0e0; border-radius: 16px !important; padding: 15px; text-decoration: none !important; color: inherit !important; transition: all 0.2s; height: 100%; box-sizing: border-box; }
.btb2b-card-link:hover { border-color: #000; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); background-color: #fafafa; }
.btb2b-card-title { margin: 0 0 6px 0; font-size: 0.95rem; font-weight: 600; color: #222; line-height: 1.2; }
.btb2b-card-desc { font-size: 0.8em; color: #666; margin: 0; line-height: 1.3; }
.btb2b-card-icon { width: 26px; height: 26px; stroke: #333; margin-bottom: 10px; fill: none; stroke-width: 1.5; display: block; }
.btb2b-card-link:hover .btb2b-card-icon { stroke: #000; stroke-width: 2; }
.btb2b-dashboard-header { margin-bottom: 12px; font-size: 0.85em; text-transform: uppercase; color: #888; letter-spacing: 1px; border-bottom: 1px solid #eee; padding-bottom: 8px; margin-top: 25px; }


/* FORMULARIOS */
.btb2b-form-container { background: #fff !important; border: 1px solid #e0e0e0; border-radius: 8px; padding: 5px; max-width: 650px; margin: 0 auto; text-align: left !important; }
.btb2b-form-group { margin-bottom: 15px; }
.btb2b-form-label { display: block; font-weight: 600; margin-bottom: 4px; color: #333; font-size: 0.9em; }
.btb2b-form-input { width: 100%; padding: 8px 10px; border: 1px solid #ccc !important; background-color: #ffffff !important; border-radius: 4px; font-size: 0.95em; color: #333; box-sizing: border-box; }
.btb2b-form-input:focus { border-color: #000 !important; outline: none; }
.btb2b-form-help { font-size: 0.8em; color: #888; margin-top: 3px; font-style: italic; }
.btb2b-btn-submit { width: 100%; padding: 12px; font-size: 1em; background: #000; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: 600; margin-top: 10px; transition: all 0.2s; }
.btb2b-btn-submit:hover { background: #444; }

/* TABLA CRUD */
#btb2b-crud-table { width: 100%; border-collapse: collapse !important; border: 1px solid #ccc !important; table-layout: fixed !important; background: #fff !important; font-family: sans-serif; }
#btb2b-crud-table th { background-color: #f0f0f0 !important; border: 1px solid #ccc !important; padding: 10px 5px !important; font-size: 11px !important; text-transform: uppercase; color: #333 !important; font-weight: 700 !important; vertical-align: middle !important; text-align: center !important; }
#btb2b-crud-table td { border: 1px solid #ccc !important; height: 60px !important; padding: 1em !important; vertical-align: middle !important; color: #333; font-size: 0.8em !important; overflow: hidden; }
.btb-col-sistema { width: 150px !important; text-align: center !important; white-space: nowrap !important; }
.btb-col-cliente { width: 130px !important; text-align: center !important; white-space: nowrap !important; text-overflow: ellipsis; }
.btb-col-proyecto { width: auto !important; text-align: left !important; padding-left: 0.5 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; font-weight: 600; }
.btb-col-fecha { width: 80px !important; text-align: center !important; }
.btb-col-hora { width: 50px !important; text-align: center !important; }
.btb-col-estado-visual { width: 90px !important; padding: 0 !important; text-align: center !important; }
.btb-col-cambio-estado { width: 110px !important; padding: 0 !important; text-align: center !important; }
.btb-col-accion { width: 90px !important; padding: 0 !important; text-align: center !important; }
.btb-status-full { display: flex !important; width: 100%; height: 100%; min-height: 42px; align-items: center !important; justify-content: center !important; font-weight: bold; color: #fff !important; text-transform: capitalize; font-size: 11px !important; }
.st-activo { background-color: #2ecc71 !important; }
.st-inactivo { background-color: #bdc3c7 !important; }
.st-pausado { background-color: #f39c12 !important; }
.st-finalizado { background-color: #3498db !important; }
.st-cancelado { background-color: #e74c3c !important; }
.btb-status-select { width: 90% !important; padding: 2px !important; font-size: 1.1em !important; border: 1px solid #ddd !important; border-radius: 4px !important; background-color: #fff !important; color: #333 !important; cursor: pointer; height: 28px !important; }
.btb-action-wrapper { display: flex !important; width: 100%; height: 100%; min-height: 42px; align-items: center !important; justify-content: center !important; }
.btb-btn-manage { background-color: #000 !important; color: #fff !important; border: none !important; border-radius: 3px !important; padding: 8px !important; font-size: 0.8 !important; text-transform: uppercase; font-weight: bold; cursor: pointer; line-height: 1 !important; white-space: nowrap !important; display: inline-block !important; text-decoration: none !important; }
#btb2b-crud-table tbody tr:nth-child(even) td { background-color: #fafafa !important; }
#btb2b-crud-table tbody tr:hover td { background-color: #f0f7ff !important; }

/* FICHA DETALLE PROYECTO */
.btb-project-header { background: #fff !important; border: 1px solid #ddd !important; border-radius: 8px !important; padding: 25px !important; margin-bottom: 30px !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; text-align: left !important; gap: 15px !important; }
.btb-project-title-row { width: 100%; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #eee; padding-bottom: 15px; }
.btb-project-info h2 { margin: 0 !important; font-size: 1.6em !important; color: #000; font-weight: 700; }
.btb-project-badge { background: #2ecc71; color: #fff; padding: 5px 10px; border-radius: 4px; font-size: 0.8em; font-weight: bold; text-transform: uppercase; }
.btb-project-meta { font-size: 0.95em; color: #555; display: flex; flex-wrap: wrap; gap: 30px; width: 100%; justify-content: flex-start; background-color: #fff !important;padding:15px !important;}

/* GRID CARPETAS Y DROPZONE */
.btb-folders-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.btb-folder-card { background: #fff; border: 1px solid #ccc; border-radius: 6px 6px 0 0; padding: 25px 15px; text-align: center; text-decoration: none !important; color: #333 !important; transition: all 0.2s; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 120px; cursor: pointer; }
.btb-folder-card:hover { background-color: #fcfcfc; }
.btb-folder-icon { width: 36px; height: 36px; stroke: #333; fill: none; margin-bottom: 10px; }
.btb-folder-name { display: block; font-weight: 700; font-size: 1em; margin-bottom: 5px; color: #000; }
.btb-folder-count { display: block; font-size: 0.85em; color: #777; font-family: monospace; }
body.woocommerce-account a.btb-folder-upload-btn { display: block; width: 100%; text-align: center; background-color: #000 !important; color: #fff !important; border: 1px solid #000 !important; margin-top: 5px !important; border-radius: 6px !important; padding: 10px; font-size: 0.85em; font-weight: 600; text-transform: uppercase; text-decoration: none !important; transition: all 0.2s ease; box-sizing: border-box; box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important; }
body.woocommerce-account a.btb-folder-upload-btn:hover { background-color: #f7f7f7 !important; color: #000 !important; border-color: #ccc !important; transform: translateY(-1px); }
.dropzone { border: 2px dashed #333 !important; background: #fafafa !important; border-radius: 8px; padding: 20px !important; min-height: 180px; text-align: center; margin-bottom: 20px; }
.dropzone .dz-preview .dz-image { border-radius: 8px !important; }
.dropzone .dz-preview .dz-details .dz-filename span { background-color: transparent !important; }
.btb2b-upload-actions { background: #fff; border: 1px solid #e0e0e0; padding: 20px; border-radius: 8px; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.btb2b-btn-select { background-color: #000; color: #fff; padding: 12px 24px; border: none; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; }
.btb-btn-delete { background-color: #e74c3c !important; color: #fff !important; border: none !important; border-radius: 3px !important; padding: 6px 12px !important; font-size: 10px !important; text-transform: uppercase; font-weight: bold; cursor: pointer; line-height: 1 !important; display: inline-block !important; }





/* ==========================================================================
   FIX VISIBILIDAD DASHBOARD Y AVISOS (Anti-Reset)
   ========================================================================== */

/* 1. Restaurar fondo y texto para TODAS las cajas de mensajes/alertas
   Esto arregla el bloque "ACCIÓN REQUERIDA", "Faltan datos", etc. */
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error,
html body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-error,
html body.woocommerce-account .btb2b-alert-box {
    
    /* FONDO BLANCO O GRIS MUY CLARO (Para contraste) */
    background-color: #f9f9f9 !important; 
    
    /* TEXTO OSCURO OBLIGATORIO */
    color: #000 !important;
    
    /* Restaurar visibilidad */
    opacity: 1 !important;
    visibility: visible !important;
    
    /* Estética limpia */
    border: 1px solid #e5e5e5 !important;
    border-top: 4px solid #000 !important; /* Borde superior para destacar */
    padding: 20px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    border-radius: 4px !important;
    
    /* Asegurar que se comporte como bloque */
    display: flex !important;
    align-items: center !important;
}

/* 2. Colores específicos para diferenciar tipos de mensaje */

/* ÉXITO (Verde) */
html body.woocommerce-account .woocommerce-message {
    border-top-color: #4ab866 !important;
}
html body.woocommerce-account .woocommerce-message::before {
    content: "✓"; color: #4ab866; font-weight: bold; margin-right: 15px; font-size: 18px;
}

/* ACCIÓN REQUERIDA / INFO (Azul) */
html body.woocommerce-account .woocommerce-info {
    border-top-color: #0073aa !important;
}
html body.woocommerce-account .woocommerce-info::before {
    content: "ℹ"; color: #0073aa; font-weight: bold; margin-right: 15px; font-size: 18px;
}

/* ERROR (Rojo) */
html body.woocommerce-account .woocommerce-error,
html body.woocommerce-account ul.woocommerce-error {
    border-top-color: #d63638 !important;
}
html body.woocommerce-account .woocommerce-error::before,
html body.woocommerce-account ul.woocommerce-error::before {
    content: "⚠"; color: #d63638; margin-right: 15px; font-size: 18px;
}

/* 3. ARREGLAR BOTONES DENTRO DE LOS AVISOS
   (El botón "Ir a..." que suele aparecer a la derecha) */
html body.woocommerce-account .woocommerce-message .button,
html body.woocommerce-account .woocommerce-info .button {
    float: right !important;
    background-color: #333 !important; /* Fondo oscuro */
    color: #fff !important;            /* Texto blanco */
    padding: 8px 15px !important;
    margin-left: 20px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

/* 4. ARREGLAR ENLACES DE TEXTO DENTRO DE AVISOS */
html body.woocommerce-account .woocommerce-message a:not(.button),
html body.woocommerce-account .woocommerce-info a:not(.button),
html body.woocommerce-account .woocommerce-error a:not(.button) {
    color: #000 !important;
    text-decoration: underline !important;
    font-weight: bold !important;
}





/* Contenedor principal Fondo gran Mi Cuenta: 2 columnas (sidebar + contenido) */
body.woocommerce-account .woocommerce {
    display: flex;
    gap: 32px; /* 4 × 8 */
    align-items: flex-start;
    border:1px solid #fff !important;
    background-color: #D3D3D3 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content {
    background-color:  #dedede !important;
    height:100% !important;
    min-height:650px !important;
}

#btb2b-projects-dashboard { background-color:  #D3D3D !important; padding:15px !important; border-radius: 4px !important;}
#btb2b-projects-dashboard p {font-size: 1em !important;}

.woocommerce-info {background-color:  #D3D3D !important; color: black !important;}
#body .woocommerce-message {background-color:  #D3D3D; color: black !important;}

.btb2b-card-link { display: block; background-color: #f8f8f8 !important; border: 1px solid #fff !important; border-radius: 16px !important;}

.woocommerce form .form-row input.input-text {background-color: #fff !important;}

html body .woocommerce-info {color:black !important;}


#b2b-header-data div, span {font-size: 1.1em !important; font-weight: bold !important;}
.btb2b-flex-header h2, span {font-size: 1.1em !important;  border: none !important; }
.btb2b-flex-header span {
  font-size: 1.1em !important;
  border: none !important;
  text-transform: lowercase; /* Convierte todo el texto a minúsculas primero */
  display: inline-block;      /* Necesario para que ::first-letter funcione en un span */
}
.btb2b-flex-header span::first-letter {
  text-transform: uppercase; /* Convierte solo el primer carácter a mayúscula */
}





.eael-breadcrumbs {display: none !important;}

.woocommerce-Address address {font-size:1.2em !important; font-weight: 500; font-style: normal !important;background-color: white !important;padding:15px !important; border-radius: 4px !important}


.wc-block-components-text-input.is-active input[type="text"] {font-weight: 500 !important;}
.wc-blocks-components-select .wc-blocks-components-select__select {font-weight: 500 !important;}
.block-components-form .wc-block-components-text-input.is-active input[type="email"] {font-weight: 500 !important;}
.wc-block-components-address-card address .wc-block-components-address-card__address-section--secondary {font-weight: 500 !important;}
.wc-block-components-form .wc-block-components-text-input input:autofill, .wc-block-components-form .wc-block-components-text-input.is-active input[type="email"], .wc-block-components-form .wc-block-components-text-input.is-active input[type="number"], .wc-block-components-form .wc-block-components-text-input.is-active input[type="password"], .wc-block-components-form .wc-block-components-text-input.is-active input[type="tel"], .wc-block-components-form .wc-block-components-text-input.is-active input[type="text"], .wc-block-components-form .wc-block-components-text-input.is-active input[type="url"], .wc-block-components-text-input input:autofill, .wc-block-components-text-input.is-active input[type="email"], .wc-block-components-text-input.is-active input[type="number"], .wc-block-components-text-input.is-active input[type="password"], .wc-block-components-text-input.is-active input[type="tel"], .wc-block-components-text-input.is-active input[type="text"], .wc-block-components-text-input.is-active input[type="url"] {font-weight: 500 !important;}
.wc-block-components-radio-control--highlight-checked, .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option {font-weight: 500 !important;color:blue;}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {font-weight: 500 !important;color:blue !important;}

.wc-block-components-checkbox__label {font-weight: 500 !important;color: #000 !important;}


html body .woocommerce-error, html body .woocommerce-info, html body .woocommerce-message, #body .woocommerce-error, #body .woocommerce-info, #body .woocommerce-message { background-color: blue !important; }


.btb-folder-card {background-color: #fff !important; }



/* =========================================
   BOTÓN SALIR (HEADER)
   ========================================= */
.btb2b-logout-header-btn {
    margin-left: auto !important; /* Empuja el botón a la derecha del todo */
    background-color: transparent !important;
    border: 1px solid #ccc !important;
    color: #666 !important;
    padding: 6px 15px !important;
    border-radius: 4px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1 !important;
}

.btb2b-logout-header-btn:hover {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* Ajuste para móvil: Solo mostramos el icono si falta espacio */
@media (max-width: 480px) {
    .btb2b-logout-header-btn span { display: none !important; }
}


/* =========================================
   BADGE CONTADOR EN CARPETAS
   ========================================= */

/* Envoltorio para poder posicionar el badge relativo al icono */
.btb-folder-icon-wrapper {
    position: relative;
    display: inline-block;
    margin-bottom: 10px; /* Separación con el texto */
}

/* El icono original */
.btb-folder-icon {
    width: 48px;  /* Ajusta si tus iconos son más grandes/pequeños */
    height: 48px;
    stroke: #333;
    display: block;
}

/* La burbuja con el número */
.btb-folder-count-badge {
    position: absolute;
    top: -5px;        /* Un poco por encima */
    right: -10px;     /* Un poco a la derecha (fuera del icono) */
    
    background-color: #000; /* Fondo Negro */
    color: #fff;            /* Número Blanco */
    
    font-size: 11px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    
    min-width: 18px;        /* Asegurar círculo mínimo */
    height: 18px;
    line-height: 18px;      /* Centrado vertical */
    text-align: center;
    border-radius: 10px;    /* Redondeado (Píldora) */
    padding: 0 4px;         /* Espacio lateral si es un número grande (ej. 120) */
    
    box-shadow: 0 2px 4px rgba(0,0,0,0.2); /* Sombrita para destacar */
    z-index: 2;
}

/* Efecto hover en la tarjeta */
.btb-folder-card:hover .btb-folder-count-badge {
    background-color: #d63638; /* Se pone rojo al pasar el ratón (Opcional) */
    transform: scale(1.1);     /* Crece un poquito */
    transition: all 0.2s;
}





/* =========================================
   ICONOS FALTANTES (SVG)
   ========================================= */

/* Mi Suscripción / Mi Plan (Tarjeta) */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--mi-plan-b2b a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><rect x='1' y='4' width='22' height='16' rx='2' ry='2'></rect><line x1='1' y1='10' x2='23' y2='10'></line></svg>");
}

/* Presupuestos (Documento Texto) */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--presupuestos-b2b a::before {
     background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'></path><polyline points='14 2 14 8 20 8'></polyline><line x1='16' y1='13' x2='8' y2='13'></line><line x1='16' y1='17' x2='8' y2='17'></line><polyline points='10 9 9 9 8 9'></polyline></svg>");
}

/* Mis Proyectos (Maletín) */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--proyectos-b2b a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><rect x='2' y='7' width='20' height='14' rx='2' ry='2'></rect><path d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'></path></svg>");
}

/* Historial de Subidas (Nube Subida) */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--historial-b2b a::before {
    background-image:url("data:image/svg+xml;utf8,<svg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'></path><polyline points='17 8 12 3 7 8'></polyline><line x1='12' y1='3' x2='12' y2='15'></line></svg>");
}



/* ==========================================================================
   SEPARADORES DE MENÚ B2B
   ========================================================================== */

/* 1. Ocultar el texto y el enlace del separador */
.woocommerce-MyAccount-navigation ul li.menu-separator a {
    pointer-events: none;     /* No se puede hacer clic */
    cursor: default;
    visibility: hidden;       /* Texto invisible */
    height: 20px;             /* Altura del espacio en blanco */
    display: block;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* 2. Quitar bordes o fondos si el tema los pone */
.woocommerce-MyAccount-navigation ul li.menu-separator {
    background: transparent !important;
    border: none !important;
    list-style: none !important;
    pointer-events: none;
}


/* ==========================================================================
   PRESUPUESTOS B2B - SEMÁNTICA DE COLORES B2B (VERSIÓN AVANZADA)
   ========================================================================== */

/* Layout general */
#btb2b-presupuestos-view .btb-solution-card {
    padding: 5px;
    background-color: #fff;
}
#btb2b-presupuestos-view #btb-solutions-grid {
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* 1. ESTRUCTURA BASE DEL SELECT */
#btb-budget-edit-form-container select[name="budget_estado"] {
    width: 30% !important; 
    max-width: 30% !important;
    background-color: #f1f5f9 !important; /* Gris suave para que destaquen los textos */
    padding: 5px !important;
    font-weight: bold !important;
}

/* ==========================================================================
   2. REGLAS PARA LA CAJA CERRADA (Lo que ves sin desplegar)
   ========================================================================== */

/* A. Neutros / En proceso (AZUL) */
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-draft"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-pending-review"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-sent"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-negotiating"]:checked) {
    color: #2563eb !important; 
}

/* B. Éxito (VERDE) */
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-accepted"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-invoiced"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-converted"]:checked) {
    color: #16a34a !important; 
}

/* C. Negativos / Cancelados (ROJO) */
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-rejected"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-canceled"]:checked),
#btb-budget-edit-form-container select[name="budget_estado"]:has(option[value="btb-expired"]:checked) {
    color: #dc2626 !important; 
}

/* ==========================================================================
   3. REGLAS PARA LA LISTA DESPLEGADA (Las opciones al abrir el menú)
   ========================================================================== */

#btb-budget-edit-form-container select[name="budget_estado"] option {
    font-weight: bold !important;
}

/* Opciones Azules */
#btb-budget-edit-form-container option[value="btb-draft"],
#btb-budget-edit-form-container option[value="btb-pending-review"],
#btb-budget-edit-form-container option[value="btb-sent"],
#btb-budget-edit-form-container option[value="btb-negotiating"] {
    color: #2563eb !important;
}

/* Opciones Verdes */
#btb-budget-edit-form-container option[value="btb-accepted"],
#btb-budget-edit-form-container option[value="btb-invoiced"],
#btb-budget-edit-form-container option[value="btb-converted"] {
    color: #16a34a !important;
}

/* Opciones Rojas */
#btb-budget-edit-form-container option[value="btb-rejected"],
#btb-budget-edit-form-container option[value="btb-canceled"],
#btb-budget-edit-form-container option[value="btb-expired"] {
    color: #dc2626 !important;
}

/* ==========================================================================
   HELP DESK (TICKETS)
   ========================================================================== */
/* Usamos el ID para máxima especificidad + !important para romper el estilo inline */
input#ticket_subject{
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}

select#ticket_topic {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}
select#ticket_order {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}

select#ticket_priority {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}

select#ticket_project {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}

select#ticket_budget {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}

textarea#ticket_message {
    background: #fff !important; 
    /* Opcional: Asegura que el texto sea legible si el fondo es gris */
    color: #000 !important; 
    /* Restaurar opacidad si el script la tocó */
    opacity: 1 !important; 
    /* A veces los scripts añaden -webkit-appearance: none; */
    -webkit-appearance: menulist !important; 
    appearance: menulist !important;
}


#budget_status {color:#000 !important; background-color: #ccc !important;width:25% !important;}
.btb-helpdesk-wrapper {padding:0px !important; margin-top:-15px !important;}
.btb-title-area {padding:0 !important;}



/* ==========================================================
   DISEÑO PROFESIONAL HELP DESK B2B - BITUBI
   ========================================================== */

/* 1. Contenedores Tipo Card */
.btb-helpdesk-wrapper, #btb-ticket-view-container {
    background: #ffffff !important;
    padding: 30px !important;
    border-radius: 8px !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    color: #333 !important;
}

/* 2. Tipografía y Encabezados */
.btb-helpdesk-wrapper h2, 
#btb-ticket-view-container h3 {
    font-weight: 800 !important;
    color: #000000 !important;
    letter-spacing: -0.5px !important;
    text-transform: none !important;
}

.btb-helpdesk-wrapper h3 {
    font-weight: 700 !important;
    margin-top: 40px !important;
    color: #444 !important;
    border-bottom: 2px solid #eee !important;
    padding-bottom: 10px !important;
}

/* 3. Etiquetas de Formulario Fuertes */
.btb-form-row label, 
.btb-col label {
    font-weight: 700 !important;
    color: #222 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* 4. Inputs más definidos */
.btb-form input[type="text"],
.btb-form select,
.btb-form textarea {
    border: 1px solid #bcc0c4 !important;
    border-radius: 4px !important;
    padding: 12px !important;
    font-size: 15px !important;
    background-color: #fff !important;
    transition: border-color 0.2s !important;
}

.btb-form input:focus {
    border-color: #0073aa !important;
    box-shadow: 0 0 0 1px #0073aa !important;
}

/* 5. Paneles de Estado Destacados */
.btb-status-panel {
    background: #f0f7ff !important;
    border-left: 5px solid #0073aa !important;
    padding: 20px !important;
    border-radius: 4px !important;
    margin-bottom: 25px !important;
}

.btb-status-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #555 !important;
    text-transform: uppercase !important;
}

.btb-status-value {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #0073aa !important;
}

/* 6. Chat / Burbujas de Mensaje */
.btb-chat-bubble {
    border-radius: 8px !important;
    padding: 18px !important;
    margin-bottom: 20px !important;
    position: relative !important;
}

.btb-chat-bubble.admin {
    background: #f0f4f8 !important;
    border: 1px solid #d1d9e4 !important;
}

.btb-chat-bubble.client {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
}

.btb-chat-meta {
    font-weight: 700 !important;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    padding-bottom: 8px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    justify-content: space-between !important;
}



/* ==========================================================
   HELP DESK B2B - BITUBI (ESTILOS GLOBALES)
   ========================================================== */

/* Contenedores y Tarjetas */
#btb-helpdesk-main-wrapper, #btb-ticket-view-container { margin-bottom: 40px; }

.btb-card {
    background: #fff !important;
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    padding: 30px !important;
    margin-bottom: 30px !important;
    box-shadow: 6px 6px 0px rgba(0,0,0,0.05) !important;
}

/* Cabeceras y Tablas */
#btb-helpdesk-header, #btb-view-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 30px; border-bottom: 2px solid #000; padding-bottom: 15px;
}

#btb-list-table { width: 100%; border-collapse: collapse; }
#btb-list-table thead { background: #f4f4f4; }
#btb-list-table th { padding: 15px; font-weight: 600; text-transform: uppercase; font-size: 12px; }

/* Banner de Estado */
#btb-status-banner {
    padding: 5px; border-radius: 6px; display: flex;
    justify-content: space-between; align-items: center; color: #fff; margin-bottom: 30px;
    background-color: blue !important;
}

/* Burbujas de Chat (Frontend Cliente) */
.btb-chat-bubble { border-radius: 6px; padding: 5px; margin-bottom: 4px; border: 1px solid #eee; max-width: 90%; }
.btb-chat-bubble.admin { background: #f0f7ff; border-left: 3px solid #0073aa; }
.btb-chat-bubble.client { background: #fff; border-left: 3px solid #333; margin-left: auto; }

#btb-ticket-title-main {text-align: left !important; font-weight: 500 !important;}

/* ==========================================================
   HELP DESK - VISTA ADMINISTRADOR (WP-ADMIN) 
   ========================================================== */

/* Forzamos el ID #wpbody para que el Admin de WP no pise estos estilos */
#wpbody #btb-admin-chat-container {
    max-height: 400px !important; overflow-y: auto !important;
    background: #f0f0f0 !important; padding: 15px !important;
    border: 1px solid #ccc !important; margin-bottom: 20px !important;
}

#wpbody .btb-admin-msg {
    margin-bottom: 15px !important; padding: 15px !important;
    border-radius: 8px !important; border: 1px solid #ddd !important;
    background: #fff; display: block !important;
}

/* Burbuja Soporte (Azul) */
#wpbody .btb-admin-msg-adm { 
    background: #e7f5ff !important; border-left: 6px solid #0073aa !important; margin-left: 40px !important; 
}

/* Burbuja Cliente (Blanco) */
#wpbody .btb-admin-msg-cli { 
    background: #ffffff !important; border-left: 6px solid #ccc !important; margin-right: 40px !important; 
}

#wpbody .btb-admin-status-badge {
    color: #fff !important; background-color: transparent; padding: 4px 6px !important; border-radius: 6px !important;
    font-weight: 600 !important; text-transform: uppercase !important;
}

#wpbody #btb-admin-reply-field {
    width: 100% !important; border: 2px solid #000 !important; padding: 10px !important;
}

/* Botones */
.btb-btn-primary { background: #000 !important; color: #fff !important; font-weight: 600 !important; }
.btb-btn-success { background: #10b981 !important; color: #fff !important; font-weight: 600 !important; }



/* ==========================================================
   HELP DESK B2B - DIFERENCIACIÓN DE ROLES
   ========================================================== */

/* Burbujas de Chat Generales */
.btb-chat-bubble {
    border-radius: 6px !important;
    padding: 10px !important;
    margin-bottom: 10px !important;
    border: 1px solid #ddd !important;
    max-width: 85% !important;
    position: relative;
}

/* MENSAJE DEL ADMINISTRADOR (Soporte) - Color Azul */
.btb-chat-bubble.admin {
    background-color: #f0f7ff !important; /* Azul muy claro */
    border-left: 4px solid #0073aa !important; /* Azul corporativo Bitubi */
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* MENSAJE DEL CLIENTE B2B (Tú) - Color Blanco */
.btb-chat-bubble.client {
    background-color: #ffffff !important;
    border-left: 4px solid #333333 !important; /* Gris oscuro/Negro */
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Metadatos dentro de la burbuja */
.btb-chat-meta {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 5px;
}

/* Colores de texto según autor */
.admin .btb-author-name { color: #0073aa; }
.client .btb-author-name { color: #333; }

/* Contenedor del Historial */
#btb-chat-history {
    display: flex;
    flex-direction: column;
    gap: 0px !important;
    margin-top: 4px;
}

.btb-msg-date {margin-left:5px;}








/* ==========================================================
   MÓDULO: PRESUPUESTOS B2B - LISTADO Y GRID
   ========================================================== */

/* Contenedor Principal */
#btb2b-presupuestos-wrapper {
    margin-top: 20px;
}

/* Grid de Soluciones */
#btb-solutions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin: 10px 0 20px 0;
}

.btb-solution-card {
    background: #ffffff !important;
    border: 1px solid #e1e1e1;
    border-radius: 8px !important;
    padding: 10px 5px !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.btb-solution-card:hover {
    border-color: #333;
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    background-color: #fafafa;
}

.btb-card-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 15px;
    stroke-width: 1.5;
    stroke: currentColor;
    fill: none;
}

.btb-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    margin: 0 0 5px 0;
    letter-spacing: 0.5px;
}

/* Colores específicos de tarjetas por ID */
#btb-card-medida .btb-card-icon { color: #2271b1; }
#btb-card-medida:hover { border-color: #2271b1 !important; }

#btb-card-rescate .btb-card-icon { color: #d63638; }
#btb-card-rescate:hover { border-color: #d63638 !important; background: #fff5f5 !important; }

#btb-card-adaptaciones .btb-card-icon { color: #d35400; }
#btb-card-adaptaciones:hover { border-color: #d35400 !important; }

#btb-card-qa .btb-card-icon { color: #008a20; }
#btb-card-qa:hover { border-color: #008a20 !important; }

/* Tabla de Historial */
#btb-budgets-table {
    margin-top: 15px;
    width: 100%;
}

.btb-status-badge {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btb-doc-counter {
    font-weight: bold;
    color: #333;
}

.btb-btn-edit {
    background: #f0f0f1 !important;
    color: #333 !important;
    padding: 5px 12px;
    border-radius: 4px;
    text-decoration: none !important;
    font-size: 12px;
    border: 1px solid #ccc;
    display: inline-block;
    transition: all 0.2s;
}

.btb-btn-edit:hover {
    background: #333 !important;
    color: #fff !important;
}

/* ==========================================================
   MÓDULO: FORMULARIO DE EDICIÓN (FONDO GRIS #CCC)
   ========================================================== */

#btb-budget-edit-form-container {
    max-width: 800px;
    margin: 0 auto;
}

/* Forzar el fondo gris solicitado en todos los campos */
#btb-budget-edit-form-container input[type="text"],
#btb-budget-edit-form-container input[type="email"],
#btb-budget-edit-form-container input[type="tel"],
#btb-budget-edit-form-container input[type="date"],
#btb-budget-edit-form-container select,
#btb-budget-edit-form-container textarea {
    background-color: #ccc !important;
    border: 1px solid #999 !important;
    color: #000 !important;
    padding: 10px !important;
    width: 100%;
    border-radius: 4px;
    font-size: 14px;
}

#btb-budget-edit-form-container label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

/* Bloques de Datos Fijos */
.btb-readonly-box {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    display: flex;
    gap: 20px;
}

/* Bloque de Estado Crítico */
#btb-status-edit-section {
    background: #fff3f3;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
    border: 1px solid #eccaca;
}

#status_reason_container {
    margin-top: 15px;
    border-top: 1px solid #eccaca;
    padding-top: 15px;
}

/* Grid del Formulario */
.btb-form-grid {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.btb-form-col {
    flex: 1;
    min-width: 200px;
}

/* Gestión de Archivos en Edición */
.btb-files-edit-box {
    margin-top: 20px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.btb-file-item {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 8px;
    border: 1px solid #eee;
    margin-bottom: 5px;
    font-size: 12px;
}

.btb-file-delete-label {
    margin-left: auto;
    color: #d63638;
    font-size: 12px;
    cursor: pointer;
}

/* Botón Guardar */
#btb-submit-budget-edit {
    margin-top: 20px;
    width: 100%;
    padding: 15px !important;
    font-weight: bold;
    text-transform: uppercase;
}


select {color: #000 !important;}
input {color: #000 !important;}



/* DISEÑO DE ALTO CONTRASTE B2B */
.btb-card {
    background: #fff !important;
    border: 1px solid #000 !important; /* Borde negro definido */
    border-radius: 8px !important;
    padding: 25px !important;
    margin-bottom: 25px !important;
    box-shadow: 6px 6px 0px rgba(0,0,0,0.05) !important; /* Sombra sólida tipo profesional */
}

.btb-status-box {
    background: #0073aa !important;
    color: #fff !important;
    padding: 15px 20px !important;
    border-radius: 6px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.btb-status-box strong { font-size: 20px !important; text-transform: uppercase; }

/* Burbujas de Chat Reforzadas */
.btb-chat-bubble {
    border-radius: 10px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    border: 1px solid #ddd !important;
}

.btb-chat-bubble.admin {
    background: #f0f8ff !important;
    border-left: 5px solid #0073aa !important;
    color: #111 !important;
    padding: 10px 12px !important;
}

.btb-chat-bubble.client {
    background: #ffffff !important;
    border-left: 5px solid #333 !important;
    color: #111 !important;
    padding: 10px 12px !important;
}

.btb-chat-meta {
    font-weight: 800 !important;
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    justify-content: space-between !important;
}



























