@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('./datatable.css');

:root {
    --bs-body-bg: #0c173a;
    --bs-body-color: #edf2ff;
    --bs-border-color: #3d3f65;
    --bs-body-font-family: 'Inter', sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.5;
    --bs-body-font-weight: 400;
    --bs-border-radius: 8px;
    --swal2-confirm-button-border-radius: var(--bs-border-radius) !important;
    --swal2-deny-button-border-radius: var(--bs-border-radius) !important;
    --swal2-cancel-button-border-radius: var(--bs-border-radius) !important;
    --swal2-confirm-button-background-color: var(--primary-dark) !important;
    --swal2-cancel-button-background-color: var(--bs-border-color) !important;
    --bs-tertiary-bg: var(--bs-body-bg);
    --primary: #7c5cff;
    --primary-rgb: 124, 92, 255;
    --bs-primary-rgb: 124, 92, 255;
    --primary-dark: #5d3bff;
    --secondary: #52d7ff;
    --white: #ffffff;
    --black: #000000;
    --bs-danger: #bf2929;
    --bs-danger-rgb: 191, 41, 41;
    --bs-success: #2c654b;
    --bs-success-rgb: 44, 101, 75;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 4.5rem;
}

body {
    background:
        radial-gradient(circle at top left, rgba(124, 92, 255, 0.24), transparent 24%),
        radial-gradient(circle at 100% 0%, rgba(82, 215, 255, 0.18), transparent 22%),
        linear-gradient(180deg, #0b172c 0%, #071627 60%, #040810 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

.btn-close,
input::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.form-select {
    background-blend-mode: lighten;
}

.min-h-100vh {
    min-height: 100vh;
}

.h-100vh {
    height: 100vh;
}

.ls-1 {
    letter-spacing: 0.1em;
}

.text-primary-dark {
    color: var(--primary-dark) !important;
}

.text-secondary {
    color: var(--secondary) !important;
}

.text-muted {
    color: rgba(237, 242, 255, 0.6) !important;
}

.bg-primary-dark {
    background-color: var(--primary-dark) !important;
}

/* Scrollbar */
@-moz-document url-prefix() {
    * {
        scrollbar-width: thin;
        scrollbar-color: var(--bs-border-color) var(--bs-body-bg);
    }
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    border-radius: 100rem;
    background-color: var(--bs-body-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--bs-border-color);
    border-radius: 100rem;
}
/* Scrollbar */

.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    border: none;
    color: var(--white);
    box-shadow: 0 20px 45px rgba(124, 92, 255, 0.25);
}

.btn-primary:focus,
.btn-primary:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary-dark));
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.07);
    color: var(--white);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: rgba(255, 255, 255, 0.11);
}

.btn-secondary.active {
    background: var(--bs-border-color);
}

.btn-outline-light {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.4);
}

.btn-outline-light:hover,
.btn-outline-light:focus {
    color: var(--white);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.6);
}

.btn-plan-highlight {
    background: transparent;
    border: 1px solid #ff7a18;
    color: #ffb347;
    box-shadow: 0 20px 45px rgba(255, 122, 24, 0.25);
}

.btn-plan-highlight:hover,
.btn-plan-highlight:focus {
    background: #3d2817ae;
    border: 1px solid #ff7a18;
    color: #ffb347;
}

