/* Dynamic Framework Theme Variables */
:root {
    /* Base Colors (Dynamic Framework compatible) */
    --bs-primary-rgb: 50, 194, 255;
    --bs-secondary-rgb: 71, 85, 105;
    --bs-success-rgb: 22, 163, 74;
    --bs-danger-rgb: 220, 38, 38;
    --bs-warning-rgb: 250, 204, 21;
    --bs-info-rgb: 14, 165, 233;
    --bs-light-rgb: 241, 245, 249;
    --bs-dark-rgb: 15, 23, 42;
    --bs-gray-rgb: 71, 85, 105;
    --bs-primary: #32c2ff;
    --bs-secondary: #475569;
    --bs-success: #16a34a;
    --bs-danger: #dc2626;
    --bs-warning: #facc15;
    --bs-info: #0ea5e9;
    --bs-light: #f1f5f9;
    --bs-dark: #0f172a;

    /* Dynamic Framework Color Scales */

    /* primary scales */
    --bs-primary-25-rgb: 244, 249, 251;
    --bs-primary-50-rgb: 235, 245, 250;
    --bs-primary-100-rgb: 212, 237, 247;
    --bs-primary-200-rgb: 163, 221, 245;
    --bs-primary-300-rgb: 110, 206, 247;
    --bs-primary-400-rgb: 51, 194, 255;
    --bs-primary-500-rgb: 0, 179, 255;
    --bs-primary-soft-rgb: 244, 249, 251;
    --bs-primary-600-rgb: 0, 143, 204;
    --bs-primary-700-rgb: 0, 107, 153;
    --bs-primary-800-rgb: 5, 70, 97;
    --bs-primary-900-rgb: 5, 34, 46;
    --bs-surface-primary-rgb: var(--bs-primary-50-rgb);
    --bs-primary-soft-rgb: var(--bs-primary-25-rgb);

    /* surface scales */
    --bs-surface-primary-rgb: 235, 245, 250;
    --bs-surface-secondary-rgb: 241, 242, 244;
    --bs-surface-success-rgb: 236, 248, 241;
    --bs-surface-danger-rgb: 248, 237, 237;
    --bs-surface-warning-rgb: 250, 247, 235;
    --bs-surface-info-rgb: 235, 245, 249;
    --bs-surface-light-rgb: 239, 242, 245;
    --bs-surface-dark-rgb: 239, 241, 246;
    --bs-surface-gray-rgb: 241, 242, 244;

    /* secondary scales */
    --bs-secondary-25-rgb: 247, 247, 248;
    --bs-secondary-50-rgb: 241, 242, 244;
    --bs-secondary-100-rgb: 226, 229, 233;
    --bs-secondary-200-rgb: 196, 203, 212;
    --bs-secondary-300-rgb: 165, 176, 192;
    --bs-secondary-400-rgb: 133, 150, 173;
    --bs-secondary-500-rgb: 103, 123, 152;
    --bs-secondary-soft-rgb: 247, 247, 248;
    --bs-secondary-600-rgb: 82, 99, 122;
    --bs-secondary-700-rgb: 62, 74, 91;
    --bs-secondary-800-rgb: 42, 49, 60;
    --bs-secondary-900-rgb: 22, 25, 29;
    --bs-surface-secondary-rgb: var(--bs-secondary-50-rgb);
    --bs-secondary-soft-rgb: var(--bs-secondary-25-rgb);

    /* success scales */
    --bs-success-25-rgb: 244, 250, 247;
    --bs-success-50-rgb: 236, 248, 241;
    --bs-success-100-rgb: 216, 243, 226;
    --bs-success-200-rgb: 173, 235, 196;
    --bs-success-300-rgb: 126, 231, 165;
    --bs-success-400-rgb: 75, 231, 133;
    --bs-success-500-rgb: 30, 225, 102;
    --bs-success-soft-rgb: 244, 250, 247;
    --bs-success-600-rgb: 24, 180, 82;
    --bs-success-700-rgb: 18, 135, 61;
    --bs-success-800-rgb: 16, 86, 42;
    --bs-success-900-rgb: 10, 41, 21;
    --bs-surface-success-rgb: var(--bs-success-50-rgb);
    --bs-success-soft-rgb: var(--bs-success-25-rgb);

    /* danger scales */
    --bs-danger-25-rgb: 250, 245, 245;
    --bs-danger-50-rgb: 248, 237, 237;
    --bs-danger-100-rgb: 242, 217, 217;
    --bs-danger-200-rgb: 233, 175, 175;
    --bs-danger-300-rgb: 228, 129, 129;
    --bs-danger-400-rgb: 227, 79, 79;
    --bs-danger-500-rgb: 220, 35, 35;
    --bs-danger-soft-rgb: 250, 245, 245;
    --bs-danger-600-rgb: 176, 28, 28;
    --bs-danger-700-rgb: 132, 21, 21;
    --bs-danger-800-rgb: 84, 18, 18;
    --bs-danger-900-rgb: 40, 11, 11;
    --bs-surface-danger-rgb: var(--bs-danger-50-rgb);
    --bs-danger-soft-rgb: var(--bs-danger-25-rgb);

    /* warning scales */
    --bs-warning-25-rgb: 251, 250, 244;
    --bs-warning-50-rgb: 250, 247, 235;
    --bs-warning-100-rgb: 247, 240, 212;
    --bs-warning-200-rgb: 243, 227, 165;
    --bs-warning-300-rgb: 244, 218, 113;
    --bs-warning-400-rgb: 251, 211, 55;
    --bs-warning-500-rgb: 250, 201, 5;
    --bs-warning-soft-rgb: 251, 250, 244;
    --bs-warning-600-rgb: 200, 160, 4;
    --bs-warning-700-rgb: 150, 120, 3;
    --bs-warning-800-rgb: 95, 77, 7;
    --bs-warning-900-rgb: 45, 37, 6;
    --bs-surface-warning-rgb: var(--bs-warning-50-rgb);
    --bs-warning-soft-rgb: var(--bs-warning-25-rgb);

    /* info scales */
    --bs-info-25-rgb: 244, 249, 251;
    --bs-info-50-rgb: 235, 245, 249;
    --bs-info-100-rgb: 214, 235, 245;
    --bs-info-200-rgb: 168, 218, 240;
    --bs-info-300-rgb: 117, 202, 240;
    --bs-info-400-rgb: 63, 187, 243;
    --bs-info-500-rgb: 14, 170, 241;
    --bs-info-soft-rgb: 244, 249, 251;
    --bs-info-600-rgb: 12, 136, 192;
    --bs-info-700-rgb: 9, 102, 144;
    --bs-info-800-rgb: 10, 66, 92;
    --bs-info-900-rgb: 7, 32, 44;
    --bs-surface-info-rgb: var(--bs-info-50-rgb);
    --bs-info-soft-rgb: var(--bs-info-25-rgb);

    /* light scales */
    --bs-light-25-rgb: 246, 247, 249;
    --bs-light-50-rgb: 239, 242, 245;
    --bs-light-100-rgb: 222, 230, 237;
    --bs-light-200-rgb: 188, 204, 220;
    --bs-light-300-rgb: 151, 179, 206;
    --bs-light-400-rgb: 112, 153, 194;
    --bs-light-500-rgb: 76, 128, 179;
    --bs-light-soft-rgb: 246, 247, 249;
    --bs-light-600-rgb: 61, 102, 143;
    --bs-light-700-rgb: 46, 77, 107;
    --bs-light-800-rgb: 33, 51, 69;
    --bs-light-900-rgb: 17, 26, 34;
    --bs-surface-light-rgb: var(--bs-light-50-rgb);
    --bs-light-soft-rgb: var(--bs-light-25-rgb);

    /* dark scales */
    --bs-dark-25-rgb: 246, 247, 249;
    --bs-dark-50-rgb: 239, 241, 246;
    --bs-dark-100-rgb: 221, 226, 238;
    --bs-dark-200-rgb: 185, 196, 223;
    --bs-dark-300-rgb: 146, 165, 211;
    --bs-dark-400-rgb: 105, 133, 201;
    --bs-dark-500-rgb: 67, 103, 188;
    --bs-dark-soft-rgb: 246, 247, 249;
    --bs-dark-600-rgb: 54, 82, 150;
    --bs-dark-700-rgb: 40, 62, 113;
    --bs-dark-800-rgb: 29, 42, 73;
    --bs-dark-900-rgb: 16, 22, 35;
    --bs-surface-dark-rgb: var(--bs-dark-50-rgb);
    --bs-dark-soft-rgb: var(--bs-dark-25-rgb);

    /* gray scales */
    --bs-gray-25-rgb: 247, 247, 248;
    --bs-gray-50-rgb: 241, 242, 244;
    --bs-gray-100-rgb: 226, 229, 233;
    --bs-gray-200-rgb: 196, 203, 212;
    --bs-gray-300-rgb: 165, 176, 192;
    --bs-gray-400-rgb: 133, 150, 173;
    --bs-gray-500-rgb: 103, 123, 152;
    --bs-gray-soft-rgb: 247, 247, 248;
    --bs-gray-600-rgb: 82, 99, 122;
    --bs-gray-700-rgb: 62, 74, 91;
    --bs-gray-800-rgb: 42, 49, 60;
    --bs-gray-900-rgb: 22, 25, 29;
    --bs-surface-gray-rgb: var(--bs-gray-50-rgb);
    --bs-gray-soft-rgb: var(--bs-gray-25-rgb);

    /* Extended Spacing (Dynamic Framework) */
    --bs-ref-spacer-6: 1.5rem;
    --bs-ref-spacer-7: 1.75rem;
    --bs-ref-spacer-8: 2rem;
    --bs-ref-spacer-9: 2.25rem;
    --bs-ref-spacer-10: 2.5rem;
    --bs-ref-spacer-11: 2.75rem;
    --bs-ref-spacer-12: 3rem;
    --bs-ref-spacer-13: 3.25rem;
    --bs-ref-spacer-14: 3.5rem;
    --bs-ref-spacer-15: 3.75rem;
    --bs-ref-spacer-16: 4rem;
    --bs-ref-spacer-17: 4.25rem;
    --bs-ref-spacer-18: 4.5rem;
    --bs-ref-spacer-19: 4.75rem;
    --bs-ref-spacer-20: 5rem;
    --bs-ref-spacer-21: 5.25rem;
    --bs-ref-spacer-22: 5.5rem;
    --bs-ref-spacer-23: 5.75rem;
    --bs-ref-spacer-24: 6rem;
    --bs-ref-spacer-25: 6.25rem;
    --bs-ref-spacer-26: 6.5rem;
    --bs-ref-spacer-27: 6.75rem;
    --bs-ref-spacer-28: 7rem;
    --bs-ref-spacer-29: 7.25rem;
    --bs-ref-spacer-30: 7.5rem;

    /* Dynamic Framework Nav Variables */
    --bs-nav-tabs-nav-gap: 0;
    --bs-nav-tabs-link-border-active-font-weight: 600;
    --bs-nav-tabs-border-color: rgba(0, 0, 0, 0.1);
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.75rem;
    --bs-nav-link-hover-bg: transparent;
    --bs-nav-link-hover-color: rgb(var(--bs-primary-rgb));

    /* Typography */
    --bs-font-family: 'Poppins', sans-serif;
    --bs-heading-font-family: inherit;
    --bs-body-font-size: 0.9375rem;
    --bs-font-weight: 500;
    --bs-heading-weight: 500;
    --bs-body-line-height: 1.5;
    --bs-letter-spacing: 0em;

    /* Borders & Radius */
    --bs-border-radius: 0.5625rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.875rem;
    --bs-border-width: 1px;
    --bs-border-style: solid;
}

