/* Blucifer Job Portal — modern UI */
:root{--bjp-ink:#101828;--bjp-muted:#667085;--bjp-line:#e4e7ec;--bjp-bg:#f7f8fa;--bjp-card:#fff;--bjp-accent:#635bff;--bjp-accent2:#16b364;--bjp-radius:18px}
.bjp-wrap,.bjp-dashboard,.bjp-auth{max-width:1180px;margin:35px auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--bjp-ink)}
.bjp-hero{background:linear-gradient(135deg,#111827,#26324a);color:#fff;border-radius:28px;padding:55px 50px;margin-bottom:22px;box-shadow:0 18px 50px #10182818}.bjp-hero h1{font-size:clamp(34px,5vw,58px);margin:10px 0}.bjp-hero p{font-size:18px;opacity:.78}
.bjp-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;opacity:.7}.bjp-filters{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:10px;padding:14px;background:#fff;border:1px solid var(--bjp-line);border-radius:18px;margin-bottom:25px;box-shadow:0 10px 35px #10182808}.bjp-filters.compact{grid-template-columns:1fr 1fr 1fr auto;box-shadow:none;padding:0;border:0}
.bjp-filters input,.bjp-filters select,.bjp-card input,.bjp-card select,.bjp-card textarea,.bjp-auth input,.bjp-auth select{width:100%;box-sizing:border-box;border:1px solid var(--bjp-line);border-radius:11px;padding:12px 13px;background:#fff;font:inherit}.bjp-card label,.bjp-auth label{display:block;font-size:13px;font-weight:700;margin-bottom:13px}.bjp-card label input,.bjp-card label select,.bjp-card label textarea,.bjp-auth label input,.bjp-auth label select{margin-top:6px;font-weight:400}
.bjp-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:var(--bjp-accent);color:#fff!important;padding:12px 18px;text-decoration:none;font-weight:800;cursor:pointer}.bjp-btn.small{padding:9px 13px;font-size:12px}.bjp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bjp-job,.bjp-card,.bjp-package{background:var(--bjp-card);border:1px solid var(--bjp-line);border-radius:var(--bjp-radius);padding:22px;box-shadow:0 8px 28px #1018280a}.bjp-job h3{font-size:21px;margin:14px 0 7px}.bjp-job p{color:var(--bjp-muted);line-height:1.55}.bjp-job-top,.bjp-job-bottom,.bjp-dash-head,.bjp-candidate{display:flex;align-items:center;justify-content:space-between;gap:14px}.bjp-job-bottom{margin-top:20px}.bjp-pill{font-size:11px;font-weight:800;padding:6px 9px;border-radius:20px;background:#eef0ff;color:#4f46e5}.bjp-save{border:0;background:none;font-size:22px;cursor:pointer}.bjp-muted{color:var(--bjp-muted)}.bjp-notice{max-width:1180px;margin:20px auto;padding:13px 16px;border-radius:12px;background:#fff0f0;color:#b42318}.bjp-notice.success{background:#ecfdf3;color:#027a48}
.bjp-auth{max-width:480px}.bjp-auth .bjp-card{padding:32px}.bjp-auth h2{font-size:32px;margin:7px 0 25px}.bjp-dashboard{max-width:1180px}.bjp-dash-head{margin-bottom:25px}.bjp-dash-head h2{font-size:32px;margin:5px 0}.bjp-status{padding:8px 12px;border-radius:30px;font-size:11px;font-weight:900}.bjp-status.active{background:#ecfdf3;color:#027a48}.bjp-status.inactive{background:#fff7ed;color:#c2410c}.bjp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.bjp-stats div{background:#111827;color:#fff;border-radius:16px;padding:20px}.bjp-stats small{display:block;opacity:.65;margin-bottom:7px}.bjp-stats strong{font-size:21px}.bjp-callout{margin-bottom:20px}.bjp-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bjp-check{display:flex!important;align-items:center;gap:8px}.bjp-check input{width:auto!important}.bjp-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.bjp-package h3{font-size:22px}.bjp-price{font-size:32px;font-weight:900;margin:16px 0}.bjp-price small{font-size:12px;color:var(--bjp-muted);font-weight:500}.bjp-package li{margin:9px 0;color:var(--bjp-muted)}.bjp-candidates{display:grid;gap:10px;margin-top:15px}.bjp-candidate{border:1px solid var(--bjp-line);border-radius:14px;padding:14px}.bjp-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eef0ff;color:#4f46e5;font-weight:900}.bjp-candidate>div:nth-child(2){flex:1}.bjp-candidate h4{margin:0 0 4px}.bjp-candidate p{margin:0 0 4px}.bjp-job-single{max-width:900px;margin:40px auto}.bjp-job-single h1{font-size:45px}
@media(max-width:900px){.bjp-grid,.bjp-packages{grid-template-columns:1fr 1fr}.bjp-filters{grid-template-columns:1fr 1fr}.bjp-filters .bjp-btn{grid-column:1/-1}.bjp-two,.bjp-stats{grid-template-columns:1fr}}
@media(max-width:600px){.bjp-grid,.bjp-packages{grid-template-columns:1fr}.bjp-hero{padding:35px 25px}.bjp-filters{grid-template-columns:1fr}.bjp-filters.compact{grid-template-columns:1fr}.bjp-candidate{align-items:flex-start;flex-wrap:wrap}.bjp-candidate .bjp-btn{width:100%}}
