@charset "UTF-8";

/*__________________________________________________________________;
[Colors]
Project:	Mintos
___________________________________________________________________*/

/* Un tono más claro */

/* Un tono aún más claro */

/* Un tono aún más más claro */

/* Un tono aún más más más claro */

/* Un tono aún más más más más claro */

/* Un tono más claro */

/* Un tono aún más claro */

/* Un tono más oscuro */

/* Un tono aún más oscuro */

/* Un tono muy oscuro */

body {
    font-size: 0.8rem !important;
}

@media (max-width: 1199px) {
    .item-selector-empresa {
        width: 500px;
    }
}

@media (max-width: 414px) {
    .item-selector-empresa {
        width: 500px;
    }
}

.table-sm td {
    font-size: inherit;
}

.ergosoft-invalid-label {
    color: #f95851;
}

.ergosoft-valid-label {
    color: #22af47;
}

.ergosoft-valid-field {
    border-color: #22af47;
}

.ergosoft-invalid-field {
    border-color: #f95851;
}

.feather-icon-to-fa {
    font-size: 100% !important;
}

body {
    height: -moz-fit-content;
    height: fit-content;
}

.chatapp-wrap .chatapp-right .chat-body .media.sent .media-body {
    margin-right: 20px;
}

.btn {
    /* text-transform: lowercase;*/
}

.badge-soft-nuevo {
    background: #fff8eb;
    color: #ffbf36;
}

.badge-soft-abierto {
    background: #eff9f2;
    color: #22af47;
}

.badge-soft-cerrado {
    background: #f5f5f5;
    color: #9e9e9e;
}

.ergosoft-text-8rem {
    font-size: 0.8rem;
}

.border-circle {
    border-radius: 50%;
}

.hk-wrapper .hk-navbar {
    box-shadow: 0 0 28px rgba(0, 0, 0, 0.6);
}

.badge {
    background-color: #d1dade;
    color: #5e5e5e;
}

.badge .badge {
    font-weight: 600;
    padding-bottom: 4px;
    padding-left: 6px;
    padding-right: 6px;
    text-shadow: none;
    white-space: nowrap;
}

.badge .label-primary,
.badge .badge-primary {
    background-color: #1ab394;
    color: #ffffff;
}

.badge .label-success,
.badge .badge-success {
    background-color: #1c84c6;
    color: #ffffff;
}

.badge .label-warning,
.badge .badge-warning {
    background-color: #f8ac59;
    color: #ffffff;
}

.badge .label-warning-light,
.badge .badge-warning-light {
    background-color: #f8ac59;
    color: #ffffff;
}

.badge .label-danger,
.badge .badge-danger {
    background-color: #ed5565;
    color: #ffffff;
}

.badge .label-info,
.badge .badge-info {
    background-color: #23c6c8;
    color: #ffffff;
}

.badge .label-inverse,
.badge .badge-inverse {
    background-color: #262626;
    color: #ffffff;
}

.badge .label-white,
.badge .badge-white {
    background-color: #ffffff;
    color: #5e5e5e;
}

.badge .label-white,
.badge .badge-disable {
    background-color: #2a2e36;
    color: #8b91a0;
}

/** INI CAROUSEL **/

.carousel-control-next-icon,
.carousel-control-prev-icon {
    height: 30px;
    width: 30px;
}

.carousel-inner {
    padding: 20px 30px;
    margin-left: 60px;
    margin-right: 60px;
}

/** FIN CAROUSEL **/

.alert-muted {
    color: #99a0a3;
    background: #55595d;
    border-color: #55595d;
}

@charset "UTF-8";

.hk-breadcrumb .breadcrumb.breadcrumb-light .breadcrumb-item > a:hover,
.hk-breadcrumb .breadcrumb.breadcrumb-light .breadcrumb-item > a:focus {
    color: #e9e9e9;
}

