/* App overrides layered on top of the Zoben theme (assets/zoben/css). Keep this file last in <head>. */
:root{--brand:var(--mainColor,#00CA99);--brand-dark:color-mix(in srgb,var(--brand) 82%,#000);--brand-soft:color-mix(in srgb,var(--brand) 9%,#fff)}
body{background:#f7f8fa}
.navbar-brand-text{font-weight:800;color:var(--titleColor,#000);letter-spacing:-.5px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.navbar-brand-text i{color:var(--brand)}
.others-options form{display:inline}

/* legacy utility classes still used on pages not yet re-skinned */
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:6px;font-weight:600}
.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-outline-brand{border:1.5px solid var(--brand);color:var(--brand);border-radius:6px;font-weight:600}
.btn-outline-brand:hover{background:var(--brand);color:#fff}
.text-brand{color:var(--brand)!important}
.card{border:1px solid #e8eaf1;border-radius:14px}
.job-card{transition:.15s}.job-card:hover{box-shadow:0 8px 24px rgba(17,24,39,.08);transform:translateY(-1px)}
.empty{text-align:center;padding:48px 16px;color:#6b7280}.empty i{font-size:2.5rem;color:#c3c9d6}
.prose{white-space:pre-line}
.stat{padding:18px}.stat .n{font-size:1.9rem;font-weight:800;color:var(--brand);line-height:1}
.tag{background:#eef1f7;border-radius:8px;padding:2px 9px;font-size:.78rem;color:#4b5563;display:inline-block;margin:2px 2px 2px 0}
.logo-box{width:52px;height:52px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;flex:none}
.logo-box img{width:100%;height:100%;object-fit:cover}

/* banner stats row (home hero) */
.stats-row{list-style:none;display:flex;gap:28px;padding:0;margin:20px 0 0}
.stats-row li{display:flex;flex-direction:column}
.stats-row b{font-size:1.4rem;color:var(--brand)}
.stats-row span{font-size:.8rem;color:var(--bodyColor)}

/* category / sidebar widgets reused on home + dashboards */
.category-list-widget{list-style:none;padding:0;margin:0}
.category-list-widget li a{display:flex;justify-content:space-between;padding:8px 0;color:var(--titleColor);text-decoration:none;border-bottom:1px solid #f1f1f1}
.category-list-widget li:last-child a{border-bottom:0}
.category-list-widget .count{color:#9ca3af}
.hiring-cta{background:var(--brand-soft);border-radius:10px;padding:28px 20px}

/* job card additions */
.recent-job-img .logo-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand);font-weight:800;border-radius:6px}
.badge-featured{background:#fff3cd;color:#8a6500;font-size:.68rem;padding:2px 8px;border-radius:999px;vertical-align:middle}
.job-desc{color:var(--bodyColor);font-size:.88rem;margin:8px 0}
.job-card-actions{display:flex;justify-content:space-between;align-items:center;padding:0 30px 20px}
.bookmark-btn.saved{color:var(--brand)}
.bookmark-btn.saved i::before{content:"\ec1b"}/* ri-bookmark-fill */

/* dashboard sidebar shell (candidate/employer/admin) — top padding clears the absolutely
   positioned Zoben navbar, which has no hero/inner-banner underneath it on these pages */
.dash-shell{padding-top:110px}
.sidebar{width:260px;background:#fff;border-right:1px solid #eef0f4;min-height:calc(100vh - 110px);position:sticky;top:110px;align-self:flex-start;padding:20px 0}
.sidebar a{display:flex;align-items:center;gap:10px;padding:11px 20px;color:#4b5563;text-decoration:none;font-weight:500;font-size:.93rem;border-left:3px solid transparent}
.sidebar a:hover,.sidebar a.active{background:var(--brand-soft);color:var(--brand);border-left-color:var(--brand)}
.sidebar .badge{margin-left:auto}
main.dash{background:#f7f8fa;min-height:calc(100vh - 85px)}
.bottom-nav{display:none}
@media(max-width:991px){.sidebar{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e8eaf1;z-index:1030;justify-content:space-around;padding:6px 0 env(safe-area-inset-bottom)}
.bottom-nav a{text-align:center;font-size:.7rem;color:#4b5563;text-decoration:none}.bottom-nav i{display:block;font-size:1.25rem}main.dash{padding-bottom:80px}}
.btn.loading{pointer-events:none;opacity:.7}
.save-btn.saved i::before{content:"\f151"}
