/* ==========================================================
   EQUILIBRIUM BOOKING ADMIN
========================================================== */

:root {
    --eqb-green: #173B3A;
    --eqb-green-dark: #0D2625;
    --eqb-gold: #CFA64A;
    --eqb-cream: #FAF8F3;
    --eqb-beige: #EFE5D2;
    --eqb-white: #FFFFFF;
    --eqb-text: #263333;
    --eqb-soft: #647574;
}

.eqb-admin {
    max-width: 1450px;
    margin-top: 25px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* HEADER */

.eqb-admin-header {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.18), transparent 38%),
        linear-gradient(135deg, #173B3A, #0D2625);
    border-radius: 24px;
    padding: 34px 38px;
    margin-bottom: 28px;
    box-shadow: 0 18px 45px rgba(23, 59, 58, 0.18);
}

.eqb-eyebrow {
    display: block;
    color: var(--eqb-gold);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    margin-bottom: 8px;
}

.eqb-admin-header h1 {
    color: var(--eqb-white);
    font-size: 34px;
    font-weight: 750;
    margin: 0 0 8px;
}

.eqb-admin-header p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 15px;
    margin: 0;
}

.eqb-admin-header-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.eqb-header-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
    border-radius: 50px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.eqb-header-button:hover {
    background: var(--eqb-white);
    color: var(--eqb-green-dark);
    transform: translateY(-2px);
}

/* DASHBOARD */

.eqb-dashboard-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 28px;
}

.eqb-stat-card {
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 12px 35px rgba(23, 59, 58, 0.07);
}

.eqb-stat-label {
    display: block;
    color: var(--eqb-soft);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 14px;
}

.eqb-stat-card strong {
    display: block;
    color: var(--eqb-green);
    font-size: 38px;
    line-height: 1;
    margin-bottom: 10px;
}

.eqb-stat-card small {
    color: #84908f;
}

.eqb-stat-pending {
    border-top: 4px solid var(--eqb-gold);
}

.eqb-stat-confirmed {
    border-top: 4px solid var(--eqb-green);
}

.eqb-dashboard-section {
    background: var(--eqb-white);
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 14px 40px rgba(23, 59, 58, 0.07);
}

.eqb-section-title span {
    color: var(--eqb-gold);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.eqb-section-title h2 {
    color: var(--eqb-green);
    margin: 5px 0 22px;
    font-size: 24px;
}

.eqb-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.eqb-quick-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--eqb-cream);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 18px;
    padding: 22px;
    color: var(--eqb-green);
    text-decoration: none;
    transition: all 0.25s ease;
}

.eqb-quick-card:hover {
    color: var(--eqb-green);
    background: var(--eqb-beige);
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(23, 59, 58, 0.10);
}

.eqb-quick-card .dashicons {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--eqb-green);
    color: var(--eqb-gold);
    border-radius: 14px;
    font-size: 22px;
}

.eqb-quick-card strong {
    display: block;
    font-size: 16px;
    margin-bottom: 5px;
}

.eqb-quick-card small {
    color: var(--eqb-soft);
}

/* TABLAS */

.eqb-table-card {
    background: var(--eqb-white);
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 40px rgba(23, 59, 58, 0.07);
}

.eqb-table-scroll {
    overflow-x: auto;
}

.eqb-table {
    width: 100%;
    border-collapse: collapse;
}

.eqb-table th {
    text-align: left;
    color: var(--eqb-soft);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 15px;
    border-bottom: 1px solid rgba(23, 59, 58, 0.10);
}

.eqb-table td {
    padding: 17px 15px;
    color: var(--eqb-text);
    border-bottom: 1px solid rgba(23, 59, 58, 0.07);
}

.eqb-table td strong {
    display: block;
    color: var(--eqb-green);
}

.eqb-table td small {
    display: block;
    margin-top: 4px;
    color: var(--eqb-soft);
}

/* ESTADOS */

.eqb-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
}

.eqb-status-pending {
    background: #FFF4D8;
    color: #9A6900;
}

.eqb-status-confirmed {
    background: #E2F1EC;
    color: #176448;
}

.eqb-status-cancelled {
    background: #FBE5E5;
    color: #A23A3A;
}

.eqb-status-completed {
    background: #E8E9F7;
    color: #4A4E9A;
}

/* EMPTY */

.eqb-empty {
    padding: 65px 20px;
    text-align: center;
}

.eqb-empty .dashicons {
    width: 60px;
    height: 60px;
    font-size: 44px;
    color: var(--eqb-gold);
}

.eqb-empty h3 {
    color: var(--eqb-green);
    font-size: 22px;
    margin: 15px 0 8px;
}

.eqb-empty p {
    color: var(--eqb-soft);
    margin: 0;
}

/* HEADINGS */

.eqb-section-heading-admin {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.eqb-section-heading-admin span {
    color: var(--eqb-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.eqb-section-heading-admin h2 {
    color: var(--eqb-green);
    font-size: 25px;
    margin: 4px 0 0;
}

.eqb-section-heading-admin > small {
    color: var(--eqb-soft);
    font-size: 13px;
}

/* SERVICIOS */

.eqb-service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(360px, 0.8fr);
    gap: 25px;
    align-items: start;
}

.eqb-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.eqb-service-admin-card {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.15), transparent 35%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 35px rgba(23, 59, 58, 0.07);
}

.eqb-service-disabled {
    opacity: 0.65;
    background: #F5F5F5;
}

.eqb-service-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.eqb-service-top > span {
    background: var(--eqb-green);
    color: var(--eqb-white);
    padding: 7px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
}

.eqb-active {
    color: #176448;
    font-weight: 700;
}

.eqb-inactive {
    color: #A23A3A;
    font-weight: 700;
}

.eqb-service-admin-card h3 {
    color: var(--eqb-green);
    font-size: 20px;
    margin: 0 0 7px;
}

.eqb-service-spanish-name {
    color: var(--eqb-soft);
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 14px;
}

.eqb-service-description {
    color: var(--eqb-soft);
    font-size: 13px;
    line-height: 1.6;
    min-height: 62px;
    margin-bottom: 20px;
}

.eqb-service-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.eqb-service-price {
    color: var(--eqb-gold);
    font-size: 28px;
    font-weight: 800;
}

.eqb-service-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.eqb-service-actions form {
    margin: 0;
}

/* BOTONES */

.eqb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: none;
    border-radius: 10px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-btn-edit {
    background: var(--eqb-green);
    color: var(--eqb-white);
}

.eqb-btn-edit:hover {
    background: var(--eqb-green-dark);
    color: var(--eqb-white);
}

.eqb-btn-disable {
    background: #FBE5E5;
    color: #A23A3A;
}

.eqb-btn-disable:hover {
    background: #A23A3A;
    color: #FFFFFF;
}

.eqb-btn-enable {
    background: #E2F1EC;
    color: #176448;
}

.eqb-btn-enable:hover {
    background: #176448;
    color: #FFFFFF;
}

.eqb-btn-delete {
    background: transparent;
    color: #A23A3A;
    border: 1px solid rgba(162, 58, 58, 0.25);
}

.eqb-btn-delete:hover {
    background: #A23A3A;
    color: #FFFFFF;
}

/* FORMULARIOS LATERALES */

.eqb-service-form-card,
.eqb-availability-form-card,
.eqb-exception-form-card {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.14), transparent 28%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 14px 40px rgba(23, 59, 58, 0.08);
    position: sticky;
    top: 50px;
}

.eqb-form-header {
    padding-bottom: 20px;
    margin-bottom: 22px;
    border-bottom: 1px solid rgba(23, 59, 58, 0.09);
}