.hk-breadcrumb .breadcrumb.breadcrumb-light .breadcrumb-item.active {
    color: #e9e9e9;
}

.hk-breadcrumb .breadcrumb.breadcrumb-light .breadcrumb-item > a {
    color: #e9e9e9;
}

.hk-pg-wrapper,
.hk-pg-wrapper.hk-auth-wrapper {
    background: #1e272e;
}

.box-dark,
.hk-sec-wrapper {
    background-color: #374149;
    border: 1px solid #374149;
    box-shadow: 0 0px 18px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    color: #e9e9e9;
}

.section-wrapper,
.big-boton-focus,
.big-boton {
    box-shadow: 0 0px 18px rgba(0, 0, 0, 0.1);
    margin-bottom: 14px;
    height: 100%;
    padding: 0.5rem;
    border-radius: 5px;
    color: #e9e9e9;
}

.container {
    margin-top: 1rem;
}

.section-wrapper {
    background-color: #374149;
    border-color: #374149;
}

.big-boton-focus {
    background: linear-gradient(180deg, #3d4a52 0%, #344049 100%);
    border: 1px solid #5f737d;
    box-shadow: 0 0 0 1px rgba(27, 188, 231, 0.12),
        0 8px 18px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    padding-right: 2.4rem;
    position: relative;
}

.big-boton-focus::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(233, 233, 233, 0.7);
    border-top: 2px solid rgba(233, 233, 233, 0.7);
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s ease;
}

