
:root{
  --navy:#062f62; --navy2:#031f43; --blue:#0c55a5; --gold:#f2b632; --gold2:#ffd86c;
  --bg:#f5f7fb; --card:#fff; --text:#18314e; --muted:#6b7b8f; --line:#e4e9f0;
  --green:#188f58; --red:#c43f52; --orange:#d78319; --shadow:0 12px 35px rgba(4,39,79,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.platform-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}
.sidebar{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}
.side-logo{background:#fff;border-radius:14px;padding:9px;margin-bottom:22px}
.side-logo img{width:100%;height:70px;object-fit:contain}
.side-title{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#b9cce0;margin:18px 10px 8px}
.side-nav{display:grid;gap:5px}
.side-nav a,.side-nav button{border:0;background:transparent;color:#dfeaf5;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer;font-weight:600}
.side-nav a:hover,.side-nav a.active,.side-nav button:hover{background:rgba(255,255,255,.11);color:#fff}
.side-footer{position:absolute;bottom:18px;left:16px;right:16px;font-size:11px;color:#adc1d6}
.main-area{min-width:0}
.top-header{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}
.top-header h1{font-size:22px;margin:0;color:var(--navy)}
.header-actions{display:flex;gap:10px;align-items:center}
.user-chip{display:flex;align-items:center;gap:9px;background:#f3f6fa;border-radius:999px;padding:7px 12px;font-size:13px}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}
.content{padding:26px}
.page-sub{color:var(--muted);margin:4px 0 22px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 20px rgba(0,0,0,.035)}
.kpi span{font-size:12px;color:var(--muted)}
.kpi strong{display:block;font-size:28px;color:var(--navy);margin-top:5px}
.kpi small{font-size:11px;color:var(--green)}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:0 6px 20px rgba(0,0,0,.035)}
.card h2,.card h3{margin:0 0 13px;color:var(--navy)}
.card h2{font-size:18px}.card h3{font-size:15px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-bottom:14px}
.toolbar-left,.toolbar-right{display:flex;gap:8px;flex-wrap:wrap}
.control{border:1px solid #d6dee8;border-radius:9px;background:#fff;padding:9px 11px;min-width:150px}
.btnp{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn-blue{background:var(--blue);color:#fff}.btn-gold{background:var(--gold);color:var(--navy2)}.btn-light{background:#edf2f7;color:var(--navy)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #edf0f4;white-space:nowrap}
th{font-size:11px;color:#708095;text-transform:uppercase;letter-spacing:.5px}
.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}
.new{background:#e8f1ff;color:#1a5ba4}.contacted{background:#fff3dc;color:#9b6511}.visit{background:#e8f8f0;color:#22764d}.applied{background:#eee8ff;color:#6840a3}.admitted{background:#ddf6e9;color:#147644}.lost{background:#fbe5e8;color:#a33947}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.pipe-col{background:#f6f8fb;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:280px}
.pipe-title{font-size:12px;font-weight:800;color:var(--navy);display:flex;justify-content:space-between;margin-bottom:8px}
.lead-card{background:#fff;border:1px solid #e4e9ef;border-radius:10px;padding:10px;margin-bottom:8px;box-shadow:0 3px 10px rgba(0,0,0,.03)}
.lead-card strong{font-size:12px}.lead-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.list{display:grid;gap:9px}
.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f4}
.list-item:last-child{border-bottom:0}
.list-item b{display:block;font-size:13px}.list-item span{font-size:11px;color:var(--muted)}
.progress{height:8px;background:#edf1f5;border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--blue);border-radius:99px}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(0,0,0,.035)}
.tile .icon{font-size:28px}.tile h3{margin:10px 0 6px;color:var(--navy)}.tile p{font-size:12px;color:var(--muted);margin:0}
.timeline{position:relative;padding-left:20px}
.timeline:before{content:"";position:absolute;left:6px;top:5px;bottom:5px;width:2px;background:#dfe6ee}
.event{position:relative;margin-bottom:17px}
.event:before{content:"";position:absolute;left:-18px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.event b{font-size:13px}.event span{display:block;color:var(--muted);font-size:11px}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.login-visual{background:linear-gradient(135deg,rgba(3,31,67,.91),rgba(9,78,148,.78)),url("hero-students.jpg") center/cover;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}
.login-visual img{width:360px;background:#fff;padding:8px 12px;border-radius:12px}
.login-visual h1{font-family:Georgia,serif;font-size:48px;line-height:1.08;margin:20px 0}
.login-panel{display:grid;place-items:center;padding:40px}
.login-box{width:min(430px,100%)}
.login-box h2{font-size:30px;color:var(--navy);margin:0 0 6px}.login-box p{color:var(--muted);margin:0 0 24px}
.form-stack{display:grid;gap:13px}
.form-stack label span{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#425974}
.form-stack input,.form-stack select{width:100%;padding:12px 13px;border:1px solid #d4dde8;border-radius:10px}
.demo-box{background:#f6f8fb;border:1px dashed #cdd7e4;border-radius:10px;padding:12px;font-size:12px;color:#52657b;margin-top:15px}
.assistant-fab{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;border:0;background:linear-gradient(145deg,var(--gold),#ffcf54);color:var(--navy2);font-size:25px;box-shadow:0 14px 35px rgba(0,0,0,.2);cursor:pointer;z-index:30}
.assistant-panel{position:fixed;right:22px;bottom:96px;width:min(390px,calc(100vw - 28px));height:570px;background:#fff;border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.25);z-index:31;display:none;overflow:hidden;border:1px solid #e1e7ee}
.assistant-panel.open{display:grid;grid-template-rows:auto 1fr auto}
.ai-head{background:linear-gradient(120deg,var(--navy2),var(--blue));color:#fff;padding:15px;display:flex;align-items:center;justify-content:space-between}
.ai-head strong{display:block}.ai-head small{color:#cfe0ef}.ai-close{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.chat-body{padding:14px;overflow:auto;background:#f8fafc}
.msg{max-width:86%;padding:10px 12px;border-radius:14px;margin:0 0 10px;font-size:13px;line-height:1.4}
.msg.bot{background:#fff;border:1px solid #e1e7ee}.msg.user{background:#0d55a3;color:#fff;margin-left:auto}
.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.suggestions button{border:1px solid #d7e0ea;background:#fff;color:#285278;border-radius:999px;padding:7px 9px;font-size:11px;cursor:pointer}
.chat-input{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:11px;border-top:1px solid #e1e7ee;background:#fff}
.chat-input input{min-width:0;border:1px solid #d5dde8;border-radius:999px;padding:10px 12px}
.voice-btn,.send-btn{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer}
.voice-btn{background:#edf3f8}.voice-btn.listening{background:#fce8eb;color:#b52940;animation:pulse 1s infinite}.send-btn{background:var(--blue);color:#fff}
@keyframes pulse{50%{transform:scale(1.08)}}
.mobile-top{display:none}
@media(max-width:1050px){
  .platform-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-top{display:block;background:var(--navy);color:#fff;padding:10px 16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .content{padding:16px}.top-header{padding:0 16px}.kpi-grid,.portal-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr}.login-wrap{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:24px}.assistant-panel{right:14px;bottom:86px;height:70vh}.assistant-fab{right:14px;bottom:14px}
}
