:root {
    --primary: #2563eb; /* Blue */
    --dark: #0f172a;
    --light: #f1f5f9;
    --white: #ffffff;
    --text-gray: #64748b;
}

* {
    margin: 0; padding: 0; box-sizing: border-box;
    font-family: 'Segoe UI', sans-serif;
    text-decoration: none;
}

body { background-color: var(--light); color: var(--dark); padding-bottom: 50px;}

/* Navbar */
nav {
    background: var(--white);
    padding: 15px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.logo { font-size: 24px; font-weight: bold; color: var(--primary); }
.nav-links a { margin-left: 20px; color: var(--dark); font-weight: 500; }
.nav-links a:hover, .nav-links a.active { color: var(--primary); }
.btn-nav { background: var(--primary); color: white !important; padding: 8px 15px; border-radius: 5px; }

/* Layouts */
.container { max-width: 1000px; margin: 40px auto; padding: 0 20px; }
.header-center { text-align: center; margin-bottom: 40px; }
.header-center h1 { font-size: 36px; margin-bottom: 10px; }

/* Job Cards */
.job-list { display: grid; gap: 20px; }
.job-card {
    background: var(--white);
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.3s;
}
.job-card:hover { transform: translateY(-5px); }

.job-info h3 { margin-bottom: 5px; color: var(--dark); }
.job-info p { color: var(--text-gray); font-size: 14px; }
.tags span {
    background: #e0f2fe; color: #0284c7;
    padding: 5px 10px; font-size: 12px; border-radius: 20px; margin-right: 5px;
}

.btn-view {
    border: 1px solid var(--primary);
    color: var(--primary);
    padding: 8px 20px;
    border-radius: 5px;
    transition: 0.3s;
}
.btn-view:hover { background: var(--primary); color: white; }

/* Forms */
.form-box { background: white; padding: 30px; border-radius: 10px; max-width: 600px; margin: auto; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; font-weight: 600; }
.form-group input, .form-group textarea, .form-group select {
    width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px;
}
.btn-submit { width: 100%; background: var(--primary); color: white; border: none; padding: 12px; cursor: pointer; font-size: 16px; border-radius: 5px; }

/* Details Page */
.details-box { background: white; padding: 40px; border-radius: 10px; }
.meta-row { display: flex; gap: 20px; margin: 20px 0; color: var(--text-gray); }

/* Responsive */
@media (max-width: 600px) {
    .job-card { flex-direction: column; align-items: flex-start; gap: 15px; }
    .btn-view { width: 100%; text-align: center; }
}