.big-boton-focus:hover {
    background: linear-gradient(180deg, #465761 0%, #3a4851 100%);
    border-color: #1bbce7;
    transform: translateY(-2px);
    box-shadow: 0 0 0 1px rgba(27, 188, 231, 0.35),
        0 10px 22px rgba(0, 0, 0, 0.26);
}

.big-boton-focus:hover::after {
    right: 0.85rem;
    border-color: #1bbce7;
}

.big-boton-focus:focus,
.big-boton-focus:focus-visible {
    border-color: #1bbce7;
    box-shadow: 0 0 0 3px rgba(27, 188, 231, 0.22),
        0 10px 22px rgba(0, 0, 0, 0.26);
    outline: none;
}

.big-boton {
    background-color: #374149;
    border-color: #374149;
}

.big-boton:hover {
    background-color: #3b4853;
    border-color: #316e74;
}

/* Estilo general del contenedor de desplazamiento */

.scroll-container {
    background-color: #374149;
    border-color: #374149;
    color: #e9e9e9;
    overflow-y: auto;
    padding: 1rem;
    margin-bottom: 1rem;
    max-height: 250px;
    /* Ajusta este valor según necesites */
    border-radius: 8px;
}

/* Personaliza las barras de desplazamiento para un aspecto minimalista */

.scroll-container::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.scroll-container::-webkit-scrollbar-thumb {
    background-color: #41b6c2;
    border-radius: 4px;
}

.scroll-container::-webkit-scrollbar-track {
    background-color: #2c3e50;
    border-radius: 4px;
}

.mode-dark h1,
.mode-dark h2,
.mode-dark h3,
.mode-dark h4,
.mode-dark h5,
.mode-dark h6,
.mode-dark .h1,
.mode-dark .h2,
.mode-dark .h3,
.mode-dark .h4,
.mode-dark .h5,
.mode-dark .h6 {
    color: #e9e9e9;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
}

.mode-dark.hk-wrapper.hk-vertical-nav .hk-nav.hk-nav-dark .nav-separator {
    border-color: rgba(193, 193, 193, 0.2705882353);
}

.mode-dark select {
    background-color: #1e272e;
    color: #e9e9e9;
}

.mode-dark input[type="text"],
.mode-dark input[type="password"],
.mode-dark input[type="number"],
.mode-dark textarea {
    background-color: #263038;
    border: 1px solid;
    color: #e9e9e9;
    border-color: #858589;
    border-radius: 5px;
    padding: 0.5rem;
}

.mode-dark .form-group {
    color: #e9e9e9;
}

.mode-dark .form-control {
    border-color: #858589;
}

.mode-dark label {
    color: #e9e9e9;
}

.mode-dark .accordion .card {
    background-color: #374149;
    color: #e9e9e9;
}

.mode-dark .accordion .card .card-header > a.collapsed {
    color: #e9e9e9;
    background: transparent;
}

.mode-dark .table {
    color: #e9e9e9;
}

.mode-dark .table th {
    color: #e9e9e9;
}

.mode-dark .table th:hover {
    background-color: #3d4f5d;
}

.mode-dark .table.table-bordered th,
.mode-dark .table.table-bordered td {
    border: 1px solid #616b72;
}

.mode-dark .table tr:hover,
.mode-dark .table > tbody > tr:hover {
    background-color: #3d4f5d;
}

.mode-dark .table > tbody td {
    border-top: 1px solid rgba(193, 193, 193, 0.2705882353);
}

.mode-dark .table td {
    border-top: 1px solid #374149;
}

.mode-dark .list-group-item {
    background-color: #374149;
    border: 1px solid rgb(103, 109, 114);
}

.mode-dark .btn-primary,
.mode-dark .btn-neon {
    color: #e9e9e9;
    background-color: #316e74;
    border-color: #316e74;
}

.mode-dark .btn-primary:hover,
.mode-dark .btn-primary:focus,
.mode-dark .btn-neon:hover,
.mode-dark .btn-neon:focus {
    color: #e9e9e9;
    background-color: #255b60;
    border-color: #255b60;
}

.mode-dark .btn-primary:not(:disabled):not(.disabled).active,
.mode-dark .btn-primary:not(:disabled):not(.disabled):active,
.mode-dark .btn-neon:not(:disabled):not(.disabled).active,
.mode-dark .btn-neon:not(:disabled):not(.disabled):active {
    color: #e9e9e9;
    background-color: #316e74;
    border-color: #316e74;
}

.mode-dark .btn-primary.disabled,
.mode-dark .btn-primary:disabled,
.mode-dark .btn-neon.disabled,
.mode-dark .btn-neon:disabled {
    color: #e9e9e9;
    background-color: #5ebacd;
    border-color: #5ebacd;
}

.mode-dark .btn-outline-primary,
.mode-dark .btn-outline-neon {
    color: #e9e9e9;
    background-color: transparent;
    background-image: none;
    border-color: #316e74;
}

.mode-dark .btn-outline-primary:hover,
.mode-dark .btn-outline-primary:focus,
.mode-dark .btn-outline-neon:hover,
.mode-dark .btn-outline-neon:focus {
    color: #e9e9e9;
    background-color: #255b60;
    border-color: #255b60;
}

.mode-dark .btn-outline-primary:not(:disabled):not(.disabled).active,
.mode-dark .btn-outline-primary:not(:disabled):not(.disabled):active,
.mode-dark .btn-outline-neon:not(:disabled):not(.disabled).active,
.mode-dark .btn-outline-neon:not(:disabled):not(.disabled):active {
    color: #e9e9e9;
    background-color: #316e74;
    border-color: #316e74;
}

.mode-dark .btn-outline-primary.disabled,
.mode-dark .btn-outline-primary:disabled,
.mode-dark .btn-outline-neon.disabled,
.mode-dark .btn-outline-neon:disabled {
    color: #e9e9e9;
    background-color: #5ebacd;
    border-color: #5ebacd;
}

.mode-dark .btn {
    color: #e9e9e9;
}

.mode-dark .btn-secondary:hover,
.mode-dark .btn-secondary:focus,
.mode-dark .btn-grey:hover,
.mode-dark .btn-grey:focus {
    background-color: #303a42;
}

.mode-dark .btn-secondary,
.mode-dark .btn-grey {
    border: 1px solid #565d63;
    background-color: #3f4e59;
}

.mode-dark .btn-dark {
    background-color: #1e272e;
    border-color: #192124;
}

.mode-dark .hk-nav-dark {
    background: #374149 !important;
    border-right: 1px solid #565d63 !important;
}

.mode-dark .input-group-text {
    background: transparent;
    border: 1px solid #565d63;
    color: #e9e9e9;
}

.mode-dark .input-group-text-sm {
    padding: 0rem 0.75rem;
}

.mode-dark .nav.nav-tabs .nav-link {
    color: #e9e9e9;
}

.mode-dark .nav.nav-tabs .nav-link.active,
.mode-dark .nav.nav-tabs .nav-link:hover {
    color: #41b6c2;
}

.mode-dark .nav.nav-tabs .nav-link.active,
.mode-dark .nav.nav-tabs .nav-link:hover {
    color: #41b6c2;
}

.mode-dark .list-group {
    background-color: #374149;
    border: 1px solid #565d63;
    border-radius: 8px;
    overflow: hidden;
}

.mode-dark .list-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0.9rem;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(233, 233, 233, 0.75);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
    border-bottom: 1px solid rgba(86, 93, 99, 0.6);
}

