:root {
    --panel-bg: #0f1120;
    --panel-surface: #121826;
    --panel-surface-alt: #161c2f;
    --panel-border: #2a3350;
    --panel-text: #f0f0f0;
    --panel-muted: #9aa3b2;
    --panel-primary: #3478f6;
    --panel-danger: #e84747;
}

body {
    background-color: var(--panel-bg);
    color: var(--panel-text);
}

a {
    color: var(--panel-primary);
}

a:hover {
    color: #4b86f7;
}

.bg-white,
.bg-gray-50,
.bg-gray-100 {
    background-color: var(--panel-surface) !important;
}

.bg-gray-900,
.bg-gray-950 {
    background-color: #0b0f1b !important;
}

.bg-gray-800 {
    background-color: #141a2b !important;
}

.border-gray-200,
.border-gray-300 {
    border-color: var(--panel-border) !important;
}

.text-gray-800,
.text-gray-900 {
    color: var(--panel-text) !important;
}

.text-gray-700 {
    color: #d3d9e6 !important;
}

.text-gray-500 {
    color: var(--panel-muted) !important;
}

.text-red-600,
.text-red-700 {
    color: var(--panel-danger) !important;
}

.text-blue-600,
.text-blue-700 {
    color: var(--panel-primary) !important;
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--panel-border) !important;
}

.odd\:bg-white:nth-child(odd) {
    background-color: var(--panel-surface) !important;
}

.even\:bg-gray-50:nth-child(even) {
    background-color: var(--panel-surface-alt) !important;
}

.hover\:bg-gray-100:hover,
.hover\:bg-gray-200:hover,
.hover\:bg-gray-300:hover {
    background-color: #1c243a !important;
}

.panel-card,
.panel-table {
    background-color: var(--panel-surface) !important;
    border-color: var(--panel-border) !important;
    color: var(--panel-text);
}

.panel-table table {
    color: var(--panel-text);
}

.panel-table thead {
    background-color: var(--panel-surface-alt) !important;
}

.panel-input {
    background-color: var(--panel-surface-alt) !important;
    border-color: var(--panel-border) !important;
    color: var(--panel-text) !important;
}

.panel-input::placeholder {
    color: var(--panel-muted) !important;
}

.panel-input:focus {
    border-color: var(--panel-primary) !important;
    box-shadow: 0 0 0 3px rgba(52, 120, 246, 0.2);
    outline: none;
}

.panel-choice {
    background-color: var(--panel-surface-alt) !important;
    border-color: var(--panel-border) !important;
    color: var(--panel-text) !important;
}

.panel-choice-input {
    border: 1px solid var(--panel-border) !important;
    background-color: var(--panel-surface) !important;
    color: var(--panel-primary) !important;
    accent-color: var(--panel-primary);
}

.panel-nav-item {
    color: var(--panel-text);
    border-left-color: transparent;
}

.panel-nav-item:hover {
    background-color: #1b2236;
    color: var(--panel-text);
}

.panel-nav-active {
    background-color: #1b2236;
    border-left-color: var(--panel-primary);
    color: var(--panel-text);
}

.panel-nav-inactive {
    color: var(--panel-text);
}

.btn {
    color: var(--panel-text);
    border: 1px solid transparent;
}

.btn-primary {
    background-color: var(--panel-primary);
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #2f6ce0;
}

.btn-secondary {
    background-color: #1f2a44;
    color: var(--panel-text);
    border-color: #2d3757;
}

.btn-secondary:hover {
    background-color: #273252;
}

.btn-ghost {
    background-color: transparent;
    color: var(--panel-text);
}

.btn-ghost:hover {
    background-color: #1c243a;
}

.btn-danger {
    background-color: var(--panel-danger);
    color: #ffffff;
}

.btn-danger:hover {
    background-color: #d63f3f;
}

.badge {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.25rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: capitalize;
}

.badge-default {
    background-color: #222a42;
    color: var(--panel-text);
}

.badge-success {
    background-color: rgba(34, 197, 94, 0.2);
    color: #86efac;
}

.badge-warning {
    background-color: rgba(234, 179, 8, 0.2);
    color: #fde047;
}

.badge-danger {
    background-color: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}

.badge-info {
    background-color: rgba(52, 120, 246, 0.2);
    color: #93c5fd;
}

.badge-admin {
    background-color: rgba(239, 68, 68, 0.2);
    color: #fecaca;
}

.badge-advertiser {
    background-color: rgba(52, 120, 246, 0.2);
    color: #93c5fd;
}

.badge-publisher {
    background-color: rgba(34, 197, 94, 0.2);
    color: #86efac;
}

.panel-step-inactive {
    opacity: 0.85;
}

.panel-step-active {
    opacity: 1;
}

.bg-red-50,
.bg-green-50,
.bg-yellow-50 {
    background-color: #1c2236 !important;
}

.text-green-700,
.text-yellow-700 {
    color: #e0e6f0 !important;
}

.bg-gray-200 {
    background-color: #1f2a44 !important;
}

.focus\:ring-offset-2:focus {
    --tw-ring-offset-color: #0f1120;
}
