/* ═══════════════════════════════════════
   TOKENS
═══════════════════════════════════════ */
:root {
  --bg0:#080707; --bg1:#0e0c0b; --bg2:#141210; --bg3:#1a1714; --bg4:#211e1a; --bg5:#2a2520;
  --border:#2e2822; --border2:#3d3530;
  --fog:#8a7a6e; --sand:#e8d8c4; --sand2:#f5ede0;
  --ember:#e07b35; --ember2:#c96820; --ember3:#f09555;
  --eglow:rgba(224,123,53,.14);
  --green:#22c55e; --red:#ef4444; --yellow:#f59e0b; --blue:#60a5fa; --purple:#a78bfa;
  --font:'Space Grotesk',system-ui,sans-serif;
  --display:'Syne',sans-serif;
  --r:12px; --tr:.15s ease;
  --topbar-h:52px;
  --nav-h:58px;
  --safe-b:env(safe-area-inset-bottom,0px);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
html,body { height:100%; }
body { font-family:var(--font); background:var(--bg0); color:var(--sand); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
a { color:var(--ember); text-decoration:none; }
button { font-family:var(--font); cursor:pointer; border:none; outline:none; transition:all var(--tr); }
::-webkit-scrollbar { width:3px; height:3px; }
::-webkit-scrollbar-thumb { background:var(--bg5); border-radius:4px; }

/* ═══ TOPBAR ════════════════════════════ */
.topbar {
  position:fixed; top:0; left:0; right:0; z-index:300;
  height:var(--topbar-h);
  padding:0 16px;
  background:rgba(8,7,7,.92);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:10px;
}
@supports(backdrop-filter:blur(1px)){.topbar{backdrop-filter:blur(24px);}}
.logo { font-family:var(--display); font-size:1.05rem; font-weight:800; color:var(--sand2); letter-spacing:-.3px; flex-shrink:0; }
.logo em { color:var(--ember); font-style:normal; }
.topbar-tag { display:flex; align-items:center; gap:5px; padding:3px 10px; border-radius:20px; font-size:.68rem; font-weight:700; background:var(--eglow); border:1px solid rgba(224,123,53,.28); color:var(--ember3); flex-shrink:0; }
.topbar-sp { flex:1; }
.topbar-back { width:32px; height:32px; border-radius:50%; background:var(--bg3); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--fog); font-size:.8rem; flex-shrink:0; }
.topbar-back:hover { color:var(--sand); }
.topbar-actions { display:flex; align-items:center; gap:6px; }
.tba-btn { height:32px; padding:0 12px; border-radius:8px; font-size:.72rem; font-weight:700; background:var(--bg3); border:1px solid var(--border); color:var(--fog); display:flex; align-items:center; gap:5px; }
.tba-btn:hover { color:var(--sand); border-color:var(--border2); }
.tba-btn.primary { background:var(--ember); border-color:var(--ember); color:var(--bg0); }
.tba-btn.primary:hover { background:var(--ember2); }

/* ═══ SHELL (3-col desktop / 1-col mobile) ══ */
.shell {
  display:grid;
  grid-template-columns:220px 1fr 260px;
  min-height:100vh;
  padding-top:var(--topbar-h);
}
@media(max-width:1180px) { .shell { grid-template-columns:200px 1fr; } .rcol { display:none; } }
@media(max-width:860px)  { .shell { grid-template-columns:1fr; } .lcol { display:none; } }

/* ═══ LEFT SIDEBAR ══════════════════════ */
.lcol { border-right:1px solid var(--border); }
.lcol-inner {
  position:sticky; top:var(--topbar-h);
  height:calc(100vh - var(--topbar-h));
  overflow-y:auto; padding:14px 10px;
  display:flex; flex-direction:column; gap:2px;
}
.lcol-inner::-webkit-scrollbar { width:0; }
.snav-section { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--fog); padding:8px 10px 4px; }
.sn {
  display:flex; align-items:center; gap:9px;
  padding:9px 12px; border-radius:10px;
  font-size:.8rem; font-weight:600; color:var(--fog);
  background:none; border:none; width:100%; text-align:left; cursor:pointer;
  transition:all var(--tr);
}
.sn:hover { color:var(--sand); background:rgba(255,255,255,.04); }
.sn.active { color:var(--ember); background:var(--eglow); }
.sn i { width:16px; text-align:center; flex-shrink:0; font-size:.78rem; opacity:.7; }
.sn.active i { opacity:1; }
.sn-badge { margin-left:auto; background:var(--ember); color:var(--bg0); font-size:.55rem; font-weight:800; min-width:16px; height:16px; border-radius:8px; padding:0 4px; display:flex; align-items:center; justify-content:center; }
.sn-sep { height:1px; background:var(--border); margin:5px 0; }
.sn-publish {
  display:flex; align-items:center; gap:9px;
  padding:10px 12px; border-radius:10px;
  font-size:.8rem; font-weight:700; color:var(--bg0);
  background:linear-gradient(135deg,var(--ember2),var(--ember3));
  border:none; width:100%; cursor:pointer; transition:all var(--tr); margin-top:4px;
}
.sn-publish:hover { filter:brightness(1.08); transform:translateY(-1px); }