.eqb-form-header > span {
    color: var(--eqb-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.eqb-form-header h2 {
    color: var(--eqb-green);
    font-size: 25px;
    margin: 5px 0 8px;
}

.eqb-form-header p {
    color: var(--eqb-soft);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.eqb-field {
    margin-bottom: 18px;
}

.eqb-field label {
    display: block;
    color: var(--eqb-green);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}

.eqb-field input[type="text"],
.eqb-field input[type="number"],
.eqb-field input[type="time"],
.eqb-field input[type="date"],
.eqb-field textarea,
.eqb-select {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(23, 59, 58, 0.16);
    border-radius: 11px;
    background: #FFFFFF;
    padding: 8px 12px;
    color: var(--eqb-text);
    font-size: 14px;
    box-shadow: none;
    box-sizing: border-box;
}

.eqb-field textarea {
    padding: 11px 13px;
    resize: vertical;
}

.eqb-field input:focus,
.eqb-field textarea:focus,
.eqb-select:focus {
    border-color: var(--eqb-gold);
    box-shadow: 0 0 0 2px rgba(207, 166, 74, 0.16);
    outline: none;
}

.eqb-form-row,
.eq-availability-time-fields,
.eq-exception-time-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.eqb-input-suffix,
.eqb-input-prefix {
    display: flex;
    align-items: center;
    border: 1px solid rgba(23, 59, 58, 0.16);
    border-radius: 11px;
    overflow: hidden;
    background: #FFFFFF;
}

.eqb-input-suffix input,
.eqb-input-prefix input {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.eqb-input-suffix span,
.eqb-input-prefix span {
    padding: 0 13px;
    color: var(--eqb-soft);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.eqb-checkbox-card {
    background: var(--eqb-cream);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 14px;
    padding: 15px;
    margin: 5px 0 22px;
}

.eqb-checkbox-card label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.eqb-checkbox-card input {
    margin-top: 3px;
}

.eqb-checkbox-card strong {
    display: block;
    color: var(--eqb-green);
    font-size: 13px;
}

.eqb-checkbox-card small {
    display: block;
    color: var(--eqb-soft);
    font-size: 12px;
    margin-top: 3px;
}

.eqb-form-actions {
    display: flex;
    gap: 10px;
}

.eqb-primary-button,
.eqb-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 21px;
    border: none;
    border-radius: 50px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.25s ease;
}

.eqb-primary-button {
    background: var(--eqb-green);
    color: var(--eqb-white);
}

.eqb-primary-button:hover {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
}

.eqb-secondary-button {
    background: var(--eqb-cream);
    color: var(--eqb-green);
}

.eqb-secondary-button:hover {
    background: var(--eqb-beige);
    color: var(--eqb-green);
}

/* DISPONIBILIDAD */

.eqb-availability-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.7fr);
    gap: 25px;
    align-items: start;
}

.eqb-availability-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.eqb-availability-card {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.13), transparent 35%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 14px 35px rgba(23, 59, 58, 0.07);
    transition: all 0.25s ease;
}

.eqb-availability-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(23, 59, 58, 0.10);
}

.eqb-availability-disabled {
    opacity: 0.62;
    background: #F4F4F4;
}

.eqb-availability-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 22px;
}

.eqb-day-en {
    display: block;
    color: var(--eqb-green);
    font-size: 21px;
    font-weight: 800;
}

.eqb-availability-card-top small {
    display: block;
    color: var(--eqb-soft);
    font-size: 13px;
    margin-top: 4px;
}

.eqb-time-range {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 15px;
    background: var(--eqb-cream);
    border: 1px solid rgba(23, 59, 58, 0.07);
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 20px;
}

.eqb-time-range > div {
    text-align: center;
}

.eqb-time-range span {
    display: block;
    color: var(--eqb-soft);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 5px;
}

.eqb-time-range strong {
    color: var(--eqb-green);
    font-size: 17px;
}

.eqb-time-arrow {
    color: var(--eqb-gold) !important;
    font-size: 25px !important;
    margin: 0 !important;
}

.eqb-availability-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eqb-availability-actions form {
    margin: 0;
}

/* FECHAS ESPECIALES */

.eqb-exceptions-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(350px, 0.7fr);
    gap: 25px;
    align-items: start;
}

.eqb-exceptions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.eqb-exception-card {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.13), transparent 35%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 14px 35px rgba(23, 59, 58, 0.07);
}

.eqb-exception-disabled {
    opacity: 0.6;
    background: #F4F4F4;
}

.eqb-exception-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
}

.eqb-exception-date {
    display: block;
    color: var(--eqb-green);
    font-size: 19px;
    font-weight: 800;
}

.eqb-exception-card-top small {
    display: block;
    color: var(--eqb-soft);
    font-size: 13px;
    margin-top: 4px;
}

.eqb-exception-type {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.eqb-exception-blocked {
    background: #FBE5E5;
    color: #A23A3A;
}

.eqb-exception-special {
    background: #E2F1EC;
    color: #176448;
}

.eqb-exception-hours {
    background: var(--eqb-cream);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 15px;
    text-align: center;
}

.eqb-exception-hours strong {
    color: var(--eqb-green);
    font-size: 17px;
}

.eqb-exception-reason {
    color: var(--eqb-soft);
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 18px;
}

.eqb-exception-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eqb-exception-actions form {
    margin: 0;
}

/* RESPONSIVE */

@media (max-width: 1250px) {
    .eqb-service-layout,
    .eqb-availability-layout,
    .eqb-exceptions-layout {
        grid-template-columns: 1fr;
    }

    .eqb-service-form-card,
    .eqb-availability-form-card,
    .eqb-exception-form-card {
        position: static;
    }

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

@media (max-width: 1200px) {
    .eqb-dashboard-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {
    .eqb-services-grid,
    .eqb-availability-grid,
    .eqb-exceptions-grid {
        grid-template-columns: 1fr;
    }

    .eqb-admin-header-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .eqb-form-row,
    .eq-availability-time-fields,
    .eq-exception-time-fields {
        grid-template-columns: 1fr;
    }

    .eqb-service-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 780px) {
    .eqb-dashboard-cards,
    .eqb-quick-grid {
        grid-template-columns: 1fr;
    }

    .eqb-admin-header {
        padding: 26px;
    }
}

@media (max-width: 800px) {
    .eqb-time-range {
        grid-template-columns: 1fr;
    }

    .eqb-time-arrow {
        transform: rotate(90deg);
    }
}


/* ==========================================================
   SELECTOR DE IDIOMA ADMIN V1.5
========================================================== */

.eqb-language-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 18px;
    padding: 14px 18px;
    margin-bottom: 18px;
    box-shadow: 0 10px 28px rgba(23, 59, 58, 0.06);
}

.eqb-language-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.eqb-language-copy > .dashicons {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--eqb-cream);
    color: var(--eqb-gold);
    border-radius: 12px;
    font-size: 21px;
}

.eqb-language-copy strong {
    display: block;
    color: var(--eqb-green);
    font-size: 14px;
    margin-bottom: 3px;
}

.eqb-language-copy small {
    display: block;
    color: var(--eqb-soft);
    font-size: 12px;
}

.eqb-language-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    background: var(--eqb-cream);
    border-radius: 50px;
}

.eqb-language-switch form {
    margin: 0;
}

.eqb-language-button {
    min-width: 48px;
    height: 38px;
    border: 0;
    border-radius: 50px;
    background: transparent;
    color: var(--eqb-green);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-language-button:hover {
    background: var(--eqb-beige);
}

.eqb-language-button.is-active {
    background: var(--eqb-green);
    color: var(--eqb-white);
    box-shadow: 0 6px 16px rgba(23, 59, 58, 0.18);
}

@media (max-width: 700px) {
    .eqb-language-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .eqb-language-switch {
        width: 100%;
        justify-content: center;
    }

    .eqb-language-switch form {
        flex: 1;
    }

    .eqb-language-button {
        width: 100%;
    }
}


/* ==========================================================
   GESTIÓN DE CITAS V1.6
========================================================== */

.eqb-appointment-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 20px;
}

.eqb-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    background: var(--eqb-white);
    color: var(--eqb-green);
    border: 1px solid rgba(23, 59, 58, 0.12);
    border-radius: 50px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    transition: all 0.2s ease;
}

.eqb-filter-button:hover,
.eqb-filter-button.is-active {
    background: var(--eqb-green);
    color: var(--eqb-white);
    border-color: var(--eqb-green);
}

.eqb-appointments-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(390px, 0.75fr);
    gap: 24px;
    align-items: start;
}

.eqb-appointments-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.eqb-appointment-card {
    display: block;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 20px;
    padding: 20px;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(23, 59, 58, 0.06);
    transition: all 0.22s ease;
}

.eqb-appointment-card:hover,
.eqb-appointment-card.is-selected {
    transform: translateY(-2px);
    border-color: rgba(207, 166, 74, 0.55);
    box-shadow: 0 16px 36px rgba(23, 59, 58, 0.10);
}

.eqb-appointment-card.is-selected {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.12), transparent 34%),
        var(--eqb-white);
}

.eqb-appointment-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.eqb-appointment-date {
    display: block;
    color: var(--eqb-soft);
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}

.eqb-appointment-time {
    display: block;
    color: var(--eqb-gold);
    font-size: 18px;
}

.eqb-appointment-card h3 {
    color: var(--eqb-green);
    font-size: 19px;
    margin: 0 0 6px;
}

