/* Brand tokens mapped onto Bootstrap variables. Only what Bootstrap cannot do. */
:root{--bs-primary:#0a66c2;--bs-primary-rgb:14,165,233;--bs-success:#33af91;--bs-success-rgb:51,175,145;
--bs-body-color:#0f364e;--bs-link-color:#0a66c0;--bs-link-hover-color:#0f364e;
--bs-body-font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;--brand-dark:#0f364e}
.btn-primary{--bs-btn-bg:#0a66c2;--bs-btn-border-color:#0a66c2;--bs-btn-hover-bg:#0a66c0;--bs-btn-hover-border-color:#0a66c0;--bs-btn-active-bg:#0a66c0;--bs-btn-color:#fff}
.btn-outline-primary{--bs-btn-color:#0a66c0;--bs-btn-border-color:#0a66c2;--bs-btn-hover-bg:#0a66c2;--bs-btn-hover-border-color:#0a66c2;--bs-btn-active-bg:#0a66c2}
.btn-outline-dark{--bs-btn-color:#0f364e;--bs-btn-border-color:#0f364e;--bs-btn-hover-bg:#0f364e}
.bg-brand-dark,.hero{background-color:var(--brand-dark)}
.text-success-brand{color:#33af91}
.job-card{transition:transform .15s ease,box-shadow .15s ease;border-radius:.75rem}
.job-card:hover{transform:translateY(-2px);box-shadow:0 .5rem 1rem rgba(15,54,78,.08)!important;border-color:#0a66c2!important}
.job-card .btn-group .btn{padding:.25rem .625rem}
@media (max-width:767.98px){.job-card .btn-group{flex-wrap:wrap}}
.navbar{padding-top:max(.5rem,env(safe-area-inset-top))}
.hero-panel{border-left:4px solid #33af91}
@media (max-width: 991px){
#mainNav{width:300px!important;max-width:85vw!important}
#mainNav.offcanvas-end{transform:translateX(0)!important}
}
.breadcrumb,.form-label{font-size:.875rem}
.card h2.h5,.card h3.h6{font-size:1rem}
input[list]::-webkit-calendar-picker-indicator{display:none}
.company-list{position:absolute;top:100%;left:0;right:0;z-index:1050;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #dee2e6;border-radius:0.375rem;box-shadow:0 4px 12px rgba(0,0,0,.15);margin-top:2px}
.company-list li{padding:.5rem .75rem;cursor:pointer;font-size:.875rem}
.company-list li:hover{background:#f1f5f9}
.company-list li.active{background:#e0f2fe}
.company-list li strong{font-weight:600;color:#0f364e}
.company-list li small{color:#64748b;margin-left:.5rem}
.company-list li.company-list-empty{padding:.5rem .75rem;color:#64748b;font-style:italic;font-size:.875rem}
.company-list li.company-list-add{padding:.5rem .75rem;border-top:1px solid #dee2e6;cursor:default}
.company-list li.company-list-add:hover{background:transparent}
.company-list li.company-list-add .btn{margin:0}
.role-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;cursor:pointer}
.role-card:hover{transform:translateY(-2px);box-shadow:0 .5rem 1rem rgba(0,0,0,.08)!important;border-color:var(--bs-primary)!important}

/* Dashboard improvements */
.transition-shadow{transition:box-shadow .2s ease}
.hover-shadow:hover{box-shadow:0 .5rem 1.5rem rgba(0,0,0,.1)!important}
.card{transition:all .2s ease}
.card:hover{transform:translateY(-1px)}
.btn-group-sm .btn{padding:.2rem .4rem}

/* Hide city autocomplete validation errors - Google Maps API is deprecated */
#city + .city-error,
input[data-city-autocomplete] + .city-error,
.invalid-feedback.city-error {
    display: none !important;
    visibility: hidden !important;
}
