.bazi-table { table-layout: fixed; width: 100%; border-collapse: collapse; }
.bazi-table th, .bazi-table td { text-align: center; vertical-align: middle; border: 1px solid #e0e0e0; padding: 0.5rem; font-size: 1.08rem; transition: box-shadow 0.2s, border-color 0.2s; }
.bazi-table th { background: #232526; color: #fff; font-weight: 700; letter-spacing: 1px; }
.bazi-table td:first-child { background: #f8fafc; font-weight: 600; color: #232526; }
.moc-duong { color: #006400 !important; font-weight: bold; font-size: 1.18rem; }
.moc-am   { color: #228B22 !important; font-weight: bold; font-size: 1.18rem; }
.hoa-duong { color: #B22222 !important; font-weight: bold; font-size: 1.18rem; }
.hoa-am   { color: #E97451 !important; font-weight: bold; font-size: 1.18rem; }
.tho-duong { color: #8B4513 !important; font-weight: bold; font-size: 1.18rem; }
.tho-am   { color: #D2B48C !important; font-weight: bold; font-size: 1.18rem; }
.kim-duong { color: #696969 !important; font-weight: bold; font-size: 1.18rem; }
.kim-am   { color: #A9A9A9 !important; font-weight: bold; font-size: 1.18rem; }
.thuy-duong { color: #00008B !important; font-weight: bold; font-size: 1.18rem; }
.thuy-am   { color: #4682B4 !important; font-weight: bold; font-size: 1.18rem; }

/* Same calendar warning styling */
.same-calendar-warning {
    animation: fadeIn 0.3s ease-in-out;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.same-calendar-warning svg {
    animation: pulse 2s infinite;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
} 