:root{
  --bg:#f6f7f9; --surface:#fff; --surface2:#fbfcfd; --ink:#171a21; --muted:#69707d;
  --line:#e4e7ec; --brand:#3559d9; --brand2:#2746ba; --brandSoft:#eef2ff;
  --good:#157a55; --goodSoft:#eaf7f1; --warn:#a56108; --warnSoft:#fff6e5;
  --bad:#b42318; --badSoft:#fff0ee; --nav:#111827; --nav2:#1f2937;
  --shadow:0 12px 36px rgba(16,24,40,.07); --r:15px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.48 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit} button{cursor:pointer} .hidden{display:none!important}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:700;transition:.16s}
.btn:hover{border-color:#c8ced8;transform:translateY(-1px)} .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}
.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:hover{border-color:var(--line);transform:none}
.btn.good{background:var(--good);border-color:var(--good);color:#fff}.btn.bad{background:var(--badSoft);border-color:#ffd2cc;color:var(--bad)}.btn.warn{background:var(--warnSoft);border-color:#f4dba8;color:var(--warn)}
.btn.sm{padding:7px 10px;font-size:12px}.btn.ghost{background:transparent}.btn.block{width:100%}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f0f2f5;color:#515966;font-size:11px;font-weight:750}.badge.good{background:var(--goodSoft);color:var(--good)}.badge.warn{background:var(--warnSoft);color:var(--warn)}.badge.bad{background:var(--badSoft);color:var(--bad)}.badge.brand{background:var(--brandSoft);color:var(--brand)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)} .muted{color:var(--muted)} .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.h1{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:4px 0 7px}.h2{font-size:18px;margin:0}.h3{font-size:14px;margin:0}.row{display:flex;align-items:center}.spread{display:flex;align-items:center;justify-content:space-between;gap:14px}.stack{display:flex;flex-direction:column;gap:10px}.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}.divider{height:1px;background:var(--line)}
/* Recruiter shell */
#recruiterShell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#fff;height:100vh;position:sticky;top:0;padding:20px 14px;overflow:auto}.logo{display:flex;align-items:center;gap:10px;font-weight:800;padding:0 10px 22px}.logoMark{width:31px;height:31px;border-radius:9px;background:#fff;color:var(--nav);display:grid;place-items:center;font-size:15px}.navLabel{font-size:10px;letter-spacing:.12em;color:#7e8999;padding:20px 10px 7px}.navItem{display:flex;align-items:center;gap:10px;color:#b8c0cc;padding:10px;border-radius:10px;margin:2px 0;cursor:pointer}.navItem:hover,.navItem.active{background:var(--nav2);color:#fff}.navItem .count{margin-left:auto;background:#374151;border-radius:999px;min-width:22px;padding:1px 6px;text-align:center;font-size:10px;color:#d6dbe3}.demoBox{border:1px solid #374151;border-radius:10px;margin:20px 8px 0;padding:10px;color:#9ca7b7;font-size:11px}.demoBox b{display:block;color:#fff;margin-bottom:3px}.recruiterMain{min-width:0}.topbar{height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;padding:0 26px;display:flex;align-items:center}.topbarRight{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;background:#e8ebf0;display:grid;place-items:center;font-weight:800}.content{padding:28px;max-width:1480px;margin:auto}.pageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.quickActions{display:flex;gap:8px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.metric{padding:17px}.metricNum{font-size:29px;letter-spacing:-.04em;font-weight:850}.metricLabel{font-size:12px;color:var(--muted)}.metricLink{margin-top:10px;color:var(--brand);font-size:11px;font-weight:800;cursor:pointer}.section{margin-top:24px}.sectionHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sectionHead h2{font-size:15px;margin:0}.jobCard{padding:19px;display:grid;grid-template-columns:1.25fr 1.1fr auto;gap:24px;align-items:center}.jobCard h3{margin:0 0 4px;font-size:17px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.funnel{display:flex;align-items:center;gap:8px}.fstep{text-align:center}.fstep b{display:block;font-size:17px}.fstep span{font-size:10px;color:var(--muted)}.arrow{color:#b7bdc7}.homeGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.listCard{padding:4px 18px}.activity{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:0}.time{width:50px;font-weight:800}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}
/* jobs */ .jobTable{overflow:hidden}.tableRow{display:grid;grid-template-columns:1.6fr .7fr .6fr .7fr auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.tableRow.head{background:#fafbfc;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}.tableRow:last-child{border-bottom:0}.jobName{font-weight:800}.small{font-size:12px}.tiny{font-size:11px}
/* Screening */ .screeningLayout{display:grid;grid-template-columns:270px minmax(430px,1fr) minmax(330px,.8fr);height:calc(100vh - 64px);margin:-28px}.candidateList{background:#fff;border-right:1px solid var(--line);overflow:auto}.stickyHead{position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid var(--line);padding:16px}.search{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;margin-top:10px}.candItem{padding:13px 15px;border-bottom:1px solid var(--line);cursor:pointer}.candItem:hover,.candItem.active{background:#f8f9fb}.candItem.active{box-shadow:inset 3px 0 var(--brand)}.candName{font-weight:800}.candMini{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-top:4px}.score{font-weight:850;color:var(--good)}.reviewPane,.cvPane{overflow:auto;background:var(--bg)}.reviewBody,.cvBody{padding:21px}.person{display:flex;align-items:center;gap:13px}.bigAvatar{width:52px;height:52px;border-radius:50%;background:#e8ebf0;display:grid;place-items:center;font-size:17px;font-weight:850}.person h2{font-size:21px;margin:0}.person p{margin:2px 0;color:var(--muted)}.scoreCard{display:flex;align-items:center;margin-top:17px;padding:16px;border-radius:13px;background:var(--goodSoft)}.scoreBig{font-size:38px;font-weight:900;color:var(--good);margin-right:15px}.block{margin-top:19px}.blockTitle{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:850;margin-bottom:7px}.req{display:flex;gap:9px;padding:7px 0}.reqIcon{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900}.reqIcon.yes{background:var(--goodSoft);color:var(--good)}.reqIcon.maybe{background:var(--warnSoft);color:var(--warn)}.reqIcon.no{background:var(--badSoft);color:var(--bad)}.req small{display:block;color:var(--muted)}.decisionBar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:11px 21px;display:flex;gap:8px}.cvSheet{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.cvSheet h2{margin:0}.cvSheet h4{margin:20px 0 6px}.cvSheet p,.cvSheet li{color:#4f5866}.highlight{background:#fff1ad;border-radius:3px;padding:1px 2px}.evidenceLink{display:block;background:var(--brandSoft);color:#31499b;border-radius:9px;padding:9px;margin-bottom:7px;font-size:12px}.noteBox{width:100%;min-height:74px;border:1px solid var(--line);border-radius:9px;padding:9px;resize:vertical}.kbd{font-size:10px;border:1px solid var(--line);border-bottom-width:2px;background:#fff;border-radius:5px;padding:1px 5px;color:var(--muted)}


/* Phone screening */
.phoneLayout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}
.phoneList{overflow:hidden;position:sticky;top:82px}.phoneListHead{padding:16px;border-bottom:1px solid var(--line)}
.phoneCandidate{padding:13px 15px;border-bottom:1px solid var(--line);cursor:pointer}.phoneCandidate:last-child{border-bottom:0}
.phoneCandidate:hover,.phoneCandidate.active{background:#f8f9fb}.phoneCandidate.active{box-shadow:inset 3px 0 var(--brand)}
.phoneEditor{overflow:hidden}.phoneTop{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.phoneBody{padding:20px}.phoneSection{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden}
.phoneSectionHead{padding:13px 16px;background:#fafbfc;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.phoneSectionHead h3{margin:0;font-size:14px}.phoneSectionBody{padding:16px}
.phoneGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.phoneField.full{grid-column:1/-1}
.phoneField label{display:block;font-size:10px;font-weight:850;letter-spacing:.055em;color:#596273;margin-bottom:5px;text-transform:uppercase}
.phoneField input,.phoneField select,.phoneField textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.phoneField textarea{min-height:92px;resize:vertical}.phoneField textarea.tall{min-height:125px}
.phoneActions{display:flex;gap:8px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line);background:#fafbfc;position:sticky;bottom:0;z-index:4}
.screenScore{display:flex;align-items:center;gap:14px;background:var(--brandSoft);border-radius:12px;padding:14px}
.screenScore strong{font-size:30px;color:var(--brand)}.adminNote{padding:10px 12px;border-radius:10px;background:var(--warnSoft);color:#79511b;font-size:11px;margin-bottom:12px}
.screenSummaryCard{margin-top:16px;border:1px solid #cfe7dc;background:#f4fbf7;border-radius:12px;padding:13px}
.printMenu{display:flex;gap:7px;flex-wrap:wrap}.hardcopyHint{font-size:11px;color:var(--muted);margin-top:8px}
@media(max-width:1120px){.phoneLayout{grid-template-columns:1fr}.phoneList{position:static}.phoneGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.phoneGrid{grid-template-columns:1fr}.phoneField.full{grid-column:auto}.phoneActions{position:static}.printMenu{width:100%}.printMenu .btn{flex:1}}

/* offers & contracts */
.offerLayout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.offerList{overflow:hidden}.offerListHead{padding:16px;border-bottom:1px solid var(--line)}.offerItem{padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.offerItem:last-child{border-bottom:0}.offerItem:hover,.offerItem.active{background:#f8f9fb}.offerItem.active{box-shadow:inset 3px 0 var(--brand)}.offerEditor{overflow:hidden}.offerTop{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.offerWorkspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);min-height:700px}.offerForm{padding:20px;border-right:1px solid var(--line);background:#fff}.offerPreviewPane{padding:20px;background:#f8f9fb}.offerSection{margin-bottom:22px}.offerSection h3{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 9px}.offerFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offerField label{display:block;font-size:10px;font-weight:850;letter-spacing:.05em;color:#596273;margin-bottom:5px}.offerField input,.offerField select,.offerField textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.offerField textarea{min-height:80px;resize:vertical}.moneySummary{background:#f8f9fb;border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:11px}.moneyRow{display:flex;justify-content:space-between;padding:5px 0}.moneyRow.total{border-top:1px solid var(--line);margin-top:5px;padding-top:10px;font-weight:850}.benefitGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.benefit{border:1px solid var(--line);border-radius:9px;padding:9px;display:flex;align-items:center;gap:8px;background:#fff}.contractSheet{background:#fff;border:1px solid #dfe3ea;border-radius:8px;padding:38px 42px;min-height:620px;box-shadow:0 12px 28px rgba(16,24,40,.05);font-family:Georgia,'Times New Roman',serif;color:#23262d}.contractSheet h1{text-align:center;font-size:21px;letter-spacing:.02em;margin:0 0 8px}.contractSheet .contractSub{text-align:center;font:12px Inter,Segoe UI,sans-serif;color:var(--muted);margin-bottom:28px}.contractSheet h3{font-size:14px;margin:22px 0 7px}.contractSheet p{font-size:13px;line-height:1.65}.contractSheet table{width:100%;border-collapse:collapse;font-size:13px}.contractSheet td{padding:7px 0;border-bottom:1px solid #eceef2}.contractSheet td:last-child{text-align:right;font-weight:700}.readiness{border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:12px}.readyBar{height:7px;background:#eceef2;border-radius:99px;overflow:hidden;margin:8px 0}.readyBar i{display:block;height:100%;background:var(--good)}.versionRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.versionRow:last-child{border:0}.offerStage{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.offerStage span{font-size:10px;padding:5px 8px;border-radius:999px;background:#f0f2f5;color:#657080}.offerStage span.done{background:var(--goodSoft);color:var(--good)}.offerStage span.current{background:var(--brandSoft);color:var(--brand);font-weight:800}.hireCard{padding:17px;display:grid;grid-template-columns:1.3fr .8fr .8fr auto;gap:12px;align-items:center}.approvalSummary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.approvalTile{background:#f8f9fb;border:1px solid var(--line);border-radius:11px;padding:12px}.candidateOfferHero{max-width:760px;margin:0 auto;padding:34px 18px 18px;text-align:center}.candidateOfferCard{max-width:760px;margin:0 auto 70px;padding:26px}.candidateOfferMoney{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:4px 0}.signBox{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.templatePill{display:inline-flex;gap:6px;align-items:center;background:var(--brandSoft);color:var(--brand);padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.legalNote{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:16px}

/* manager queue */ .managerQueue{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reviewRequest{padding:17px}.reviewPeople{display:flex;margin-top:13px}.miniAvatar{width:31px;height:31px;border-radius:50%;background:#e8ebf0;border:2px solid #fff;display:grid;place-items:center;font-size:10px;font-weight:800;margin-left:-6px}.miniAvatar:first-child{margin-left:0}.statusLine{height:8px;background:#ecedf0;border-radius:99px;overflow:hidden;margin-top:11px}.statusLine i{height:100%;background:var(--brand);display:block}
/* interviews / comm */ .timelineCard{padding:4px 18px}.interviewRow{display:grid;grid-template-columns:80px 1.2fr .9fr .8fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.interviewRow:last-child{border:0}.commsRow{display:grid;grid-template-columns:110px 1fr 1fr .6fr;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.commsRow:last-child{border:0}
/* manager portal */ #managerShell,#offerApprovalShell,#candidateShell{min-height:100vh;background:#f7f8fa}.portalTop{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px}.portalBrand{display:flex;align-items:center;gap:9px;font-weight:850}.portalTop .right{margin-left:auto}.portalWrap{max-width:780px;margin:0 auto;padding:30px 18px 70px}.portalHero{text-align:center;margin-bottom:20px}.portalHero h1{font-size:29px;letter-spacing:-.035em;margin:5px 0}.progress{height:6px;background:#e7e9ed;border-radius:99px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:var(--brand)}.managerCard{padding:26px}.managerWhy{background:#f8f9fb;border-radius:12px;padding:14px;margin:17px 0}.managerActions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.managerActions button{padding:14px}.managerComment{margin-top:15px}.managerComment textarea{width:100%;min-height:70px;padding:10px;border:1px solid var(--line);border-radius:9px}.portalDone{text-align:center;padding:42px 25px}.doneIcon{width:60px;height:60px;border-radius:50%;background:var(--goodSoft);color:var(--good);display:grid;place-items:center;font-size:28px;margin:0 auto 14px}.slotGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.slot{padding:12px;border:1px solid var(--line);background:#fff;border-radius:10px;font-weight:700}.slot:hover,.slot.selected{background:var(--brandSoft);border-color:var(--brand);color:var(--brand)}
/* candidate portal */ .candidateHero{background:#fff;border-bottom:1px solid var(--line)}.candidateJobHero{max-width:900px;margin:auto;padding:34px 18px}.candidateJobHero h1{font-size:31px;letter-spacing:-.04em;margin:5px 0}.candidateLayout{max-width:900px;margin:18px auto;padding:0 18px 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.jobDescription{padding:24px}.jobDescription h3{margin-top:22px}.applyCard{padding:23px;position:sticky;top:78px;align-self:start}.upload{border:1.5px dashed #c8ced8;border-radius:13px;background:#fafbfc;text-align:center;padding:28px;cursor:pointer}.upload b{display:block;font-size:15px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:15px}.field label{display:block;font-size:10px;letter-spacing:.05em;color:#555f6e;font-weight:800;margin-bottom:5px}.field input,.field select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.full{grid-column:1/-1}.consent{font-size:11px;color:var(--muted);display:flex;align-items:flex-start;gap:7px}.candidateSuccess{text-align:center;padding:36px 20px}.candidateStatus{padding:22px}.statusSteps{margin-top:16px}.statusStep{display:flex;gap:12px;padding:10px 0}.statusStep .circle{width:24px;height:24px;border-radius:50%;background:#eef0f3;display:grid;place-items:center;font-size:11px}.statusStep.done .circle{background:var(--goodSoft);color:var(--good)}.statusStep.current .circle{background:var(--brandSoft);color:var(--brand)}
/* Settings */ .settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settingsCard{padding:18px}.settingsCard h3{margin:0 0 5px}.integration{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.integration:last-child{border:0}.integrationIcon{width:36px;height:36px;border-radius:10px;background:#f0f2f5;display:grid;place-items:center;font-weight:900}.integration .btn{margin-left:auto}
/* modals */ .modalBack{position:fixed;inset:0;background:rgba(17,24,39,.56);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(820px,96vw);max-height:91vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.25)}.modalHead{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:15px 18px;display:flex;align-items:center}.modalHead button{margin-left:auto}.modalBody{padding:20px}.fakeCv{padding:26px 32px}.fakeCv h1{margin:0;font-size:26px}.fakeCv .contact{color:var(--muted);margin:3px 0 20px}.fakeCv h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:23px}.fakeCv h4{margin:13px 0 2px}.fakeCv p{margin:4px 0;color:#4e5765}.fakeCv ul{margin-top:6px;color:#4e5765}.rejectGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.rejectGrid label{display:block;font-size:11px;font-weight:800;margin-bottom:5px}.rejectGrid select,.rejectGrid textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px}.rejectGrid textarea{min-height:130px}.compareGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.compareCol{border:1px solid var(--line);border-radius:12px;padding:14px}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);z-index:200;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}
@media(max-width:1120px){.offerLayout{grid-template-columns:1fr}.offerWorkspace{grid-template-columns:1fr}.offerForm{border-right:0;border-bottom:1px solid var(--line)}.screeningLayout{grid-template-columns:240px 1fr}.cvPane{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.homeGrid{grid-template-columns:1fr}.jobCard{grid-template-columns:1fr}.managerQueue,.settingsGrid{grid-template-columns:1fr}.candidateLayout{grid-template-columns:1fr}.applyCard{position:static}}
#dummy{}
@media(max-width:760px){#recruiterShell{display:block}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:18px}.pageHead{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.screeningLayout{display:block;height:auto;margin:-18px}.candidateList{display:none}.reviewPane{min-height:calc(100vh - 64px)}.managerActions,.slotGrid{grid-template-columns:1fr}.portalTop{padding:0 14px}.candidateJobHero h1{font-size:26px}.formGrid,.rejectGrid,.compareGrid{grid-template-columns:1fr}.full{grid-column:auto}.tableRow{grid-template-columns:1.4fr .6fr auto}.tableRow>*:nth-child(3),.tableRow>*:nth-child(4){display:none}.interviewRow{grid-template-columns:70px 1fr auto}.interviewRow>*:nth-child(3),.interviewRow>*:nth-child(4){display:none}}


/* --- Operational V2.2 compatibility + polished foundation --- */
.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:
 radial-gradient(circle at 20% 10%,rgba(53,89,217,.08),transparent 30%),
 radial-gradient(circle at 80% 80%,rgba(21,122,85,.06),transparent 28%),var(--bg)}
.loginCard{width:min(440px,100%);padding:32px}.loginBrand{display:flex;align-items:center;gap:11px;margin-bottom:20px}.loginBrand .logoMark{background:var(--nav);color:#fff}.loginCard h1{margin:0 0 5px;font-size:28px;letter-spacing:-.035em}.loginCard .stack{margin-top:20px}
.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.main{min-width:0}
.topbar .right{margin-left:auto;display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;padding:0 10px 22px}.mark{width:31px;height:31px;border-radius:9px;background:#fff;color:var(--nav);display:grid;place-items:center;font-size:15px}
.demoNote{border:1px solid #374151;border-radius:10px;margin:20px 8px 0;padding:10px;color:#9ca7b7;font-size:11px}.demoNote b{display:block;color:#fff;margin-bottom:3px}
.sectionTitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sectionTitle h3{font-size:15px;margin:0}
.table{overflow:hidden}.tableHead{display:grid;grid-template-columns:1.6fr .8fr .7fr .7fr auto;gap:12px;align-items:center;padding:12px 16px;background:#fafbfc;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.table .tableRow{grid-template-columns:1.6fr .8fr .7fr .7fr auto}.link{color:var(--brand);font-weight:800;cursor:pointer}
.panel{padding:18px}.panel h3{margin-top:0}.notice{padding:11px 13px;border-radius:10px;background:var(--brandSoft);color:#324d9f}.notice.warn{background:var(--warnSoft);color:#7a4a07}.notice.bad{background:var(--badSoft);color:var(--bad)}.notice.good{background:var(--goodSoft);color:var(--good)}
.modalBack{position:fixed;inset:0;background:rgba(17,24,39,.55);z-index:100;display:grid;place-items:center;padding:20px}.modal{background:white;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.25);width:min(880px,96vw);max-height:92vh;overflow:auto}.modalHead{position:sticky;top:0;background:white;border-bottom:1px solid var(--line);padding:15px 19px;display:flex;align-items:center;z-index:2}.modalHead button{margin-left:auto}.modalBody{padding:20px}
.portal{min-height:100vh;background:#f7f8fa}.portalTop .right{margin-left:auto}.portalWrap{max-width:1060px;margin:0 auto;padding:28px 18px 70px}.portalNav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.portalNav button.active{background:var(--nav);color:#fff;border-color:var(--nav)}
.reviewCard{padding:25px}.reviewActions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.reviewActions button{padding:13px}
.calendarGrid{display:grid;grid-template-columns:120px repeat(5,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}.calCell{padding:9px;border-right:1px solid var(--line);border-top:1px solid var(--line);font-size:12px;background:#fff}.calHead{background:#f8f9fb;font-weight:800}.calFree{background:var(--goodSoft);color:var(--good);font-weight:700}.calBusy{background:#f2f3f5;color:#858c98}
.slots{display:flex;gap:8px;flex-wrap:wrap}.slot{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:9px}.slot.selected{border-color:var(--brand);background:var(--brandSoft);color:var(--brand)}
.offerBox{padding:22px}.package{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.package>div{padding:12px;background:#f8f9fb;border-radius:10px}.package b{display:block;font-size:17px}.doc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;line-height:1.65}
.statusDot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.statusDot.ok{background:var(--good)}.statusDot.off{background:#b9bec7}
.portalDone{max-width:650px;margin:70px auto;padding:34px;text-align:center}.doneIcon{width:54px;height:54px;border-radius:50%;background:var(--goodSoft);color:var(--good);display:grid;place-items:center;font-size:27px;font-weight:900;margin:0 auto 13px}
.securityGate{max-width:560px;margin:55px auto;padding:28px}.teamRow{display:grid;grid-template-columns:1.3fr .8fr .55fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.teamRow:first-child{border-top:0}
.tokenNote{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#f7f8fa;padding:7px 9px;border-radius:8px}
.noPad{padding:28px}.candidateShellView{padding:0;max-width:none}.candidateShellView .screeningLayout{margin:0;height:calc(100vh - 64px)}
.screeningLayout .candidateList{min-width:0}.screeningLayout .reviewPane{min-width:0}.screeningLayout .cvPane{min-width:0}
.screeningBlank{padding:26px;color:var(--muted)}
.cvPlaceholder{display:grid;place-items:center;min-height:220px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:#fff}
.reqEvidence{font-size:12px;color:var(--muted);margin-top:2px}
.actionRail{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actionRail .push{margin-left:auto}
.phoneList .listItem{padding:13px 15px;border-bottom:1px solid var(--line);cursor:pointer}.phoneList .listItem:last-child{border-bottom:0}.phoneList .listItem:hover,.phoneList .listItem.active{background:#f8f9fb}
.phoneEditor{overflow:hidden}.phoneEditorInner{padding:20px}.phoneEditor .section{margin-top:16px}
.recruitmentPulse{padding:18px}.pulseGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.pulseItem{padding:12px;background:#fafbfc;border:1px solid var(--line);border-radius:11px}.pulseItem b{display:block;font-size:18px;margin-top:2px}
.homeAttentionRow{padding:14px 16px}.activityIcon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--brandSoft);color:var(--brand);font-weight:900}
.jobSummaryCard{padding:19px;display:grid;grid-template-columns:1.25fr 1.1fr auto;gap:24px;align-items:center}.jobSummaryCard h3{margin:0 0 4px;font-size:17px}
.funnelMini{display:flex;align-items:center;gap:8px}.funnelMini .fstep{text-align:center}.funnelMini .fstep b{display:block;font-size:17px}.funnelMini .fstep span{font-size:10px;color:var(--muted)}
.interviewBoard,.reviewBoard,.offerBoard,.hireBoard,.messageBoard{display:grid;gap:10px}
.emptyState{padding:34px;text-align:center;color:var(--muted)}
.hireCard{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.hireCheck{width:36px;height:36px;border-radius:50%;background:var(--goodSoft);color:var(--good);display:grid;place-items:center;font-weight:900}
.messageCard{padding:16px}.messageChannel{width:34px;height:34px;border-radius:10px;background:#f1f3f6;display:grid;place-items:center}
.securityChip{display:inline-flex;gap:6px;align-items:center;font-size:11px;color:var(--good);font-weight:800}.securityChip:before{content:"●";font-size:8px}
.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.topSearch{width:240px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.kbd{font-size:10px;border:1px solid var(--line);border-bottom-width:2px;background:#fff;border-radius:5px;padding:1px 5px;color:var(--muted)}
.rolePill{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1120px){.candidateShellView .screeningLayout{grid-template-columns:240px 1fr}.candidateShellView .cvPane{display:none}.settingsGrid{grid-template-columns:1fr}.jobSummaryCard{grid-template-columns:1fr}.pulseGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:18px}.candidateShellView{padding:0}.candidateShellView .screeningLayout{display:block;height:auto}.candidateShellView .candidateList{display:none}.candidateShellView .reviewPane{min-height:calc(100vh - 64px)}.metrics{grid-template-columns:1fr 1fr}.pageHead{align-items:flex-start;flex-direction:column}.tableHead{display:none}.table .tableRow{grid-template-columns:1fr auto}.table .tableRow>*:not(:first-child):not(:last-child){display:none}.reviewActions{grid-template-columns:1fr}.package{grid-template-columns:1fr 1fr}.portalTop{padding:0 14px}.teamRow{grid-template-columns:1fr auto}.teamRow>*:nth-child(2),.teamRow>*:nth-child(3){display:none}.topSearch{display:none}}

/* Mobile nav drawer: sidebar is hidden by default at <=760px (rule above); this reveals it
   as an overlay when #recruiterShell has .navOpen, toggled by the topbar menu button. */
.navToggle{display:none}
@media(max-width:760px){
  .navToggle{display:inline-flex;margin-right:10px}
  .shell.navOpen .sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:82%;max-width:300px;z-index:60;box-shadow:0 20px 60px rgba(0,0,0,.35)}
}
