/* ============================================================
   GOVERNMENT RECRUITMENT PORTAL — CUSTOM CSS
   ============================================================ */

:root {
  --gov-primary:   #003399;
  --gov-secondary: #1a5276;
  --gov-accent:    #f0a500;
  --gov-light:     #eef2fb;
  --gov-border:    #c8d4e8;
}

/* ---- Base ---- */
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 14px;
  color: #222;
  background: #f4f6fb;
}

a { color: var(--gov-primary); }
a:hover { color: var(--gov-secondary); }

/* ---- Bootstrap overrides ---- */
.bg-primary  { background-color: var(--gov-primary)   !important; }
.btn-primary { background-color: var(--gov-primary); border-color: var(--gov-primary); }
.btn-primary:hover { background-color: var(--gov-secondary); border-color: var(--gov-secondary); }
.text-primary { color: var(--gov-primary) !important; }
.border-primary { border-color: var(--gov-primary) !important; }

/* ---- Navbar ---- */
.navbar { box-shadow: 0 2px 6px rgba(0,0,0,.15); }

/* ---- Cards ---- */
.card {
  border-radius: 6px;
  border: 1px solid var(--gov-border);
}
.card-header {
  font-size: 13px;
  letter-spacing: .02em;
  border-bottom: 1px solid var(--gov-border);
}
.card-header.bg-primary { border-bottom-color: rgba(255,255,255,.15); }

/* ---- Tables ---- */
.table th {
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.table td { vertical-align: middle; font-size: 13px; }
.table-hover tbody tr:hover { background-color: #eef4ff; }

/* ---- Forms ---- */
.form-control:focus,
.form-select:focus {
  border-color: var(--gov-primary);
  box-shadow: 0 0 0 .2rem rgba(0,51,153,.15);
}
.form-label { font-size: 13px; margin-bottom: 4px; }

/* ---- Buttons ---- */
.btn { font-size: 13px; border-radius: 4px; }
.btn-xs { padding: 2px 8px; font-size: 11px; }
.btn-lg { font-size: 15px; padding: 10px 28px; }

/* ---- Progress bar ---- */
.progress { border-radius: 4px; background: #dde4f0; }
.progress-bar { font-size: 12px; font-weight: 600; }

/* ---- Badges ---- */
.badge { font-size: 11px; font-weight: 600; letter-spacing: .02em; }

/* ---- Sidebar nav ---- */
.nav-link {
  font-size: 13px;
  color: #333;
  transition: background .15s;
}
.nav-link:hover { background: var(--gov-light); color: var(--gov-primary); }
.nav-link.active { background: var(--gov-light); color: var(--gov-primary); font-weight: 600; }
.nav-link i { width: 18px; }

/* ---- Header ---- */
header { border-bottom: 3px solid var(--gov-primary) !important; }

/* ---- Hero section ---- */
section.bg-primary { background: linear-gradient(135deg, #003399 0%, #1a5276 100%) !important; }

/* ---- Step cards ---- */
.card.border-success { box-shadow: 0 0 0 1px #28a745; }
.card.border-primary { box-shadow: 0 0 0 2px var(--gov-primary); }

/* ---- Accordion ---- */
.accordion-button:not(.collapsed) {
  color: var(--gov-primary);
  background-color: var(--gov-light);
  box-shadow: none;
}
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(0,51,153,.15); }

/* ---- Admin dashboard stat cards ---- */
.card.bg-primary, .card.bg-success, .card.bg-danger,
.card.bg-info, .card.bg-warning, .card.bg-secondary, .card.bg-dark {
  border: none;
  border-radius: 8px;
}

/* ---- Print ---- */
@media print {
  .navbar, .btn, nav, footer, .no-print { display: none !important; }
  .card { box-shadow: none !important; border: 1px solid #ccc; }
  body { background: #fff; }
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .table-responsive { font-size: 12px; }
  .card-body { padding: 12px; }
  .btn-lg { font-size: 13px; padding: 8px 18px; }
}

/* ---- Scrollbar (webkit) ---- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #aab4cc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gov-primary); }

/* ---- Alert ---- */
.alert { font-size: 13px; border-radius: 4px; }

/* ---- Footer ---- */
footer a:hover { text-decoration: underline !important; }

/* ---- Pagination ---- */
.page-link { color: var(--gov-primary); font-size: 13px; }
.page-item.active .page-link { background-color: var(--gov-primary); border-color: var(--gov-primary); }

/* ---- Code ---- */
code { color: var(--gov-primary); background: var(--gov-light); padding: 1px 5px; border-radius: 3px; font-size: 12px; }

/* ---- Announcement banner ---- */
.alert.rounded-0 { border-radius: 0 !important; border-left: none; border-right: none; font-size: 13px; }

/* ---- Document upload cards ---- */
.card.border-success .card-header.bg-success { font-size: 12px; }

/* ---- Admin login page ---- */
body.bg-dark { background: linear-gradient(135deg, #0d1b3e 0%, #1a3a5c 100%) !important; }

/* Navbar text color fix */
#mainNav .nav-link {
    color: #ffffff !important;
    font-weight: 500;
}

#mainNav .nav-link:hover,
#mainNav .nav-link:focus {
    color: #ffd54f !important;
}

#mainNav .nav-link.active {
    color: #ffd54f !important;
}

#mainNav .nav-link i {
    color: inherit;
}