.eqb-appointment-service {
    color: var(--eqb-soft);
    font-size: 13px;
    margin: 0 0 16px;
}

.eqb-appointment-meta {
    display: grid;
    gap: 7px;
}

.eqb-appointment-meta span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--eqb-soft);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.eqb-appointment-meta .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    color: var(--eqb-gold);
}

.eqb-appointment-detail-card {
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.12), transparent 30%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 25px;
    box-shadow: 0 14px 40px rgba(23, 59, 58, 0.08);
    position: sticky;
    top: 50px;
}

.eqb-appointment-detail-empty {
    padding: 45px 10px;
}

.eqb-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(23, 59, 58, 0.08);
}

.eqb-detail-header h2 {
    color: var(--eqb-green);
    font-size: 25px;
    margin: 4px 0 0;
}

.eqb-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.eqb-detail-item {
    background: var(--eqb-cream);
    border: 1px solid rgba(23, 59, 58, 0.06);
    border-radius: 13px;
    padding: 13px;
    min-width: 0;
}

.eqb-detail-item small {
    display: block;
    color: var(--eqb-soft);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 5px;
}

.eqb-detail-item strong {
    display: block;
    color: var(--eqb-green);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.eqb-client-notes {
    background: #FFF9EA;
    border: 1px solid rgba(207, 166, 74, 0.28);
    border-radius: 14px;
    padding: 15px;
    margin-bottom: 20px;
}

.eqb-client-notes small {
    display: block;
    color: var(--eqb-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    margin-bottom: 7px;
}

.eqb-client-notes p {
    color: var(--eqb-text);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.eqb-detail-section {
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid rgba(23, 59, 58, 0.08);
}

.eqb-detail-section h3 {
    color: var(--eqb-green);
    font-size: 16px;
    margin: 0 0 13px;
}

.eqb-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eqb-status-actions form {
    margin: 0;
}

.eqb-status-action {
    min-height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-action-confirm {
    background: #E2F1EC;
    color: #176448;
}

.eqb-action-complete {
    background: #E8E9F7;
    color: #4A4E9A;
}

.eqb-action-cancel {
    background: #FBE5E5;
    color: #A23A3A;
}

.eqb-action-noshow {
    background: #F0E9E2;
    color: #72533A;
}

.eqb-action-pending {
    background: #FFF4D8;
    color: #9A6900;
}

.eqb-status-action:hover {
    filter: brightness(0.96);
    transform: translateY(-1px);
}

.eqb-admin-notes-textarea {
    width: 100%;
    border: 1px solid rgba(23, 59, 58, 0.16);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 10px;
    resize: vertical;
    color: var(--eqb-text);
    box-sizing: border-box;
}

.eqb-admin-notes-textarea:focus {
    border-color: var(--eqb-gold);
    box-shadow: 0 0 0 2px rgba(207, 166, 74, 0.16);
    outline: none;
}

.eqb-status-no_show {
    background: #F0E9E2;
    color: #72533A;
}

@media (max-width: 1250px) {
    .eqb-appointments-layout {
        grid-template-columns: 1fr;
    }

    .eqb-appointment-detail-card {
        position: static;
    }
}

@media (max-width: 850px) {
    .eqb-appointments-cards {
        grid-template-columns: 1fr;
    }

    .eqb-detail-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   BOOKING PÚBLICO V1.7
========================================================== */

.eqb-booking-app {
    --eqb-green: #173B3A;
    --eqb-green-dark: #0D2625;
    --eqb-gold: #CFA64A;
    --eqb-cream: #FAF8F3;
    --eqb-beige: #EFE5D2;
    --eqb-white: #FFFFFF;
    --eqb-text: #263333;
    --eqb-soft: #647574;
    width: 100%;
    padding: 40px 20px 70px;
    background:
        radial-gradient(circle at top left, rgba(207, 166, 74, 0.10), transparent 24%),
        linear-gradient(180deg, #FAF8F3 0%, #FFFFFF 100%);
    box-sizing: border-box;
}

.eqb-booking-app *,
.eqb-booking-app *::before,
.eqb-booking-app *::after {
    box-sizing: border-box;
}

.eqb-booking-shell {
    max-width: 1180px;
    margin: 0 auto;
}

.eqb-booking-intro {
    position: relative;
    text-align: center;
    padding: 40px 30px;
    margin-bottom: 26px;
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.18), transparent 35%),
        linear-gradient(135deg, var(--eqb-green), var(--eqb-green-dark));
    border-radius: 28px;
    box-shadow: 0 20px 50px rgba(23, 59, 58, 0.18);
}

.eqb-booking-eyebrow {
    display: block;
    color: var(--eqb-gold);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    margin-bottom: 8px;
}

.eqb-booking-intro h1 {
    color: var(--eqb-white);
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.05;
    margin: 0 0 12px;
}

.eqb-booking-intro p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.78);
    font-size: 16px;
    line-height: 1.7;
}

.eqb-public-language-switch {
    display: inline-flex;
    gap: 5px;
    padding: 4px;
    margin-top: 22px;
    background: rgba(255, 255, 255, 0.10);
    border-radius: 50px;
}

.eqb-public-lang {
    min-width: 52px;
    height: 38px;
    border: 0;
    border-radius: 50px;
    background: transparent;
    color: var(--eqb-white);
    font-weight: 800;
    cursor: pointer;
}

.eqb-public-lang.is-active {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
}

.eqb-booking-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 850px;
    margin: 0 auto 28px;
    padding: 18px 25px;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(23, 59, 58, 0.06);
}

.eqb-progress-step {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--eqb-soft);
    white-space: nowrap;
}

.eqb-progress-step span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--eqb-cream);
    color: var(--eqb-green);
    font-weight: 800;
}

.eqb-progress-step small {
    font-size: 12px;
    font-weight: 700;
}

.eqb-progress-step.is-active span,
.eqb-progress-step.is-complete span {
    background: var(--eqb-green);
    color: var(--eqb-white);
}

.eqb-progress-step.is-active small,
.eqb-progress-step.is-complete small {
    color: var(--eqb-green);
}

.eqb-progress-line {
    flex: 1;
    height: 1px;
    min-width: 25px;
    margin: 0 12px;
    background: rgba(23, 59, 58, 0.12);
}

.eqb-booking-step,
.eqb-booking-success {
    display: none;
}

.eqb-booking-step.is-active,
.eqb-booking-success.is-active {
    display: block;
}

.eqb-public-section-heading {
    margin-bottom: 20px;
}

.eqb-public-section-heading > span {
    color: var(--eqb-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.eqb-public-section-heading h2 {
    color: var(--eqb-green);
    font-size: 30px;
    margin: 5px 0 0;
}

.eqb-public-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.eqb-public-service-card {
    position: relative;
    width: 100%;
    text-align: left;
    padding: 24px;
    background:
        radial-gradient(circle at top right, rgba(207, 166, 74, 0.13), transparent 36%),
        var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.09);
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(23, 59, 58, 0.07);
    cursor: pointer;
    transition: all 0.25s ease;
}

.eqb-public-service-card:hover,
.eqb-public-service-card.is-selected {
    transform: translateY(-4px);
    border-color: rgba(207, 166, 74, 0.65);
    box-shadow: 0 18px 42px rgba(23, 59, 58, 0.12);
}

.eqb-public-service-duration {
    display: inline-flex;
    padding: 7px 11px;
    margin-bottom: 18px;
    border-radius: 50px;
    background: var(--eqb-green);
    color: var(--eqb-white);
    font-size: 11px;
    font-weight: 800;
}

.eqb-public-service-card h3 {
    color: var(--eqb-green);
    font-size: 20px;
    margin: 0 0 10px;
}

.eqb-public-service-card p {
    min-height: 72px;
    color: var(--eqb-soft);
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 20px;
}

.eqb-public-service-card strong {
    display: block;
    color: var(--eqb-gold);
    font-size: 27px;
    margin-bottom: 14px;
}

.eqb-public-select-label {
    color: var(--eqb-green);
    font-size: 12px;
    font-weight: 800;
}

.eqb-public-booking-two-columns {
    display: grid;
    grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
    gap: 20px;
}

.eqb-public-panel,
.eqb-public-form-card,
.eqb-review-card {
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 35px rgba(23, 59, 58, 0.07);
}

.eqb-public-panel > label,
.eqb-slots-header label,
.eqb-public-field label {
    display: block;
    color: var(--eqb-green);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}

.eqb-public-panel input[type="date"],
.eqb-public-field input,
.eqb-public-field select,
.eqb-public-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid rgba(23, 59, 58, 0.16);
    border-radius: 12px;
    background: #FFFFFF;
    color: var(--eqb-text);
    font-size: 14px;
    outline: none;
}

