/* Washington Healthcare Careers — brand layer over Bootstrap 5 */

:root {
    --wh-navy:  #0A3161;
    --wh-blue:  #1362A1;
    --wh-red:   #8A181A;
    --wh-green: #1C603B;
    --wh-gold:  #B98E2E;
    --wh-bg:    #F4F6F9;
}

body {
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
    background: var(--wh-bg);
    color: #1c2430;
}

/* Ethiopic script fallback when the UI is in Amharic (Inter has no Ethiopic glyphs). */
html[lang="am"] body {
    font-family: 'Inter', 'Noto Sans Ethiopic', 'Ebrima', 'Nyala', system-ui, sans-serif;
}

.navbar-wh {
    background: var(--wh-navy);
}
.navbar-wh .navbar-brand,
.navbar-wh .nav-link {
    color: #fff;
}
.navbar-wh .nav-link:hover,
.navbar-wh .nav-link.active {
    color: var(--wh-gold);
}
.navbar-wh .brand-mark {
    color: var(--wh-gold);
    font-weight: 700;
}
.navbar-wh .brand-logo {
    height: 44px;
    width: auto;
}
.auth-logo {
    display: block;
    margin: 0 auto 1rem;
    max-height: 110px;
}

.hero-wh {
    background: linear-gradient(135deg, var(--wh-navy) 0%, var(--wh-blue) 100%);
    color: #fff;
    padding: 3.5rem 0;
}
.hero-wh .lead { color: #d7e3f2; }

.btn-wh-primary {
    background: var(--wh-blue);
    border-color: var(--wh-blue);
    color: #fff;
}
.btn-wh-primary:hover,
.btn-wh-primary:focus {
    background: var(--wh-navy);
    border-color: var(--wh-navy);
    color: #fff;
}
.btn-wh-gold {
    background: var(--wh-gold);
    border-color: var(--wh-gold);
    color: #fff;
}
.btn-wh-gold:hover { background: #a17a24; border-color: #a17a24; color: #fff; }

.card-wh {
    border: 1px solid #e3e8ef;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(10, 49, 97, .08);
}
.card-wh .card-header {
    background: #fff;
    border-bottom: 2px solid var(--wh-gold);
    font-weight: 600;
    color: var(--wh-navy);
}

.vacancy-card { transition: transform .12s ease, box-shadow .12s ease; }
.vacancy-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(10, 49, 97, .14);
}

.badge-specialty {
    background: #e8f0f9;
    color: var(--wh-blue);
    font-weight: 500;
}

.table-wh thead th {
    background: var(--wh-navy);
    color: #fff;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}
.table-wh tbody td { vertical-align: middle; }

.filter-panel {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-left: 4px solid var(--wh-gold);
    border-radius: .5rem;
}

.auth-wrap { max-width: 460px; margin: 3rem auto; }

.footer-wh {
    background: var(--wh-navy);
    color: #b9c7d9;
    padding: 1.25rem 0;
    margin-top: 3rem;
    font-size: .875rem;
}

.form-label { font-weight: 600; color: var(--wh-navy); font-size: .875rem; }

/* Candidate pipeline stepper */
.pipeline-steps {
    display: flex;
    align-items: flex-start;
}
.pipeline-step {
    flex: 1;
    text-align: center;
    position: relative;
}
.pipeline-step .dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e3e8ef;
    color: #fff;
    font-size: .8rem;
    position: relative;
    z-index: 1;
}
.pipeline-step .lbl {
    display: block;
    font-size: .68rem;
    color: #8a97a8;
    margin-top: .2rem;
}
.pipeline-step:not(:first-child)::before {
    content: '';
    position: absolute;
    top: 11px;
    left: -50%;
    width: 100%;
    height: 2px;
    background: #e3e8ef;
}
.pipeline-step.done .dot,
.pipeline-step.done:not(:first-child)::before { background: var(--wh-green); }
.pipeline-step.current .dot {
    background: var(--wh-gold);
    box-shadow: 0 0 0 4px rgba(185, 142, 46, .25);
}
.pipeline-step.current:not(:first-child)::before { background: var(--wh-green); }
.pipeline-step.done .lbl,
.pipeline-step.current .lbl { color: var(--wh-navy); font-weight: 600; }

/* Printable CV sheet */
@media print {
    .navbar-wh, .footer-wh, .d-print-none, .alert { display: none !important; }
    body { background: #fff; }
    .cv-sheet { border: 0 !important; box-shadow: none !important; }
}

/* Rich text editor */
.rte-wrap {
    border: 1px solid #ced4da;
    border-radius: .375rem;
    background: #fff;
    overflow: hidden;
}
.rte-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    padding: .35rem .5rem;
    background: #f4f6f9;
    border-bottom: 1px solid #e3e8ef;
}
.rte-btn {
    border: 1px solid transparent;
    background: transparent;
    border-radius: .25rem;
    padding: .2rem .45rem;
    color: var(--wh-navy);
    line-height: 1;
    font-size: 1rem;
}
.rte-btn:hover { background: #e8f0f9; border-color: #d3e0ef; }
.rte-sep {
    width: 1px;
    height: 1.25rem;
    background: #d8dfe8;
    margin: 0 .35rem;
}
.rte-surface {
    border: 0;
    border-radius: 0;
    padding: .75rem;
    overflow-y: auto;
    max-height: 420px;
}
.rte-surface:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(19, 98, 161, .25);
}
.rte-surface p:last-child { margin-bottom: 0; }
.rte-hidden-source {
    display: none !important;
}

/* Rendered rich-text content */
.rich-content table {
    border-collapse: collapse;
    margin: .5rem 0;
    max-width: 100%;
}
.rich-content td, .rich-content th {
    border: 1px solid #d8dfe8;
    padding: .3rem .6rem;
}
.rich-content ul, .rich-content ol { padding-left: 1.4rem; }

.skill-tag {
    display: inline-block;
    background: #eef2f7;
    border: 1px solid #dbe3ec;
    border-radius: 999px;
    padding: .15rem .65rem;
    font-size: .78rem;
    margin: 0 .2rem .25rem 0;
    color: #33415c;
}
