:root {
    --primary: #0a66c2; /* LinkedIn/Naukri Blue */
    --secondary: #2f2f2f;
    --urgent: #e74c3c;
    --bg-light: #f3f2ef;
    --white: #ffffff;
    --shadow: 0 4px 12px rgba(0,0,0,0.08);
}

body { font-family: 'Roboto', 'Segoe UI', sans-serif; background-color: var(--bg-light); color: var(--secondary); }

/* Navbar */
.navbar { background: var(--white); box-shadow: 0 2px 5px rgba(0,0,0,0.05); padding: 15px 0; }
.navbar-brand { font-weight: 700; color: var(--primary) !important; font-size: 1.5rem; }

/* Hero Section */
.hero-search { 
    background: linear-gradient(135deg, var(--primary), #004182); 
    padding: 80px 0; color: white; margin-bottom: 30px; 
}
.search-box { 
    background: white; padding: 10px; border-radius: 8px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); display: flex; gap: 10px; 
}
.search-box input, .search-box select { border: none; box-shadow: none; height: 50px; }
.search-btn { height: 50px; font-weight: bold; width: 150px; background-color: var(--secondary); border: none; }

/* --- UNIFORM CARD STYLING --- */
.worker-card {
    background: var(--white);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
    
    /* FLEXBOX FOR EQUAL HEIGHT */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.worker-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--primary); }

/* Content Wrapper (pushes button down) */
.card-content {
    flex-grow: 1;
}

.worker-card h5 { 
    font-weight: 700; 
    color: #333; 
    margin-bottom: 5px;
    
    /* Truncate Title to 1 Line */
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.worker-card .role { 
    color: var(--primary); 
    font-weight: 600; 
    font-size: 1rem;
    text-transform: uppercase;
    font-size: 0.85rem;
    margin-bottom: 5px;
}

.worker-meta { 
    font-size: 0.9rem; 
    color: #666; 
    margin: 10px 0; 
    display: flex; 
    gap: 15px; 
    flex-wrap: wrap; 
}
.worker-meta span { display: flex; align-items: center; gap: 5px; }

.badge-urgent { 
    background: var(--urgent); 
    color: white; 
    padding: 4px 10px; 
    border-radius: 4px; 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    font-weight: bold; 
    letter-spacing: 0.5px;
    display: inline-block;
    margin-bottom: 10px;
}

.salary-tag { color: #16a085; font-weight: 700; font-size: 1.1rem; margin-left: auto; }

/* Description Truncation (Strict 2 Lines) */
.desc-limit {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 40px; /* Force consistent height */
    margin-bottom: 15px;
    color: #777;
    font-size: 0.9rem;
}

/* Button Action Area */
.card-action {
    margin-top: auto;
}

/* Dashboard Tables */
.dashboard-card { background: white; border-radius: 8px; box-shadow: var(--shadow); overflow: hidden; }
.dashboard-header { background: var(--primary); color: white; padding: 15px 20px; font-weight: bold; }