/* CSS Document */

        :root {
            --primary: #4361ee;
            --secondary: #3a0ca3;
            --success: #4cc9f0;
            --danger: #f72585;
            --warning: #fca311;
            --info: #2ec4b6;
            --light: #f8f9fa;
            --dark: #212529;
            --accent: #7209b7;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%);
            color: #333;
            padding-bottom: 20px;
        }

        .navbar {
            background: linear-gradient(90deg, var(--secondary) 0%, var(--primary) 100%);
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .navbar-brand {
            font-weight: 700;
            font-size: 1.8rem;
        }

        .nav-link {
            font-weight: 600;
            font-size: 1.1rem;
            padding: 0.5rem 1rem !important;
            border-radius: 8px;
            margin: 0 5px;
            transition: all 0.3s ease;
        }

        .nav-link:hover, .nav-link.active {
            background-color: rgba(255, 255, 255, 0.15);
            transform: translateY(-2px);
        }

        .card {
            box-shadow: 0 8px 20px rgba(0,0,0,0.1);
            margin-bottom: 25px;
            border: none;
            border-radius: 12px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 30px rgba(0,0,0,0.15);
        }

        .card-header {
            background: linear-gradient(90deg, var(--primary) 0%, #5e72e4 100%);
            color: white;
            border-radius: 12px 12px 0 0 !important;
            font-weight: bold;
            font-size: 1.2rem;
            padding: 15px 20px;
        }

        .btn-primary {
            background: linear-gradient(90deg, var(--primary) 0%, #5e72e4 100%);
            border: none;
            border-radius: 8px;
            font-weight: 600;
            padding: 10px 20px;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(67, 97, 238, 0.4);
        }

        .btn-success {
            background: linear-gradient(90deg, var(--success) 0%, #2ec4b6 100%);
            border: none;
            border-radius: 8px;
            font-weight: 600;
            padding: 10px 20px;
            transition: all 0.3s ease;
        }

        .btn-success:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(76, 201, 240, 0.4);
        }

        .table th {
            background: linear-gradient(90deg, var(--primary) 0%, #5e72e4 100%);
            color: white;
            cursor: pointer;
            position: relative;
            padding: 12px 15px;
        }

        .table th:hover {
            background: linear-gradient(90deg, #5e72e4 0%, var(--primary) 100%);
        }

        .table th::after {
            content: "↕";
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            opacity: 0.7;
            font-size: 14px;
        }

        .table th.sort-asc::after {
            content: "↑";
            opacity: 1;
        }

        .table th.sort-desc::after {
            content: "↓";
            opacity: 1;
        }

        .badge-award {
            font-size: 0.85em;
            margin: 2px;
            padding: 6px 10px;
            border-radius: 20px;
            font-weight: 600;
        }

        .student-tag {
            cursor: pointer;
            transition: all 0.2s;
        }

        .student-tag:hover {
            transform: scale(1.05);
        }

        .selected-student {
            background-color: #d4edda !important;
            border-color: #c3e6cb !important;
        }

        .award-card {
            min-height: 200px;
            transition: all 0.3s;
        }

        .award-card:hover {
            box-shadow: 0 8px 16px rgba(0,0,0,0.2);
        }

        .progress {
            height: 10px;
            border-radius: 10px;
        }

        .progress-bar {
            border-radius: 10px;
        }

        .nav-tabs .nav-link.active {
            font-weight: bold;
            color: var(--primary);
            border-bottom: 3px solid var(--primary);
        }

        .section-title {
            border-left: 5px solid var(--primary);
            padding-left: 15px;
            margin: 25px 0;
            font-weight: 700;
            font-size: 1.8rem;
            color: var(--secondary);
        }

        .stat-card {
            text-align: center;
            padding: 20px;
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 12px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

        .stat-number {
            font-size: 2.5rem;
            font-weight: bold;
            color: var(--primary);
            margin: 10px 0;
        }

        .stat-label {
            font-size: 1rem;
            color: #6c757d;
            font-weight: 600;
        }

        .filter-box {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            padding: 20px;
            border-radius: 12px;
            margin-bottom: 25px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

        .candidate-list {
            max-height: 400px;
            overflow-y: auto;
            padding: 10px;
            border-radius: 10px;
            background: #f8f9fa;
        }

        .confirmed-list {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 25px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

        .award-badge {
            position: absolute;
            top: 10px;
            right: 10px;
        }

        @media (max-width: 768px) {
            .card {
                margin-bottom: 20px;
            }

            .stat-number {
                font-size: 2rem;
            }

            .navbar-brand {
                font-size: 1.5rem;
            }

            .section-title {
                font-size: 1.5rem;
            }
        }

        .award-item {
            border: 1px solid #e9ecef;
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 15px;
            background-color: white;
            box-shadow: 0 3px 10px rgba(0,0,0,0.05);
        }

        .quota-info {
            font-size: 0.9rem;
            color: #6c757d;
        }

        .candidate-item {
            padding: 12px 15px;
            margin-bottom: 8px;
            border-radius: 8px;
            background-color: white;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }

        .candidate-item:hover {
            background-color: #e9ecef;
            transform: translateX(5px);
        }

        .import-preview {
            overflow-y: auto;
            border-radius: 8px;
            background: #f8f9fa;
            padding: 15px;
        }

        .award-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 15px;
        }

        .award-grid-item {
            border: 1px solid #dee2e6;
            border-radius: 10px;
            padding: 15px;
            background-color: white;
            min-height: 150px;
            box-shadow: 0 3px 10px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
        }

        .award-grid-item:hover {
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transform: translateY(-3px);
        }

        .full-attendance-item {
            grid-column: span 2;
        }

        .full-attendance-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 8px;
        }

        .highlight-award {
            background-color: #ffcccc !important;
            border-color: #ff9999 !important;
            color: #cc0000 !important;
        }

        .coefficient-panel {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            padding: 10px;
            border-radius: 12px;
            margin-bottom: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

        .coefficient-help {
            font-size: 0.85rem;
            color: #6c757d;
            margin-top: 5px;
        }

        .violation-badge {
            background: linear-gradient(90deg, #f72585 0%, #b5179e 100%);
            color: white;
        }

        .excellent-cadre-badge {
            background: linear-gradient(90deg, #7209b7 0%, #560bad 100%);
            color: white;
        }

        .preview-table-container {
            overflow: auto;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0,0,0,0.1);
        }

        .preview-table th {
            position: sticky;
            top: 0;
            background: linear-gradient(90deg, var(--primary) 0%, #5e72e4 100%);
            color: white;
            z-index: 10;
            padding: 12px 15px;
            font-size: 0.9rem;
        }

        .preview-table td {
            font-size: 0.9rem;
            white-space: nowrap;
            padding: 10px 12px;
        }

        .coefficient-item {
            margin-bottom: 10px;
            padding: 10px;
            border: 1px solid #dee2e6;
            border-radius: 8px;
            background-color: #f8f9fa;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 15px;
        }

        .stats-item {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            padding: 15px;
            border-radius: 10px;
            text-align: center;
            box-shadow: 0 3px 10px rgba(0,0,0,0.08);
        }

        .stats-value {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--primary);
            margin: 5px 0;
        }

        .stats-label {
            font-size: 0.9rem;
            color: #6c757d;
            font-weight: 600;
        }

        .system-title {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--secondary);
            text-align: center;
            margin: 25px 0;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
        }

        .icon-box {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: linear-gradient(90deg, var(--primary) 0%, #5e72e4 100%);
            color: white;
            margin-right: 10px;
        }

        .award-tab-1 .nav-link { background-color: #e7f1ff; color: #0056b3; border: 1px solid #b3d4fc; }
        .award-tab-1 .nav-link.active { background-color: #0056b3; color: white; border: 1px solid #0056b3; }

        .award-tab-2 .nav-link { background-color: #fff3cd; color: #856404; border: 1px solid #ffeaa7; }
        .award-tab-2 .nav-link.active { background-color: #856404; color: white; border: 1px solid #856404; }

        .award-tab-3 .nav-link { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .award-tab-3 .nav-link.active { background-color: #155724; color: white; border: 1px solid #155724; }

        .award-tab-4 .nav-link { background-color: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }
        .award-tab-4 .nav-link.active { background-color: #0c5460; color: white; border: 1px solid #0c5460; }

        .award-tab-5 .nav-link { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .award-tab-5 .nav-link.active { background-color: #721c24; color: white; border: 1px solid #721c24; }

        .award-tab-6 .nav-link { background-color: #e2e3e5; color: #383d41; border: 1px solid #d6d8db; }
        .award-tab-6 .nav-link.active { background-color: #383d41; color: white; border: 1px solid #383d41; }

        .award-tab-7 .nav-link { background-color: #d1e7dd; color: #0f5132; border: 1px solid #c3e6cb; }
        .award-tab-7 .nav-link.active { background-color: #0f5132; color: white; border: 1px solid #0f5132; }

        .award-tab-8 .nav-link { background-color: #cfe2ff; color: #052c65; border: 1px solid #b6d4fe; }
        .award-tab-8 .nav-link.active { background-color: #052c65; color: white; border: 1px solid #052c65; }

        .award-tab-9 .nav-link { background-color: #fff3cd; color: #664d03; border: 1px solid #ffeaa7; }
        .award-tab-9 .nav-link.active { background-color: #664d03; color: white; border: 1px solid #664d03; }

        .edit-btn {
            padding: 2px 8px;
            font-size: 0.8rem;
        }

        .badge.bg-danger.text-white {
            background: linear-gradient(90deg, #dc3545 0%, #c82333 100%) !important;
            color: white !important;
            border: 1px solid #bd2130;
        }



