/* GEOMA Centralized Color System & Theme */

:root {
    --geoma-bg: #0c090b;
    --geoma-bg-gradient: radial-gradient(circle at 30% -10%, #32141f 0, transparent 32%), linear-gradient(145deg, #0b090a, #130c10 50%, #0b090a);
    --geoma-surface: rgba(29, 22, 26, 0.76);
    --geoma-surface-glass: linear-gradient(145deg, rgba(38, 29, 34, 0.82), rgba(23, 18, 21, 0.78));
    --geoma-border: rgba(255, 255, 255, 0.085);
    --geoma-border-gold: rgba(216, 169, 81, 0.25);
    
    --geoma-gold: #d8a951;
    --geoma-gold-light: #e1b86c;
    --geoma-red: #8f2c43;
    --geoma-red-dark: #310009;
    --geoma-green: #4ecb91;
    --geoma-blue: #62a6eb;
    --geoma-purple: #a98be8;
    
    --geoma-text: #f4f0f2;
    --geoma-text-muted: #9d9298;
    --geoma-font: 'Manrope', system-ui, -apple-system, sans-serif;
}

/* Global Body Styling */
body {
    font-family: var(--geoma-font);
    background: var(--geoma-bg-gradient);
    color: var(--geoma-text);
    min-height: 100vh;
}

/* Ambient Glow Lights */
.ambient {
    position: fixed;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.14;
    pointer-events: none;
    z-index: 0;
}
.ambient-one {
    width: 400px;
    height: 400px;
    background: #9c2947;
    top: 18%;
    left: 38%;
}
.ambient-two {
    width: 300px;
    height: 300px;
    background: #bd8d3b;
    right: 2%;
    bottom: 5%;
}

/* Glassmorphism Cards */
.card, .glass-card {
    background: var(--geoma-surface-glass) !important;
    border: 1px solid var(--geoma-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(20px);
    color: var(--geoma-text);
}
.card-header {
    background: rgba(0, 0, 0, 0.2) !important;
    border-bottom: 1px solid var(--geoma-border) !important;
    color: var(--geoma-text) !important;
}
.card-footer {
    background: rgba(0, 0, 0, 0.2) !important;
    border-top: 1px solid var(--geoma-border) !important;
    color: var(--geoma-text) !important;
}

/* Typography Overrides */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--geoma-text);
    font-weight: 700;
}
.text-dark {
    color: var(--geoma-text) !important;
}
.text-muted {
    color: var(--geoma-text-muted) !important;
}
.text-gold {
    color: var(--geoma-gold) !important;
}

/* Input Fields Styling */
.form-control, .form-select {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid var(--geoma-border) !important;
    color: var(--geoma-text) !important;
    border-radius: 10px !important;
    font-size: 14px;
    padding: 0.65rem 0.9rem;
}
.form-control::placeholder {
    color: #7a7075 !important;
}
.form-control:focus, .form-select:focus {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: var(--geoma-gold) !important;
    box-shadow: 0 0 12px rgba(216, 169, 81, 0.22) !important;
    color: var(--geoma-text) !important;
}
.input-group-text {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid var(--geoma-border) !important;
    color: var(--geoma-gold) !important;
    border-radius: 10px !important;
}

/* Custom Buttons */
.btn-gold, .btn-primary {
    background: linear-gradient(90deg, #9b6e30, #d3aa5c) !important;
    color: #1c1308 !important;
    border: 0 !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(216, 169, 81, 0.2);
}
.btn-gold:hover, .btn-primary:hover {
    background: linear-gradient(90deg, #b07e3a, #e0b666) !important;
    color: #0d0803 !important;
}

.btn-danger, .btn-red {
    background: linear-gradient(90deg, #8f2c43, #5a1928) !important;
    color: #ffffff !important;
    border: 1px solid #9d2d45 !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(143, 44, 67, 0.25);
}
.btn-danger:hover, .btn-red:hover {
    background: linear-gradient(90deg, #a6354f, #6d1f31) !important;
    color: #ffffff !important;
}

.btn-outline-gold, .btn-outline-secondary {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid var(--geoma-border) !important;
    color: var(--geoma-gold) !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}
.btn-outline-gold:hover, .btn-outline-secondary:hover {
    background: rgba(216, 169, 81, 0.12) !important;
    border-color: var(--geoma-gold) !important;
    color: var(--geoma-gold-light) !important;
}

/* Tables */
.table {
    color: var(--geoma-text) !important;
    --bs-table-bg: transparent;
    --bs-table-hover-bg: rgba(255, 255, 255, 0.03);
    border-color: var(--geoma-border) !important;
}
.table thead th {
    background: rgba(14, 10, 12, 0.6) !important;
    color: var(--geoma-text-muted) !important;
    font-size: 11px;
    text-uppercase: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--geoma-border) !important;
}

/* Navbar & Sidebar */
.navbar-dark-geoma {
    background: rgba(12, 9, 11, 0.85) !important;
    backdrop-filter: blur(22px);
    border-bottom: 1px solid var(--geoma-border) !important;
}
.sidebar-geoma {
    background: rgba(14, 10, 12, 0.92) !important;
    border-right: 1px solid var(--geoma-border) !important;
    backdrop-filter: blur(24px);
}
.sidebar-geoma .nav-link {
    color: #a89ea3;
    border-radius: 10px;
    padding: 0.65rem 0.9rem;
    font-weight: 600;
}
.sidebar-geoma .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.04);
}
.sidebar-geoma .nav-link.active {
    color: #f0ca78;
    background: linear-gradient(90deg, rgba(147, 44, 66, 0.35), rgba(216, 169, 81, 0.08));
    box-shadow: inset 3px 0 #c69c4e;
}

/* Badges */
.badge-green-id {
    background: rgba(78, 203, 145, 0.15) !important;
    border: 1px solid rgba(78, 203, 145, 0.4) !important;
    color: #4ecb91 !important;
}
.badge-red-id {
    background: rgba(143, 44, 67, 0.2) !important;
    border: 1px solid rgba(157, 45, 69, 0.4) !important;
    color: #e58468 !important;
}

/* Dropdown Menus */
.dropdown-menu {
    background: #1d1519 !important;
    border: 1px solid var(--geoma-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.6) !important;
}
.dropdown-item {
    color: #bbb !important;
    font-size: 13px;
    padding: 8px 14px;
}
.dropdown-item:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}

/* Alerts */
.alert-dark-glass {
    background: rgba(38, 29, 34, 0.85) !important;
    border: 1px solid var(--geoma-border) !important;
    color: var(--geoma-text) !important;
    border-radius: 12px !important;
}
