/* Galaxy Cloud Solutions — Custom Theme Overlay v4
 * Works with Bootstrap 5 dark mode (data-bs-theme="dark") + Huraga 0.8.1
 * Only overrides what Bootstrap dark mode doesn't handle
 */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500&display=swap');

:root {
    --gcs-bg: #04080f;
    --gcs-surface: #080e1a;
    --gcs-surface2: #0d1526;
    --gcs-border: rgba(99,179,255,0.12);
    --gcs-accent: #3b9eff;
    --gcs-text: #e8f0fe;
    --gcs-muted: #7a8fad;
}

body {
    background: var(--gcs-bg) !important;
    font-family: 'DM Sans', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Syne', sans-serif !important;
}

.navbar {
    background: rgba(4,8,15,0.95) !important;
    border-bottom: 1px solid var(--gcs-border) !important;
}

.card {
    background: var(--gcs-surface) !important;
    border: 1px solid var(--gcs-border) !important;
}
.card-header {
    background: var(--gcs-surface2) !important;
    border-bottom: 1px solid var(--gcs-border) !important;
}

.accordion-item {
    background: var(--gcs-surface) !important;
    border: 1px solid var(--gcs-border) !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.accordion-button {
    background: var(--gcs-surface) !important;
    font-family: 'Syne', sans-serif !important;
    font-weight: 600 !important;
}
.accordion-button:not(.collapsed) {
    background: var(--gcs-surface2) !important;
    color: var(--gcs-accent) !important;
    box-shadow: none !important;
}
.accordion-button::after { filter: invert(1) !important; }
.accordion-body { background: var(--gcs-surface) !important; }

.form-control, .form-select {
    background: var(--gcs-surface2) !important;
    border: 1px solid var(--gcs-border) !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--gcs-accent) !important;
    box-shadow: 0 0 0 2px rgba(59,158,255,0.2) !important;
}

.btn-primary {
    background: var(--gcs-accent) !important;
    border-color: var(--gcs-accent) !important;
    color: #fff !important;
}
.btn-primary:hover { opacity: 0.85 !important; }
.btn-outline-primary {
    border-color: var(--gcs-accent) !important;
    color: var(--gcs-accent) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: var(--gcs-accent) !important;
    color: #fff !important;
}

.table > :not(caption) > * > * {
    background-color: var(--gcs-surface2) !important;
    border-color: var(--gcs-border) !important;
}

.dropdown-menu {
    background-color: var(--gcs-surface2) !important;
    border-color: var(--gcs-border) !important;
    z-index: 9999 !important;
}
.dropdown-item:hover { background-color: rgba(59,158,255,0.15) !important; }

.list-group-item {
    background: var(--gcs-surface2) !important;
    border-color: var(--gcs-border) !important;
}