/* ═══ MAIN ═══════════════════════════════ */
.main { min-width:0; }
.pane { display:none; padding:20px 18px calc(var(--nav-h) + var(--safe-b) + 20px); }
.pane.on { display:block; animation:fadeUp .17s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }
@media(min-width:861px) { .pane { padding-bottom:40px; } }

/* ═══ RIGHT SIDEBAR ═════════════════════ */
.rcol { border-left:1px solid var(--border); }
.rcol-inner {
  position:sticky; top:var(--topbar-h);
  height:calc(100vh - var(--topbar-h));
  overflow-y:auto; padding:14px 13px;
  display:flex; flex-direction:column; gap:10px;
}
.rcol-inner::-webkit-scrollbar { width:0; }
.rcard { background:var(--bg2); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.rcard-h { padding:10px 13px; border-bottom:1px solid var(--border); font-size:.66rem; font-weight:700; color:var(--fog); text-transform:uppercase; letter-spacing:.5px; }
.rcard-b { padding:12px 13px; }
.rstat { display:flex; justify-content:space-between; align-items:center; padding:4px 0; font-size:.76rem; color:var(--fog); }
.rstat-v { font-weight:700; color:var(--sand); }

/* ═══ SHARED COMPONENTS ═════════════════ */
.ph { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; gap:12px; flex-wrap:wrap; }
.ph h1 { font-family:var(--display); font-size:1.22rem; font-weight:800; letter-spacing:-.3px; margin-bottom:3px; }
.ph p { font-size:.76rem; color:var(--fog); }
.ph-acts { display:flex; gap:7px; flex-shrink:0; flex-wrap:wrap; }

.btn { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:9px; font-size:.78rem; font-weight:700; transition:all var(--tr); cursor:pointer; border:none; white-space:nowrap; }
.btn-p { background:var(--ember); color:var(--bg0); }
.btn-p:hover { background:var(--ember2); }
.btn-g { background:var(--bg3); color:var(--fog); border:1px solid var(--border); }
.btn-g:hover { color:var(--sand); border-color:var(--border2); }
.btn-sm { padding:5px 10px; font-size:.72rem; }
.btn-danger { background:rgba(239,68,68,.1); color:#f87171; border:1px solid rgba(239,68,68,.2); }
.btn-danger:hover { background:rgba(239,68,68,.18); }
.btn-success { background:rgba(34,197,94,.1); color:#4ade80; border:1px solid rgba(34,197,94,.2); }
.btn-success:hover { background:rgba(34,197,94,.18); }

/* ─ Filter bar ─ */
.fbar { display:flex; flex-wrap:wrap; gap:5px; padding:5px 6px; background:var(--bg2); border:1px solid var(--border); border-radius:11px; margin-bottom:13px; }
.fsearch { display:flex; align-items:center; gap:6px; padding:0 8px; min-width:130px; flex:1; }
.fsearch i { color:var(--fog); font-size:.72rem; }
.fsearch input { background:none; border:none; flex:1; color:var(--sand); font-size:.78rem; font-family:var(--font); }
.fsearch input::placeholder { color:var(--fog); }
.fsearch input:focus { outline:none; }
.fdiv { width:1px; background:var(--border); align-self:stretch; margin:3px 0; flex-shrink:0; }
.fsel { background:none; border:none; color:var(--sand); font-size:.73rem; font-weight:600; padding:5px 7px; cursor:pointer; border-radius:7px; }
.fsel:focus { outline:none; background:var(--bg3); }
.fsel option { background:var(--bg2); color:var(--sand); }
.ftog { display:flex; align-items:center; gap:4px; padding:5px 9px; border-radius:7px; background:none; border:1px solid var(--border); color:var(--fog); font-size:.7rem; font-weight:600; }
.ftog.on { background:var(--eglow); border-color:rgba(224,123,53,.3); color:var(--ember3); }

/* ─ Tab bar ─ */
.tbar { display:flex; gap:3px; padding:4px; background:var(--bg2); border:1px solid var(--border); border-radius:11px; margin-bottom:13px; overflow-x:auto; scrollbar-width:none; }
.tbar::-webkit-scrollbar { display:none; }
.tb { padding:6px 13px; border-radius:8px; font-size:.75rem; font-weight:700; color:var(--fog); cursor:pointer; white-space:nowrap; background:none; border:none; transition:all var(--tr); }
.tb:hover { color:var(--sand); }
.tb.active { background:var(--eglow); color:var(--ember); }

/* ─ Chips ─ */
.chip { display:inline-flex; align-items:center; gap:3px; padding:2px 8px; border-radius:20px; font-size:.64rem; font-weight:700; white-space:nowrap; }
.ch-g { background:rgba(34,197,94,.1); color:#4ade80; border:1px solid rgba(34,197,94,.2); }
.ch-r { background:rgba(239,68,68,.1); color:#f87171; border:1px solid rgba(239,68,68,.2); }
.ch-b { background:rgba(96,165,250,.1); color:var(--blue); border:1px solid rgba(96,165,250,.2); }
.ch-e { background:var(--eglow); color:var(--ember3); border:1px solid rgba(224,123,53,.25); }
.ch-m { background:rgba(255,255,255,.05); color:var(--sand); border:1px solid var(--border); }
.ch-p { background:rgba(167,139,250,.1); color:var(--purple); border:1px solid rgba(167,139,250,.2); }

/* ─ Empty state ─ */
.empty { padding:40px 20px; text-align:center; }
.empty-ico { font-size:2rem; margin-bottom:12px; }
.empty h3 { font-size:.86rem; font-weight:700; color:var(--sand); margin-bottom:5px; }
.empty p { font-size:.73rem; color:var(--fog); }

/* ─ KPIs ─ */
.kpis { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; margin-bottom:14px; }
.kpi { background:var(--bg2); border:1px solid var(--border); border-radius:11px; padding:12px; }
.kpi-i { width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:.76rem; margin-bottom:8px; }
.i-g{background:rgba(34,197,94,.1);color:var(--green);} .i-b{background:rgba(96,165,250,.1);color:var(--blue);}
.i-e{background:var(--eglow);color:var(--ember);}         .i-p{background:rgba(167,139,250,.1);color:var(--purple);}
.kpi-v { font-family:var(--display); font-size:1.1rem; font-weight:800; color:var(--sand2); }
.kpi-l { font-size:.62rem; color:var(--fog); margin-top:2px; }

/* ═══ JOB CARD ══════════════════════════ */
.jcard { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:14px 15px; margin-bottom:9px; cursor:pointer; transition:all var(--tr); }
.jcard:hover { border-color:var(--border2); background:var(--bg3); }
.jcard.feat { border-color:rgba(224,123,53,.28); background:linear-gradient(135deg,var(--bg2),rgba(224,123,53,.03)); }
.jcard-top { display:flex; gap:11px; align-items:flex-start; margin-bottom:9px; }
.jlogo { width:40px; height:40px; border-radius:9px; overflow:hidden; flex-shrink:0; background:var(--bg4); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.84rem; color:var(--fog); }
.jlogo img { width:100%; height:100%; object-fit:cover; }
.jinfo { flex:1; min-width:0; }
.jtitle { font-size:.9rem; font-weight:700; color:var(--sand2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jco { font-size:.71rem; color:var(--fog); display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-top:2px; }
.vbadge { color:var(--blue); font-size:.64rem; }
.jscore { display:flex; flex-direction:column; align-items:flex-end; gap:3px; flex-shrink:0; font-size:.67rem; color:var(--ember); font-weight:700; }
.jscore-bar { width:38px; height:3px; background:var(--bg5); border-radius:3px; }
.jscore-fill { height:100%; background:var(--ember); border-radius:3px; }
.jmeta { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:7px; }
.jdesc { font-size:.73rem; color:var(--fog); line-height:1.55; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin-bottom:9px; }
.jfoot { display:flex; justify-content:space-between; align-items:center; }
.jsal { font-size:.71rem; font-weight:700; color:var(--sand); }
.jdate { font-size:.65rem; color:var(--fog); }

/* ═══ RECRUITER HERO ════════════════════ */
.rec-hero {
  background:linear-gradient(135deg,rgba(224,123,53,.07),rgba(224,123,53,.02));
  border:1px solid rgba(224,123,53,.2); border-radius:14px;
  padding:20px 22px; margin-bottom:18px;
  position:relative; overflow:hidden; display:none;
}
.rec-hero::before { content:''; position:absolute; top:-30px; right:-30px; width:140px; height:140px; background:radial-gradient(circle,rgba(224,123,53,.12),transparent 70%); pointer-events:none; }
.rec-hero h2 { font-family:var(--display); font-size:1.08rem; font-weight:800; color:var(--sand2); margin-bottom:5px; }
.rec-hero p { font-size:.76rem; color:var(--fog); margin-bottom:14px; }
.rec-hero-acts { display:flex; gap:7px; flex-wrap:wrap; }

/* ═══ APPLICANT CARDS ═══════════════════ */
.offer-group-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.offer-group-title { font-size:.86rem; font-weight:700; color:var(--sand2); }
.offer-group-sub { font-size:.7rem; color:var(--fog); }

.rec-card { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:14px 15px; margin-bottom:9px; }
.rec-header { display:flex; gap:12px; align-items:flex-start; margin-bottom:10px; }
.rec-avatar { width:44px; height:44px; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--bg4); border:2px solid var(--border); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.84rem; color:var(--fog); }
.rec-avatar img { width:100%; height:100%; object-fit:cover; }
.rec-info { flex:1; min-width:0; }
.rec-name { font-size:.88rem; font-weight:700; color:var(--sand2); }
.rec-title { font-size:.7rem; color:var(--fog); margin-top:2px; }
.rec-score-ring { width:42px; height:42px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:.78rem; font-weight:800; }
.rec-skills { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:9px; }
.rec-cover { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:9px 11px; font-size:.72rem; color:var(--fog); line-height:1.6; margin-bottom:9px; }
.rec-cover-label { font-size:.61rem; text-transform:uppercase; letter-spacing:.5px; color:var(--ember); font-weight:700; margin-bottom:4px; }
.rec-actions { display:flex; gap:6px; flex-wrap:wrap; }

/* ═══ COMPANY PROFILE ═══════════════════ */
.co-card { background:var(--bg2); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:14px; }
.co-cover { height:76px; background:var(--bg3); position:relative; overflow:hidden; }
.co-cover img { width:100%; height:100%; object-fit:cover; }
.co-cover-bg { width:100%; height:100%; background:linear-gradient(135deg,rgba(224,123,53,.09),rgba(167,139,250,.07)); }
.co-logo-wrap { position:absolute; bottom:-18px; left:16px; width:44px; height:44px; border-radius:10px; background:var(--bg2); border:2px solid var(--border2); overflow:hidden; display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--fog); font-size:.88rem; }
.co-logo-wrap img { width:100%; height:100%; object-fit:cover; }
.co-body { padding:24px 16px 16px; }
.co-name { font-family:var(--display); font-size:.98rem; font-weight:800; color:var(--sand2); }
.co-meta { font-size:.7rem; color:var(--fog); margin-top:3px; }
.co-stats { display:flex; gap:14px; margin-top:12px; padding-top:10px; border-top:1px solid var(--border); }
.co-stat-v { font-family:var(--display); font-size:1rem; font-weight:800; color:var(--sand2); }
.co-stat-l { font-size:.61rem; color:var(--fog); margin-top:1px; }

/* ═══ PROFILE DRAWER ════════════════════ */
.profile-drawer { position:fixed; inset:0; z-index:500; display:none; }
.profile-drawer.open { display:flex; }
.pd-overlay { position:absolute; inset:0; background:rgba(0,0,0,.65); }
.pd-panel { position:absolute; right:0; top:0; bottom:0; width:min(500px,100vw); background:var(--bg1); border-left:1px solid var(--border); overflow-y:auto; display:flex; flex-direction:column; animation:slideIn .2s ease; }
@keyframes slideIn { from{transform:translateX(100%)} to{transform:translateX(0)} }
.pd-top { position:sticky; top:0; z-index:2; padding:13px 16px; background:var(--bg1); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.pd-close { width:30px; height:30px; border-radius:8px; background:var(--bg3); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--fog); font-size:.76rem; }
.pd-close:hover { color:var(--sand); }
.pd-hero { padding:18px 16px; border-bottom:1px solid var(--border); display:flex; gap:14px; align-items:flex-start; }
.pd-av { width:58px; height:58px; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--bg4); border:2px solid var(--border2); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1rem; color:var(--fog); }
.pd-av img { width:100%; height:100%; object-fit:cover; }
.pd-name { font-family:var(--display); font-size:1.08rem; font-weight:800; color:var(--sand2); }
.pd-job { font-size:.74rem; color:var(--fog); margin-top:3px; }
.pd-section { padding:13px 16px; border-bottom:1px solid var(--border); }
.pd-section-title { font-size:.63rem; text-transform:uppercase; letter-spacing:.7px; color:var(--ember); font-weight:700; margin-bottom:8px; }
.pd-bio { font-size:.77rem; color:var(--sand); line-height:1.65; }
.pd-skills { display:flex; flex-wrap:wrap; gap:5px; }
.pd-match { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,var(--bg2),rgba(224,123,53,.05)); border:1px solid rgba(224,123,53,.18); border-radius:10px; padding:11px 14px; margin:13px 16px 0; }
.pd-match-ring { width:46px; height:46px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:.96rem; font-weight:800; }
.pd-link { display:flex; align-items:center; gap:5px; padding:6px 11px; border-radius:8px; background:var(--bg3); border:1px solid var(--border); font-size:.71rem; color:var(--fog); transition:all var(--tr); }
.pd-link:hover { color:var(--sand); border-color:var(--border2); }
.pd-footer { position:sticky; bottom:0; padding:12px 16px; background:var(--bg1); border-top:1px solid var(--border); display:flex; gap:7px; flex-wrap:wrap; }

/* ═══ MODALS ════════════════════════════ */
.moverlay { position:fixed; inset:0; background:rgba(0,0,0,.76); z-index:900; display:none; align-items:center; justify-content:center; padding:20px; }
.moverlay.open { display:flex; }
.modal { background:var(--bg2); border:1px solid var(--border2); border-radius:16px; max-width:520px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:0 24px 80px rgba(0,0,0,.6); animation:mIn .18s ease; }
@keyframes mIn { from{opacity:0;transform:scale(.96)} to{opacity:1;transform:scale(1)} }
.mhead { padding:14px 17px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; background:var(--bg2); z-index:2; }
.mtitle { font-family:var(--display); font-size:.9rem; font-weight:800; color:var(--sand2); }
.mclose { width:27px; height:27px; border-radius:8px; background:var(--bg4); border:1px solid var(--border); color:var(--fog); display:flex; align-items:center; justify-content:center; font-size:.73rem; }
.mclose:hover { color:var(--sand); }
.mbody { padding:15px 17px; }
.mfoot { padding:12px 17px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:7px; position:sticky; bottom:0; background:var(--bg2); }

/* ─ Forms ─ */
.fr { display:flex; flex-direction:column; gap:5px; margin-bottom:11px; }
.fr label { font-size:.67rem; font-weight:600; color:var(--fog); text-transform:uppercase; letter-spacing:.4px; }
.fi,.fs,.ft { background:var(--bg3); border:1px solid var(--border); border-radius:9px; padding:9px 11px; color:var(--sand); font-size:.8rem; font-family:var(--font); outline:none; width:100%; transition:border-color var(--tr); }
.fi:focus,.ft:focus { border-color:rgba(224,123,53,.45); }
.fs { cursor:pointer; }
.fs option { background:var(--bg2); }
.ft { resize:vertical; min-height:78px; }
.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
@media(max-width:480px) { .fgrid { grid-template-columns:1fr; } }

/* ─ Skills input ─ */
.skills-wrap { background:var(--bg3); border:1px solid var(--border); border-radius:9px; padding:7px 10px; display:flex; flex-wrap:wrap; gap:5px; min-height:40px; }
.stag { display:flex; align-items:center; gap:4px; padding:2px 8px; background:var(--eglow); border:1px solid rgba(224,123,53,.25); border-radius:20px; font-size:.67rem; font-weight:600; color:var(--ember3); }
.stag button { background:none; border:none; color:var(--fog); cursor:pointer; font-size:.7rem; padding:0; line-height:1; }
.stag button:hover { color:var(--red); }
.sinput { background:none; border:none; flex:1; min-width:80px; color:var(--sand); font-size:.76rem; font-family:var(--font); padding:2px 0; outline:none; }

/* ─ Apply steps ─ */
.asteps { display:flex; align-items:center; gap:6px; margin-bottom:14px; }
.astep { display:flex; align-items:center; gap:5px; font-size:.69rem; font-weight:600; color:var(--fog); }
.astep.active { color:var(--ember); }
.astep.done { color:var(--green); }
.adot { width:20px; height:20px; border-radius:50%; background:var(--bg4); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:800; }
.astep.active .adot { background:var(--ember); color:var(--bg0); border-color:var(--ember); }
.astep.done .adot { background:var(--green); color:var(--bg0); border-color:var(--green); }
.asep { flex:1; height:1px; background:var(--border); }

/* ─ Company banner ─ */
.company-banner { display:flex; align-items:center; gap:9px; padding:10px 13px; background:var(--eglow); border:1px solid rgba(224,123,53,.2); border-radius:9px; margin-bottom:13px; font-size:.75rem; color:var(--fog); }
.company-banner i { color:var(--ember); flex-shrink:0; }
.company-banner strong { color:var(--sand); }

/* ═══ MOBILE BOTTOM NAV ═════════════════ */
.mobile-nav { display:none; position:fixed; bottom:0; left:0; right:0; z-index:300; background:rgba(8,7,7,.94); border-top:1px solid var(--border); padding:6px 4px max(var(--safe-b),6px); }
@supports(backdrop-filter:blur(1px)) { .mobile-nav { backdrop-filter:blur(24px); } }
@media(max-width:860px) { .mobile-nav { display:flex; } }
.mnb { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:5px 2px; border-radius:9px; background:none; border:none; font-size:.51rem; font-weight:700; color:var(--fog); transition:color var(--tr); }
.mnb:hover { color:var(--sand); }
.mnb.active { color:var(--ember); }
.mnb i { font-size:1.04rem; }

/* ── FAB recruteur (mobile) ── */
.fab-publish { display:none; position:fixed; bottom:calc(var(--nav-h) + var(--safe-b) + 12px); right:16px; z-index:400; width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--ember2),var(--ember3)); border:none; color:var(--bg0); font-size:1.1rem; box-shadow:0 4px 20px rgba(224,123,53,.35); align-items:center; justify-content:center; transition:all var(--tr); }
.fab-publish:hover { transform:scale(1.06); }
@media(max-width:860px) { .fab-publish.show { display:flex; } }

/* ═══ TOAST ═════════════════════════════ */
#toast { position:fixed; bottom:calc(var(--nav-h) + var(--safe-b) + 10px); left:50%; transform:translateX(-50%) translateY(16px); background:var(--bg4); border:1px solid var(--border); border-radius:11px; padding:9px 15px; font-size:.77rem; font-weight:600; display:flex; align-items:center; gap:7px; opacity:0; transition:all .22s ease; z-index:9999; white-space:nowrap; max-width:90vw; pointer-events:none; }
@media(min-width:861px) { #toast { bottom:20px; } }
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
#toast.ok i { color:var(--green); }
#toast.err { border-color:rgba(239,68,68,.3); }
#toast.err i { color:var(--red); }

/* ═══ PIPELINE KANBAN ═══════════════════ */
.kanban-wrap { display:flex; gap:14px; overflow-x:auto; padding-bottom:10px; -webkit-overflow-scrolling:touch; }
.kanban-col { flex:0 0 270px; background:var(--bg2); border:1px solid var(--border); border-radius:var(--r); display:flex; flex-direction:column; max-height:calc(100vh - 220px); }
.kanban-col-head { padding:12px 14px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.kanban-col-title { font-family:var(--display); font-size:.8rem; font-weight:700; color:var(--sand2); }
.kanban-col-count { font-size:.68rem; font-weight:700; color:var(--fog); background:var(--bg4); border-radius:20px; padding:2px 8px; }
.kanban-col-body { flex:1; overflow-y:auto; padding:10px; display:flex; flex-direction:column; gap:8px; min-height:60px; }
.kanban-col-body.drag-over { background:var(--eglow); }
.kcard { background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:10px 12px; cursor:grab; transition:border-color var(--tr); }
.kcard:hover { border-color:var(--border2); }
.kcard.dragging { opacity:.4; }
.kcard-name { font-size:.8rem; font-weight:700; color:var(--sand2); margin-bottom:2px; }
.kcard-offer { font-size:.68rem; color:var(--fog); margin-bottom:6px; }
.kcard-foot { display:flex; align-items:center; justify-content:space-between; }
.kcard-score { font-size:.66rem; font-weight:700; padding:1px 7px; border-radius:20px; }
.kcard-notes { font-size:.66rem; color:var(--fog); display:flex; align-items:center; gap:3px; }
.kanban-empty { font-size:.7rem; color:var(--fog); text-align:center; padding:14px 6px; }

/* ── Notes recrutement ── */
.note-item { background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:10px 12px; margin-bottom:8px; }
.note-meta { display:flex; justify-content:space-between; font-size:.64rem; color:var(--fog); margin-bottom:5px; }
.note-content { font-size:.78rem; color:var(--sand); line-height:1.5; white-space:pre-wrap; }
.note-add { display:flex; gap:8px; margin-top:10px; }
.note-add textarea { flex:1; background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:8px 10px; color:var(--sand); font-family:var(--font); font-size:.78rem; resize:vertical; min-height:54px; }

/* ── Profil entreprise : avatar/logo preview ── */
.co-logo-preview { width:64px; height:64px; border-radius:14px; background:var(--bg3); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; }
.co-logo-preview img { width:100%; height:100%; object-fit:cover; }
.co-verif-badge { display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:20px; }
.co-verif-badge.verifie { background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); color:var(--green); }
.co-verif-badge.en_attente { background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.3); color:var(--yellow); }
.co-verif-badge.non_verifie { background:var(--bg4); border:1px solid var(--border); color:var(--fog); }
.co-verif-badge.refuse { background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.3); color:var(--red); }