.eqb-public-field textarea {
    min-height: 110px;
    resize: vertical;
}

.eqb-public-panel input:focus,
.eqb-public-field input:focus,
.eqb-public-field select:focus,
.eqb-public-field textarea:focus {
    border-color: var(--eqb-gold);
    box-shadow: 0 0 0 2px rgba(207, 166, 74, 0.16);
}

.eqb-selected-service-summary {
    margin-top: 18px;
    padding: 18px;
    background: var(--eqb-cream);
    border-radius: 16px;
}

.eqb-selected-service-summary small {
    display: block;
    color: var(--eqb-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.eqb-selected-service-summary h3 {
    color: var(--eqb-green);
    font-size: 19px;
    margin: 6px 0 12px;
}

.eqb-selected-service-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.eqb-selected-service-summary span {
    color: var(--eqb-soft);
}

.eqb-selected-service-summary strong {
    color: var(--eqb-gold);
    font-size: 20px;
}

.eqb-slots-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
}

.eqb-slots-header > span {
    color: var(--eqb-soft);
    font-size: 12px;
}

.eqb-slots-empty,
.eqb-slots-loading {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--eqb-soft);
    text-align: center;
}

.eqb-slots-empty .dashicons {
    width: 44px;
    height: 44px;
    font-size: 36px;
    color: var(--eqb-gold);
}

.eqb-slots-empty p,
.eqb-slots-loading p {
    max-width: 360px;
    margin: 10px auto 0;
    line-height: 1.6;
}

.eqb-slots-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.eqb-slot-button {
    min-height: 44px;
    border: 1px solid rgba(23, 59, 58, 0.14);
    border-radius: 11px;
    background: var(--eqb-cream);
    color: var(--eqb-green);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-slot-button:hover,
.eqb-slot-button.is-selected {
    background: var(--eqb-green);
    color: var(--eqb-white);
    border-color: var(--eqb-green);
}

.eqb-public-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 22px;
}

