:root{--ink:#172033;--muted:#6c7485;--line:#e6e9ef;--bg:#f6f7f9;--card:#fff;--accent:#5b45d6;--accent2:#7b67ea;--green:#1b8a5a;--amber:#a36a00;--red:#c64242;--blue:#356bc4}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5vw;gap:36px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:.06em}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.topbar nav{display:flex;gap:26px;flex:1}.topbar nav a{font-size:14px;color:var(--muted);padding:26px 0}.topbar nav a:hover,.topbar nav .active{color:var(--ink);border-bottom:2px solid var(--accent)}.login-btn,.outline-btn,.text-btn{background:none;border:0;cursor:pointer;color:var(--ink)}.login-btn{border:1px solid var(--line);padding:9px 16px;border-radius:9px;font-weight:700}.hero{max-width:1180px;margin:0 auto;padding:90px 28px 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--accent)}.hero h1{font-size:58px;line-height:1.03;letter-spacing:-.045em;margin:17px 0}.hero h1 span{color:var(--accent)}.hero-copy>p{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:12px 17px;border-radius:9px;font-weight:750;cursor:pointer}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:#fff;border-color:var(--line)}.full{width:100%}.trust-row{display:flex;gap:22px;color:var(--muted);font-size:13px}.hero-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 16px 50px #17203310}.panel-head,.card-head,.dash-header,.match,.candidate-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-dot{font-size:11px;color:var(--green)}.ecosystem{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.eco-node{border:1px solid var(--line);border-radius:12px;padding:17px}.eco-node b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f0effc;margin-bottom:12px;font-size:11px}.eco-node span{display:block;font-weight:800}.eco-node small{display:block;color:var(--muted);margin-top:4px}.mini-metric{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:13px}.mini-metric span{color:var(--muted)}.section{max-width:1180px;margin:0 auto;padding:65px 28px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-title h2,.card h2{margin:8px 0;font-size:26px;letter-spacing:-.02em}.section-title>p{color:var(--muted);max-width:400px}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;transition:.2s}.portal-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px #1720330b}.card-icon{font-size:11px;font-weight:850;color:var(--accent);margin-bottom:45px}.portal-card h3{margin:0 0 10px}.portal-card p{color:var(--muted);font-size:14px;line-height:1.6;min-height:92px}.portal-card span:last-child{font-size:13px;font-weight:800}.workflow{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.steps>div{padding:10px 35px 20px 0;border-right:1px solid var(--line);margin-right:30px}.steps b{color:var(--accent);font-size:12px}.steps h3{margin:20px 0 7px}.steps p{color:var(--muted);font-size:13px;line-height:1.55}.steps>div:last-child{border:0}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.modal{position:fixed;inset:0;background:#11182780;display:grid;place-items:center;z-index:20}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:15px;width:min(430px,90vw);padding:30px;position:relative}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:26px;cursor:pointer}.modal-card h2{margin:10px 0 24px}.modal-card label,.card label{display:block;font-size:12px;font-weight:750;margin:14px 0}.modal-card input,.modal-card select,.card select,.search-panel select{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;margin-top:6px;outline:none;background:#fff}.muted{color:var(--muted);font-size:13px;line-height:1.6}
.dashboard-body{background:#f5f6f8}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:235px;background:#fff;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;position:fixed;top:0;bottom:0}.sidebar .brand{padding:5px 9px 28px}.side-label{font-size:9px;letter-spacing:.15em;color:#a1a7b3;font-weight:850;padding:0 10px 9px}.side-link{padding:11px 12px;border-radius:8px;font-size:13px;color:var(--muted);margin:2px 0}.side-link.active,.side-link:hover{background:#f0effc;color:var(--accent);font-weight:750}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.sidebar-bottom a,.sidebar-bottom button{display:block;width:100%;padding:9px 10px;background:none;border:0;text-align:left;color:var(--muted);cursor:pointer;font-size:12px}.dashboard{margin-left:235px;width:calc(100% - 235px);max-width:1400px;padding:42px 5vw}.dash-header{margin-bottom:30px}.dash-header h1{margin:6px 0;font-size:32px;letter-spacing:-.035em}.dash-header p{margin:0;color:var(--muted);font-size:14px}.profile-chip{display:flex;align-items:center;gap:10px}.profile-chip small,.profile-chip b{display:block}.profile-chip small{font-size:11px;color:var(--muted);margin-top:3px}.avatar{width:40px;height:40px;border-radius:50%;background:#ebe9fb;color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:850}.avatar.company{background:#e8f0fb;color:var(--blue)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat-card,.card{background:#fff;border:1px solid var(--line);border-radius:12px}.stat-card{padding:19px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:28px;margin:8px 0 3px}.up{color:var(--green)!important}.content-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-top:14px}.card{padding:22px}.section-card{margin-top:14px}.card-head{margin-bottom:20px}.card-head h2{margin:6px 0 0}.text-btn{font-size:12px;color:var(--accent);font-weight:750}.ring{font-weight:800;color:var(--accent)}.progress{height:7px;background:#eef0f4;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:20px}.profile-details{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.profile-details label{color:var(--muted);font-size:11px}.profile-details p{margin:4px 0;font-size:13px}.assignment{display:grid;grid-template-columns:45px 1fr 110px 50px 75px;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 0}.assignment-no{font-size:11px;color:var(--accent);font-weight:850}.assignment-info h3{font-size:14px;margin:0 0 4px}.assignment-info p{font-size:11px;color:var(--muted);margin:0}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:800}.badge.green{background:#e9f7f0;color:var(--green)}.badge.amber{background:#fff4df;color:var(--amber)}.badge.red{background:#fdecec;color:var(--red)}.badge.blue{background:#eaf1fd;color:var(--blue)}.outline-btn{border:1px solid var(--line);padding:8px 10px;border-radius:7px;font-size:11px;font-weight:750;background:#fff}.skill-row,.dept{display:grid;grid-template-columns:110px 1fr 45px;gap:12px;align-items:center;margin:20px 0;font-size:12px}.recommendation{background:#f1effd;border-color:#dfdafb}.recommendation p{color:#5d6170;font-size:13px;line-height:1.6}.recommendation small{display:block;color:#6f7280;margin-top:12px;font-size:10px}.student-table{font-size:12px}.table-head,.table-row{display:grid;grid-template-columns:1.5fr .6fr 1.2fr .7fr 1fr;gap:10px;align-items:center}.table-head{color:#9aa0ac;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:0 0 10px}.table-row{border-top:1px solid var(--line);padding:13px 0}.person{display:flex;align-items:center;gap:9px}.person i{font-style:normal;background:#f0effc;color:var(--accent);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:800}.review{padding:14px 0;border-top:1px solid var(--line)}.review p{font-size:13px;line-height:1.6;margin:8px 0}.review span{font-size:11px;color:var(--muted)}.stars{font-size:12px;letter-spacing:2px}.search-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr 170px 150px 120px;gap:9px;margin-bottom:14px}.search-box{border:1px solid var(--line);border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:8px}.search-box input{border:0;outline:0;width:100%;padding:10px}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.talent-card{border:1px solid var(--line);border-radius:10px;padding:17px}.candidate-head{justify-content:flex-start}.candidate-head h3{font-size:14px;margin:0}.candidate-head p{font-size:10px;color:var(--muted);margin:4px 0}.active-status{margin-left:auto;font-size:10px;color:var(--green)}.skill-tags{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0}.skill-tags span{background:#f3f4f7;border-radius:5px;padding:5px 7px;font-size:10px}.match{border-top:1px solid var(--line);padding:12px 0;margin-bottom:10px;font-size:11px}.match b{font-size:20px;color:var(--accent)}.job-meta{display:flex;gap:18px;color:var(--muted);font-size:11px;margin:20px 0}.small-select{width:auto!important;margin:0!important;padding:8px!important}.chart-card{min-height:320px}.bar-chart{height:210px;display:flex;align-items:end;justify-content:space-around;border-bottom:1px solid var(--line);padding:0 5px}.bar-chart>div{height:100%;width:11%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px}.bar-chart i{display:block;width:100%;max-width:35px;background:var(--accent);border-radius:5px 5px 0 0}.bar-chart span,.bar-chart b{font-size:9px;color:var(--muted);text-align:center}.dept{grid-template-columns:45px 1fr 35px}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.outcome-grid div{padding:20px;border-right:1px solid var(--line)}.outcome-grid div:last-child{border:0}.outcome-grid strong,.outcome-grid span{display:block}.outcome-grid strong{font-size:24px}.outcome-grid span{font-size:10px;color:var(--muted);margin-top:4px}.callout{background:#f7f7fa;border-radius:10px;padding:17px;display:flex;justify-content:space-between;align-items:center}.callout h3{margin:7px 0;font-size:15px}.callout p{margin:0;color:var(--muted);font-size:11px}
@media(max-width:900px){.hero,.content-grid{grid-template-columns:1fr}.portal-grid,.steps,.talent-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.sidebar{width:190px}.dashboard{margin-left:190px;width:calc(100% - 190px)}.search-panel{grid-template-columns:1fr 1fr}.topbar nav{display:none}.hero h1{font-size:45px}}
@media(max-width:600px){.portal-grid,.steps,.talent-grid,.stats-grid{grid-template-columns:1fr}.dashboard{padding:25px 18px}.sidebar{display:none}.dashboard{margin-left:0;width:100%}.assignment{grid-template-columns:35px 1fr}.assignment>*:not(.assignment-no):not(.assignment-info){display:none}.dash-header{align-items:flex-start;flex-direction:column}.outcome-grid{grid-template-columns:1fr 1fr}.topbar{padding:0 18px}.hero{padding-top:55px}.trust-row{flex-direction:column;gap:7px}}
