
:root{
  --navy:#0b1f3a;--navy-2:#102b4e;--blue:#1769e0;--blue-2:#0f56c7;
  --blue-soft:#edf4ff;--ink:#172033;--muted:#667085;--line:#e5eaf1;
  --bg:#f6f8fc;--white:#fff;--green:#159a62;--green-soft:#eaf9f2;
  --amber:#a86f00;--amber-soft:#fff6df;--red:#d64545;--red-soft:#fff0f0;
  --shadow:0 10px 30px rgba(11,31,58,.07);--shadow-lg:0 18px 50px rgba(11,31,58,.11);
  --radius:14px
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}
a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-2)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.layout{display:flex;min-height:100vh}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:252px;background:linear-gradient(180deg,var(--navy),#0a1930);color:#fff;z-index:50;display:flex;flex-direction:column}
.brand{height:78px;padding:16px 23px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{max-width:174px;max-height:45px;object-fit:contain}
.nav{padding:18px 12px;display:flex;flex-direction:column;gap:4px}
.nav a{color:#b9c7da;padding:11px 13px;border-radius:10px;display:flex;align-items:center;gap:11px;font-weight:650;transition:.18s}
.nav a:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45}
.nav a:hover{background:rgba(255,255,255,.065);color:#fff}
.nav a.active{background:linear-gradient(90deg,#1769e0,#145fcf);color:#fff;box-shadow:0 7px 18px rgba(23,105,224,.25)}
.main{margin-left:252px;width:calc(100% - 252px);padding:28px 34px 54px}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;min-height:60px}
.top h1{font-size:28px;line-height:1.15;letter-spacing:-.6px;margin:0;color:var(--navy)}
.top p{margin:6px 0 0}.muted{color:var(--muted)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.card h2{color:var(--navy);margin:0 0 17px;font-size:18px}
.card h3{color:var(--navy);margin:0 0 8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border-radius:9px;border:1px solid transparent;font-weight:750;line-height:1.2;transition:.16s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 5px 15px rgba(23,105,224,.18)}
.btn-primary:hover{background:var(--blue-2);color:#fff;transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-light:hover{background:var(--blue-soft);border-color:#c9dcfb;color:var(--blue)}
.btn-danger{background:var(--red-soft);color:var(--red);border-color:#ffd1d1}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full,.full{grid-column:1/-1}
.form-group label{font-size:13px;font-weight:750;color:#344054}
input:not([type=hidden]),select,textarea{width:100%;padding:11px 12px;border:1px solid #d8dee8;background:#fff;border-radius:9px;outline:0;color:var(--ink);transition:.16s}
input:not([type=hidden]):focus,select:focus,textarea:focus{border-color:#70a5f4;box-shadow:0 0 0 3px rgba(23,105,224,.1)}
textarea{min-height:110px;resize:vertical}
.table-wrap{overflow:auto}.table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.table th{padding:12px 14px;background:#f8fafc;color:#667085;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.06em;text-align:left;font-weight:800}
.table td{padding:14px;border-bottom:1px solid #edf0f5;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fbfdff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-42px;top:-42px;background:var(--blue-soft)}
.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.stat-value{font-size:30px;line-height:1.15;color:var(--navy);font-weight:850;margin-top:7px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.toolbar form{display:flex;gap:9px;flex:1;max-width:650px}
.notice,.error{border-radius:10px;padding:12px 15px;margin-bottom:18px;font-weight:650}.notice{background:var(--green-soft);color:#107a4e;border:1px solid #c9ead9}.error{background:var(--red-soft);color:#b82e2e;border:1px solid #ffd1d1}
.badge,.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.badge-success,.status-active,.status-selected,.status-accepted{background:var(--green-soft);color:var(--green)}.badge-warning,.status-interview,.status-shortlisted,.status-pending{background:var(--amber-soft);color:var(--amber)}.badge-danger,.status-blocked,.status-rejected,.status-declined{background:var(--red-soft);color:var(--red)}.status-applied,.status-published{background:var(--blue-soft);color:var(--blue)}
.profile-head{display:flex;align-items:center;gap:14px}.avatar{width:48px;height:48px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:850}
.kpi-row{display:flex;flex-wrap:wrap;gap:8px}.kpi{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:6px 9px;color:#475467;font-size:12px;font-weight:700}
.empty{text-align:center;padding:45px 20px;color:var(--muted)}.empty strong{display:block;color:var(--navy);font-size:16px;margin-bottom:5px}
.candidate-shell{min-height:100vh;background:var(--bg)}.candidate-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:30}.candidate-main{max-width:1180px;margin:0 auto;padding:30px 24px 55px}
.candidate-brand{font-size:19px;font-weight:850;color:var(--navy)}.candidate-nav{display:flex;gap:5px;align-items:center}.candidate-nav a{padding:8px 10px;border-radius:8px;color:#475467;font-weight:650}.candidate-nav a:hover,.candidate-nav a.active{background:var(--blue-soft);color:var(--blue)}
.hero{background:linear-gradient(135deg,var(--navy),#164f99);color:#fff;border-radius:18px;padding:30px;box-shadow:var(--shadow-lg);margin-bottom:22px}.hero h1{margin:0 0 7px;font-size:29px;letter-spacing:-.6px}.hero p{margin:0;color:#dceaff}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.portal-card .icon{width:40px;height:40px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:14px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.login-visual{background:linear-gradient(145deg,var(--navy),#1769e0);color:#fff;padding:70px;display:flex;align-items:center}.login-visual h1{font-size:46px;line-height:1.08;margin:0 0 18px;letter-spacing:-1.2px}.login-visual p{font-size:17px;line-height:1.7;color:#dbe8ff;max-width:520px}.login-card{background:#fff;max-width:480px;width:calc(100% - 40px);margin:auto;padding:42px;border-radius:18px;box-shadow:var(--shadow-lg)}
@media(max-width:1050px){.sidebar{width:225px}.main{margin-left:225px;width:calc(100% - 225px);padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{position:static;width:100%}.layout{display:block}.main{margin:0;width:100%;padding:18px}.nav{flex-direction:row;overflow:auto;padding:10px}.nav a{white-space:nowrap}.form-grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.toolbar form{max-width:none}.candidate-header{height:auto;min-height:64px;padding:10px 16px;gap:10px;flex-wrap:wrap}.candidate-nav{overflow:auto;width:100%}.portal-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}}
@media(max-width:460px){.stats{grid-template-columns:1fr}.main{padding:14px}.card{padding:18px}}