.mode-dark .list-group-item {
    background-color: #374149;
    border: 0;
    color: #e9e9e9;
    padding: 0.75rem 0.9rem;
    position: relative;
}

.mode-dark .list-group-item + .list-group-item {
    border-top: 1px solid rgba(86, 93, 99, 0.5);
}

.mode-dark .list-group-item .lg-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.mode-dark .list-group-item .lg-title {
    font-weight: 600;
    font-size: 0.92rem;
}

.mode-dark .list-group-item .lg-meta {
    font-size: 0.75rem;
    opacity: 0.7;
}

.mode-dark .list-group-item .lg-badge {
    margin-left: auto;
    font-size: 0.72rem;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    color: #0c2023;
    background: rgba(65, 182, 194, 0.35);
    border: 1px solid rgba(65, 182, 194, 0.55);
}

.mode-dark .list-group-item:hover,
.mode-dark .list-group-item:focus {
    background-color: #3d4f5d !important;
}

.mode-dark .list-group-item.active,
.mode-dark .list-group-item.active:hover,
.mode-dark .list-group-item.active:focus {
    background-color: #316e74 !important;
    color: #e9e9e9 !important;
}

.mode-dark .list-group-item.active .lg-badge,
.mode-dark .list-group-item.active:hover .lg-badge,
.mode-dark .list-group-item.active:focus .lg-badge {
    background: #41b6c2 !important;
    border-color: #41b6c2 !important;
    color: #0c2023 !important;
    font-weight: 600 !important;
}

.mode-dark .list-group-item.active,
.mode-dark .list-group-item.active:hover,
.mode-dark .list-group-item.active:focus {
    /* acento lateral izquierdo */
}

.mode-dark .list-group-item.active::before,
.mode-dark .list-group-item.active:hover::before,
.mode-dark .list-group-item.active:focus::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #41b6c2;
    box-shadow: 0 0 12px rgba(65, 182, 194, 0.5);
}

.mode-dark .list-group-item.disabled,
.mode-dark .list-group-item:disabled {
    background-color: #2c3e50;
    color: #9aa3a9;
}

.mode-dark .list-group-flush .list-group-item + .list-group-item {
    border-top: 1px solid rgba(86, 93, 99, 0.5);
}

.mode-dark .list-group-item-action {
    cursor: pointer;
}

.mode-dark .list-group-compact .list-group-item {
    padding: 0.55rem 0.75rem;
}

.mode-dark .list-group-compact .lg-title {
    font-size: 0.88rem;
}

/* Estilo del modal */

.modal .modal-content {
    background-color: #1e272e;
    border: 1px solid #374149;
    border-radius: 5px;
    color: #e9e9e9;
}

