/* Nyx AI Studio - Light Theme */

:root {
    /* Light Theme Colors */
    --nyx-primary: #6B46C1;
    --nyx-primary-dark: #5534A5;
    --nyx-secondary: #EC4899;
    --nyx-accent: #F59E0B;
    --nyx-success: #10B981;
    --nyx-danger: #EF4444;
    
    /* Light Backgrounds */
    --nyx-bg-base: #FFFFFF;
    --nyx-bg-primary: #F9FAFB;
    --nyx-bg-secondary: #F3F4F6;
    --nyx-bg-elevated: #FFFFFF;
    --nyx-sidebar-bg: #1F2937;
    
    /* Text Colors for Light Theme */
    --nyx-text-primary: #111827;
    --nyx-text-secondary: #6B7280;
    --nyx-text-muted: #9CA3AF;
    --nyx-text-white: #FFFFFF;
    
    /* Borders */
    --nyx-border: #E5E7EB;
    --nyx-border-hover: #D1D5DB;
    
    /* Shadows */
    --nyx-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --nyx-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --nyx-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --nyx-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Override body styles */
body {
    background-color: var(--nyx-bg-primary) !important;
    color: var(--nyx-text-primary) !important;
    background-image: none !important;
}

/* Remove background overlay */
body::before {
    display: none !important;
}

/* Override all text colors */
body * {
    color: inherit;
}

/* Headers */
h1, h2, h3, h4, h5, h6 {
    color: var(--nyx-text-primary) !important;
}

/* Updated Glass Cards for Light Theme */
.glass-card {
    background: var(--nyx-bg-elevated) !important;
    border: 1px solid var(--nyx-border) !important;
    box-shadow: var(--nyx-shadow-md) !important;
    backdrop-filter: none !important;
}

.glass-card:hover {
    box-shadow: var(--nyx-shadow-lg) !important;
    border-color: var(--nyx-primary) !important;
}

/* Sidebar - Keep dark for contrast */
.nyx-sidebar {
    background: var(--nyx-sidebar-bg) !important;
    color: var(--nyx-text-white) !important;
}

.nyx-sidebar * {
    color: var(--nyx-text-white) !important;
}

.nyx-nav-item {
    color: #D1D5DB !important;
}

.nyx-nav-item:hover,
.nyx-nav-item.active {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--nyx-text-white) !important;
}

