:root {
    --bs-body-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft JhengHei', '微軟正黑體', sans-serif;
}

body {
    overflow-x: hidden;
}

.navbar {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.5px;
}

@media (max-width: 576px) {
    .container-fluid {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

.table-responsive {
    border-radius: 0.25rem;
}

.card {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-2px);
}

footer {
    margin-top: auto;
    background-color: var(--bs-gray-100);
}

.display-5 {
    font-weight: 700;
    letter-spacing: -1px;
}

.nav-tabs .nav-link {
    color: var(--bs-secondary);
    border-bottom-width: 2px;
}

.nav-tabs .nav-link.active {
    color: var(--bs-primary);
    border-bottom-color: var(--bs-primary);
}

@media (prefers-color-scheme: dark) {
    footer {
        background-color: var(--bs-gray-800);
    }
}

@media (max-width: 768px) {
    .display-5 {
        font-size: 2rem;
    }
    
    .card-body {
        padding: 1rem;
    }
    
    .table {
        font-size: 0.875rem;
    }
    
    .badge {
        font-size: 0.75rem;
    }
}