.modal .table td,
.modal .table th {
    border-top: 1px solid #374149;
}

.modal .modal-header {
    border-bottom: 1px solid #374149;
}

.modal .modal-title {
    color: #e9e9e9;
}

.modal .close {
    color: #e9e9e9;
}

.modal .modal-body {
    color: #e9e9e9;
}

.modal .modal-footer {
    border-top: 1px solid #374149;
}

.modal .btn-outline-secondary {
    color: #e9e9e9;
    border: 1px solid #374149;
}

.modal .btn-outline-secondary:hover {
    background-color: #1e272e;
    border-color: #374149;
}

/* Ajustes para la visualización responsiva */

@media (max-width: 768px) {
    .scroll-container {
        max-height: 200px;
        /* Ajusta según necesites para pantallas pequeñas */
    }
}

.flash-success {
    animation: flash-success 1s;
}

@keyframes flash-success {
    0% {
        background-color: #28a745;
        /* Verde */
    }

    100% {
        background-color: #374149;
        /* Color original */
    }
}

.message {
    display: none;
    color: #28a745;
    /* Verde */
    margin-top: 10px;
}

.message.show {
    display: block;
}

/** INI CARD **/

.card {
    background-color: #374149;
    /* Fondo oscuro */
    color: #e9e9e9;
    /* Texto claro */
    border: 1px solid #374149;
    /* Bordes del mismo color */
    box-shadow: 0 0px 18px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    /* Redondeado consistente */
}

.card .card-header {
    color: #e9e9e9;
    /* Texto claro */
    border-bottom: 1px solid #565d63;
    /* Separador */
}

.card .card-body {
    background-color: #374149;
    /* Fondo del cuerpo */
    color: #e9e9e9;
    /* Texto claro */
}

.card .card-footer {
    background-color: #374149;
    /* Fondo oscuro */
    color: #e9e9e9;
    /* Texto claro */
    border-top: 1px solid #565d63;
    /* Separador */
}

.card .card-text {
    color: #e9e9e9;
    /* Texto claro */
}

/** FIN CARD **/

/** INI ACCORDION **/

.accordion .card {
    background-color: #374149;
    /* Fondo oscuro */
    color: #e9e9e9;
    /* Texto claro */
    border: 1px solid #565d63;
    /* Bordes oscuros */
}

.accordion .card .card-header > a {
    color: #e9e9e9;
    /* Texto claro */
    padding: 0.75rem 1.25rem;
    border-radius: 5px;
    /* Redondeado */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.accordion .card .card-header > a.collapsed {
    background-color: transparent;
    /* Fondo transparente cuando está colapsado */
    color: #e9e9e9;
    /* Texto claro */
}

.accordion .card .card-header > a:hover {
    color: #e9e9e9;
}

.accordion .card .card-body {
    background-color: #374149;
    /* Fondo del cuerpo */
    color: #e9e9e9;
    /* Texto claro */
    padding: 1rem;
    /* Espaciado interno */
}

.accordion.accordion-type-2 .card .card-header > a.collapsed {
    color: #e9e9e9;
}

/** FIN ACCORDION **/

/** OPTIONS LINDOS **/

.option-row {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(216, 216, 225, 0.41);
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.option-row:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

.option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-box {
    width: 20px;
    height: 20px;
    border: 2px solid #9ca3af;
    border-radius: 6px;
    display: inline-block;
    position: relative;
    flex: none;
    transition: border-color 0.15s, background 0.15s;
}

.option-input:checked + .custom-box {
    background: #2563eb;
    border-color: #2563eb;
}

.option-input:checked + .custom-box::after {
    content: "";
    position: absolute;
    inset: 4px;
    background: #fff;
    border-radius: 4px;
}

.option-text {
    color: #e9e9e9;
}

.paid-feature-disabled,
.paid-feature-disabled:hover,
.paid-feature-disabled:focus {
    background-color: #7155a852 !important;
    border-color: #6f42c1 !important;
    color: #fff !important;
    cursor: not-allowed !important;
    text-decoration: none;
}

/* Billing */
.billing-page {
    --billing-accent: #1bbce7;
    --billing-accent-rgb: 27, 188, 231;
    --billing-purple: #7155a8;
    --billing-surface: #374149;
    --billing-surface-raised: #3d4952;
    --billing-border: rgba(255, 255, 255, 0.12);
    --billing-text: #e9e9e9;
    --billing-muted: #b8c0c5;
}

.billing-hero,
.billing-current,
.billing-section {
    border: 1px solid var(--billing-border);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
}

.billing-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 28px;
    background: linear-gradient(120deg, #303b43 0%, #374149 55%, #344750 100%);
}

.billing-hero-copy {
    max-width: 600px;
}

.billing-hero-copy p,
.billing-current p {
    color: var(--billing-muted);
}

.billing-eyebrow,
.billing-label,
.billing-addon-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--billing-accent);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.billing-provider-selector {
    flex: 0 0 auto;
    min-width: 330px;
    margin: 0;
    padding: 0;
    border: 0;
}

.billing-provider-selector legend {
    width: auto;
    margin-bottom: 7px;
    color: var(--billing-text);
    font-size: 0.78rem;
    font-weight: 600;
}

.billing-provider-options {
    display: flex;
    padding: 4px;
    border: 1px solid var(--billing-border);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.18);
}