/* Page headers */
.nyx-page-title {
    background: linear-gradient(135deg, var(--nyx-primary) 0%, var(--nyx-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nyx-page-subtitle {
    color: var(--nyx-text-secondary) !important;
}

/* Stats */
.nyx-stat-card {
    background: var(--nyx-bg-elevated) !important;
    border: 1px solid var(--nyx-border) !important;
    box-shadow: var(--nyx-shadow-sm) !important;
}

.nyx-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--nyx-shadow-md) !important;
}

.nyx-stat-value {
    background: linear-gradient(135deg, var(--nyx-primary) 0%, var(--nyx-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nyx-stat-label {
    color: var(--nyx-text-secondary) !important;
}

/* Forms */
.nyx-input,
.nyx-form-control,
.form-control,
.form-select {
    background-color: var(--nyx-bg-elevated) !important;
    border: 1px solid var(--nyx-border) !important;
    color: var(--nyx-text-primary) !important;
}

.nyx-input:focus,
.nyx-form-control:focus,
.form-control:focus,
.form-select:focus {
    border-color: var(--nyx-primary) !important;
    box-shadow: 0 0 0 3px rgba(107, 70, 193, 0.1) !important;
}

/* Labels */
.nyx-label,
.form-label,
label {
    color: var(--nyx-text-primary) !important;
    font-weight: 500;
}

/* Buttons */
.neon-button,
.nyx-btn-primary {
    background: linear-gradient(135deg, var(--nyx-primary) 0%, var(--nyx-primary-dark) 100%) !important;
    color: white !important;
    border: none !important;
    box-shadow: var(--nyx-shadow-md) !important;
}

.neon-button:hover,
.nyx-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: var(--nyx-shadow-lg) !important;
}

/* Tables */
table {
    color: var(--nyx-text-primary) !important;
}

th {
    color: var(--nyx-text-secondary) !important;
    font-weight: 600;
}

td {
    color: var(--nyx-text-primary) !important;
}

/* Progress bars */
.progress {
    background-color: var(--nyx-bg-secondary) !important;
}

.progress-bar {
    background: linear-gradient(90deg, var(--nyx-primary) 0%, var(--nyx-secondary) 100%) !important;
}

/* Alerts */
.nyx-alert {
    border: 1px solid;
}

.nyx-alert-success {
    background-color: #D1FAE5 !important;
    border-color: #10B981 !important;
    color: #065F46 !important;
}

.nyx-alert-error {
    background-color: #FEE2E2 !important;
    border-color: #EF4444 !important;
    color: #991B1B !important;
}

.nyx-alert-info {
    background-color: #DBEAFE !important;
    border-color: #3B82F6 !important;
    color: #1E40AF !important;
}

/* Cards */
.card {
    background-color: var(--nyx-bg-elevated) !important;
    border: 1px solid var(--nyx-border) !important;
    color: var(--nyx-text-primary) !important;
}

.card-header {
    background-color: var(--nyx-bg-secondary) !important;
    border-bottom: 1px solid var(--nyx-border) !important;
}

/* Remove all dark backgrounds */
.bg-light {
    background-color: var(--nyx-bg-secondary) !important;
}

/* Text utilities */
.text-muted {
    color: var(--nyx-text-muted) !important;
}

.text-secondary {
    color: var(--nyx-text-secondary) !important;
}

/* Links */
a {
    color: var(--nyx-primary) !important;
}

a:hover {
    color: var(--nyx-primary-dark) !important;
}

/* Mobile menu button */
.mobile-menu-btn {
    background: var(--nyx-primary) !important;
    color: white !important;
    box-shadow: var(--nyx-shadow-md) !important;
}

.mobile-menu-btn:hover {
    background: var(--nyx-primary-dark) !important;
    box-shadow: var(--nyx-shadow-lg) !important;
}

/* Scrollbar */
::-webkit-scrollbar-track {
    background: var(--nyx-bg-secondary) !important;
}

::-webkit-scrollbar-thumb {
    background: var(--nyx-primary) !important;
}

/* Remove all animations that might be distracting */
.stars,
.particle-container,
.aurora-bg {
    display: none !important;
}

/* Logo adjustments */
.nyx-logo img {
    filter: none;
}

/* Fix option elements */
option {
    background-color: var(--nyx-bg-elevated) !important;
    color: var(--nyx-text-primary) !important;
}

/* Badge colors */
.badge {
    font-weight: 500;
}

.badge.bg-success {
    background-color: var(--nyx-success) !important;
}

.badge.bg-primary {
    background-color: var(--nyx-primary) !important;
}

/* Dropdown menus */
.dropdown-menu {
    background-color: var(--nyx-bg-elevated) !important;
    border: 1px solid var(--nyx-border) !important;
    box-shadow: var(--nyx-shadow-lg) !important;
}

.dropdown-item {
    color: var(--nyx-text-primary) !important;
}

.dropdown-item:hover {
    background-color: var(--nyx-bg-secondary) !important;
}

/* Modal */
.modal-content {
    background-color: var(--nyx-bg-elevated) !important;
    color: var(--nyx-text-primary) !important;
}

.modal-header,
.modal-footer {
    border-color: var(--nyx-border) !important;
}

/* Main content area */
.nyx-main {
    background-color: var(--nyx-bg-primary) !important;
}

/* Fix form check */
.form-check-input:checked {
    background-color: var(--nyx-primary) !important;
    border-color: var(--nyx-primary) !important;
}

/* 使用のヒントボックスの修正 */
.card.border-primary .card-body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

.card.border-primary .card-body h6 {
    color: #0d6efd !important;
    font-weight: 600 !important;
}

.card.border-primary .card-body ul {
    color: #212529 !important;
}

.card.border-primary .card-body ul li {
    color: #212529 !important;
}

.card.border-primary .card-body ul li strong {
    color: #212529 !important;
    font-weight: 600 !important;
}

/* カード全般の背景色を確保 */
.card {
    background-color: var(--nyx-bg-elevated, #ffffff) !important;
}

.card-body {
    background-color: var(--nyx-bg-elevated, #ffffff) !important;
    color: var(--nyx-text-primary, #212529) !important;
}