:root {
    --gold-dark: #7E5B2C;
    --gold-mid: #CAA55D;
    --gold-light: #F9E79F;
    --gold-highlight: #FEF0A2;
    --gold-gradient: linear-gradient(135deg, #7E5B2C 0%, #CAA55D 30%, #FEF0A2 50%, #CAA55D 70%, #7E5B2C 100%);
    --bg-charcoal: #1C1C1C;
    --card-bg: #242424;
    --text-silver: #FFFFFF;
    --text-white: #FFFFFF;
    --gold-primary: #CAA55D;
}

body {
    background-color: #1C1C1C !important;
    position: relative;
    color: var(--text-white);
    min-height: 100vh;
}

@keyframes float {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-15px) rotate(1.5deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

.floating-logo {
    animation: float 6s ease-in-out infinite;
}

/* General Cards - Glassy Obsidian Theme */
.card {
    background: rgba(30, 30, 31, 0.7) !important;
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(197, 160, 89, 0.1) !important;
    color: var(--text-white) !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
    border-radius: 20px !important;
}

.card-header,
.card-footer {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(197, 160, 89, 0.08) !important;
    color: var(--gold-primary) !important;
}

.card:hover {
    transform: translateY(-5px);
    border-color: rgba(197, 160, 89, 0.25) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6) !important;
}

/* Gold Gradient Card Utility - High Priority */
.card.card-gold-gradient {
    background: #CAA55D !important;
    background: var(--gold-gradient) !important;
    border: none !important;
    color: #000000 !important;
}

.card.card-gold-gradient h1,
.card.card-gold-gradient h2,
.card.card-gold-gradient h3,
.card.card-gold-gradient h4,
.card.card-gold-gradient h5,
.card.card-gold-gradient h6,
.card.card-gold-gradient p,
.card.card-gold-gradient i,
.card.card-gold-gradient span,
.card.card-gold-gradient small {
    color: #000000 !important;
}

.card.card-gold-gradient .opacity-25 {
    opacity: 0.3 !important;
}

/* Timeline */
.timeline::before {
    background: rgba(197, 160, 89, 0.15);
}

/* Modals */
.modal-content {
    background: #1C1C1C !important;
    border: 1px solid rgba(197, 160, 89, 0.2) !important;
    box-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
}

.modal-header {
    border-bottom: 1px solid rgba(197, 160, 89, 0.1) !important;
}

.modal-title {
    color: var(--gold-primary) !important;
}

/* Status Badges */
.bg-primary {
    background: var(--gold-gradient) !important;
    color: #332211 !important;
    box-shadow: 0 2px 10px rgba(122, 91, 53, 0.3);
}

/* Custom Primary Button */
.btn-primary-custom {
    background: var(--gold-gradient);
    border: none;
    color: #332211 !important;
    font-weight: 800;
    letter-spacing: 0.5px;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.btn-primary-custom:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    filter: brightness(1.1);
}

.btn-outline-secondary {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border-radius: 50px !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    transition: all 0.3s ease !important;
}

.btn-outline-secondary:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.btn-outline-primary {
    border-color: rgba(197, 160, 89, 0.3) !important;
    color: var(--gold-primary) !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
}

.btn-outline-primary:hover {
    background: var(--gold-gradient) !important;
    color: #000000 !important;
    border-color: transparent !important;
    transform: translateY(-1px);
}

.gold-text {
    background: var(--gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4));
    letter-spacing: 2px;
    font-weight: 900;
}

.silver-text {
    color: var(--text-silver) !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.85rem;
    font-weight: 500;
    opacity: 0.9;
}

/* Form Styling - Glassy Obsidian System */
.form-control,
.form-select,
.form-control-auth,
input,
select,
textarea {
    background-color: rgba(20, 20, 20, 0.6) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(197, 160, 89, 0.12) !important;
    color: #FFFFFF !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    transition: all 0.3s ease !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Fix for uncomfortable white autofill boxes */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #121212 inset !important;
    -webkit-text-fill-color: var(--gold-primary) !important;
    transition: background-color 5000s ease-in-out 0s;
}

.form-control:focus,
.form-select:focus,
.form-control-auth:focus {
    border-color: rgba(197, 160, 89, 0.45) !important;
    background-color: rgba(30, 30, 30, 0.8) !important;
    box-shadow: 0 0 25px rgba(197, 160, 89, 0.1) !important;
    outline: none !important;
    transform: translateY(-1px);
}

.form-control::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
    font-size: 0.9rem;
}

.form-label {
    color: var(--gold-mid);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.8rem;
}

/* Global Table Styling - Critical Fix for Visibility */
.table,
.table td,
.table th,
.table tbody,
.table tr {
    color: #FFFFFF !important;
    background-color: transparent !important;
    background: transparent !important;
}

.table thead th {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--gold-mid) !important;
    border: none !important;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.table td {
    border-color: rgba(197, 160, 89, 0.05) !important;
    vertical-align: middle;
}

.table td a {
    color: var(--gold-light) !important;
}

.table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.text-muted {
    color: rgba(255, 255, 255, 0.5) !important;
}

.bg-light,
.bg-white,
.table-light,
.table-white {
    background-color: transparent !important;
    background: transparent !important;
    color: inherit !important;
}

/* Fix for Personal Data Section Labels in Profiles */
.profile-section h5,
.profile-section h4 {
    color: var(--gold-primary) !important;
}