/* 卡通风格主题 - Cartoon Style Theme */

:root {
    --cartoon-pink: #FFB6C1;
    --cartoon-blue: #87CEEB;
    --cartoon-mint: #98FB98;
    --cartoon-yellow: #FFFACD;
    --cartoon-orange: #FFDAB9;
    --cartoon-purple: #DDA0DD;
    --cartoon-coral: #FF7F50;
    --cartoon-lavender: #E6E6FA;
    --cartoon-cream: #FFF8DC;
    --cartoon-green: #90EE90;
    --cartoon-dark: #2F4F4F;
    --cartoon-text: #4A4A4A;
    --cartoon-light-text: #7A7A7A;
    --cartoon-shadow: rgba(0, 0, 0, 0.08);
    
    --bs-primary: #FF7F50;
    --bs-primary-rgb: 255, 127, 80;
    --bs-primary-bg-subtle: rgba(255, 182, 193, 0.3);
    --bs-primary-border-subtle: #FFB6C1;
    
    --bs-secondary: #DDA0DD;
    --bs-secondary-rgb: 221, 160, 221;
    --bs-secondary-bg-subtle: rgba(221, 160, 221, 0.3);
    --bs-secondary-border-subtle: #DDA0DD;
    
    --bs-success: #90EE90;
    --bs-success-rgb: 144, 238, 144;
    
    --bs-info: #DDA0DD;
    --bs-info-rgb: 221, 160, 221;
    --bs-info-bg-subtle: rgba(221, 160, 221, 0.3);
    --bs-info-border-subtle: #DDA0DD;
    
    --bs-warning: #FFD700;
    --bs-warning-rgb: 255, 215, 0;
    
    --bs-danger: #FF6B6B;
    --bs-danger-rgb: 255, 107, 107;
    
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: #FF7F50;
    --bs-btn-border-color: #FFB6C1;
    
    --bs-btn-primary-color: #FFFFFF;
    --bs-btn-primary-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-btn-primary-border-color: #FFB6C1;
    --bs-btn-primary-hover-color: #FFFFFF;
    --bs-btn-primary-hover-bg: linear-gradient(135deg, #FF6347, #FF7F50);
    --bs-btn-primary-hover-border-color: #FF7F50;
    --bs-btn-primary-active-color: #FFFFFF;
    --bs-btn-primary-active-bg: linear-gradient(135deg, #FF6347, #FF7F50);
    --bs-btn-primary-active-border-color: #FF7F50;
    --bs-btn-primary-focus-color: #FFFFFF;
    --bs-btn-primary-focus-bg: linear-gradient(135deg, #FF6347, #FF7F50);
    --bs-btn-primary-focus-border-color: #FF7F50;
    --bs-btn-primary-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4);
    
    --bs-btn-secondary-color: #FFFFFF;
    --bs-btn-secondary-bg: linear-gradient(135deg, #DDA0DD, #FFB6C1);
    --bs-btn-secondary-border-color: #DDA0DD;
    --bs-btn-secondary-hover-color: #FFFFFF;
    --bs-btn-secondary-hover-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-secondary-hover-border-color: #DDA0DD;
    --bs-btn-secondary-active-color: #FFFFFF;
    --bs-btn-secondary-active-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-secondary-active-border-color: #DDA0DD;
    --bs-btn-secondary-focus-color: #FFFFFF;
    --bs-btn-secondary-focus-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-secondary-focus-border-color: #DDA0DD;
    --bs-btn-secondary-focus-box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4);
    
    --bs-btn-success-color: #FFFFFF;
    --bs-btn-success-bg: linear-gradient(135deg, #90EE90, #32CD32);
    --bs-btn-success-border-color: #90EE90;
    --bs-btn-success-hover-color: #FFFFFF;
    --bs-btn-success-hover-bg: linear-gradient(135deg, #32CD32, #228B22);
    --bs-btn-success-hover-border-color: #32CD32;
    --bs-btn-success-active-color: #FFFFFF;
    --bs-btn-success-active-bg: linear-gradient(135deg, #32CD32, #228B22);
    --bs-btn-success-active-border-color: #32CD32;
    --bs-btn-success-focus-color: #FFFFFF;
    --bs-btn-success-focus-bg: linear-gradient(135deg, #32CD32, #228B22);
    --bs-btn-success-focus-border-color: #32CD32;
    --bs-btn-success-focus-box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4);
    
    --bs-btn-info-color: #FFFFFF;
    --bs-btn-info-bg: linear-gradient(135deg, #DDA0DD, #FFB6C1);
    --bs-btn-info-border-color: #DDA0DD;
    --bs-btn-info-hover-color: #FFFFFF;
    --bs-btn-info-hover-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-info-hover-border-color: #DDA0DD;
    --bs-btn-info-active-color: #FFFFFF;
    --bs-btn-info-active-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-info-active-border-color: #DDA0DD;
    --bs-btn-info-focus-color: #FFFFFF;
    --bs-btn-info-focus-bg: linear-gradient(135deg, #BA55D3, #DDA0DD);
    --bs-btn-info-focus-border-color: #DDA0DD;
    --bs-btn-info-focus-box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4);
    
    --bs-btn-warning-color: #2F4F4F;
    --bs-btn-warning-bg: linear-gradient(135deg, #FFD700, #FFA500);
    --bs-btn-warning-border-color: #FFD700;
    --bs-btn-warning-hover-color: #2F4F4F;
    --bs-btn-warning-hover-bg: linear-gradient(135deg, #FFA500, #FF8C00);
    --bs-btn-warning-hover-border-color: #FFA500;
    --bs-btn-warning-active-color: #2F4F4F;
    --bs-btn-warning-active-bg: linear-gradient(135deg, #FFA500, #FF8C00);
    --bs-btn-warning-active-border-color: #FFA500;
    --bs-btn-warning-focus-color: #2F4F4F;
    --bs-btn-warning-focus-bg: linear-gradient(135deg, #FFA500, #FF8C00);
    --bs-btn-warning-focus-border-color: #FFA500;
    --bs-btn-warning-focus-box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4);
    
    --bs-btn-danger-color: #FFFFFF;
    --bs-btn-danger-bg: linear-gradient(135deg, #FF6B6B, #EE5A5A);
    --bs-btn-danger-border-color: #FF6B6B;
    --bs-btn-danger-hover-color: #FFFFFF;
    --bs-btn-danger-hover-bg: linear-gradient(135deg, #EE5A5A, #DC143C);
    --bs-btn-danger-hover-border-color: #EE5A5A;
    --bs-btn-danger-active-color: #FFFFFF;
    --bs-btn-danger-active-bg: linear-gradient(135deg, #EE5A5A, #DC143C);
    --bs-btn-danger-active-border-color: #EE5A5A;
    --bs-btn-danger-focus-color: #FFFFFF;
    --bs-btn-danger-focus-bg: linear-gradient(135deg, #EE5A5A, #DC143C);
    --bs-btn-danger-focus-border-color: #EE5A5A;
    --bs-btn-danger-focus-box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4);
    
    --bs-btn-outline-primary-color: #FF7F50;
    --bs-btn-outline-primary-border-color: #FF7F50;
    --bs-btn-outline-primary-hover-color: #FFFFFF;
    --bs-btn-outline-primary-hover-bg: #FF7F50;
    --bs-btn-outline-primary-hover-border-color: #FFB6C1;
    --bs-btn-outline-primary-active-color: #FFFFFF;
    --bs-btn-outline-primary-active-bg: #FF7F50;
    --bs-btn-outline-primary-active-border-color: #FFB6C1;
    --bs-btn-outline-primary-focus-color: #FFFFFF;
    --bs-btn-outline-primary-focus-bg: #FF7F50;
    --bs-btn-outline-primary-focus-border-color: #FFB6C1;
    --bs-btn-outline-primary-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4);
    
    --bs-btn-outline-secondary-color: #DDA0DD;
    --bs-btn-outline-secondary-border-color: #DDA0DD;
    --bs-btn-outline-secondary-hover-color: #FFFFFF;
    --bs-btn-outline-secondary-hover-bg: #DDA0DD;
    --bs-btn-outline-secondary-hover-border-color: #FFB6C1;
    --bs-btn-outline-secondary-active-color: #FFFFFF;
    --bs-btn-outline-secondary-active-bg: #DDA0DD;
    --bs-btn-outline-secondary-active-border-color: #FFB6C1;
    --bs-btn-outline-secondary-focus-color: #FFFFFF;
    --bs-btn-outline-secondary-focus-bg: #DDA0DD;
    --bs-btn-outline-secondary-focus-border-color: #FFB6C1;
    --bs-btn-outline-secondary-focus-box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4);
    
    --bs-btn-outline-success-color: #90EE90;
    --bs-btn-outline-success-border-color: #90EE90;
    --bs-btn-outline-success-hover-color: #FFFFFF;
    --bs-btn-outline-success-hover-bg: #90EE90;
    --bs-btn-outline-success-hover-border-color: #32CD32;
    --bs-btn-outline-success-active-color: #FFFFFF;
    --bs-btn-outline-success-active-bg: #90EE90;
    --bs-btn-outline-success-active-border-color: #32CD32;
    --bs-btn-outline-success-focus-color: #FFFFFF;
    --bs-btn-outline-success-focus-bg: #90EE90;
    --bs-btn-outline-success-focus-border-color: #32CD32;
    --bs-btn-outline-success-focus-box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4);
    
    --bs-btn-outline-info-color: #DDA0DD;
    --bs-btn-outline-info-border-color: #DDA0DD;
    --bs-btn-outline-info-hover-color: #FFFFFF;
    --bs-btn-outline-info-hover-bg: #DDA0DD;
    --bs-btn-outline-info-hover-border-color: #FFB6C1;
    --bs-btn-outline-info-active-color: #FFFFFF;
    --bs-btn-outline-info-active-bg: #DDA0DD;
    --bs-btn-outline-info-active-border-color: #FFB6C1;
    --bs-btn-outline-info-focus-color: #FFFFFF;
    --bs-btn-outline-info-focus-bg: #DDA0DD;
    --bs-btn-outline-info-focus-border-color: #FFB6C1;
    --bs-btn-outline-info-focus-box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4);
    
    --bs-btn-outline-warning-color: #FFD700;
    --bs-btn-outline-warning-border-color: #FFD700;
    --bs-btn-outline-warning-hover-color: #2F4F4F;
    --bs-btn-outline-warning-hover-bg: #FFD700;
    --bs-btn-outline-warning-hover-border-color: #FFA500;
    --bs-btn-outline-warning-active-color: #2F4F4F;
    --bs-btn-outline-warning-active-bg: #FFD700;
    --bs-btn-outline-warning-active-border-color: #FFA500;
    --bs-btn-outline-warning-focus-color: #2F4F4F;
    --bs-btn-outline-warning-focus-bg: #FFD700;
    --bs-btn-outline-warning-focus-border-color: #FFA500;
    --bs-btn-outline-warning-focus-box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4);
    
    --bs-btn-outline-danger-color: #FF6B6B;
    --bs-btn-outline-danger-border-color: #FF6B6B;
    --bs-btn-outline-danger-hover-color: #FFFFFF;
    --bs-btn-outline-danger-hover-bg: #FF6B6B;
    --bs-btn-outline-danger-hover-border-color: #EE5A5A;
    --bs-btn-outline-danger-active-color: #FFFFFF;
    --bs-btn-outline-danger-active-bg: #FF6B6B;
    --bs-btn-outline-danger-active-border-color: #EE5A5A;
    --bs-btn-outline-danger-focus-color: #FFFFFF;
    --bs-btn-outline-danger-focus-bg: #FF6B6B;
    --bs-btn-outline-danger-focus-border-color: #EE5A5A;
    --bs-btn-outline-danger-focus-box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4);
    
    --bs-btn-dark-color: #FFFFFF;
    --bs-btn-dark-bg: linear-gradient(135deg, #2F4F4F, #4A6A6A);
    --bs-btn-dark-border-color: #2F4F4F;
    --bs-btn-dark-hover-color: #FFFFFF;
    --bs-btn-dark-hover-bg: linear-gradient(135deg, #4A6A6A, #2F4F4F);
    --bs-btn-dark-hover-border-color: #2F4F4F;
    --bs-btn-dark-active-color: #FFFFFF;
    --bs-btn-dark-active-bg: linear-gradient(135deg, #4A6A6A, #2F4F4F);
    --bs-btn-dark-active-border-color: #2F4F4F;
    --bs-btn-dark-focus-color: #FFFFFF;
    --bs-btn-dark-focus-bg: linear-gradient(135deg, #4A6A6A, #2F4F4F);
    --bs-btn-dark-focus-border-color: #2F4F4F;
    --bs-btn-dark-focus-box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4);
    
    --bs-btn-light-color: #2F4F4F;
    --bs-btn-light-bg: linear-gradient(135deg, #FFFFFF, #FFF8DC);
    --bs-btn-light-border-color: #FFB6C1;
    --bs-btn-light-hover-color: #2F4F4F;
    --bs-btn-light-hover-bg: linear-gradient(135deg, #FFF8DC, #FFFACD);
    --bs-btn-light-hover-border-color: #FFB6C1;
    --bs-btn-light-active-color: #2F4F4F;
    --bs-btn-light-active-bg: linear-gradient(135deg, #FFF8DC, #FFFACD);
    --bs-btn-light-active-border-color: #FFB6C1;
    --bs-btn-light-focus-color: #2F4F4F;
    --bs-btn-light-focus-bg: linear-gradient(135deg, #FFF8DC, #FFFACD);
    --bs-btn-light-focus-border-color: #FFB6C1;
    --bs-btn-light-focus-box-shadow: 0 0 0 0.3rem rgba(255, 182, 193, 0.3);
    
    --bs-btn-outline-dark-color: #2F4F4F;
    --bs-btn-outline-dark-border-color: #2F4F4F;
    --bs-btn-outline-dark-hover-color: #FFFFFF;
    --bs-btn-outline-dark-hover-bg: #2F4F4F;
    --bs-btn-outline-dark-hover-border-color: #2F4F4F;
    --bs-btn-outline-dark-active-color: #FFFFFF;
    --bs-btn-outline-dark-active-bg: #2F4F4F;
    --bs-btn-outline-dark-active-border-color: #2F4F4F;
    --bs-btn-outline-dark-focus-color: #FFFFFF;
    --bs-btn-outline-dark-focus-bg: #2F4F4F;
    --bs-btn-outline-dark-focus-border-color: #2F4F4F;
    --bs-btn-outline-dark-focus-box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4);
    
    --bs-btn-outline-light-color: #FFFFFF;
    --bs-btn-outline-light-border-color: #FFFFFF;
    --bs-btn-outline-light-hover-color: #2F4F4F;
    --bs-btn-outline-light-hover-bg: #FFFFFF;
    --bs-btn-outline-light-hover-border-color: #FFFFFF;
    --bs-btn-outline-light-active-color: #2F4F4F;
    --bs-btn-outline-light-active-bg: #FFFFFF;
    --bs-btn-outline-light-active-border-color: #FFFFFF;
    --bs-btn-outline-light-focus-color: #2F4F4F;
    --bs-btn-outline-light-focus-bg: #FFFFFF;
    --bs-btn-outline-light-focus-border-color: #FFFFFF;
    --bs-btn-outline-light-focus-box-shadow: 0 0 0 0.3rem rgba(255, 255, 255, 0.4);
    
    --bs-form-control-bg: #FFF8DC;
    --bs-form-control-border-color: #FFB6C1;
    --bs-form-control-focus-bg: #FFFFFF;
    --bs-form-control-focus-border-color: #FF7F50;
    --bs-form-control-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.2);
    --bs-form-control-disabled-bg: rgba(248, 249, 250, 1);
    
    --bs-form-select-bg: #FFF8DC;
    --bs-form-select-border-color: #FFB6C1;
    --bs-form-select-focus-bg: #FFFFFF;
    --bs-form-select-focus-border-color: #FF7F50;
    --bs-form-select-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.2);
    
    --bs-form-check-bg: #FFF8DC;
    --bs-form-check-border-color: #FFB6C1;
    --bs-form-check-input-checked-bg-color: #FF7F50;
    --bs-form-check-input-checked-border-color: #FFB6C1;
    --bs-form-check-input-focus-border-color: #FFB6C1;
    --bs-form-check-input-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.25);
    
    --bs-table-bg: #FFFFFF;
    --bs-table-border-color: rgba(255, 182, 193, 0.3);
    --bs-table-striped-bg: rgba(230, 230, 250, 0.5);
    --bs-table-striped-color: #4A4A4A;
    --bs-table-active-bg: #FFFACD;
    --bs-table-active-color: #2F4F4F;
    --bs-table-hover-bg: #FFFACD;
    --bs-table-hover-color: #2F4F4F;
    
    --bs-pagination-color: #FF7F50;
    --bs-pagination-bg: #FFFFFF;
    --bs-pagination-border-color: #FFB6C1;
    --bs-pagination-hover-color: #2F4F4F;
    --bs-pagination-hover-bg: #FFFACD;
    --bs-pagination-hover-border-color: #FFB6C1;
    --bs-pagination-active-color: #FFFFFF;
    --bs-pagination-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-pagination-active-border-color: #FFB6C1;
    --bs-pagination-focus-color: #2F4F4F;
    --bs-pagination-focus-bg: #FFFACD;
    --bs-pagination-focus-border-color: #FFB6C1;
    --bs-pagination-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.3);
    
    --bs-dropdown-bg: #FFFFFF;
    --bs-dropdown-border-color: #DDA0DD;
    --bs-dropdown-link-color: #4A4A4A;
    --bs-dropdown-link-hover-color: #2F4F4F;
    --bs-dropdown-link-hover-bg: #FFFACD;
    --bs-dropdown-link-active-color: #FFFFFF;
    --bs-dropdown-link-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: 600;
    --bs-nav-link-color: #FF7F50;
    --bs-nav-link-hover-color: #FF6347;
    --bs-nav-link-disabled-color: rgba(122, 122, 122, 0.5);
    --bs-nav-tabs-link-active-color: #FFFFFF;
    --bs-nav-tabs-link-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-nav-tabs-link-active-border-color: #FFB6C1;
    --bs-nav-tabs-border-color: #98FB98;
    --bs-nav-pills-link-active-color: #FFFFFF;
    --bs-nav-pills-link-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-underline-color: #FFB6C1;
    --bs-nav-underline-link-active-color: #FF7F50;
    
    --bs-modal-bg: #FFFFFF;
    --bs-modal-border-color: #DDA0DD;
    --bs-modal-header-border-color: #DDA0DD;
    --bs-modal-footer-border-color: #DDA0DD;
    
    --bs-progress-bg: #E6E6FA;
    --bs-progress-bar-bg: linear-gradient(90deg, #FF7F50, #FFB6C1);
    --bs-progress-bar-color: #FFFFFF;
    
    --bs-list-group-bg: #FFFFFF;
    --bs-list-group-border-color: #98FB98;
    --bs-list-group-action-color: #4A4A4A;
    --bs-list-group-action-hover-color: #2F4F4F;
    --bs-list-group-action-hover-bg: #E6E6FA;
    --bs-list-group-action-active-color: #FFFFFF;
    --bs-list-group-action-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-list-group-active-color: #FFFFFF;
    --bs-list-group-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-list-group-active-border-color: #FFB6C1;
    
    --bs-badge-color: #FFFFFF;
    --bs-badge-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
    --bs-badge-border-color: #FFB6C1;
    
    --bs-alert-bg: rgba(255, 182, 193, 0.3);
    --bs-alert-border-color: #FFB6C1;
    --bs-alert-color: #4A4A4A;
    
    --bs-alert-primary-bg: rgba(255, 182, 193, 0.3);
    --bs-alert-primary-border-color: #FFB6C1;
    --bs-alert-primary-color: #DC143C;
    
    --bs-alert-secondary-bg: rgba(221, 160, 221, 0.3);
    --bs-alert-secondary-border-color: #DDA0DD;
    --bs-alert-secondary-color: #4B0082;
    
    --bs-alert-success-bg: rgba(144, 238, 144, 0.3);
    --bs-alert-success-border-color: #90EE90;
    --bs-alert-success-color: #228B22;
    
    --bs-alert-info-bg: rgba(221, 160, 221, 0.3);
    --bs-alert-info-border-color: #DDA0DD;
    --bs-alert-info-color: #4B0082;
    
    --bs-alert-warning-bg: rgba(255, 215, 0, 0.3);
    --bs-alert-warning-border-color: #FFD700;
    --bs-alert-warning-color: #B8860B;
    
    --bs-alert-danger-bg: rgba(255, 107, 107, 0.3);
    --bs-alert-danger-border-color: #FF6B6B;
    --bs-alert-danger-color: #DC143C;
    
    --bs-toast-bg: #FFFFFF;
    --bs-toast-border-color: #DDA0DD;
    --bs-toast-header-bg: linear-gradient(135deg, #DDA0DD, #FFB6C1);
    --bs-toast-header-color: #FFFFFF;
    --bs-toast-header-border-color: #DDA0DD;
    --bs-toast-body-color: #4A4A4A;
    
    --bs-card-bg: #FFFFFF;
    --bs-card-border-color: #98FB98;
    --bs-card-cap-bg: linear-gradient(135deg, #98FB98, #90EE90);
    --bs-card-cap-color: #2F4F4F;
    
    --bs-body-color: #4A4A4A;
    --bs-body-bg: #FFFFFF;
    --bs-secondary-color: #7A7A7A;
    --bs-tertiary-color: rgba(122, 122, 122, 0.75);
    --bs-emphasis-color: #2F4F4F;
    
    --bs-link-color: #FF7F50;
    --bs-link-hover-color: #FF6347;
    
    --bs-focus-ring-color: rgba(255, 127, 80, 0.4);
    --bs-focus-ring-width: 3px;
    --bs-focus-ring-blur: 0;
    --bs-focus-ring-opacity: 0.4;
}

/* 全局背景设置 - Global Background */
body {
    background: linear-gradient(180deg, var(--cartoon-lavender) 0%, var(--cartoon-cream) 100%) !important;
    min-height: 100vh;
    color: var(--cartoon-text) !important;
    font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif !important;
}

body::before {
    display: none;
}

/* 侧边栏样式 - Sidebar */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 48px 0 0;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--cartoon-lavender) 100%) !important;
    border-right: 3px solid var(--cartoon-pink);
    box-shadow: 4px 0 20px var(--cartoon-shadow);
    border-radius: 0 20px 20px 0;
}

.sidebar-sticky {
    position: relative;
    top: 0;
    height: calc(100vh - 48px);
    padding-top: .5rem;
    overflow-x: hidden;
    overflow-y: auto;
}

/* 导航链接 - Navigation Links */
body .nav-link {
    color: var(--cartoon-dark) !important;
    transition: all 0.3s ease;
    border-radius: 15px;
    margin: 6px 12px;
    padding: 14px 20px;
    font-weight: 600;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.6);
    border: 2px solid transparent;
}

body .nav-link:hover {
    color: var(--cartoon-coral) !important;
    background: var(--cartoon-yellow) !important;
    transform: translateX(5px);
    border-color: var(--cartoon-pink);
    box-shadow: 0 4px 12px rgba(255, 182, 193, 0.3);
}

body .nav-link.active {
    color: #FFFFFF !important;
    font-weight: 700;
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border: 2px solid var(--cartoon-pink);
    box-shadow: 0 6px 16px rgba(255, 127, 80, 0.4);
    transform: translateX(3px);
}

body .nav-link i {
    margin-right: 10px;
    font-size: 1.1rem;
}

/* 用户信息卡片 - User Info Card */
.user-info {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    padding: 1.5rem;
    margin: 1rem;
    border-radius: 20px;
    border: 3px solid #FFFFFF;
    box-shadow: 0 8px 24px rgba(221, 160, 221, 0.4);
    text-shadow: none !important;
}

.user-info .fw-bold {
    color: #FFFFFF !important;
    font-size: 1.3rem;
    font-weight: 700;
}

.user-info small {
    color: rgba(255, 255, 255, 0.9) !important;
}

.points-badge {
    background: rgba(255, 255, 255, 0.3) !important;
    color: #FFFFFF !important;
    padding: 0.7rem 1.5rem;
    border-radius: 25px;
    display: inline-block;
    margin-top: 0.75rem;
    border: 2px solid rgba(255, 255, 255, 0.5);
    font-weight: 700;
    text-shadow: none !important;
}

/* 顶部导航栏 - Top Navbar */
.navbar {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border-bottom: 3px solid var(--cartoon-pink);
    box-shadow: 0 4px 16px rgba(255, 182, 193, 0.3);
}

.navbar-brand {
    color: #FFFFFF !important;
    font-weight: 800;
    font-size: 1.4rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

/* 主内容区域 - Main Content */
.main-content {
    background: #FFFFFF !important;
    border-radius: 25px;
    border: 3px solid var(--cartoon-pink);
    box-shadow: 0 8px 32px var(--cartoon-shadow);
    margin: 24px;
    padding: 32px;
    min-height: calc(100vh - 120px);
}

/* 卡片样式 - Card Styles */
.card {
    background: #FFFFFF !important;
    border: 3px solid var(--cartoon-mint);
    box-shadow: 0 6px 20px var(--cartoon-shadow);
    transition: all 0.3s ease;
    border-radius: 20px;
    overflow: hidden;
}

.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 32px rgba(152, 251, 152, 0.4);
    border-color: var(--cartoon-green);
}

.card-header {
    background: linear-gradient(135deg, var(--cartoon-mint) 0%, var(--cartoon-green) 100%) !important;
    border-bottom: 2px solid var(--cartoon-green);
    color: var(--cartoon-dark) !important;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 1.5rem;
}

.card-body {
    color: var(--cartoon-text) !important;
    padding: 1.5rem;
}

/* 模态框样式 - Modal Styles */
.modal-content {
    background: #FFFFFF !important;
    border: 3px solid var(--cartoon-purple);
    box-shadow: 0 12px 40px rgba(221, 160, 221, 0.3);
    border-radius: 25px;
}

.modal-header {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    border-bottom: 2px solid var(--cartoon-purple);
}

.modal-footer {
    background: var(--cartoon-lavender) !important;
    border-top: 2px solid var(--cartoon-purple);
}

.modal-title {
    color: #FFFFFF !important;
    font-weight: 700;
    text-shadow: none !important;
}

.modal-body {
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
}

/* 表单控件 - Form Controls */
.form-control, .form-select {
    background: var(--cartoon-cream) !important;
    border: 3px solid var(--cartoon-pink);
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
    transition: all 0.3s ease;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
}

.form-control:focus, .form-select:focus {
    background: #FFFFFF !important;
    border-color: var(--cartoon-coral);
    box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.2);
    color: var(--cartoon-text) !important;
    transform: translateY(-2px);
}

.form-control::placeholder,
.form-select::placeholder {
    color: var(--cartoon-light-text) !important;
}

.form-label {
    color: var(--cartoon-dark) !important;
    font-weight: 600;
    font-size: 1rem;
}

/* 按钮样式 - Button Styles */
body .btn {
    border: 3px solid;
    transition: all 0.3s ease;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
    border-radius: 15px;
    font-size: 1rem;
    box-shadow: none !important;
    outline: none !important;
}

body .btn:focus,
body .btn:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.3) !important;
}

body .btn.btn-primary {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
    text-shadow: none !important;
}

body .btn.btn-primary:hover {
    background: linear-gradient(135deg, #FF6347 0%, var(--cartoon-coral) 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 127, 80, 0.4) !important;
    border-color: var(--cartoon-coral) !important;
}

body .btn.btn-primary:focus,
body .btn.btn-primary:focus-visible,
body .btn.btn-primary:active,
body .btn.btn-primary.active {
    background: linear-gradient(135deg, #FF6347 0%, var(--cartoon-coral) 100%) !important;
    border-color: var(--cartoon-coral) !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4) !important;
    color: #FFFFFF !important;
}

body .btn.btn-secondary {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-purple) !important;
}

body .btn.btn-secondary:hover {
    background: linear-gradient(135deg, #BA55D3 0%, var(--cartoon-purple) 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(221, 160, 221, 0.4) !important;
}

body .btn.btn-secondary:focus,
body .btn.btn-secondary:focus-visible,
body .btn.btn-secondary:active,
body .btn.btn-secondary.active {
    background: linear-gradient(135deg, #BA55D3 0%, var(--cartoon-purple) 100%) !important;
    border-color: var(--cartoon-purple) !important;
    box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
    color: #FFFFFF !important;
}

body .btn.btn-success {
    background: linear-gradient(135deg, var(--cartoon-green) 0%, #32CD32 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-green) !important;
}

body .btn.btn-success:hover {
    background: linear-gradient(135deg, #32CD32 0%, #228B22 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(144, 238, 144, 0.4) !important;
}

body .btn.btn-success:focus,
body .btn.btn-success:focus-visible,
body .btn.btn-success:active,
body .btn.btn-success.active {
    background: linear-gradient(135deg, #32CD32 0%, #228B22 100%) !important;
    border-color: var(--cartoon-green) !important;
    box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4) !important;
    color: #FFFFFF !important;
}

body .btn.btn-danger {
    background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
    color: #FFFFFF !important;
    border-color: #FF6B6B !important;
}

body .btn.btn-danger:hover {
    background: linear-gradient(135deg, #EE5A5A 0%, #DC143C 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4) !important;
}

body .btn.btn-danger:focus,
body .btn.btn-danger:focus-visible,
body .btn.btn-danger:active,
body .btn.btn-danger.active {
    background: linear-gradient(135deg, #EE5A5A 0%, #DC143C 100%) !important;
    border-color: #FF6B6B !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4) !important;
    color: #FFFFFF !important;
}

body .btn.btn-warning {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    color: var(--cartoon-dark) !important;
    border-color: #FFD700 !important;
}

body .btn.btn-warning:hover {
    background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4) !important;
}

body .btn.btn-warning:focus,
body .btn.btn-warning:focus-visible,
body .btn.btn-warning:active,
body .btn.btn-warning.active {
    background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
    border-color: #FFD700 !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4) !important;
    color: var(--cartoon-dark) !important;
}

body .btn.btn-info {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-purple) !important;
}

body .btn.btn-info:hover {
    background: linear-gradient(135deg, #BA55D3 0%, var(--cartoon-purple) 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(221, 160, 221, 0.4) !important;
}

body .btn.btn-info:focus,
body .btn.btn-info:focus-visible,
body .btn.btn-info:active,
body .btn.btn-info.active {
    background: linear-gradient(135deg, #BA55D3 0%, var(--cartoon-purple) 100%) !important;
    border-color: var(--cartoon-purple) !important;
    box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
    color: #FFFFFF !important;
}

/* 轮廓按钮样式 */
body .btn.btn-outline-primary {
    color: var(--cartoon-coral) !important;
    border-color: var(--cartoon-coral) !important;
    background: transparent !important;
}

body .btn.btn-outline-primary:hover {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
}

body .btn.btn-outline-primary:focus,
body .btn.btn-outline-primary:focus-visible,
body .btn.btn-outline-primary:active,
body .btn.btn-outline-primary.active {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4) !important;
}

body .btn.btn-outline-secondary {
    color: var(--cartoon-purple) !important;
    border-color: var(--cartoon-purple) !important;
    background: transparent !important;
}

body .btn.btn-outline-secondary:hover {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
}

body .btn.btn-outline-secondary:focus,
body .btn.btn-outline-secondary:focus-visible,
body .btn.btn-outline-secondary:active,
body .btn.btn-outline-secondary.active {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
    box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
}

body .btn.btn-outline-success {
    color: var(--cartoon-green) !important;
    border-color: var(--cartoon-green) !important;
    background: transparent !important;
}

body .btn.btn-outline-success:hover {
    background: linear-gradient(135deg, var(--cartoon-green) 0%, #32CD32 100%) !important;
    color: #FFFFFF !important;
    border-color: #32CD32 !important;
}

body .btn.btn-outline-success:focus,
body .btn.btn-outline-success:focus-visible,
body .btn.btn-outline-success:active,
body .btn.btn-outline-success.active {
    background: linear-gradient(135deg, var(--cartoon-green) 0%, #32CD32 100%) !important;
    color: #FFFFFF !important;
    border-color: #32CD32 !important;
    box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4) !important;
}

body .btn.btn-outline-info {
    color: var(--cartoon-purple) !important;
    border-color: var(--cartoon-purple) !important;
    background: transparent !important;
}

body .btn.btn-outline-info:hover {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
}

body .btn.btn-outline-info:focus,
body .btn.btn-outline-info:focus-visible,
body .btn.btn-outline-info:active,
body .btn.btn-outline-info.active {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
    box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
}

body .btn.btn-outline-warning {
    color: #FFD700 !important;
    border-color: #FFD700 !important;
    background: transparent !important;
}

body .btn.btn-outline-warning:hover {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    color: var(--cartoon-dark) !important;
    border-color: #FFA500 !important;
}

body .btn.btn-outline-warning:focus,
body .btn.btn-outline-warning:focus-visible,
body .btn.btn-outline-warning:active,
body .btn.btn-outline-warning.active {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    color: var(--cartoon-dark) !important;
    border-color: #FFA500 !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4) !important;
}

body .btn.btn-outline-danger {
    color: #FF6B6B !important;
    border-color: #FF6B6B !important;
    background: transparent !important;
}

body .btn.btn-outline-danger:hover {
    background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
    color: #FFFFFF !important;
    border-color: #EE5A5A !important;
}

body .btn.btn-outline-danger:focus,
body .btn.btn-outline-danger:focus-visible,
body .btn.btn-outline-danger:active,
body .btn.btn-outline-danger.active {
    background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
    color: #FFFFFF !important;
    border-color: #EE5A5A !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4) !important;
}

body .btn.btn-outline-dark {
    color: #2F4F4F !important;
    border-color: #2F4F4F !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

body .btn.btn-outline-dark:hover {
    background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
    color: #FFFFFF !important;
    border-color: #2F4F4F !important;
}

body .btn.btn-outline-dark:focus,
body .btn.btn-outline-dark:focus-visible,
body .btn.btn-outline-dark:active,
body .btn.btn-outline-dark.active {
    background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
    color: #FFFFFF !important;
    border-color: #2F4F4F !important;
    box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4) !important;
}

body .btn.btn-outline-light {
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

body .btn.btn-outline-light:hover {
    background: linear-gradient(135deg, #FFFFFF 0%, #F0F0F0 100%) !important;
    color: #2F4F4F !important;
    border-color: #FFFFFF !important;
}

body .btn.btn-outline-light:focus,
body .btn.btn-outline-light:focus-visible,
body .btn.btn-outline-light:active,
body .btn.btn-outline-light.active {
    background: linear-gradient(135deg, #FFFFFF 0%, #F0F0F0 100%) !important;
    color: #2F4F4F !important;
    border-color: #FFFFFF !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 255, 255, 0.4) !important;
}

body .btn.btn-dark {
    background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
    color: #FFFFFF !important;
    border-color: #2F4F4F !important;
    box-shadow: none !important;
    outline: none !important;
}

body .btn.btn-dark:hover {
    background: linear-gradient(135deg, #4A6A6A 0%, #2F4F4F 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(47, 79, 79, 0.4) !important;
}

body .btn.btn-dark:focus,
body .btn.btn-dark:focus-visible,
body .btn.btn-dark:active,
body .btn.btn-dark.active {
    background: linear-gradient(135deg, #4A6A6A 0%, #2F4F4F 100%) !important;
    border-color: #2F4F4F !important;
    box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4) !important;
    color: #FFFFFF !important;
    outline: none !important;
}

body .btn.btn-light {
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF8DC 100%) !important;
    color: #2F4F4F !important;
    border-color: #FFB6C1 !important;
    box-shadow: none !important;
    outline: none !important;
}

body .btn.btn-light:hover {
    background: linear-gradient(135deg, #FFF8DC 0%, #FFFACD 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3) !important;
}

body .btn.btn-light:focus,
body .btn.btn-light:focus-visible,
body .btn.btn-light:active,
body .btn.btn-light.active {
    background: linear-gradient(135deg, #FFF8DC 0%, #FFFACD 100%) !important;
    border-color: #FFB6C1 !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 182, 193, 0.3) !important;
    color: #2F4F4F !important;
    outline: none !important;
}

/* 背景色类 */
.bg-primary {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
}

.bg-secondary {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
}

.bg-success {
    background: linear-gradient(135deg, var(--cartoon-green) 0%, #32CD32 100%) !important;
}

.bg-info {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
}

.bg-warning {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
}

.bg-danger {
    background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
}

.bg-light {
    background: var(--cartoon-lavender) !important;
}

/* 背景透明度类 */
.bg-opacity-10 {
    opacity: 0.1;
}

/* 组合背景透明度类 */
.bg-primary.bg-opacity-10 {
    background: rgba(255, 127, 80, 0.15) !important;
    opacity: 1 !important;
}

.bg-success.bg-opacity-10 {
    background: rgba(144, 238, 144, 0.2) !important;
    opacity: 1 !important;
}

.bg-info.bg-opacity-10 {
    background: rgba(221, 160, 221, 0.2) !important;
    opacity: 1 !important;
}

.bg-warning.bg-opacity-10 {
    background: rgba(255, 215, 0, 0.2) !important;
    opacity: 1 !important;
}

.bg-danger.bg-opacity-10 {
    background: rgba(255, 107, 107, 0.2) !important;
    opacity: 1 !important;
}

/* 警告框样式 - Alert Styles */
.alert {
    border: 3px solid;
    border-radius: 15px;
    text-shadow: none !important;
    padding: 1rem 1.5rem;
    font-weight: 500;
}

.alert-success {
    background: linear-gradient(135deg, rgba(144, 238, 144, 0.3) 0%, rgba(152, 251, 152, 0.5) 100%) !important;
    border-color: var(--cartoon-green);
    color: #228B22 !important;
}

.alert-danger {
    background: linear-gradient(135deg, rgba(255, 107, 107, 0.3) 0%, rgba(255, 182, 193, 0.5) 100%) !important;
    border-color: #FF6B6B;
    color: #DC143C !important;
}

.alert-warning {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.3) 0%, rgba(255, 250, 205, 0.5) 100%) !important;
    border-color: #FFD700;
    color: #B8860B !important;
}

.alert-info {
    background: linear-gradient(135deg, rgba(221, 160, 221, 0.3) 0%, rgba(255, 182, 193, 0.5) 100%) !important;
    border-color: var(--cartoon-purple);
    color: #4B0082 !important;
}

/* 表格样式 - Table Styles */
.table {
    background: #FFFFFF !important;
    color: var(--cartoon-text) !important;
    border-radius: 15px;
    overflow: hidden;
    border: 3px solid var(--cartoon-pink);
}

.table th {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border-color: var(--cartoon-pink);
    color: #FFFFFF !important;
    font-weight: 700;
    text-shadow: none !important;
    padding: 1rem;
    font-size: 0.95rem;
}

.table td {
    background: #FFFFFF !important;
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
    border-color: rgba(255, 182, 193, 0.3);
    padding: 0.9rem;
}

.table-striped tbody tr:nth-of-type(odd) {
    background: var(--cartoon-lavender) !important;
}

.table-hover tbody tr:hover {
    background: var(--cartoon-yellow) !important;
}

/* 徽章样式 - Badge Styles */
.badge {
    text-shadow: none !important;
    font-weight: 600;
    padding: 0.5em 1em;
    border-radius: 20px;
    font-size: 0.8rem;
    border: 2px solid;
}

.badge-primary {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink);
}

.badge-success {
    background: linear-gradient(135deg, var(--cartoon-green) 0%, #32CD32 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-green);
}

.badge-danger {
    background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
    color: #FFFFFF !important;
    border-color: #FF6B6B;
}

.badge-warning {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    color: var(--cartoon-dark) !important;
    border-color: #FFD700;
}

.badge-info {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-purple);
}

/* 文本颜色 - Text Colors */
.text-muted {
    color: var(--cartoon-light-text) !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--cartoon-dark) !important;
    font-weight: 700;
    text-shadow: none !important;
}

/* 全局文字颜色 - Global Text Color */
body, p, span, div, label, small, strong, em, b {
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
}

/* 链接颜色 - Link Colors */
a {
    color: var(--cartoon-coral) !important;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: 500;
}

a:hover {
    color: #FF6347 !important;
    text-decoration: underline;
}

.nav-link.text-danger {
    color: #FF6B6B !important;
}

.nav-link.text-danger:hover {
    color: #DC143C !important;
}

/* 列表文字 - List Text */
ul, ol, li {
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
}

/* 图标颜色 - Icon Colors */
.fas, .fa {
    color: inherit !important;
}

/* 特殊边框样式 - Special Border Styles */
.border-left-primary {
    border-left: 0.35rem solid var(--cartoon-coral) !important;
}

.border-left-success {
    border-left: 0.35rem solid var(--cartoon-green) !important;
}

.border-left-info {
    border-left: 0.35rem solid var(--cartoon-purple) !important;
}

.border-left-warning {
    border-left: 0.35rem solid #FFD700 !important;
}

/* 文本颜色类 - Text Color Classes */
.text-gray-800 {
    color: var(--cartoon-dark) !important;
}

.text-gray-300 {
    color: var(--cartoon-light-text) !important;
}

.text-xs {
    color: var(--cartoon-light-text) !important;
    font-size: 0.875rem;
}

.font-weight-bold {
    color: var(--cartoon-dark) !important;
    font-weight: 700 !important;
}

body .text-primary {
    color: var(--cartoon-coral) !important;
}

body .text-success {
    color: var(--cartoon-green) !important;
}

body .text-warning {
    color: #FFD700 !important;
}

body .text-info {
    color: var(--cartoon-purple) !important;
}

body .text-danger {
    color: #FF6B6B !important;
}

body .text-secondary {
    color: var(--cartoon-purple) !important;
}

body .text-muted {
    color: #9CA3AF !important;
}

body .text-dark {
    color: var(--cartoon-dark) !important;
}

body .text-light {
    color: #FFFFFF !important;
}

/* 列表组样式 - List Group Styles */
.list-group-item {
    background: #FFFFFF !important;
    border: 2px solid var(--cartoon-mint);
    color: var(--cartoon-text) !important;
    text-shadow: none !important;
    border-radius: 12px !important;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.list-group-item:hover {
    background: var(--cartoon-lavender) !important;
    transform: translateX(5px);
}

/* 分页样式 - Pagination */
.pagination .page-link {
    color: var(--cartoon-coral) !important;
    background: #FFFFFF;
    border: 2px solid var(--cartoon-pink);
    border-radius: 10px;
    margin: 0 3px;
    transition: all 0.3s ease;
}

.pagination .page-link:hover {
    background: var(--cartoon-yellow);
    color: var(--cartoon-dark) !important;
    transform: translateY(-2px);
}

.pagination .page-item.active .page-link {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink);
}

/* 面包屑导航 - Breadcrumb */
.breadcrumb {
    background: var(--cartoon-lavender) !important;
    color: var(--cartoon-text) !important;
    border-radius: 12px;
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--cartoon-purple);
}

.breadcrumb-item a {
    color: var(--cartoon-coral) !important;
}

/* Toast通知样式 - Toast Notification */
.toast {
    background: #FFFFFF !important;
    border: 3px solid var(--cartoon-purple);
    box-shadow: 0 8px 24px rgba(221, 160, 221, 0.3);
    border-radius: 15px;
}

.toast-header {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-bottom: 2px solid var(--cartoon-purple);
}

.toast-body {
    color: var(--cartoon-text) !important;
}

/* 进度条 - Progress Bar */
.progress {
    background: var(--cartoon-lavender) !important;
    border-radius: 10px;
    height: 10px;
    border: 2px solid var(--cartoon-pink);
}

.progress-bar {
    background: linear-gradient(90deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border-radius: 8px;
}

/* 下拉菜单 - Dropdown */
.dropdown-menu {
    background: #FFFFFF !important;
    border: 3px solid var(--cartoon-purple);
    box-shadow: 0 8px 24px rgba(221, 160, 221, 0.3);
    border-radius: 15px;
}

.dropdown-item {
    color: var(--cartoon-text) !important;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    margin: 3px 8px;
}

.dropdown-item:hover {
    background: var(--cartoon-yellow) !important;
    color: var(--cartoon-dark) !important;
}

/* 侧边栏标题 - Sidebar Heading */
.sidebar-heading {
    color: var(--cartoon-coral) !important;
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 1rem 1.25rem;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease;
}

.sidebar-heading:hover {
    color: #FF6347 !important;
    text-shadow: 0 2px 4px rgba(255, 127, 80, 0.2);
}

/* 输入组 - Input Group */
.input-group-text {
    background: linear-gradient(135deg, var(--cartoon-purple) 0%, var(--cartoon-pink) 100%) !important;
    border: 3px solid var(--cartoon-purple);
    color: #FFFFFF !important;
    border-radius: 12px 0 0 12px;
    font-weight: 600;
}

/* 自定义选择框 - Custom Select */
.custom-select {
    background: var(--cartoon-cream) !important;
    border: 3px solid var(--cartoon-pink);
    color: var(--cartoon-text) !important;
    border-radius: 12px;
}

/* 响应式调整 - Responsive Adjustments */
@media (max-width: 768px) {
    .sidebar {
        background: linear-gradient(180deg, #FFFFFF 0%, var(--cartoon-lavender) 100%) !important;
        border-right: none;
        border-bottom: 3px solid var(--cartoon-pink);
        border-radius: 0 0 20px 20px;
    }
    
    .main-content {
        margin: 12px;
        padding: 20px;
        border-radius: 20px;
    }
    
    .nav-link {
        padding: 12px 16px;
    }
}

/* 打印样式 - Print Styles */
@media print {
    body {
        background: #ffffff !important;
    }
    
    .sidebar, .navbar, .btn {
        display: none;
    }
    
    .main-content {
        margin: 0;
        padding: 0;
        border: none;
        box-shadow: none;
    }
}

/* 滚动条样式 */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--cartoon-lavender);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--cartoon-pink) 0%, var(--cartoon-purple) 100%);
    border-radius: 10px;
    border: 2px solid var(--cartoon-lavender);
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%);
}

/* 文本选中样式 */
::selection {
    background: var(--cartoon-pink);
    color: var(--cartoon-dark);
}

::-moz-selection {
    background: var(--cartoon-pink);
    color: var(--cartoon-dark);
}

/* 复选框和单选框选中样式 */
.form-check-input:checked {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border-color: var(--cartoon-pink) !important;
}

.form-check-input:focus {
    border-color: var(--cartoon-pink) !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.25) !important;
}

/* 表格活动行样式 */
.table-active,
.table-active > th,
.table-active > td {
    background: var(--cartoon-yellow) !important;
    color: var(--cartoon-dark) !important;
}

.table-striped tbody tr:nth-of-type(odd).table-active,
.table-striped tbody tr:nth-of-type(odd).table-active > th,
.table-striped tbody tr:nth-of-type(odd).table-active > td {
    background: var(--cartoon-yellow) !important;
}

/* 下拉菜单选中项 */
.dropdown-item.active,
.dropdown-item:active {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
}

/* 列表组活动项 */
.list-group-item.active {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    border-color: var(--cartoon-pink) !important;
    color: #FFFFFF !important;
}

/* 选项卡活动项 */
body .nav-link.active,
body .nav-tabs .nav-link.active {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
}

/* 按钮激活状态 */
body .btn:active,
body .btn.active {
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(255, 127, 80, 0.3) !important;
}

/* 分页活动项 */
body .page-item.active .page-link {
    background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
    color: #FFFFFF !important;
    border-color: var(--cartoon-pink) !important;
}:root {
            --cartoon-pink: #FFB6C1;
            --cartoon-blue: #87CEEB;
            --cartoon-mint: #98FB98;
            --cartoon-yellow: #FFFACD;
            --cartoon-purple: #DDA0DD;
            --cartoon-coral: #FF7F50;
            --cartoon-green: #90EE90;
            --cartoon-dark: #2F4F4F;
            --cartoon-text: #4A4A4A;
            --cartoon-lavender: #E6E6FA;
            
            --bs-primary: #FF7F50;
            --bs-primary-rgb: 255, 127, 80;
            --bs-btn-primary-color: #FFFFFF;
            --bs-btn-primary-bg: #FF7F50;
            --bs-btn-primary-border-color: #FFB6C1;
            --bs-btn-primary-hover-color: #FFFFFF;
            --bs-btn-primary-hover-bg: #FF6347;
            --bs-btn-primary-hover-border-color: #FF7F50;
            --bs-btn-primary-active-color: #FFFFFF;
            --bs-btn-primary-active-bg: #FF6347;
            --bs-btn-primary-active-border-color: #FF7F50;
            --bs-btn-primary-focus-color: #FFFFFF;
            --bs-btn-primary-focus-bg: #FF6347;
            --bs-btn-primary-focus-border-color: #FF7F50;
            --bs-btn-primary-focus-box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4);
            
            --bs-nav-link-color: #FF7F50;
            --bs-nav-link-hover-color: #FF6347;
            --bs-nav-link-disabled-color: rgba(122, 122, 122, 0.5);
            --bs-nav-tabs-link-active-color: #FFFFFF;
            --bs-nav-tabs-link-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
            --bs-nav-tabs-link-active-border-color: #FFB6C1;
            --bs-nav-pills-link-active-color: #FFFFFF;
            --bs-nav-pills-link-active-bg: linear-gradient(135deg, #FF7F50, #FFB6C1);
            --bs-link-color: #FF7F50;
            --bs-link-hover-color: #FF6347;
        }

        body {
            background: linear-gradient(180deg, var(--cartoon-lavender) 0%, var(--cartoon-yellow) 100%) !important;
            font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif !important;
        }

        body .btn.btn-primary {
            background: linear-gradient(135deg, #FF7F50 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
            box-shadow: none !important;
            outline: none !important;
            text-shadow: none !important;
        }

        body .btn.btn-primary:hover {
            background: linear-gradient(135deg, #FF6347 0%, #FF7F50 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(255, 127, 80, 0.4) !important;
            border-color: #FF7F50 !important;
        }

        body .btn.btn-primary:focus,
        body .btn.btn-primary:active,
        body .btn.btn-primary.active {
            background: linear-gradient(135deg, #FF6347 0%, #FF7F50 100%) !important;
            border-color: #FF7F50 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-outline-primary {
            color: #FF7F50 !important;
            border-color: #FF7F50 !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-primary:hover {
            background: linear-gradient(135deg, #FF7F50 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
        }

        body .btn.btn-outline-primary:focus,
        body .btn.btn-outline-primary:active,
        body .btn.btn-outline-primary.active {
            background: linear-gradient(135deg, #FF7F50 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-secondary {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #DDA0DD !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-secondary:hover {
            background: linear-gradient(135deg, #BA55D3 0%, #DDA0DD 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(221, 160, 221, 0.4) !important;
        }

        body .btn.btn-secondary:focus,
        body .btn.btn-secondary:active,
        body .btn.btn-secondary.active {
            background: linear-gradient(135deg, #BA55D3 0%, #DDA0DD 100%) !important;
            border-color: #DDA0DD !important;
            box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-success {
            background: linear-gradient(135deg, #90EE90 0%, #32CD32 100%) !important;
            color: #FFFFFF !important;
            border-color: #90EE90 !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-success:hover {
            background: linear-gradient(135deg, #32CD32 0%, #228B22 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(144, 238, 144, 0.4) !important;
        }

        body .btn.btn-success:focus,
        body .btn.btn-success:active,
        body .btn.btn-success.active {
            background: linear-gradient(135deg, #32CD32 0%, #228B22 100%) !important;
            border-color: #90EE90 !important;
            box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-info {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #DDA0DD !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-info:hover {
            background: linear-gradient(135deg, #BA55D3 0%, #DDA0DD 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(221, 160, 221, 0.4) !important;
        }

        body .btn.btn-info:focus,
        body .btn.btn-info:active,
        body .btn.btn-info.active {
            background: linear-gradient(135deg, #BA55D3 0%, #DDA0DD 100%) !important;
            border-color: #DDA0DD !important;
            box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-warning {
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFD700 !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-warning:hover {
            background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4) !important;
        }

        body .btn.btn-warning:focus,
        body .btn.btn-warning:active,
        body .btn.btn-warning.active {
            background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
            border-color: #FFD700 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4) !important;
            color: #2F4F4F !important;
            outline: none !important;
        }

        body .btn.btn-danger {
            background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
            color: #FFFFFF !important;
            border-color: #FF6B6B !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-danger:hover {
            background: linear-gradient(135deg, #EE5A5A 0%, #DC143C 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4) !important;
        }

        body .btn.btn-danger:focus,
        body .btn.btn-danger:active,
        body .btn.btn-danger.active {
            background: linear-gradient(135deg, #EE5A5A 0%, #DC143C 100%) !important;
            border-color: #FF6B6B !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-outline-primary {
            color: #FF7F50 !important;
            border-color: #FF7F50 !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-primary:hover {
            background: linear-gradient(135deg, #FF7F50 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
        }

        body .btn.btn-outline-primary:focus,
        body .btn.btn-outline-primary:active,
        body .btn.btn-outline-primary.active {
            background: linear-gradient(135deg, #FF7F50 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 127, 80, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-secondary {
            color: #DDA0DD !important;
            border-color: #DDA0DD !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-secondary:hover {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
        }

        body .btn.btn-outline-secondary:focus,
        body .btn.btn-outline-secondary:active,
        body .btn.btn-outline-secondary.active {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
            box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-success {
            color: #90EE90 !important;
            border-color: #90EE90 !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-success:hover {
            background: linear-gradient(135deg, #90EE90 0%, #32CD32 100%) !important;
            color: #FFFFFF !important;
            border-color: #32CD32 !important;
        }

        body .btn.btn-outline-success:focus,
        body .btn.btn-outline-success:active,
        body .btn.btn-outline-success.active {
            background: linear-gradient(135deg, #90EE90 0%, #32CD32 100%) !important;
            color: #FFFFFF !important;
            border-color: #32CD32 !important;
            box-shadow: 0 0 0 0.3rem rgba(144, 238, 144, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-info {
            color: #DDA0DD !important;
            border-color: #DDA0DD !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-info:hover {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
        }

        body .btn.btn-outline-info:focus,
        body .btn.btn-outline-info:active,
        body .btn.btn-outline-info.active {
            background: linear-gradient(135deg, #DDA0DD 0%, #FFB6C1 100%) !important;
            color: #FFFFFF !important;
            border-color: #FFB6C1 !important;
            box-shadow: 0 0 0 0.3rem rgba(221, 160, 221, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-warning {
            color: #FFD700 !important;
            border-color: #FFD700 !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-warning:hover {
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFA500 !important;
        }

        body .btn.btn-outline-warning:focus,
        body .btn.btn-outline-warning:active,
        body .btn.btn-outline-warning.active {
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFA500 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-danger {
            color: #FF6B6B !important;
            border-color: #FF6B6B !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-danger:hover {
            background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
            color: #FFFFFF !important;
            border-color: #EE5A5A !important;
        }

        body .btn.btn-outline-danger:focus,
        body .btn.btn-outline-danger:active,
        body .btn.btn-outline-danger.active {
            background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%) !important;
            color: #FFFFFF !important;
            border-color: #EE5A5A !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 107, 107, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-dark {
            color: #2F4F4F !important;
            border-color: #2F4F4F !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-dark:hover {
            background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
            color: #FFFFFF !important;
            border-color: #2F4F4F !important;
        }

        body .btn.btn-outline-dark:focus,
        body .btn.btn-outline-dark:active,
        body .btn.btn-outline-dark.active {
            background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
            color: #FFFFFF !important;
            border-color: #2F4F4F !important;
            box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-outline-light {
            color: #FFFFFF !important;
            border-color: #FFFFFF !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-outline-light:hover {
            background: linear-gradient(135deg, #FFFFFF 0%, #F0F0F0 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFFFFF !important;
        }

        body .btn.btn-outline-light:focus,
        body .btn.btn-outline-light:active,
        body .btn.btn-outline-light.active {
            background: linear-gradient(135deg, #FFFFFF 0%, #F0F0F0 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFFFFF !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 255, 255, 0.4) !important;
            outline: none !important;
        }

        body .btn.btn-dark {
            background: linear-gradient(135deg, #2F4F4F 0%, #4A6A6A 100%) !important;
            color: #FFFFFF !important;
            border-color: #2F4F4F !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-dark:hover {
            background: linear-gradient(135deg, #4A6A6A 0%, #2F4F4F 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(47, 79, 79, 0.4) !important;
        }

        body .btn.btn-dark:focus,
        body .btn.btn-dark:active,
        body .btn.btn-dark.active {
            background: linear-gradient(135deg, #4A6A6A 0%, #2F4F4F 100%) !important;
            border-color: #2F4F4F !important;
            box-shadow: 0 0 0 0.3rem rgba(47, 79, 79, 0.4) !important;
            color: #FFFFFF !important;
            outline: none !important;
        }

        body .btn.btn-light {
            background: linear-gradient(135deg, #FFFFFF 0%, #FFF8DC 100%) !important;
            color: #2F4F4F !important;
            border-color: #FFB6C1 !important;
            box-shadow: none !important;
            outline: none !important;
        }

        body .btn.btn-light:hover {
            background: linear-gradient(135deg, #FFF8DC 0%, #FFFACD 100%) !important;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3) !important;
        }

        body .btn.btn-light:focus,
        body .btn.btn-light:active,
        body .btn.btn-light.active {
            background: linear-gradient(135deg, #FFF8DC 0%, #FFFACD 100%) !important;
            border-color: #FFB6C1 !important;
            box-shadow: 0 0 0 0.3rem rgba(255, 182, 193, 0.3) !important;
            color: #2F4F4F !important;
            outline: none !important;
        }

        .sidebar {
            position: fixed;
            top: 0;
            bottom: 0;
            left: 0;
            z-index: 100;
            padding: 48px 0 0;
            background: linear-gradient(180deg, #FFFFFF 0%, var(--cartoon-lavender) 100%) !important;
            border-right: 3px solid var(--cartoon-pink);
            box-shadow: 4px 0 20px rgba(255, 182, 193, 0.2);
            border-radius: 0 20px 20px 0;
        }

        .sidebar-sticky {
            position: relative;
            top: 0;
            height: calc(100vh - 48px);
            padding-top: .5rem;
            overflow-x: hidden;
            overflow-y: auto;
        }

        .sidebar-sticky::-webkit-scrollbar {
            width: 10px;
        }

        .sidebar-sticky::-webkit-scrollbar-track {
            background: var(--cartoon-lavender);
            border-radius: 10px;
        }

        .sidebar-sticky::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, var(--cartoon-pink) 0%, var(--cartoon-purple) 100%);
            border-radius: 10px;
            border: 2px solid var(--cartoon-lavender);
        }

        .sidebar-sticky::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%);
        }

        .navbar {
            background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
            box-shadow: 0 4px 16px rgba(255, 182, 193, 0.3);
            border-bottom: 3px solid var(--cartoon-pink);
        }

        .navbar-brand {
            padding-top: .75rem;
            padding-bottom: .75rem;
            font-size: 1.1rem;
            color: #FFFFFF !important;
            font-weight: 800;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .navbar .navbar-toggler {
            top: .25rem;
            right: 1rem;
            border-color: rgba(255, 255, 255, 0.5);
        }

        body #sidebarMenu.nav .nav-link,
        body #sidebarMenu .nav-link {
            font-weight: 600 !important;
            color: var(--cartoon-dark) !important;
            padding: 14px 20px !important;
            border-radius: 15px !important;
            margin: 6px 12px !important;
            transition: all 0.3s ease !important;
            background: rgba(255, 255, 255, 0.6) !important;
            border: 2px solid transparent !important;
            font-size: 1rem !important;
        }

        body #sidebarMenu.nav .nav-link:hover,
        body #sidebarMenu .nav-link:hover {
            color: var(--cartoon-coral) !important;
            background: var(--cartoon-yellow) !important;
            transform: translateX(5px) !important;
            border-color: var(--cartoon-pink) !important;
            box-shadow: 0 4px 12px rgba(255, 182, 193, 0.3) !important;
        }

        body #sidebarMenu.nav .nav-link.active,
        body #sidebarMenu .nav-link.active {
            color: #FFFFFF !important;
            background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
            font-weight: 700 !important;
            border-color: var(--cartoon-pink) !important;
            box-shadow: 0 6px 16px rgba(255, 127, 80, 0.4) !important;
            transform: translateX(3px) !important;
        }

        body .sidebar .nav-link i {
            margin-right: 10px;
            font-size: 1.1rem;
        }

        body .sidebar-heading {
            font-size: 0.95rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 800;
            color: var(--cartoon-coral);
            padding: 1rem 1.25rem;
            cursor: pointer;
            user-select: none;
            transition: all 0.3s ease;
        }

        body .sidebar-heading:hover {
            color: #FF6347;
        }

        body .sidebar-heading .collapse-icon {
            float: right;
            transition: transform 0.3s ease;
        }

        body .sidebar-heading.collapsed .collapse-icon {
            transform: rotate(-90deg);
        }

        .menu-group {
            overflow: hidden;
            max-height: 1000px;
            transition: max-height 0.3s ease, opacity 0.3s ease;
            opacity: 1;
        }

        .menu-group.collapsed {
            max-height: 0;
            opacity: 0;
        }

        main {
            padding-top: 48px;
        }

        @media (min-width: 768px) {
            main {
                padding-left: 240px;
            }
        }

        @media (max-width: 767.98px) {
            .sidebar {
                top: 48px;
                padding-top: 0;
                border-right: none;
                border-bottom: 3px solid var(--cartoon-pink);
                border-radius: 0 0 20px 20px;
            }

            main {
                padding-top: 48px;
                padding-left: 0;
            }
        }

        .card {
            border: 3px solid var(--cartoon-mint);
            box-shadow: 0 6px 20px rgba(152, 251, 152, 0.2);
            transition: all 0.3s ease;
            border-radius: 20px;
            overflow: hidden;
        }

        .card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 32px rgba(152, 251, 152, 0.4);
            border-color: var(--cartoon-green);
        }

        .table {
            color: var(--cartoon-text);
            background: #FFFFFF;
            border-radius: 15px;
            overflow: hidden;
            border: 3px solid var(--cartoon-pink);
        }

        .table th {
            background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%);
            color: #FFFFFF;
            font-weight: 700;
            border-color: var(--cartoon-pink);
        }

        .table td {
            border-color: rgba(255, 182, 193, 0.3);
        }

        .border-left-primary {
            border-left: 0.35rem solid var(--cartoon-coral) !important;
        }

        .border-left-success {
            border-left: 0.35rem solid var(--cartoon-green) !important;
        }

        .border-left-info {
            border-left: 0.35rem solid var(--cartoon-blue) !important;
        }

        .border-left-warning {
            border-left: 0.35rem solid #FFD700 !important;
        }

        .border-left-danger {
            border-left: 0.35rem solid #FF6B6B !important;
        }

        .text-gray-800 {
            color: var(--cartoon-dark) !important;
        }

        .text-gray-300 {
            color: var(--cartoon-text) !important;
        }

        .page-header {
            border-bottom: 3px solid var(--cartoon-pink);
            padding-bottom: 1rem;
            margin-bottom: 1.5rem;
        }

        .page-header h1, .page-header h2 {
            color: var(--cartoon-dark);
            font-weight: 800;
        }

        .bg-primary {
            background: linear-gradient(135deg, var(--cartoon-coral) 0%, var(--cartoon-pink) 100%) !important;
        }

        .text-white {
            color: #FFFFFF !important;
        }

        .shadow {
            box-shadow: 0 8px 24px rgba(255, 182, 193, 0.3) !important;
        }
