body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #f8f9fa;
}

/* Test style for upload page */
form[method="POST"] {
    background-color: lightyellow !important;
}

.navbar {
    margin-bottom: 20px;
}

.footer {
    margin-top: 50px;
    padding: 20px 0;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
}

.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    margin-bottom: 20px;
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: #e9ecef;
    border-radius: 0.3rem;
}

.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
}

.btn-primary:hover {
    background-color: #0069d9;
    border-color: #0062cc;
}

.form-control:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* 일정 관련 스타일 */
.schedule-priority-high {
    border-left: 5px solid #dc3545;
}

.schedule-priority-medium {
    border-left: 5px solid #ffc107;
}

.schedule-priority-low {
    border-left: 5px solid #28a745;
}

/* 메모 관련 스타일 */
.memo-pinned {
    background-color: #fff3cd;
}

/* 아이디어 관련 스타일 */
.idea-status-draft {
    background-color: #f8f9fa;
}

.idea-status-in-progress {
    background-color: #cfe2ff;
}

.idea-status-completed {
    background-color: #d1e7dd;
}

/* Dark Mode Styles */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a;
        color: #e0e0e0;
    }

    .navbar {
        background-color: #2c2c2c !important; /* Use !important to override potential inline styles or Bootstrap defaults */
        border-bottom: 1px solid #444;
    }

     .navbar .navbar-brand, .navbar .nav-link {
        color: #e0e0e0 !important;
    }

    .navbar .nav-link:hover {
        color: #ffffff !important;
    }

    html body .footer { /* MAX specificity */
        background-color: #2c2c2c !important;
        border-top: 1px solid #444 !important;
        color: #e0e0e0 !important;
    }
    /* Ensure elements inside footer are visible */
    .footer p, .footer span, .footer div {
         color: #e0e0e0 !important;
    }
    .footer a {
        color: #6cafff !important; /* Lighter blue for links */
    }
    .footer a:hover {
        color: #9bcaff !important;
    }

    html body .card { /* MAX specificity */
        background-color: #2c2c2c !important;
        border: 1px solid #444 !important;
        color: #e0e0e0;
    }

    html body .card-header { /* MAX specificity */
        background-color: #3a3a3a !important; /* Added !important */
        border-bottom: 1px solid #444 !important; /* Added !important */
        color: #f0f0f0 !important; /* Added !important */
    }

    .jumbotron {
        background-color: #3a3a3a;
        color: #e0e0e0;
    }

    .btn-primary {
        background-color: #0d6efd; /* Slightly brighter blue for dark mode */
        border-color: #0d6efd;
        color: #ffffff;
    }

    .btn-primary:hover {
        background-color: #0b5ed7;
        border-color: #0a58ca;
    }

    /* Adjust secondary/other button colors if needed */
    .btn-secondary {
        background-color: #5c636a;
        border-color: #5c636a;
        color: #ffffff;
    }
    .btn-secondary:hover {
        background-color: #495057;
        border-color: #495057;
    }
    .btn-success {
        background-color: #198754;
        border-color: #198754;
    }
     .btn-success:hover {
        background-color: #146c43;
        border-color: #146c43;
    }
     .btn-danger {
        background-color: #dc3545;
        border-color: #dc3545;
    }
     .btn-danger:hover {
        background-color: #b02a37;
        border-color: #b02a37;
    }
     .btn-warning {
        background-color: #ffc107;
        border-color: #ffc107;
        color: #000; /* Ensure text is readable */
    }
     .btn-warning:hover {
        background-color: #d39e00;
        border-color: #d39e00;
    }
     .btn-info {
        background-color: #0dcaf0;
        border-color: #0dcaf0;
        color: #000; /* Ensure text is readable */
    }
     .btn-info:hover {
        background-color: #0aa3c2;
        border-color: #0aa3c2;
    }
     .btn-light {
        background-color: #6c757d; /* Darker for dark mode */
        border-color: #6c757d;
        color: #fff;
    }
     .btn-light:hover {
        background-color: #5a6268;
        border-color: #5a6268;
    }
     .btn-dark {
        background-color: #e9ecef; /* Lighter for dark mode */
        border-color: #e9ecef;
        color: #000;
    }
     .btn-dark:hover {
        background-color: #ced4da;
        border-color: #ced4da;
    }


    .form-control {
        background-color: #3a3a3a;
        color: #e0e0e0;
        border: 1px solid #555;
    }

    .form-control:focus {
        background-color: #4a4a4a;
        color: #e0e0e0;
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    }

    .form-select {
        background-color: #3a3a3a;
        color: #e0e0e0;
        border: 1px solid #555;
    }

    .list-group-item {
        background-color: #2c2c2c; /* General dark list item */
        border: 1px solid #444;
        color: #e0e0e0;
    }

    /* Adjust specific component styles */
    .memo-pinned {
        background-color: #4d421a; /* Darker yellow */
    }

    /* Style the main idea card based on its status class (MAX specificity) */
    html body .card.idea-status-draft { /* MAX specificity */
        background-color: #3a3a3a !important;
        border-color: #555 !important;
    }
     html body .card.idea-status-draft .card-header {
         background-color: #4a4a4a !important;
         border-bottom-color: #555 !important;
    }
     html body .card.idea-status-draft .card-footer {
         background-color: #3a3a3a !important;
         border-top-color: #555 !important;
    }

    html body .card.idea-status-in-progress { /* MAX specificity */
        background-color: #2a3b5e !important;
        border-color: #4a5c7e !important;
    }
     html body .card.idea-status-in-progress .card-header {
         background-color: #3a4b6e !important;
         border-bottom-color: #4a5c7e !important;
    }
     html body .card.idea-status-in-progress .card-footer {
         background-color: #2a3b5e !important;
         border-top-color: #4a5c7e !important;
    }

    html body .card.idea-status-completed { /* MAX specificity */
        background-color: #2a4a3a !important;
        border-color: #4a6a5a !important;
    }
     html body .card.idea-status-completed .card-header {
         background-color: #3a5a4a !important;
         border-bottom-color: #4a6a5a !important;
    }
     html body .card.idea-status-completed .card-footer {
         background-color: #2a4a3a !important;
         border-top-color: #4a6a5a !important;
    }

    /* Ensure text within ANY card is readable */
    .card, .card .card-body, .card p, .card h5, .card small:not(.text-muted) {
        color: #e0e0e0;
    }
     .card .card-header, .card .card-header h5 {
        color: #f0f0f0 !important;
    }
     .card .card-footer {
        color: #e0e0e0;
    }
     .card .text-muted {
        color: #adb5bd !important;
    }

    /* Override Bootstrap badge background colors inside cards */
    .card .badge.bg-secondary { background-color: #5a6268 !important; color: #fff !important; }
    .card .badge.bg-primary { background-color: #0b5ed7 !important; color: #fff !important; }
    .card .badge.bg-success { background-color: #146c43 !important; color: #fff !important; }
    .card .badge.bg-danger { background-color: #b02a37 !important; color: #fff !important; }
    .card .badge.bg-warning { background-color: #d39e00 !important; color: #000 !important; }
    .card .badge.bg-info { background-color: #0aa3c2 !important; color: #000 !important; }
    .card .badge.bg-light { background-color: #6c757d !important; color: #fff !important; }
    .card .badge.bg-dark { background-color: #adb5bd !important; color: #000 !important; }

    /* Style outline buttons in card footers */
    .card .card-footer .btn-outline-primary { border-color: #0d6efd; color: #6cafff; }
    .card .card-footer .btn-outline-primary:hover { background-color: #0d6efd; color: #fff; }
    .card .card-footer .btn-outline-secondary { border-color: #6c757d; color: #adb5bd; }
    .card .card-footer .btn-outline-secondary:hover { background-color: #6c757d; color: #fff; }
    .card .card-footer .btn-outline-success { border-color: #198754; color: #75b798; }
    .card .card-footer .btn-outline-success:hover { background-color: #198754; color: #fff; }
    .card .card-footer .btn-outline-danger { border-color: #dc3545; color: #e06c75; }
    .card .card-footer .btn-outline-danger:hover { background-color: #dc3545; color: #fff; }
    .card .card-footer .btn-outline-warning { border-color: #ffc107; color: #ffda6a; }
    .card .card-footer .btn-outline-warning:hover { background-color: #ffc107; color: #000; }
    .card .card-footer .btn-outline-info { border-color: #0dcaf0; color: #6eeff0; }
    .card .card-footer .btn-outline-info:hover { background-color: #0dcaf0; color: #000; }
    .card .card-footer .btn-outline-light { border-color: #adb5bd; color: #adb5bd; }
    .card .card-footer .btn-outline-light:hover { background-color: #adb5bd; color: #000; }
    .card .card-footer .btn-outline-dark { border-color: #e9ecef; color: #e9ecef; }
    .card .card-footer .btn-outline-dark:hover { background-color: #e9ecef; color: #000; }

    /* Ensure active state on footer buttons is visible */
     .card .card-footer .btn.active {
        filter: brightness(1.2); /* Make active buttons slightly brighter */
    }

    /* General link styles (may be overridden by more specific rules like above) */
    a {
        color: #6cafff; /* Lighter blue for links */
    }

    a:hover {
        color: #9bcaff;
    }

    /* Removed Table styles from here - Moved to schedule.css */

    /* Test style override */
    form[method="POST"] {
        background-color: #2c2c2c !important; /* Darker yellow for test */
    }

    /* Removed specific dashboard list item badge rules as they are covered by the general .card .badge rules now */

    /* --- START Schedule Table Specific Dark Mode Styles (Moved from schedule.css) --- */

    /* Base table styling */
    .table {
        color: #e0e0e0 !important;
        border-color: #444 !important;
        background-color: #2c2c2c !important; /* Ensure table background */
    }

    /* Override Bootstrap table variants */
    .table-striped > tbody > tr:nth-of-type(odd) > * {
        --bs-table-accent-bg: rgba(255, 255, 255, 0.03) !important;
        color: #e0e0e0 !important;
    }

    .table-hover > tbody > tr:hover > * {
      --bs-table-accent-bg: rgba(255, 255, 255, 0.06) !important;
      color: #f5f5f5 !important;
    }

     /* Style for custom .schedule-completed class */
     .table tbody tr.schedule-completed > * {
        background-color: #14482f !important; /* Dark green background */
        color: #d1e7dd !important; /* Light green text */
        border-color: #2a6a4a !important;
    }

    .table-bordered > :not(caption) > * > * {
        border-color: #444 !important;
    }
     .table tbody tr {
        background-color: transparent !important; /* Rows transparent over table background */
        color: #e0e0e0 !important; /* Force row text color */
        border-color: #444 !important; /* Ensure row borders */
     }
     /* Table-specific priority border rules */
     .table tbody tr.schedule-priority-high {
        border-left: 5px solid #a02a37 !important; /* Darker red */
     }
      .table tbody tr.schedule-priority-medium {
        border-left: 5px solid #c39e00 !important; /* Darker yellow */
     }
      .table tbody tr.schedule-priority-low {
        border-left: 5px solid #146c43 !important; /* Darker green */
     }


    .table thead, .table th {
        color: #f0f0f0 !important;
        border-color: #444 !important;
        background-color: #3a3a3a !important; /* Header background */
    }
     .table tbody td {
        border-color: #444 !important;
        background-color: transparent !important; /* Cells transparent over row */
        color: #e0e0e0 !important; /* Force cell text color */
    }
     .table tbody a {
        color: #6cafff !important;
    }
     .table tbody a:hover {
        color: #9bcaff !important;
    }

    /* Ensure badges inside tables are styled correctly */
     .table .badge.bg-secondary { background-color: #5a6268 !important; color: #fff !important; }
     .table .badge.bg-primary { background-color: #0b5ed7 !important; color: #fff !important; }
     .table .badge.bg-success { background-color: #146c43 !important; color: #fff !important; }
     .table .badge.bg-danger { background-color: #b02a37 !important; color: #fff !important; }
     .table .badge.bg-warning { background-color: #d39e00 !important; color: #000 !important; }
     .table .badge.bg-info { background-color: #0aa3c2 !important; color: #000 !important; }
     .table .badge.bg-light { background-color: #6c757d !important; color: #fff !important; }
     .table .badge.bg-dark { background-color: #adb5bd !important; color: #000 !important; }

    /* Ensure buttons inside tables are styled correctly */
     .table .btn-outline-primary { border-color: #0d6efd; color: #6cafff; }
     .table .btn-outline-primary:hover { background-color: #0d6efd; color: #fff; }
     .table .btn-outline-secondary { border-color: #6c757d; color: #adb5bd; }
     .table .btn-outline-secondary:hover { background-color: #6c757d; color: #fff; }
     .table .btn-outline-success { border-color: #198754; color: #75b798; }
     .table .btn-outline-success:hover { background-color: #198754; color: #fff; }
     .table .btn-outline-danger { border-color: #dc3545; color: #e06c75; }
     .table .btn-outline-danger:hover { background-color: #dc3545; color: #fff; }
     /* Ensure solid buttons used for toggle are styled */
     .table .btn-success { background-color: #146c43 !important; border-color: #146c43 !important; color: #fff !important; }
     .table .btn-success:hover { background-color: #105634 !important; border-color: #105634 !important; }

    /* --- END Schedule Table Specific Dark Mode Styles --- */
}

/* Custom darker background for form containers in dark mode (Increased Specificity) */
html body[data-bs-theme="dark"] .form-container-darker {
    background-color: #111111 !important; /* Make the container background even darker */
    border: 1px solid #333 !important; /* Adjust border color */
    padding: 1.5rem !important; /* Ensure padding */
    border-radius: 0.3rem !important; /* Ensure rounded corners */
    color: #e0e0e0 !important; /* Ensure text color */
}

html body[data-bs-theme="dark"] .form-container-darker h1,
html body[data-bs-theme="dark"] .form-container-darker h2,
html body[data-bs-theme="dark"] .form-container-darker h3,
html body[data-bs-theme="dark"] .form-container-darker h4,
html body[data-bs-theme="dark"] .form-container-darker h5,
html body[data-bs-theme="dark"] .form-container-darker h6 {
    color: #f8f9fa !important; /* Ensure heading colors are bright */
    border-color: #495057 !important; /* Adjust border color for headings */
}

/* Ensure form elements inside the darker container have a contrasting background (Increased Specificity) */
html body[data-bs-theme="dark"] .form-container-darker .form-control,
html body[data-bs-theme="dark"] .form-container-darker .form-select {
    background-color: #212529 !important; /* Use standard dark input background for contrast */
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

html body[data-bs-theme="dark"] .form-container-darker .form-control:focus,
html body[data-bs-theme="dark"] .form-container-darker .form-select:focus {
    background-color: #343a40 !important; /* Slightly lighter dark for focus */
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
}

html body[data-bs-theme="dark"] .form-container-darker .form-label,
html body[data-bs-theme="dark"] .form-container-darker .form-check-label {
     color: #e0e0e0 !important; /* Ensure labels are visible */
}

/* Adjust button styles if needed within the darker container (Increased Specificity) */
html body[data-bs-theme="dark"] .form-container-darker .btn-primary {
     /* Keep standard dark theme primary button */
}
html body[data-bs-theme="dark"] .form-container-darker .btn-secondary {
     /* Keep standard dark theme secondary button */
}
html body[data-bs-theme="dark"] .form-container-darker .btn-outline-light {
     /* Keep standard dark theme outline-light button */
}
html body[data-bs-theme="dark"] .form-container-darker .btn-outline-secondary {
     /* Keep standard dark theme outline-secondary button */
}

/* --- Community Page Styles --- */
/* Add a subtle border to cards specifically on the community index */
/* Note: This assumes the body or a parent element gets a class 'community-page' or similar if needed for more specificity, */
/* but for now, targeting the IDs within the general card structure should work. */
/* We target the card directly as Bootstrap styles are already applied */

#community-list.card,
#bulletin-board.card,
#announcements.card,
#qna.card,
#resource-library.card {
    border: 1px solid #dee2e6; /* Default light mode border */
}

/* Dark mode adjustments for community cards */
[data-bs-theme="dark"] #community-list.card,
[data-bs-theme="dark"] #bulletin-board.card,
[data-bs-theme="dark"] #announcements.card,
[data-bs-theme="dark"] #qna.card,
[data-bs-theme="dark"] #resource-library.card {
    border: 1px solid #495057; /* Slightly more prominent border for dark mode */
}

/* Optional: Style headers differently if desired */
/*
#community-list .card-header,
#bulletin-board .card-header,
#announcements .card-header,
#qna .card-header,
#resource-library .card-header {
    background-color: #e9ecef;
}

[data-bs-theme="dark"] #community-list .card-header,
[data-bs-theme="dark"] #bulletin-board .card-header,
[data-bs-theme="dark"] #announcements .card-header,
[data-bs-theme="dark"] #qna .card-header,
[data-bs-theme="dark"] #resource-library .card-header {
    background-color: #343a40;
}
*/