.billing-provider-option {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: var(--billing-muted);
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.billing-provider-option:hover {
    color: var(--billing-text);
}

.billing-provider-option.is-selected {
    border-color: rgba(var(--billing-accent-rgb), 0.55);
    background: rgba(var(--billing-accent-rgb), 0.14);
    box-shadow: 0 0 0 1px rgba(var(--billing-accent-rgb), 0.08);
    color: #fff;
}

.billing-provider-option input {
    position: absolute;
    opacity: 0;
}

.billing-provider-option:focus-within {
    box-shadow: 0 0 0 3px rgba(var(--billing-accent-rgb), 0.22);
}

.billing-provider-option i {
    color: var(--billing-accent);
    font-size: 1.1rem;
}

.billing-provider-selector > small {
    display: block;
    margin-top: 7px;
    color: var(--billing-muted);
    font-size: 0.68rem;
    text-align: right;
}

.billing-current {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    background: var(--billing-surface);
}

.billing-current-icon,
.billing-section-icon,
.billing-plan-icon,
.billing-addon-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.billing-current-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(var(--billing-accent-rgb), 0.13);
    color: var(--billing-accent);
    font-size: 1.25rem;
}

.billing-current-content {
    flex: 1 1 auto;
}

.billing-current-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.billing-status {
    padding: 3px 8px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.09);
    color: var(--billing-muted);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.billing-status-active {
    background: rgba(40, 167, 69, 0.16);
    color: #61d27a;
}

.billing-current-usage {
    min-width: 150px;
    padding-left: 24px;
    border-left: 1px solid var(--billing-border);
    text-align: right;
}

.billing-current-usage span,
.billing-current-usage small {
    display: block;
    color: var(--billing-muted);
    font-size: 0.72rem;
    font-weight: 500;
}

.billing-current-usage strong {
    color: var(--billing-text);
    font-size: 1.5rem;
}

.billing-section {
    padding: 26px 26px 6px;
    background: var(--billing-surface);
}

.billing-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.billing-section-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(var(--billing-accent-rgb), 0.12);
    color: var(--billing-accent);
}

.billing-section-icon.is-addon {
    background: rgba(113, 85, 168, 0.18);
    color: #b39ddb;
}

