body {
    background-color: #0f172a;
    color: #f1f5f9;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

:root {
    --primary-gradient: linear-gradient(135deg, #1a73e8 0%, #0d47a1 100%);
}

main {
    flex: 1;
}

.text-muted {
    color: #94a3b8 !important;
}

.card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.table-dark {
    --bs-table-bg: #1e293b;
    --bs-table-border-color: #334155;
}

/* Fix for Identity pages contrast if they use default bootstrap */
.bg-white {
    background-color: #1e293b !important;
}

.text-dark {
    color: #f1f5f9 !important;
}

input.form-control {
    background-color: #0f172a !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}

input.form-control:focus {
    background-color: #0f172a !important;
    color: #f1f5f9 !important;
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 0.25rem rgba(99, 102, 241, 0.25) !important;
}

.btn-purchase-type,
.btn-nobility-type {
    background-color: transparent;
    border: 1px solid #334155;
    color: #94a3b8;
    border-radius: 50rem;
    padding: 0.5rem 1.5rem;
    transition: all 0.2s;
}

.btn-purchase-type.active,
.btn-nobility-type.active {
    background-color: rgba(99, 102, 241, 0.1);
    border-color: #6366f1;
    color: #6366f1;
}

.btn-purchase-type:hover,
.btn-nobility-type:hover {
    border-color: #6366f1;
    color: #f1f5f9;
}

/* Placeholder Visibility */
::placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

/* Premium Settings Dropdown */
.settings-btn {
    color: white !important;
    font-size: 1.4rem;
    opacity: 0.9;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.1);
}

.settings-btn:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(45deg);
}

.settings-dropdown-menu {
    border-radius: 1.25rem !important;
    padding: 0.75rem !important;
    min-width: 200px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
    margin-top: 0.5rem !important;
}

.settings-dropdown-menu .dropdown-item {
    border-radius: 0.75rem !important;
    padding: 0.7rem 1rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.settings-dropdown-menu .dropdown-item:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.settings-dropdown-menu .dropdown-item.text-danger:hover {
    background: #fef2f2 !important;
    color: #dc2626 !important;
}

.settings-dropdown-menu .user-info-text {
    color: #0f172a !important;
}

.settings-dropdown-menu .user-info-label {
    color: #64748b !important;
}

/* Global fix for settings dropdown positioning in relative headers */
.recharge-header .dropdown, 
.admin-header .dropdown, 
.agent-header .dropdown {
    position: absolute !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    z-index: 1001 !important;
}

/* Adjust for mobile padding */
@media (max-width: 576px) {
    .recharge-header .dropdown, 
    .admin-header .dropdown, 
    .agent-header .dropdown {
        top: 0.75rem !important;
        right: 0.75rem !important;
    }
}