/* =========================================
   1. VARIABILE ȘI SETĂRI GENERALE
   ========================================= */
:root {
    --primary-blue: #0d6efd;
    --primary-green: #198754;
    --primary-yellow: #ffc107;
    --primary-red: #dc3545;
    --bg-main: #f4f7f6;
    --white: #ffffff;
    --border-color: #dee2e6;
    --shadow-sm: 0 4px 12px rgba(0,0,0,0.1);
    --radius-lg: 15px;
    --radius-md: 10px;
}

body { 
    background-color: var(--bg-main); 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* =========================================
   2. COMPONENTE REUTILIZABILE (CARDURI)
   ========================================= */
.card-stats, .table-container, .login-card, .admin-card, .stat-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: none !important;
}

.card-stats {
    border-left: 5px solid var(--primary-blue) !important;
    transition: transform 0.2s;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-stats:hover, .stat-card:hover { 
    transform: scale(1.02) translateY(-5px); 
}

.cp { 
    cursor: pointer; 
    transition: all 0.2s ease-in-out; 
}
.cp:hover { 
    transform: translateY(-3px) !important; 
    box-shadow: 0 6px 15px rgba(0,0,0,0.15) !important; 
}

/* =========================================
   3. ALERTE (ANIVERSĂRI ȘI CHECK-IN)
   ========================================= */
.alert-custom {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    position: relative;
    border-left-width: 5px !important;
}

.alert-birthday { 
    border-left-color: #0dcaf0 !important; 
    background-color: #e3f2fd !important; 
    color: #084298 !important; 
}
.alert-checkin { 
    border-left-color: var(--primary-yellow) !important; 
    background-color: #fff8e1 !important; 
    color: #664d03 !important; 
}

/* =========================================
   4. TABELE (DESIGN TIP CARD)
   ========================================= */
.table { 
    border-collapse: separate !important; 
    border-spacing: 0 15px !important; 
}

.bg-light-header { 
    background-color: #f8f9fa !important; 
    border-bottom: 1px solid var(--border-color); 
}

.card-row td {
    background-color: var(--white) !important;
    border-top: 1px solid var(--border-color) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 0.3rem 0.75rem !important;
    font-size: 0.9rem;
}

/* Padding mai mare pe Dashboard */
.table-dashboard .card-row td { 
    padding: 1.5rem 1rem !important; 
    font-size: 1rem; 
}

.card-row td:first-child { 
    border-left: 1px solid var(--border-color) !important; 
    border-radius: var(--radius-lg) 0 0 var(--radius-lg) !important; 
}
.card-row td:last-child { 
    border-right: 1px solid var(--border-color) !important; 
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0 !important; 
}

.table-hover tbody tr.card-row:hover td { 
    background-color: #f8f9fa !important; 
}

/* =========================================
   5. EXCURSII ȘI UI ELEMENTS
   ========================================= */
.excursie-card { 
    transition: transform 0.2s; 
    border: 1px solid var(--border-color) !important; 
}
.excursie-card:hover { 
    transform: translateX(5px); 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important; 
}

.fs-turist { font-size: 1.15rem !important; font-weight: 700; color: #212529; }

/* Dropdowns */
.dropdown-menu { min-width: 200px !important; padding: 5px 0 !important; }
.dropdown-item.fix-btn {
    display: block !important;
    width: 100% !important;
    padding: 10px 20px !important;
    background: none !important;
    color: #333 !important;
    border: none !important;
    text-align: left !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
}
.dropdown-item.fix-btn:hover { background-color: #f8f9fa !important; color: var(--primary-blue) !important; }

/* =========================================
   6. TAB-URI PERSONALIZATE
   ========================================= */
.custom-tabs .nav-link {
    background-color: #e9ecef !important;
    color: #6c757d !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.3s ease;
}

.custom-tabs .nav-link.active {
    background-color: var(--white) !important;
    color: var(--primary-blue) !important;
    border-bottom-color: var(--primary-blue) !important;
    transform: translateY(-2px);
}

/* =========================================
   7. FORMULARE ȘI PAGINA LOGIN
   ========================================= */
.form-control:focus { 
    border-color: var(--primary-blue); 
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1); 
}
.label-bold { font-weight: 600; font-size: 0.85rem; color: #495057; margin-bottom: 5px; }

.login-page { height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-card { width: 100%; max-width: 400px; padding: 30px; }
.login-card img { height: 100px; margin-bottom: 25px; transition: transform 0.3s; }
.login-card img:hover { transform: scale(1.05); }

/* =========================================
   8. RAPOARTE ȘI GRAFICE
   ========================================= */
.stat-card-avion { border-left: 5px solid var(--primary-blue) !important; }
.stat-card-hotel { border-left: 5px solid var(--primary-yellow) !important; }
.stat-card-pachet { border-left: 5px solid var(--primary-green) !important; }

.chart-container, .chart-container-donut, .chart-container-big { position: relative; width: 100%; }
.chart-container { height: 300px; }
.chart-container-big { height: 350px !important; }
.chart-container-donut { height: 220px !important; margin: 0 auto; }

/* =========================================
   9. ANIMAȚII ȘI TASK-URI
   ========================================= */
@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(220, 53, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
}
.pulse-urgent { 
    animation: pulse-red 2s infinite; 
    background-color: var(--primary-red) !important; 
    color: var(--white) !important; 
}

/* Scrollbars discret */
.table-scroll-container {
    max-height: 600px;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
}
.table-scroll-container::-webkit-scrollbar { width: 6px; }
.table-scroll-container::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }

.table-admin thead.sticky-top th {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #f8f9fa !important;
    border-bottom: 2px solid var(--border-color) !important;
}