.modal-content {
    background-color: #0f0f1a !important;
    border: 1px solid var(--gcs-border) !important;
}
.modal-header {
    background-color: #0f0f1a !important;
    border-bottom: 1px solid var(--gcs-border) !important;
}
.modal-body { background-color: #0f0f1a !important; }
.modal-footer {
    background-color: #0f0f1a !important;
    border-top: 1px solid var(--gcs-border) !important;
}
.btn-close { filter: invert(1) !important; opacity: 1 !important; }

footer { border-top: 1px solid var(--gcs-border) !important; }

a { color: var(--gcs-accent) !important; }
a:hover { color: var(--gcs-accent) !important; opacity: 0.8 !important; }

.badge.bg-success { background: rgba(6,214,160,0.2) !important; color: #06d6a0 !important; }
.badge.bg-info { background: rgba(59,158,255,0.2) !important; color: var(--gcs-accent) !important; }

.navbar-brand {
    color: var(--gcs-text) !important;
    font-family: 'Syne', sans-serif !important;
    font-weight: 800 !important;
}

.ck-editor__editable,
.ck.ck-editor__main>.ck-editor__editable {
    background: #07070f !important;
    min-height: 120px !important;
}
.ck.ck-toolbar { background: #0f0f1a !important; border: 1px solid var(--gcs-border) !important; }

.modal-backdrop { pointer-events: none !important; }
.modal, .modal-dialog, .modal-content { pointer-events: auto !important; }

.navbar-toggler { border-color: rgba(255,255,255,0.5) !important; }
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,0.5) 0%, transparent 100%),
        radial-gradient(1px 1px at 25% 40%, rgba(255,255,255,0.3) 0%, transparent 100%),
        radial-gradient(1px 1px at 40% 8%, rgba(255,255,255,0.6) 0%, transparent 100%),
        radial-gradient(1px 1px at 55% 60%, rgba(255,255,255,0.2) 0%, transparent 100%),
        radial-gradient(1px 1px at 70% 25%, rgba(255,255,255,0.4) 0%, transparent 100%),
        radial-gradient(1px 1px at 85% 70%, rgba(255,255,255,0.3) 0%, transparent 100%),
        radial-gradient(2px 2px at 15% 55%, rgba(59,158,255,0.3) 0%, transparent 100%),
        radial-gradient(2px 2px at 78% 45%, rgba(124,58,237,0.2) 0%, transparent 100%);
    pointer-events: none;
}

body::after {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(59,158,255,0.04) 0%, transparent 65%);
    pointer-events: none;
    z-index: -1;
}

/* Sidebar nav link text fix */
.sidebar .nav-link,
.sidebar .nav-link span,
.sidebar a,
.sidebar a span,
#sidebar .nav-link,
#sidebar a,
.side-menu .nav-link,
.side-menu a,
[data-bs-theme="dark"] .nav-pills .nav-link,
[data-bs-theme="dark"] .sidebar .nav-link {
    color: var(--gcs-text) !important;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active,
#sidebar .nav-link:hover,
#sidebar .nav-link.active {
    color: var(--gcs-accent) !important;
}

/* Sidebar offcanvas nav link text */
.offcanvas-body .nav-link,
.offcanvas-body .nav-link span,
.offcanvas-body .nav-link svg,
.offcanvas-md .nav-link,
.col-3 .nav-link,
#sidebarMenu .nav-link {
    color: var(--gcs-text) !important;
}
.offcanvas-body .nav-item.active .nav-link,
.offcanvas-body .nav-link.active,
.offcanvas-body .nav-link:hover,
#sidebarMenu .nav-link.active,
#sidebarMenu .nav-link:hover {
    color: var(--gcs-accent) !important;
}
.offcanvas-body,
.offcanvas-md,
#sidebarMenu {
    background: transparent !important;
}

/* Force sidebar nav link colors via Bootstrap CSS variables */
#sidebarMenu,
.offcanvas-md,
.offcanvas-body {
    --bs-nav-link-color: #e8f0fe !important;
    --bs-nav-link-hover-color: #3b9eff !important;
    --bs-offcanvas-bg: transparent !important;
    background-color: transparent !important;
}

/* Direct force on all sidebar links */
#sidebarMenu a,
#sidebarMenu span,
.offcanvas-body a,
.offcanvas-body span {
    color: #e8f0fe !important;
}
#sidebarMenu a:hover,
.offcanvas-body a:hover {
    color: #3b9eff !important;
}

/* Fix top navbar link colors - overrides huraga.css #000 !important */
.navbar .nav-link,
.navbar-nav .nav-link,
.navbar a.nav-link {
    color: var(--gcs-text) !important;
}
.navbar .nav-link:hover,
.navbar-nav .nav-link:hover,
.navbar .nav-link.active {
    color: var(--gcs-accent) !important;
}

/* Nuclear fix for top navbar - highest specificity */
#navbarSupportedContent .nav-link,
#navbarSupportedContent a {
    color: var(--gcs-text) !important;
}
#navbarSupportedContent .nav-link:hover,
#navbarSupportedContent a:hover,
#navbarSupportedContent .nav-link.active {
    color: var(--gcs-accent) !important;
}