.eqb-public-back,
.eqb-public-next,
.eqb-public-submit {
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-public-back {
    background: var(--eqb-beige);
    color: var(--eqb-green);
}

.eqb-public-next,
.eqb-public-submit {
    background: var(--eqb-green);
    color: var(--eqb-white);
}

.eqb-public-next:hover,
.eqb-public-submit:hover {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
}

.eqb-public-next:disabled,
.eqb-public-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.eqb-public-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.eqb-public-field-full {
    grid-column: 1 / -1;
}

.eqb-review-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.eqb-review-row {
    padding: 15px;
    background: var(--eqb-cream);
    border-radius: 14px;
}

.eqb-review-row small {
    display: block;
    color: var(--eqb-soft);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    margin-bottom: 5px;
}

.eqb-review-row strong {
    display: block;
    color: var(--eqb-green);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.eqb-public-pending-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 16px;
    padding: 15px;
    background: #FFF9EA;
    border: 1px solid rgba(207, 166, 74, 0.25);
    border-radius: 14px;
}

.eqb-public-pending-note .dashicons {
    color: var(--eqb-gold);
}

.eqb-public-pending-note p {
    color: var(--eqb-text);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.eqb-booking-success {
    text-align: center;
    padding: 50px 25px;
    background: var(--eqb-white);
    border-radius: 24px;
    box-shadow: 0 16px 45px rgba(23, 59, 58, 0.09);
}

.eqb-success-icon {
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    background: #E2F1EC;
    color: #176448;
    border-radius: 50%;
}

.eqb-success-icon .dashicons {
    width: 42px;
    height: 42px;
    font-size: 42px;
}

.eqb-booking-success h2 {
    color: var(--eqb-green);
    font-size: 30px;
    margin: 8px 0 12px;
}

.eqb-booking-success p {
    max-width: 650px;
    margin: 0 auto 22px;
    color: var(--eqb-soft);
    line-height: 1.7;
}

.eqb-public-alert {
    display: none;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
}

.eqb-public-alert.is-visible {
    display: block;
}

.eqb-public-alert.is-error {
    background: #FBE5E5;
    color: #A23A3A;
}

.eqb-public-alert.is-success {
    background: #E2F1EC;
    color: #176448;
}

@media (max-width: 980px) {
    .eqb-public-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eqb-public-booking-two-columns {
        grid-template-columns: 1fr;
    }

    .eqb-booking-progress {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .eqb-progress-line {
        min-width: 35px;
    }
}

@media (max-width: 700px) {
    .eqb-booking-app {
        padding: 20px 12px 50px;
    }

    .eqb-booking-intro {
        padding: 30px 20px;
        border-radius: 22px;
    }

    .eqb-public-services-grid,
    .eqb-public-form-grid,
    .eqb-review-card {
        grid-template-columns: 1fr;
    }

    .eqb-public-field-full {
        grid-column: auto;
    }

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

    .eqb-progress-step small {
        display: none;
    }

    .eqb-public-navigation {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .eqb-public-back,
    .eqb-public-next,
    .eqb-public-submit {
        width: 100%;
    }
}


/* ==========================================================
   HORARIOS OCUPADOS Y CORRECCIÓN VISUAL V1.8
========================================================== */

.eqb-slot-button {
    display: flex;
    min-height: 58px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
}

.eqb-slot-time {
    display: block;
    font-weight: 800;
}

.eqb-slot-occupied-label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.eqb-slot-button.is-occupied,
.eqb-slot-button.is-occupied:hover,
.eqb-slot-button:disabled {
    background: #F4EEEE;
    color: #9A6A6A;
    border-color: rgba(162, 58, 58, 0.18);
    cursor: not-allowed;
    opacity: 0.82;
    transform: none;
}

.eqb-slot-button.is-occupied .eqb-slot-time {
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.eqb-slot-button.is-occupied .eqb-slot-occupied-label {
    color: #A23A3A;
}

/* PANEL PRIVADO FRONTAL V1.9 */
.eqb-private-login-page,.eqb-private-panel{--eqb-green:#173B3A;--eqb-green-dark:#0D2625;--eqb-gold:#CFA64A;--eqb-cream:#FAF8F3;--eqb-beige:#EFE5D2;--eqb-white:#fff;--eqb-text:#263333;--eqb-soft:#647574;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}
.eqb-private-login-page *,.eqb-private-panel *{box-sizing:border-box}
.eqb-private-login-page{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:45px 20px;background:radial-gradient(circle at top right,rgba(207,166,74,.17),transparent 28%),linear-gradient(135deg,#173B3A,#0D2625)}
.eqb-private-login-card{width:min(100%,480px);padding:38px;background:#fff;border-radius:26px;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.eqb-private-brand-mark{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:var(--eqb-green);color:var(--eqb-gold);font-family:Georgia,serif;font-size:28px;font-weight:700}
.eqb-private-eyebrow{display:block;margin-top:18px;color:var(--eqb-gold);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.eqb-private-login-card h1{color:var(--eqb-green);font-size:34px;margin:7px 0 10px}
.eqb-private-login-card>p{color:var(--eqb-soft);line-height:1.65;margin:0 0 18px}
.eqb-private-login-language,.eqb-private-panel-language{display:inline-flex;padding:4px;gap:4px;background:var(--eqb-cream);border-radius:50px}
.eqb-private-login-language{margin-bottom:18px}
.eqb-private-lang,.eqb-panel-lang{min-width:46px;height:36px;border:0;border-radius:50px;background:transparent;color:var(--eqb-green);font-size:12px;font-weight:800;cursor:pointer}
.eqb-private-lang.is-active,.eqb-panel-lang.is-active{background:var(--eqb-green);color:#fff}
.eqb-private-login-form p{margin:0 0 15px}.eqb-private-login-form label{display:block;color:var(--eqb-green);font-size:13px;font-weight:700}
.eqb-private-login-form input[type=text],.eqb-private-login-form input[type=password]{width:100%;min-height:48px;margin-top:7px;padding:10px 13px;border:1px solid rgba(23,59,58,.18);border-radius:12px;background:#fff}
.eqb-private-login-form .login-remember label{display:flex;align-items:center;gap:7px;color:var(--eqb-soft);font-weight:600}
.eqb-private-login-form .login-submit input{width:100%;min-height:48px;border:0;border-radius:50px;background:var(--eqb-green);color:#fff;font-weight:800;cursor:pointer}
.eqb-private-back-home{display:inline-block;margin-top:10px;color:var(--eqb-green);text-decoration:none;font-size:13px;font-weight:700}
.eqb-private-panel{min-height:100vh;background:#F3F5F4;color:var(--eqb-text)}
.eqb-private-panel-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 28px;background:#fff;border-bottom:1px solid rgba(23,59,58,.08);position:sticky;top:0;z-index:50}
.eqb-private-panel-brand,.eqb-private-panel-header-actions,.eqb-private-user{display:flex;align-items:center}.eqb-private-panel-brand{gap:13px}
.eqb-private-panel-brand strong{display:block;color:var(--eqb-green);font-family:Georgia,serif;font-size:23px}.eqb-private-panel-brand small{display:block;color:var(--eqb-gold);font-size:10px;font-weight:800;letter-spacing:1.5px}
.eqb-private-panel-header-actions{gap:18px}.eqb-private-user{gap:12px;padding-left:18px;border-left:1px solid rgba(23,59,58,.1)}
.eqb-private-user strong,.eqb-private-user small{display:block}.eqb-private-user strong{color:var(--eqb-green);font-size:13px}.eqb-private-user small{color:var(--eqb-soft);margin-top:2px;font-size:11px}
.eqb-private-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border-radius:50px;background:#FBE5E5;color:#A23A3A;text-decoration:none;font-size:11px;font-weight:800}
.eqb-private-panel-body{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}
.eqb-private-sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:24px 16px;background:var(--eqb-green-dark)}
.eqb-private-sidebar nav{display:grid;gap:7px}.eqb-private-sidebar nav a,.eqb-private-sidebar-footer a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 15px;border-radius:13px;color:rgba(255,255,255,.72);text-decoration:none;font-size:13px;font-weight:700;transition:.2s}
.eqb-private-sidebar nav a:hover,.eqb-private-sidebar nav a.is-active,.eqb-private-sidebar-footer a:hover{background:rgba(255,255,255,.09);color:#fff}
.eqb-private-sidebar nav a.is-active{box-shadow:inset 3px 0 0 var(--eqb-gold)}.eqb-private-sidebar .dashicons{color:var(--eqb-gold)}
.eqb-private-menu-badge{margin-left:auto;min-width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:50px;background:var(--eqb-gold);color:var(--eqb-green-dark);font-size:10px}
.eqb-private-sidebar-footer{display:grid;gap:5px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.eqb-private-content{min-width:0;padding:30px}
.eqb-private-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 30px;margin-bottom:22px;border-radius:22px;background:radial-gradient(circle at top right,rgba(207,166,74,.16),transparent 34%),linear-gradient(135deg,var(--eqb-green),var(--eqb-green-dark));box-shadow:0 16px 36px rgba(23,59,58,.14)}
.eqb-private-page-heading .eqb-private-eyebrow{margin-top:0}.eqb-private-page-heading h1{color:#fff;font-size:31px;margin:5px 0 7px}.eqb-private-page-heading p{color:rgba(255,255,255,.72);margin:0}
.eqb-front-notice{padding:13px 16px;margin-bottom:18px;border-radius:12px;font-size:13px;font-weight:700}.eqb-front-notice-success{background:#E2F1EC;color:#176448}.eqb-front-notice-error{background:#FBE5E5;color:#A23A3A}
.eqb-private-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.eqb-private-stats-grid article{padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(23,59,58,.07);box-shadow:0 10px 26px rgba(23,59,58,.05)}
.eqb-private-stats-grid small,.eqb-private-stats-grid span{display:block;color:var(--eqb-soft)}.eqb-private-stats-grid strong{display:block;margin:10px 0 7px;color:var(--eqb-green);font-size:34px}.eqb-private-stats-grid span{font-size:11px}
.eqb-private-stat-pending{border-top:3px solid var(--eqb-gold)!important}.eqb-private-stat-confirmed{border-top:3px solid #176448!important}
.eqb-private-section-card,.eqb-private-form-card,.eqb-private-appointment-detail{background:#fff;border:1px solid rgba(23,59,58,.07);border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(23,59,58,.06)}
.eqb-private-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.eqb-private-section-title>div>span{color:var(--eqb-gold);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px}.eqb-private-section-title h2{color:var(--eqb-green);margin:4px 0 0}.eqb-private-section-title>a{color:var(--eqb-green);text-decoration:none;font-size:12px;font-weight:800}
.eqb-private-upcoming-list{display:grid;gap:9px}.eqb-private-upcoming-item{display:grid;grid-template-columns:95px minmax(0,1fr) auto;align-items:center;gap:15px;padding:13px;border-radius:13px;background:var(--eqb-cream);color:inherit;text-decoration:none}
.eqb-private-upcoming-date strong,.eqb-private-upcoming-date span,.eqb-private-upcoming-client strong,.eqb-private-upcoming-client span{display:block}.eqb-private-upcoming-date strong,.eqb-private-upcoming-client strong{color:var(--eqb-green)}.eqb-private-upcoming-date span,.eqb-private-upcoming-client span{color:var(--eqb-soft);margin-top:3px;font-size:11px}
.eqb-private-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.eqb-private-filter-row a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:50px;background:#fff;color:var(--eqb-green);border:1px solid rgba(23,59,58,.1);text-decoration:none;font-size:11px;font-weight:800}.eqb-private-filter-row a.is-active,.eqb-private-filter-row a:hover{background:var(--eqb-green);color:#fff}
.eqb-private-appointments-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:20px;align-items:start}.eqb-private-appointment-grid,.eqb-private-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.eqb-private-appointment-card,.eqb-private-manager-card,.eqb-private-service-card{padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(23,59,58,.08);box-shadow:0 10px 26px rgba(23,59,58,.05)}
.eqb-private-appointment-card{display:block;color:inherit;text-decoration:none;transition:.2s}.eqb-private-appointment-card:hover,.eqb-private-appointment-card.is-selected{transform:translateY(-2px);border-color:rgba(207,166,74,.55);box-shadow:0 14px 32px rgba(23,59,58,.09)}
.eqb-private-appointment-card-top,.eqb-private-manager-card-top,.eqb-private-service-top,.eqb-private-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.eqb-private-appointment-card-top small,.eqb-private-appointment-card-top strong{display:block}.eqb-private-appointment-card-top small{color:var(--eqb-soft);font-size:11px}.eqb-private-appointment-card-top strong{color:var(--eqb-gold);margin-top:4px;font-size:17px}
.eqb-private-appointment-card h3,.eqb-private-manager-card h3,.eqb-private-service-card h3{color:var(--eqb-green);margin:15px 0 5px;font-size:18px}.eqb-private-appointment-card p,.eqb-private-service-card p{color:var(--eqb-soft);font-size:12px;line-height:1.55}
.eqb-private-appointment-contact{display:grid;gap:4px;color:var(--eqb-soft);font-size:11px;overflow-wrap:anywhere}.eqb-private-appointment-detail{position:sticky;top:96px}
.eqb-private-empty{padding:45px 15px;text-align:center}.eqb-private-empty .dashicons{width:48px;height:48px;font-size:40px;color:var(--eqb-gold)}.eqb-private-empty h3{color:var(--eqb-green);margin:12px 0 5px}.eqb-private-empty p{color:var(--eqb-soft);margin:0}
.eqb-private-detail-header{padding-bottom:17px;margin-bottom:16px;border-bottom:1px solid rgba(23,59,58,.08)}.eqb-private-detail-header .eqb-private-eyebrow{margin-top:0}.eqb-private-detail-header h2{color:var(--eqb-green);font-size:23px;margin:5px 0 0}
.eqb-private-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.eqb-private-detail-grid>div{padding:12px;border-radius:12px;background:var(--eqb-cream);min-width:0}.eqb-private-detail-grid small{display:block;color:var(--eqb-soft);font-size:10px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.eqb-private-detail-grid strong{display:block;color:var(--eqb-green);font-size:12px;overflow-wrap:anywhere}
.eqb-private-client-notes{margin-top:14px;padding:13px;border-radius:12px;background:#FFF9EA;border:1px solid rgba(207,166,74,.25)}.eqb-private-client-notes small{color:var(--eqb-gold);font-size:10px;font-weight:800;text-transform:uppercase}.eqb-private-client-notes p{margin:6px 0 0;color:var(--eqb-text);font-size:12px;line-height:1.55}
.eqb-private-action-section{padding-top:16px;margin-top:16px;border-top:1px solid rgba(23,59,58,.08)}.eqb-private-action-section h3{color:var(--eqb-green);margin:0 0 11px;font-size:14px}.eqb-private-status-actions{display:flex;flex-wrap:wrap;gap:7px}.eqb-private-status-actions form{margin:0}
.eqb-private-status-button{min-height:38px;padding:0 12px;border:0;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer}.eqb-private-status-button.is-confirm{background:#E2F1EC;color:#176448}.eqb-private-status-button.is-complete{background:#E8E9F7;color:#4A4E9A}.eqb-private-status-button.is-cancel{background:#FBE5E5;color:#A23A3A}.eqb-private-status-button.is-noshow{background:#F0E9E2;color:#72533A}.eqb-private-status-button.is-pending{background:#FFF4D8;color:#9A6900}
.eqb-private-action-section textarea{width:100%;min-height:100px;padding:10px 12px;margin-bottom:9px;border:1px solid rgba(23,59,58,.16);border-radius:11px;resize:vertical}
.eqb-private-manager-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);gap:20px;align-items:start}.eqb-private-manager-card.is-disabled,.eqb-private-service-card.is-disabled{opacity:.58}
.eqb-private-manager-card-top h3{margin:0}.eqb-private-manager-card-top small{display:block;color:var(--eqb-soft);margin-top:3px}.eqb-private-time-range{display:flex;align-items:center;justify-content:center;gap:13px;padding:14px;margin:14px 0;border-radius:12px;background:var(--eqb-cream)}.eqb-private-time-range strong{color:var(--eqb-green)}.eqb-private-time-range span{color:var(--eqb-gold)}
.eqb-private-card-note{color:var(--eqb-soft);font-size:12px}.eqb-private-type-badge{display:inline-flex;padding:6px 10px;border-radius:50px;font-size:10px;font-weight:800}.eqb-private-type-badge.is-blocked{background:#FBE5E5;color:#A23A3A}.eqb-private-type-badge.is-special{background:#E2F1EC;color:#176448}
.eqb-private-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.eqb-private-card-actions form{margin:0}.eqb-private-card-actions a,.eqb-private-card-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:0;border-radius:9px;background:var(--eqb-cream);color:var(--eqb-green);text-decoration:none;font-size:10px;font-weight:800;cursor:pointer}.eqb-private-card-actions a{background:var(--eqb-green);color:#fff}
.eqb-private-form-card{position:sticky;top:96px}.eqb-private-form-card .eqb-private-eyebrow{margin-top:0}.eqb-private-form-card h2{color:var(--eqb-green);margin:5px 0 20px}.eqb-private-field{margin-bottom:14px}.eqb-private-field label{display:block;color:var(--eqb-green);font-size:12px;font-weight:700;margin-bottom:6px}.eqb-private-field input,.eqb-private-field select,.eqb-private-field textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid rgba(23,59,58,.16);border-radius:10px;background:#fff;color:var(--eqb-text)}.eqb-private-field textarea{min-height:85px;resize:vertical}
.eqb-private-form-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.eqb-private-checkbox{display:flex;align-items:center;gap:8px;padding:12px;margin:4px 0 17px;border-radius:11px;background:var(--eqb-cream);color:var(--eqb-green);font-size:12px;font-weight:700}.eqb-private-form-actions{display:flex;gap:8px;align-items:center}.eqb-private-primary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:0;border-radius:50px;background:var(--eqb-green);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.eqb-private-form-actions>a{color:var(--eqb-green);text-decoration:none;font-size:11px;font-weight:800}
.eqb-private-service-top span{display:inline-flex;padding:6px 10px;border-radius:50px;background:var(--eqb-green);color:#fff;font-size:10px;font-weight:800}.eqb-private-service-top small{color:var(--eqb-soft);font-size:10px;font-weight:800}.eqb-private-service-card>strong{display:block;color:var(--eqb-gold);margin-top:12px;font-size:23px}
@media(max-width:1180px){.eqb-private-panel-body{grid-template-columns:86px minmax(0,1fr)}.eqb-private-sidebar nav a,.eqb-private-sidebar-footer a{justify-content:center;padding:0 10px}.eqb-private-sidebar nav a>span:not(.dashicons),.eqb-private-sidebar-footer a>span:not(.dashicons){display:none}.eqb-private-menu-badge{position:absolute;margin:-30px 0 0 28px}.eqb-private-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eqb-private-appointments-layout,.eqb-private-manager-layout{grid-template-columns:1fr}.eqb-private-appointment-detail,.eqb-private-form-card{position:static}}
@media(max-width:760px){.eqb-private-panel-header{align-items:flex-start;flex-direction:column;padding:13px 16px}.eqb-private-panel-header-actions{width:100%;justify-content:space-between}.eqb-private-user{padding-left:10px}.eqb-private-panel-body{display:block}.eqb-private-sidebar{padding:8px 10px;position:sticky;top:0;z-index:40}.eqb-private-sidebar nav{display:flex;overflow-x:auto;gap:5px}.eqb-private-sidebar nav a{flex:0 0 48px}.eqb-private-sidebar-footer{display:none}.eqb-private-content{padding:16px 12px 35px}.eqb-private-page-heading{padding:22px}.eqb-private-stats-grid,.eqb-private-appointment-grid,.eqb-private-cards-grid,.eqb-private-detail-grid,.eqb-private-form-two{grid-template-columns:1fr}.eqb-private-upcoming-item{grid-template-columns:75px minmax(0,1fr)}.eqb-private-upcoming-item>.eqb-status{grid-column:2;justify-self:start}}
@media(max-width:520px){.eqb-private-login-card{padding:28px 22px}.eqb-private-user>div{display:none}.eqb-private-panel-brand strong{font-size:20px}.eqb-private-stats-grid{grid-template-columns:1fr 1fr;gap:10px}.eqb-private-stats-grid article{padding:15px}.eqb-private-stats-grid strong{font-size:28px}}


/* ==========================================================
   ELIMINACIÓN ADMINISTRATIVA DE CITAS V1.9.1
========================================================== */

.eqb-danger-zone {
    background: #FFF7F7;
    border: 1px solid rgba(162, 58, 58, 0.18);
    border-radius: 14px;
    padding: 15px;
}

.eqb-danger-zone p {
    color: #7D5555;
    font-size: 12px;
    line-height: 1.55;
    margin: 0 0 12px;
}

.eqb-delete-appointment-button {
    min-height: 40px;
    padding: 0 15px;
    border: 0;
    border-radius: 10px;
    background: #A23A3A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.eqb-delete-appointment-button:hover {
    filter: brightness(0.94);
}


/* ==========================================================
   LOGIN PRIVADO - ESTADO AUTENTICADO V1.9.2
========================================================== */

.eqb-login-already-card {
    text-align: center;
}

.eqb-login-already-card .eqb-private-brand-mark {
    margin: 0 auto;
}

.eqb-private-open-panel {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 8px 0 12px;
    padding: 0 20px;
    border-radius: 50px;
    background: var(--eqb-green);
    color: var(--eqb-white);
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    transition: all .2s ease;
}

.eqb-private-open-panel:hover {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
}


/* ==========================================================
   PANEL PRIVADO FULLSCREEN V1.10
========================================================== */

body.eqb-panel-page {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
    background: #F3F5F4;
}

body.eqb-panel-page .eq-header,
body.eqb-panel-page .eq-footer,
body.eqb-panel-page header.eq-header,
body.eqb-panel-page footer.eq-footer {
    display: none !important;
}

body.eqb-panel-page .eq-main,
body.eqb-panel-page main.eq-main,
body.eqb-panel-page .site-main,
body.eqb-panel-page .entry-content,
body.eqb-panel-page .elementor,
body.eqb-panel-page .elementor-widget-shortcode,
body.eqb-panel-page .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.eqb-panel-page .eqb-private-panel {
    width: 100vw;
    min-height: 100vh;
    margin-left: calc(50% - 50vw);
    border-radius: 0;
}

body.eqb-panel-page .eqb-private-panel-header {
    top: 0;
}

body.eqb-panel-page .eqb-private-panel-body {
    min-height: calc(100vh - 78px);
}


/* ==========================================================
   SELECCIÓN Y ELIMINACIÓN MÚLTIPLE DE CITAS V1.10
========================================================== */

.eqb-bulk-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    margin-bottom: 16px;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 16px;
    box-shadow: 0 9px 24px rgba(23, 59, 58, 0.05);
}

.eqb-select-all-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--eqb-green);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.eqb-select-all-label input {
    width: 17px;
    height: 17px;
    accent-color: var(--eqb-green);
}

.eqb-bulk-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

#eqb-selected-count {
    color: var(--eqb-soft);
    font-size: 11px;
    font-weight: 700;
}

.eqb-bulk-delete-button {
    min-height: 40px;
    padding: 0 15px;
    border: 0;
    border-radius: 50px;
    background: #A23A3A;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-bulk-delete-button:hover:not(:disabled) {
    transform: translateY(-1px);
    filter: brightness(0.94);
}

.eqb-bulk-delete-button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.eqb-appointment-select-wrapper {
    position: relative;
    min-width: 0;
}

.eqb-appointment-select-wrapper .eqb-appointment-card {
    height: 100%;
    padding-top: 54px;
}

.eqb-appointment-checkbox {
    position: absolute;
    z-index: 6;
    top: 12px;
    left: 12px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid rgba(23, 59, 58, 0.14);
    box-shadow: 0 5px 14px rgba(23, 59, 58, 0.10);
    cursor: pointer;
}

.eqb-appointment-checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.eqb-appointment-checkbox span {
    width: 14px;
    height: 14px;
    display: block;
    border: 2px solid rgba(23, 59, 58, 0.35);
    border-radius: 4px;
    background: #FFFFFF;
    transition: all 0.2s ease;
}

.eqb-appointment-checkbox input:checked + span {
    background: var(--eqb-green);
    border-color: var(--eqb-green);
    box-shadow: inset 0 0 0 3px #FFFFFF;
}

@media (max-width: 700px) {
    .eqb-bulk-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .eqb-bulk-toolbar-right {
        justify-content: space-between;
    }

    .eqb-bulk-delete-button {
        flex: 1;
    }
}


/* ==========================================================
   PANEL FULLSCREEN AJUSTES V1.10.1
========================================================== */

/* Oculta por completo el header y footer públicos en /panel/ */
body.eqb-panel-page header,
body.eqb-panel-page footer,
body.eqb-panel-page .eq-header,
body.eqb-panel-page .eq-footer,
body.eqb-panel-page .site-header,
body.eqb-panel-page .site-footer,
body.eqb-panel-page #masthead,
body.eqb-panel-page #colophon,
body.eqb-panel-page .elementor-location-header,
body.eqb-panel-page .elementor-location-footer {
    display: none !important;
}

/* El header interno de la aplicación sí permanece visible */
body.eqb-panel-page .eqb-private-panel-header {
    display: flex !important;
}

/* Logo original Equilibrium dentro del panel */
.eqb-private-brand-logo {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.eqb-private-brand-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transform: scale(1.08);
    transform-origin: center;
    filter: drop-shadow(0 5px 12px rgba(23, 59, 58, 0.10));
}

.eqb-private-brand-logo-login {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
    margin: 0 auto 4px;
}

@media (max-width: 760px) {
    .eqb-private-brand-logo {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .eqb-private-brand-logo-login {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }
}


/* ==========================================================
   LOGIN PRIVADO FULLSCREEN V1.10.2
========================================================== */

body.eqb-login-page {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
    background: #173B3A;
}

body.eqb-login-page header,
body.eqb-login-page footer,
body.eqb-login-page .eq-header,
body.eqb-login-page .eq-footer,
body.eqb-login-page .site-header,
body.eqb-login-page .site-footer,
body.eqb-login-page #masthead,
body.eqb-login-page #colophon,
body.eqb-login-page .elementor-location-header,
body.eqb-login-page .elementor-location-footer {
    display: none !important;
}

body.eqb-login-page .eq-main,
body.eqb-login-page main.eq-main,
body.eqb-login-page .site-main,
body.eqb-login-page .entry-content,
body.eqb-login-page .elementor,
body.eqb-login-page .elementor-widget-shortcode,
body.eqb-login-page .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.eqb-login-page .eqb-private-login-page {
    width: 100vw;
    min-height: 100vh;
    margin-left: calc(50% - 50vw);
    padding: 30px 20px;
}


/* ==========================================================
   DASHBOARD VISUAL, GUÍA Y AGENDA V1.11
========================================================== */

.eqb-dashboard-heading {
    align-items: center;
}

.eqb-miami-clock-card {
    min-width: 245px;
    padding: 16px 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
}

.eqb-miami-clock-card small,
.eqb-miami-clock-card strong,
.eqb-miami-clock-card span {
    display: block;
}

.eqb-miami-clock-card small {
    color: var(--eqb-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.eqb-miami-clock-card strong {
    margin: 5px 0 3px;
    color: #FFFFFF;
    font-size: 28px;
    line-height: 1;
}

.eqb-miami-clock-card span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
}


/* GUÍA */

.eqb-workflow-guide {
    margin-bottom: 22px;
}

.eqb-workflow-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.eqb-workflow-step {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-height: 128px;
    padding: 16px;
    border-radius: 15px;
    border: 1px solid rgba(23, 59, 58, 0.08);
}

.eqb-workflow-number,
.eqb-workflow-symbol {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

.eqb-workflow-step strong {
    display: block;
    margin-bottom: 6px;
    color: var(--eqb-green);
    font-size: 13px;
}

.eqb-workflow-step p {
    margin: 0;
    color: var(--eqb-soft);
    font-size: 11px;
    line-height: 1.55;
}

.eqb-workflow-step.is-pending {
    background: #FFF9EA;
}

.eqb-workflow-step.is-pending .eqb-workflow-number {
    background: #F3D681;
    color: #7B5600;
}

.eqb-workflow-step.is-confirmed {
    background: #EEF8F4;
}

.eqb-workflow-step.is-confirmed .eqb-workflow-number {
    background: #CFE9DE;
    color: #176448;
}

.eqb-workflow-step.is-completed {
    background: #F1F1FB;
}

.eqb-workflow-step.is-completed .eqb-workflow-number {
    background: #DCDDF3;
    color: #4A4E9A;
}

.eqb-workflow-step.is-cancelled {
    background: #FFF1F1;
}

.eqb-workflow-step.is-cancelled .eqb-workflow-symbol {
    background: #F6D3D3;
    color: #A23A3A;
}

.eqb-workflow-step.is-no-show {
    background: #F7F1EA;
}

.eqb-workflow-step.is-no-show .eqb-workflow-symbol {
    background: #E8DACA;
    color: #72533A;
}


/* AGENDA DIARIA */

.eqb-daily-agenda-card {
    margin-bottom: 22px;
}

.eqb-mini-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 17px;
}

.eqb-mini-calendar-day {
    position: relative;
    min-height: 76px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 14px;
    background: var(--eqb-cream);
    border: 1px solid rgba(23, 59, 58, 0.06);
    color: var(--eqb-green);
    text-decoration: none;
    transition: all 0.2s ease;
}

.eqb-mini-calendar-day:hover {
    transform: translateY(-2px);
    border-color: rgba(207, 166, 74, 0.5);
}

.eqb-mini-calendar-day small {
    color: var(--eqb-soft);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.eqb-mini-calendar-day strong {
    font-size: 20px;
}

.eqb-mini-calendar-day > span {
    position: absolute;
    top: 7px;
    right: 7px;
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
    font-size: 9px;
    font-weight: 900;
}

.eqb-mini-calendar-day.is-selected {
    background: var(--eqb-green);
    color: #FFFFFF;
    box-shadow: 0 10px 24px rgba(23, 59, 58, 0.18);
}

.eqb-mini-calendar-day.is-selected small {
    color: rgba(255, 255, 255, 0.70);
}

.eqb-mini-calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--eqb-gold);
}

.eqb-agenda-selected-date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    margin-bottom: 14px;
    border-radius: 13px;
    background: #F7F8F7;
}

.eqb-agenda-selected-date small,
.eqb-agenda-selected-date strong {
    display: block;
}

.eqb-agenda-selected-date small {
    color: var(--eqb-soft);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.eqb-agenda-selected-date strong {
    margin-top: 3px;
    color: var(--eqb-green);
    font-size: 15px;
}

.eqb-agenda-legend {
    display: flex;
    align-items: center;
    gap: 13px;
}

.eqb-agenda-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--eqb-soft);
    font-size: 10px;
}

.eqb-agenda-legend i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.eqb-agenda-legend i.is-free {
    background: #CFE9DE;
}

.eqb-agenda-legend i.is-busy {
    background: #E8A6A6;
}

.eqb-agenda-hours-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.eqb-agenda-hour {
    min-height: 78px;
    padding: 12px;
    border-radius: 13px;
    border: 1px solid rgba(23, 59, 58, 0.08);
}

.eqb-agenda-hour strong,
.eqb-agenda-hour small,
.eqb-agenda-hour span {
    display: block;
}

.eqb-agenda-hour strong {
    color: var(--eqb-green);
    font-size: 13px;
}

.eqb-agenda-hour small {
    margin-top: 5px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.eqb-agenda-hour span {
    margin-top: 4px;
    color: var(--eqb-soft);
    font-size: 10px;
    line-height: 1.3;
}

.eqb-agenda-hour.is-available {
    background: #F3FAF7;
}

.eqb-agenda-hour.is-available small {
    color: #176448;
}

.eqb-agenda-hour.is-occupied {
    background: #FFF1F1;
    border-color: rgba(162, 58, 58, 0.14);
}

.eqb-agenda-hour.is-occupied small {
    color: #A23A3A;
}

.eqb-agenda-closed {
    padding: 35px 18px;
    text-align: center;
    border-radius: 14px;
    background: var(--eqb-cream);
}

.eqb-agenda-closed .dashicons {
    width: 42px;
    height: 42px;
    font-size: 38px;
    color: var(--eqb-gold);
}

.eqb-agenda-closed h3 {
    margin: 10px 0 0;
    color: var(--eqb-green);
    font-size: 15px;
}


@media (max-width: 1250px) {
    .eqb-workflow-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .eqb-agenda-hours-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


@media (max-width: 850px) {
    .eqb-dashboard-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .eqb-miami-clock-card {
        min-width: 0;
    }

    .eqb-workflow-grid {
        grid-template-columns: 1fr 1fr;
    }

    .eqb-mini-calendar {
        grid-template-columns: repeat(7, minmax(64px, 1fr));
        overflow-x: auto;
        padding-bottom: 5px;
    }

    .eqb-agenda-hours-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 560px) {
    .eqb-workflow-grid {
        grid-template-columns: 1fr;
    }

    .eqb-agenda-selected-date {
        align-items: flex-start;
        flex-direction: column;
    }

    .eqb-agenda-hours-grid {
        grid-template-columns: 1fr 1fr;
    }
}


/* ==========================================================
   CITAS: FILTROS, HISTORIAL E IMPRESIÓN V1.12
========================================================== */

.eqb-appointments-heading-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.eqb-print-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eqb-print-button:hover {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
    border-color: var(--eqb-gold);
}

.eqb-appointment-mode-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.eqb-appointment-mode-tabs a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border-radius: 13px;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    color: var(--eqb-green);
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
}

.eqb-appointment-mode-tabs a.is-active {
    background: var(--eqb-green);
    color: #FFFFFF;
}

.eqb-appointment-mode-tabs .dashicons {
    color: var(--eqb-gold);
}

.eqb-appointment-filter-card {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 16px;
    margin-bottom: 16px;
    border-radius: 17px;
    background: var(--eqb-white);
    border: 1px solid rgba(23, 59, 58, 0.08);
    box-shadow: 0 9px 24px rgba(23, 59, 58, 0.05);
}

.eqb-quick-date-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.eqb-quick-date-filters a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 50px;
    background: var(--eqb-cream);
    color: var(--eqb-green);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.eqb-quick-date-filters a.is-active {
    background: var(--eqb-gold);
    color: var(--eqb-green-dark);
}

.eqb-custom-date-filter {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.eqb-custom-date-filter > div {
    display: grid;
    gap: 5px;
}

.eqb-custom-date-filter label {
    color: var(--eqb-soft);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.eqb-custom-date-filter input[type="date"] {
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(23, 59, 58, 0.14);
    border-radius: 9px;
    background: #FFFFFF;
    color: var(--eqb-green);
    font-size: 11px;
}

.eqb-filter-apply-button {
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 50px;
    background: var(--eqb-green);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}


/* TABLA IMPRIMIBLE: OCULTA EN PANTALLA NORMAL */

.eqb-print-agenda {
    display: none;
}

.eqb-print-only-header {
    text-align: center;
    margin-bottom: 20px;
}

.eqb-print-only-header h1 {
    margin: 0;
    font-size: 20px;
}

.eqb-print-only-header h2 {
    margin: 6px 0;
    font-size: 16px;
}

.eqb-print-only-header p {
    margin: 0;
    font-size: 11px;
}

.eqb-print-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.eqb-print-table th,
.eqb-print-table td {
    padding: 7px 8px;
    border: 1px solid #CFCFCF;
    text-align: left;
    vertical-align: top;
}

.eqb-print-table th {
    background: #EFEFEF;
    font-weight: 800;
}


/* IMPRESIÓN */

@media print {

    @page {
        size: auto;
        margin: 12mm;
    }

    body {
        background: #FFFFFF !important;
    }

    body * {
        visibility: hidden !important;
    }

    .eqb-print-agenda,
    .eqb-print-agenda * {
        visibility: visible !important;
    }

    .eqb-print-agenda {
        display: block !important;
        position: absolute;
        inset: 0;
        width: 100%;
        background: #FFFFFF;
        color: #000000;
    }

    .eqb-no-print,
    .eqb-private-sidebar,
    .eqb-private-panel-header,
    .eqb-private-page-heading,
    .eqb-appointment-mode-tabs,
    .eqb-appointment-filter-card,
    .eqb-private-filter-row {
        display: none !important;
    }
}


@media (max-width: 1050px) {
    .eqb-appointment-filter-card {
        align-items: stretch;
        flex-direction: column;
    }

    .eqb-custom-date-filter {
        flex-wrap: wrap;
    }
}


@media (max-width: 650px) {
    .eqb-appointments-heading-actions {
        width: 100%;
    }

    .eqb-print-button {
        width: 100%;
    }

    .eqb-appointment-mode-tabs a {
        flex: 1;
    }

    .eqb-custom-date-filter {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .eqb-filter-apply-button {
        grid-column: 1 / -1;
    }
}


/* ==========================================================
   TELEGRAM SETTINGS V1.13
========================================================== */

.eqb-telegram-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.5fr);
    gap: 20px;
    align-items: start;
    margin-top: 20px;
}

.eqb-telegram-card,
.eqb-telegram-test-card {
    background: #FFFFFF;
    border: 1px solid rgba(23, 59, 58, 0.08);
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 12px 30px rgba(23, 59, 58, 0.06);
}

.eqb-telegram-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(23, 59, 58, 0.08);
}

.eqb-telegram-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #E7F4FA;
    color: #2381B8;
    font-size: 21px;
}

.eqb-telegram-card-heading h2,
.eqb-telegram-test-card h2 {
    margin: 0 0 5px;
    color: #173B3A;
}

.eqb-telegram-card-heading p,
.eqb-telegram-test-card p {
    margin: 0;
    color: #647574;
    font-size: 12px;
    line-height: 1.55;
}

.eqb-telegram-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px;
    margin-bottom: 16px;
    border-radius: 12px;
    background: #F8F5EE;
    color: #173B3A;
    font-weight: 700;
}

.eqb-telegram-field {
    display: grid;
    gap: 6px;
    margin-bottom: 15px;
}

.eqb-telegram-field label {
    color: #173B3A;
    font-size: 12px;
    font-weight: 800;
}

.eqb-telegram-field input {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid rgba(23, 59, 58, 0.16);
    border-radius: 10px;
}

.eqb-telegram-field small {
    color: #647574;
    font-size: 10px;
}

.eqb-telegram-options {
    display: grid;
    gap: 8px;
    padding: 14px;
    margin: 18px 0;
    border-radius: 12px;
    background: #F7F8F7;
}

.eqb-telegram-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #263333;
    font-size: 12px;
}

.eqb-telegram-test-card {
    position: sticky;
    top: 48px;
}

.eqb-telegram-test-button {
    width: 100%;
    min-height: 44px;
    margin-top: 14px;
    border: 0;
    border-radius: 50px;
    background: #2381B8;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 900px) {
    .eqb-telegram-layout {
        grid-template-columns: 1fr;
    }

    .eqb-telegram-test-card {
        position: static;
    }
}


/* Telegram diagnostics v1.13.1 */
.eqb-telegram-test-steps {
    display: grid;
    gap: 8px;
    margin: 14px 0 2px;
}

.eqb-telegram-test-steps span {
    display: block;
    padding: 10px 11px;
    border-radius: 9px;
    background: #F7F8F7;
    color: #173B3A;
    font-size: 11px;
    font-weight: 700;
}
