/* Subtle Design Update - Reducing Neumorphic Effects */

/* ========================================
   1. CARDS AND CONTAINERS
   ======================================== */

/* Override heavy neumorphic shadows with subtle ones */
.card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    transition: all 0.2s ease !important;
}

.card:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

/* Info cards with subtle styling */
.info-card {
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 8px !important;
}

.info-card:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

/* Student profile cards */
.student-profile .card {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* ========================================
   2. BUTTONS
   ======================================== */

/* Primary buttons with subtle styling */
.btn-primary {
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.2s ease !important;
}

.btn-primary:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

/* Secondary buttons */
.btn-secondary {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.btn-secondary:hover {
    background: #e5e7eb !important;
    border-color: #d1d5db !important;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-1px) !important;
}

/* Remove heavy shadows from all buttons */
.btn {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.btn:active {
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(0) !important;
}

/* ========================================
   3. FORM ELEMENTS
   ======================================== */

/* Remove ALL inset shadows and use clean borders */
.form-control,
.form-select,
.form-check-input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="search"],
textarea,
select {
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
    background: #ffffff !important;
    transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

/* Clean focus states without shadows */
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: #000 !important;
    box-shadow: none !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    background: #ffffff !important;
}

/* Checkbox and radio buttons */
.form-check-input {
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
}

.form-check-input:checked {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* Search inputs */
.search-input,
input[type="search"] {
    box-shadow: none !important;
    border: 1px solid #e5e7eb !important;
    padding-left: 2.5rem !important;
}

/* Input groups */
.input-group .form-control {
    border-right: 0 !important;
}

.input-group-text {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
}

/* ========================================
   4. TABLES
   ======================================== */

/* Subtle table styling */
.table {
    box-shadow: none !important;
}

.table-responsive {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 8px !important;
}

/* ========================================
   5. NAVIGATION
   ======================================== */

/* Navbar with subtle shadow */
.navbar {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* ========================================
   6. ALERTS AND BADGES
   ======================================== */

.alert {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.badge {
    box-shadow: none !important;
    font-weight: 500 !important;
}

/* ========================================
   7. MODALS
   ======================================== */

.modal-content {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* ========================================
   7.5. ADDITIONAL FORM OVERRIDES
   ======================================== */

/* Remove inset shadows from ALL form elements */
input, textarea, select, button,
.form-control, .form-select, .form-check-input,
.btn, .dropdown-toggle {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

/* Grade input fields */
.grade-input,
.grade-override-input {
    box-shadow: none !important;
    border: 1px solid #e5e7eb !important;
}

/* Date pickers */
input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent !important;
    cursor: pointer !important;
}

/* File inputs */
input[type="file"] {
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
    padding: 0.375rem 0.75rem !important;
}

/* Toggle switches - simplified */
.form-switch .form-check-input {
    box-shadow: none !important;
    border: 1px solid #d1d5db !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.form-switch .form-check-input:checked {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* Range inputs */
input[type="range"] {
    box-shadow: none !important;
}

/* ========================================
   8. DARK MODE ADJUSTMENTS
   ======================================== */

[data-theme="dark"] .card {
    background: #1e293b !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark"] .card:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .info-card {
    background: #1e293b !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark"] .btn-primary {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
}

[data-theme="dark"] .btn-secondary {
    background: #374151 !important;
    border: 1px solid #4b5563 !important;
    color: #e5e7eb !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: #374151 !important;
    border: 1px solid #4b5563 !important;
    color: #e5e7eb !important;
}

[data-theme="dark"] .table-responsive {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* ========================================
   9. SPECIFIC COMPONENT OVERRIDES
   ======================================== */

/* Student detail tabs */
.nav-tabs {
    border-bottom: 1px solid #e5e7eb !important;
}

.nav-tabs .nav-link {
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

.nav-tabs .nav-link.active {
    background: #ffffff !important;
    border-color: #e5e7eb #e5e7eb #ffffff !important;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Course items */
.course-item {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.course-item:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-1px) !important;
}

/* GPA cards */
.gpa-card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* ========================================
   10. REMOVE NEUMORPHIC EFFECTS
   ======================================== */

/* Override any remaining neumorphic shadows */
*[class*="shadow-neumorphic"],
*[style*="box-shadow: 20px 20px"],
*[style*="box-shadow: inset 20px 20px"] {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

/* ========================================
   11. INTERACTIVE ELEMENTS
   ======================================== */

/* Simplify ALL animations and transitions */
* {
    transition-duration: 0.15s !important;
    transition-timing-function: ease !important;
}

/* Remove complex hover effects */
*:hover {
    transition-duration: 0.15s !important;
}

/* Dropdown menus - simple fade */
.dropdown-menu {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    animation: none !important;
}

/* Tooltips - remove animations */
.tooltip {
    animation: none !important;
    transition: opacity 0.15s ease !important;
}

/* Modals - simple fade */
.modal-backdrop {
    animation: none !important;
}

.modal.fade .modal-dialog {
    transition: transform 0.15s ease !important;
    transform: none !important;
}

/* Collapse/Accordion - faster transitions */
.collapse {
    transition: height 0.15s ease !important;
}

/* Progress bars - no animation */
.progress-bar {
    transition: width 0.15s ease !important;
    animation: none !important;
}

/* Spinners - keep but simplify */
.spinner-border,
.spinner-grow {
    animation-duration: 0.75s !important;
}

/* Links - subtle color change only */
a {
    transition: color 0.15s ease !important;
    text-decoration: none !important;
}

a:hover {
    text-decoration: underline !important;
}

/* Disable bouncing/pulsing effects */
@keyframes pulse {
    to { transform: scale(1); }
}

@keyframes bounce {
    to { transform: translateY(0); }
}

/* Tab transitions */
.nav-tabs .nav-link {
    transition: all 0.15s ease !important;
}

/* Remove any transform effects on click */
*:active {
    transform: none !important;
}

/* Simplified loading states */
.loading {
    animation: none !important;
    opacity: 0.6 !important;
}

/* ========================================
   12. PERFORMANCE OPTIMIZATIONS
   ======================================== */

/* Disable ALL animations on preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}