.billing-plan-card,
.billing-addon-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 24px;
    border: 1px solid var(--billing-border);
    border-radius: 13px;
    background: linear-gradient(180deg, var(--billing-surface-raised) 0%, #354048 100%);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.billing-plan-card:hover,
.billing-addon-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--billing-accent-rgb), 0.45);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.2);
}

.billing-plan-card.is-recommended {
    border: 2px solid var(--billing-accent);
    background: linear-gradient(180deg, rgba(var(--billing-accent-rgb), 0.12) 0%, #3b4750 22%, #354048 100%);
    box-shadow: 0 10px 30px rgba(var(--billing-accent-rgb), 0.15);
}

.billing-recommended-badge {
    margin: -24px -24px 22px;
    padding: 8px 15px;
    background: var(--billing-accent);
    color: #172126;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

.billing-plan-header,
.billing-addon-header {
    display: flex;
    align-items: center;
    gap: 13px;
}

.billing-plan-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(var(--billing-accent-rgb), 0.12);
    color: var(--billing-accent);
}

.billing-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 24px 0 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--billing-border);
}

.billing-price > span {
    color: var(--billing-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.billing-price strong {
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
}

.billing-price small {
    color: var(--billing-muted);
}

.billing-feature-title {
    margin-bottom: 12px;
    color: var(--billing-text);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.billing-feature-list {
    flex: 1 1 auto;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.billing-feature-list li {
    display: flex;
    gap: 9px;
    margin-bottom: 11px;
    color: var(--billing-text);
    font-size: 0.82rem;
}

.billing-feature-list li > i {
    margin-top: 3px;
    color: #61d27a;
}

.billing-feature-list li small {
    display: block;
    color: var(--billing-muted);
    font-size: 0.68rem;
}

.billing-feature-list li.is-disabled {
    color: #89939a;
}

.billing-feature-list li.is-disabled > i {
    color: #737d84;
}

.billing-plan-action {
    min-height: 43px;
    margin-top: auto;
}

.billing-addons-section {
    border-top-color: rgba(113, 85, 168, 0.55);
}

.billing-addon-card {
    padding-top: 27px;
}

.billing-addon-topline {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--billing-purple), var(--billing-accent));
}

.billing-addon-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(113, 85, 168, 0.18);
    color: #b39ddb;
}

.billing-addon-kicker {
    margin-bottom: 2px;
    color: #b39ddb;
    font-size: 0.62rem;
}

.billing-addon-description {
    min-height: 42px;
    margin: 18px 0;
}

.billing-addon-price {
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid var(--billing-border);
    border-radius: 9px;
    background: rgba(0, 0, 0, 0.1);
}

.billing-addon-price strong,
.billing-addon-price span {
    display: block;
}

.billing-addon-price strong {
    color: #fff;
    font-size: 1.1rem;
}

.billing-addon-price span,
.billing-quantity-row small {
    color: var(--billing-muted);
    font-size: 0.68rem;
}

.billing-addon-controls {
    flex: 1 1 auto;
    margin-bottom: 18px;
}

.billing-addon-controls label {
    color: var(--billing-text);
    font-size: 0.74rem;
    font-weight: 600;
}

.billing-quantity-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.billing-quantity-row .form-control {
    flex: 0 0 82px;
}

@media (max-width: 991px) {
    .billing-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .billing-provider-selector {
        min-width: 0;
    }
}

@media (max-width: 575px) {
    .billing-hero,
    .billing-section {
        padding: 20px;
    }

    .billing-current {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 18px;
    }

    .billing-current-usage {
        width: 100%;
        padding: 14px 0 0;
        border-top: 1px solid var(--billing-border);
        border-left: 0;
        text-align: left;
    }

    .billing-current-usage span,
    .billing-current-usage small {
        display: inline;
    }

    .billing-provider-options {
        flex-direction: column;
    }

    .billing-provider-selector > small {
        text-align: left;
    }

    .billing-section-heading {
        align-items: flex-start;
    }

    .billing-section-icon {
        display: none;
    }
}