.btn-premium {
    background: linear-gradient(135deg, #ffd966, #ff7a18);
    border: none;
    color: #1f1f1f;
    box-shadow: 0 20px 45px rgba(255, 122, 24, 0.25);
}

.btn-premium:hover,
.btn-premium:focus {
    background: linear-gradient(135deg, #ffb347, #ff7a18);
    color: #1f1f1f;
}

.alert {
    border: none;
    border-radius: 10px;
    padding: 12px 30px;
    line-height: 1.3;
    --bs-alert-color: var(--white);
}

.alert-success {
    --bs-alert-bg: var(--bs-success);
}

.alert-danger {
    --bs-alert-bg: var(--bs-danger);
}

.site-header {
    background: rgba(5, 11, 27, 0.52);
    backdrop-filter: blur(14px);
}

.hero-title {
    font-size: clamp(2.7rem, 2.5vw, 4rem);
}

.hero-copy {
    max-width: 720px;
}

.section-title {
    font-size: clamp(2rem, 2vw, 2.8rem);
}

.section-title p {
    max-width: 650px;
}

.card-modern {
    border-radius: 30px;
    box-shadow: 0 35px 70px rgba(4, 6, 25, 0.35);
    background: rgba(8, 18, 38, 0.96);
    transition: 0.2s all ease-in-out;
}

a.card-modern:hover {
    background: var(--bs-body-bg);
}

.pricing-section .card-modern.popular-plan {
    scale: 1.1;
}

.plan-card__header {
    background: linear-gradient(180deg, rgba(80, 44, 223, 0.4), rgba(93, 138, 250, 0.4));
}

.plan-badge {
    background: #e47c30;
    color: #011b3c;
    font-weight: 700;
    position: absolute;
    top: 20px;
    left: -28px;
    transform: rotate(318deg);
    font-size: 12px;
    line-height: 1.5;
    padding: 4px 28px;
    box-shadow: 0 2px 25px rgb(196 95 21 / 80%);
}

.plan-price .amount {
    font-size: 3rem;
    font-weight: 800;
}

.plan-features li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: 0.9rem;
}

.plan-features li:before {
    position: absolute;
    left: 0;
    top: 0.08rem;
    font-weight: 700;
}

.plan-features li.plan-feature--yes:before {
    content: '\2713';
    color: var(--secondary);
}

.plan-features li.plan-feature--no:before {
    content: '\2717';
    color: var(--bs-danger);
}

.check-list li:before {
    content: '\2713';
    color: var(--secondary);
}

.cross-list li:before {
    content: '\2717';
    color: var(--bs-danger);
}

.footer {
    background: rgba(5, 11, 27, 0.96);
    margin-top: auto;
}

.form-check-input {
    background-color: rgba(255, 255, 255, 0.9);
}

.form-check-input,
.form-check-label {
    cursor: pointer;
}

.form-control::placeholder {
    color: var(--bs-border-color)
}

.form-check-input:checked {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
}

.form-control:disabled {
    background-color: var(--bs-body-bg);
    opacity: 0.5;
}

.form-control[type="file"]::file-selector-button,
.form-control[type="file"]:hover::file-selector-button {
    background-color: var(--bs-border-color) !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-background-clip: text;
    -webkit-text-fill-color: var(--white);
    transition: background-color 500000s ease-in-out 0s;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

/* ck editor */
/* .cke_inner,
.cke_top,
.cke_contents,
.cke_bottom,
.cke_inner iframe {
    background: var(--bs-body-bg) !important;
}

a.cke_button_off:hover,
a.cke_button_off:focus,
a.cke_button_off:active,
a.cke_button_on,
.cke_combo_on a.cke_combo_button,
.cke_combo_off a.cke_combo_button:hover,
.cke_combo_off a.cke_combo_button:focus,
.cke_combo_off a.cke_combo_button:active {
    background: rgba(8, 18, 38, 0.96) !important;
    border-color: var(--bs-border-color) !important;
}

.cke_chrome {
    border-color: var(--bs-border-color) !important;
    border-radius: 6px;
    overflow: hidden;
}

.cke_top,
.cke_bottom {
    border-color: var(--bs-border-color) !important;
}

.cke_reset_all,
.cke_reset_all *,
.cke_reset_all a,
.cke_reset_all textarea {
    color: var(--bs-body-color) !important;
}

.cke_button_icon {
    filter: invert(1) brightness(100);
} */
/* ck editor */

/* Sweet Alert */
div:where(.swal2-container) div:where(.swal2-popup) {
    border: var(--bs-border-color) !important;
    border-radius: 30px !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

div:where(.swal2-container) .swal2-input {
    border-radius: var(--bs-border-radius);
}

div:where(.swal2-container) .swal2-input {
    height: auto !important;
    padding: .375rem .75rem !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
/* Sweet Alert */

/* Auth */
.auth-shell {
    padding: 3.5rem 1.25rem;
    background: radial-gradient(circle at top left, rgba(124, 92, 255, 0.16), transparent 18%),
        radial-gradient(circle at bottom right, rgba(82, 215, 255, 0.12), transparent 20%),
        linear-gradient(180deg, #05111f 0%, #081428 60%, #07121e 100%);
}

.auth-card {
    width: 100%;
    max-width: 500px;
    background: rgba(8, 18, 38, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 28px;
    padding: 2.25rem;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.26);
}

/* Auth */

.backend-shell>div {
    min-width: 0;
}

.profile-dropdown .dropdown-toggle::after {
    display: none;
}

.dropdown-item:hover,
.dropdown-item:active {
    background-color: rgba(5, 11, 27, 0.96);
}

.sidebar {
    flex: 0 0 260px;
    min-width: 260px;
    max-width: 260px;
    background: linear-gradient(180deg, rgba(7, 18, 45, 0.98), rgba(2, 6, 18, 0.98));
}

.sidebar .nav-link {
    color: var(--white);
    border-radius: 14px;
    padding: 0.8rem 1rem;
    transition: all 0.25s ease;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    background: rgba(124, 92, 255, 0.16);
    box-shadow: 0 18px 35px rgba(15, 29, 71, 0.16);
}

@media (max-width: 991.98px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1045;
        transform: translateX(-108%);
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.35);
        transition: transform 0.3s ease;
    }

    .sidebar.show-mobile {
        transform: translateX(0);
    }

    #contentOverlay.d-none {
        display: none;
    }

    #contentOverlay.d-block {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 1040;
    }

    .pricing-section .card-modern.popular-plan {
        scale: 1;
    }
}