/* Component Overrides */
.btn-primary {
    background-color: rgb(var(--bs-primary-rgb));
    border-color: rgb(var(--bs-primary-rgb));
}

.btn-secondary {
    background-color: rgb(var(--bs-secondary-rgb));
    border-color: rgb(var(--bs-secondary-rgb));
}

.btn-success {
    background-color: rgb(var(--bs-success-rgb));
    border-color: rgb(var(--bs-success-rgb));
}

.btn-danger {
    background-color: rgb(var(--bs-danger-rgb));
    border-color: rgb(var(--bs-danger-rgb));
}

.btn-warning {
    background-color: rgb(var(--bs-warning-rgb));
    border-color: rgb(var(--bs-warning-rgb));
}

.btn-info {
    background-color: rgb(var(--bs-info-rgb));
    border-color: rgb(var(--bs-info-rgb));
}

/* Text Colors */
.text-primary { color: rgb(var(--bs-primary-rgb)) !important; }
.text-secondary { color: rgb(var(--bs-secondary-rgb)) !important; }
.text-success { color: rgb(var(--bs-success-rgb)) !important; }
.text-danger { color: rgb(var(--bs-danger-rgb)) !important; }
.text-warning { color: rgb(var(--bs-warning-rgb)) !important; }
.text-info { color: rgb(var(--bs-info-rgb)) !important; }

