/* FileName: assets/css/style.css */
/* Version: 2.2 (Fix Font Size tổng thể, Sidebar Y tế chuẩn C-Level - Sprint 7) */
/* Changelog: 
   - [Sprint 7] Hạ font-size body xuống 0.95rem để vừa vặn màn hình, không cần zoom.
   - [Sprint 7] Khử răng cưa font chữ Tiếng Việt 100%.
   - [Sprint 7] Bổ sung biến màu sắc cho Sidebar Y tế (Clinical Blue).
*/

@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
    --bg-main: #F4F7F9; 
    --bg-card: #FFFFFF;
    
    --color-gold: #D4AF37;
    --color-gold-light: #FDFBF5;
    --color-gold-hover: #B5952F;
    
    --color-blue-light: #0097E6;
    
    /* [SPRINT 7] Màu dành riêng cho Sidebar Y tế */
    --sidebar-bg-medical: #0284C7; /* Xanh y tế đậm, sang trọng */
    --sidebar-text: #E0F2FE; /* Xanh lơ nhạt để nổi trên nền đậm */
    --sidebar-text-hover: #FFFFFF;
    
    --color-orange: #E17055;
    --color-red: #D63031;
    --color-green: #00B894;
    
    /* Chữ tối để dễ đọc trên nền sáng */
    --text-main: #1E293B; 
    --text-muted: #475569; 
    
    --shadow-kim: 0 10px 30px rgba(212, 175, 55, 0.08); 
    --shadow-hover: 0 15px 35px rgba(0, 151, 230, 0.15);
    --border-gold: 1px solid rgba(212, 175, 55, 0.2);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    background-color: var(--bg-main);
    color: var(--text-main);
    font-family: 'Be Vietnam Pro', sans-serif;
    /* [SPRINT 7] Đã hạ font size tổng thể để vừa mắt, không cần zoom 80% */
    font-size: 0.95rem; 
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.card-kim {
    background-color: var(--bg-card);
    border: var(--border-gold);
    border-radius: 16px;
    box-shadow: var(--shadow-kim);
    padding: 24px;
    transition: all 0.3s ease;
}
.card-kim:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }

.btn {
    padding: 10px 20px; /* Thu gọn nút lại một chút */
    border-radius: 8px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px; 
}

.btn-primary { background-color: var(--color-gold); color: #FFFFFF; box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3); }
.btn-primary:hover { background-color: var(--color-gold-hover); transform: translateY(-2px); }

.btn-info { background-color: var(--color-blue-light); color: #FFFFFF; box-shadow: 0 4px 15px rgba(0, 151, 230, 0.2); }
.btn-info:hover { filter: brightness(1.1); transform: translateY(-2px); }

.btn-warning { background-color: var(--color-orange); color: #FFFFFF; box-shadow: 0 4px 15px rgba(225, 112, 85, 0.2); }
.btn-warning:hover { filter: brightness(1.1); transform: translateY(-2px); }

/* =========================================
   [SPRINT 7] LỘT XÁC SIDEBAR MENU
   ========================================= */
.menu-item {
    background: transparent;
    color: var(--sidebar-text);
    text-align: left;
    border: 1px solid transparent;
    /* Giảm font size và padding để menu sát nhau hơn, chống tràn chữ */
    font-size: 0.95rem;
    padding: 10px 15px;
    border-radius: 8px;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

.menu-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--sidebar-text-hover);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transform: translateX(3px);
}

.menu-item i { 
    width: 25px; 
    color: rgba(255, 255, 255, 0.7); 
    font-size: 1.1rem; 
    text-align: center; 
    margin-right: 8px;
}

.menu-item:hover i { color: #FFFFFF; }

/* Trạng thái Active (Nổi bật nền trắng, chữ xanh y tế) */
.menu-item.active {
    background: #FFFFFF !important;
    color: var(--sidebar-bg-medical) !important;
    border: 1px solid #FFFFFF !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.menu-item.active i {
    color: var(--sidebar-bg-medical) !important;
}

/* Các UI khác */
table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--bg-card); border-radius: 10px; overflow: hidden; }
table th { background-color: var(--color-gold-light); color: var(--color-blue-light); padding: 14px; text-align: left; font-weight: 700; border-bottom: 2px solid var(--color-gold); font-size: 0.9rem;}
table td { padding: 12px 14px; border-bottom: 1px solid rgba(212, 175, 55, 0.1); color: var(--text-main); font-size: 0.9rem;}
table tr:hover td { background-color: #FAFAFA; }

.trust-note { font-size: 0.85rem; color: var(--text-muted); margin-top: 15px; display: inline-flex; align-items: center; gap: 8px; background: var(--color-gold-light); padding: 6px 12px; border-radius: 30px; border: 1px solid rgba(212,175,55,0.2); }
.text-today { color: var(--color-blue-light); font-weight: 800; }
.text-yesterday { color: var(--color-gold); font-weight: 700; }
.text-null { color: var(--color-red); font-weight: 600; font-size: 0.85em; }

input, select { padding: 10px 12px; border: 1px solid rgba(212, 175, 55, 0.5); border-radius: 8px; font-size: 0.95rem; color: var(--text-main); font-family: 'Be Vietnam Pro', sans-serif; }
input:focus, select:focus { outline: none; border-color: var(--color-blue-light); box-shadow: 0 0 0 3px rgba(0, 151, 230, 0.15); }