/* Background Colors */
.bg-primary { background-color: rgb(var(--bs-primary-rgb)) !important; }
.bg-secondary { background-color: rgb(var(--bs-secondary-rgb)) !important; }
.bg-success { background-color: rgb(var(--bs-success-rgb)) !important; }
.bg-danger { background-color: rgb(var(--bs-danger-rgb)) !important; }
.bg-warning { background-color: rgb(var(--bs-warning-rgb)) !important; }
.bg-info { background-color: rgb(var(--bs-info-rgb)) !important; }

/* Surface Colors (Dynamic Framework) */
.bg-surface-primary { background-color: rgb(var(--bs-surface-primary-rgb)) !important; }
.bg-surface-secondary { background-color: rgb(var(--bs-surface-secondary-rgb)) !important; }
.bg-surface-success { background-color: rgb(var(--bs-surface-success-rgb)) !important; }
.bg-surface-danger { background-color: rgb(var(--bs-surface-danger-rgb)) !important; }
.bg-surface-warning { background-color: rgb(var(--bs-surface-warning-rgb)) !important; }
.bg-surface-info { background-color: rgb(var(--bs-surface-info-rgb)) !important; }

/* Soft Colors (Dynamic Framework) */
.bg-primary-soft { background-color: rgb(var(--bs-primary-soft-rgb)) !important; }
.bg-secondary-soft { background-color: rgb(var(--bs-secondary-soft-rgb)) !important; }
.bg-success-soft { background-color: rgb(var(--bs-success-soft-rgb)) !important; }
.bg-danger-soft { background-color: rgb(var(--bs-danger-soft-rgb)) !important; }
.bg-warning-soft { background-color: rgb(var(--bs-warning-soft-rgb)) !important; }
.bg-info-soft { background-color: rgb(var(--bs-info-soft-rgb)) !important; }


