:root{--ink:#101b3a;--muted:#78839d;--blue:#2463eb;--blue-dark:#164fd4;--pale:#f4f7ff;--line:#e7ebf4;--green:#14aa78;--amber:#f0a83b;--shadow:0 10px 32px rgba(41,65,118,.07);--font:'DM Sans',sans-serif;--display:'Manrope','DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--pale);color:var(--ink);font-family:var(--font);font-size:14px}button,a{font:inherit}button{color:inherit}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex:0 0 248px;background:#fff;border-right:1px solid #e9edf6;padding:27px 17px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;z-index:4}.brand{display:flex;align-items:center;gap:9px;padding:0 10px 36px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;color:#1755ca}.brand-mark svg{width:32px}.brand-name{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.5px}.brand-name span{color:#2764e8}.workspace-label{font-size:9px;font-weight:800;letter-spacing:1.15px;color:#98a3b9;padding:0 12px 13px}.main-nav{display:grid;gap:5px}.nav-item{height:41px;border:0;background:transparent;text-align:left;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 12px;color:#606d87;font-size:12px;font-weight:600;cursor:pointer;transition:.18s}.nav-item:hover{background:#f5f7fc;color:var(--blue)}.nav-item.active{background:#edf3ff;color:#1459df;font-weight:700}.nav-icon{font-family:Arial,sans-serif;width:17px;text-align:center;font-size:17px;color:#687895}.nav-item.active .nav-icon{color:var(--blue)}.nav-count{margin-left:auto;font-size:10px;border-radius:20px;background:#fff;color:#8490a7;padding:3px 7px}.sidebar-bottom{margin-top:auto}.help-card{background:linear-gradient(145deg,#f1f5ff,#f8faff);border:1px solid #edf1fb;border-radius:14px;padding:15px 14px;margin:10px 2px 15px}.help-icon{width:25px;height:25px;display:grid;place-items:center;background:#fff;color:#2864e8;border-radius:8px;margin-bottom:12px;font-size:14px;box-shadow:0 4px 12px #1a57cb12}.help-card strong{font-size:11px;line-height:1.45;display:block}.help-card p{font-size:10px;line-height:1.5;color:#8791a7;margin:7px 0 11px}.text-action{padding:0;border:0;background:none;color:#2361e4;font-size:10px;font-weight:700;cursor:pointer}.text-action span{font-size:15px;margin-left:6px}.settings-link{margin-bottom:10px}.profile-mini{border-top:1px solid #eef0f5;padding:16px 5px 2px;display:flex;align-items:center;gap:10px}.profile-mini strong{font-size:11px;display:block}.profile-mini small{font-size:9px;color:#9099ac;display:block;margin-top:3px}.avatar{width:36px;height:36px;border-radius:50%;background:#dfeaff;color:#2259c9;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid white;box-shadow:0 2px 8px #183c7a18}.avatar-student{background:linear-gradient(145deg,#ffe3c8,#f0b290);color:#73432e}.more-button{margin-left:auto;background:none;border:0;font-size:18px;color:#97a1b4;cursor:pointer}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9edf6;background:#f8faff}.breadcrumb{display:flex;gap:10px;align-items:center;color:#9ba5b8;font-size:11px}.breadcrumb b{font-weight:400;color:#c0c7d3}.breadcrumb strong{font-weight:700;color:#35425f}.top-actions{display:flex;align-items:center;gap:17px}.semester-chip{background:#fff;border:1px solid #e9edf6;border-radius:20px;padding:8px 11px;color:#71809d;font-size:10px}.semester-chip i,.demo-label i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#18b780;margin-right:5px}.icon-button{height:33px;width:33px;border:1px solid #e8ecf4;border-radius:10px;background:#fff;color:#697794;font-size:18px;cursor:pointer;position:relative}.notification{font-size:14px}.notification i{position:absolute;right:7px;top:7px;width:5px;height:5px;background:#f17868;border:1px solid #fff;border-radius:50%}.top-avatar{width:31px;height:31px}.mobile-menu{display:none}.page-content{width:min(1360px,100%);margin:0 auto;padding:30px 38px 28px;flex:1}.footer{display:flex;justify-content:space-between;padding:13px 38px 17px;color:#9aa4b7;font-size:9px}.demo-label{color:#739080}.hero{position:relative;overflow:hidden;min-height:265px;border-radius:19px;padding:34px 37px;background:linear-gradient(112deg,#fff 0%,#eef3ff 57%,#e4ecff 100%);box-shadow:var(--shadow);border:1px solid #e8edf8;display:flex;align-items:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:#dbe6ff66}.hero:before{width:300px;height:300px;right:90px;top:-168px}.hero:after{width:180px;height:180px;right:-50px;bottom:-100px}.hero-copy{position:relative;z-index:1;max-width:510px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;color:#5176c7;font-weight:700;letter-spacing:.35px;margin-bottom:14px}.eyebrow-dot{width:7px;height:7px;background:#25b982;border-radius:50%;box-shadow:0 0 0 4px #25b98219}.hero h1{font:800 clamp(27px,3vw,39px)/1.13 var(--display);letter-spacing:-1.8px;margin:0 0 9px}.hero p{font-size:13px;line-height:1.6;color:#687692;margin:0;max-width:445px}.hero-buttons{display:flex;gap:10px;margin-top:21px}.button{border:0;border-radius:9px;padding:11px 15px;font-size:11px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 5px 13px #2463eb33}.button-primary:hover{background:var(--blue-dark)}.button-light{background:#fff;color:#3f5278;border:1px solid #e4e9f3}.button-quiet{background:#edf3ff;color:#2463eb}.hero-art{position:absolute;right:5%;bottom:-2px;width:38%;height:92%;z-index:1;display:grid;place-items:center}.hero-art svg{width:100%;height:100%;max-height:267px;filter:drop-shadow(0 14px 11px #3b5e9d18)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:27px 0 13px}.section-heading h2{font:800 16px var(--display);letter-spacing:-.4px;margin:0}.section-heading p{font-size:10px;color:#8994a9;margin:5px 0 0}.section-link{border:0;background:transparent;color:#2362e8;font-weight:700;font-size:10px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:#fff;border:1px solid #e9edf5;border-radius:13px;padding:15px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 12px #33486b05}.stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;color:#3974e9;font-size:18px}.stat-icon.green{background:#e6f8f1;color:#16a776}.stat-icon.orange{background:#fff4e5;color:#e89e31}.stat-icon.violet{background:#f0edff;color:#7a60de}.stat-value{font:800 21px var(--display);letter-spacing:-.7px}.stat-label{font-size:9px;color:#8b95a9;margin-top:2px}.stat-trend{margin-left:auto;color:#1aa878;font-size:9px;font-weight:700;align-self:flex-start}.content-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:14px;margin-top:17px}.panel{background:#fff;border:1px solid #e9edf5;border-radius:14px;box-shadow:0 3px 14px #33486b05}.panel-head{padding:17px 18px 12px;display:flex;align-items:center;justify-content:space-between}.panel-head h3{font:800 13px var(--display);margin:0;letter-spacing:-.2px}.panel-head p{font-size:9px;color:#8c96aa;margin:4px 0 0}.panel-body{padding:0 18px 16px}.deadline-list{display:grid}.deadline-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f2f7}.deadline-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;font-size:12px;background:#e9f8f2;color:#15aa78}.deadline-icon.warn{background:#fff4e3;color:#e99e2d}.deadline-row strong{display:block;font-size:10px}.deadline-row small{display:block;font-size:9px;color:#929cb0;margin-top:3px}.deadline-time{font-size:9px;color:#e46b5e;font-weight:700}.deadline-time.normal{color:#71809a}.news-card{background:linear-gradient(115deg,#f4f7ff,#fafbff);border-radius:11px;padding:14px;display:flex;gap:12px;align-items:center;min-height:93px}.news-icon{width:42px;height:42px;background:#e3edff;color:#2866eb;border-radius:13px;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.news-card strong{font-size:10px;line-height:1.4;display:block}.news-card p{font-size:9px;color:#8f99ac;margin:5px 0 0}.dots{display:flex;gap:5px;justify-content:center;margin:11px 0 0}.dots i{width:5px;height:5px;border-radius:5px;background:#d8deea}.dots i:first-child{background:#2463eb}.module-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.module-card{position:relative;min-width:0;border-radius:12px;background:#fff;border:1px solid #e9edf5;padding:13px 12px 12px;box-shadow:0 3px 13px #33486b05;cursor:pointer;transition:.18s}.module-card:hover{border-color:#bdd0ff;transform:translateY(-2px);box-shadow:0 9px 19px #2956a315}.module-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.module-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:#2463eb;font-size:16px}.module-icon.i1{background:#f0edff;color:#7961d9}.module-icon.i2{background:#e7f7f0;color:#16a875}.module-icon.i3{background:#fff3e4;color:#e89c2d}.module-number{font-size:9px;color:#a2abbb}.module-card h4{font-size:10px;line-height:1.4;margin:0 0 8px;min-height:28px}.progress-label{display:flex;justify-content:space-between;color:#8d98ac;font-size:8px;margin-bottom:5px}.progress-label strong{color:#13a572;font-size:8px}.progress-track{height:4px;border-radius:5px;background:#edf0f6;overflow:hidden}.progress-fill{height:100%;border-radius:5px;background:#16b780}.progress-fill.blue{background:#41b9d9}.progress-fill.orange{background:#f2b442}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.timeline-list{display:grid;gap:9px}.timeline-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;font-size:9px}.timeline-name{font-weight:600}.timeline-date{color:#8c97aa}.status{padding:4px 8px;border-radius:20px;background:#eaf8f2;color:#12a471;font-weight:700;font-size:8px;white-space:nowrap}.status.progress{background:#eaf1ff;color:#3570e6}.status.pending{background:#fff3e2;color:#dc9026}.timeline-bar{grid-column:1/-1;height:5px;background:#f0f3f9;border-radius:5px;margin-top:-3px}.timeline-bar i{display:block;height:100%;border-radius:5px;background:#38c694;width:62%}.portfolio-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portfolio-tile{background:linear-gradient(120deg,#f3f7ff,#fbfcff);border-radius:11px;padding:15px;min-height:112px;position:relative;overflow:hidden}.portfolio-tile h4{font:800 12px var(--display);margin:0 0 5px}.portfolio-tile p{font-size:9px;color:#8390a8;margin:0 0 11px;max-width:180px;line-height:1.5}.portfolio-tile .button{padding:8px 11px;font-size:9px}.score-ring{width:62px;height:62px;border-radius:50%;background:conic-gradient(#17b980 0 320deg,#e8eef6 320deg 360deg);display:grid;place-items:center;position:relative}.score-ring:before{content:"";position:absolute;inset:6px;background:#fff;border-radius:50%}.score-ring strong{position:relative;font:800 15px var(--display)}.score-ring span{font-size:8px;color:#8190a8}.score-card{display:flex;align-items:center;gap:12px}.score-legend{display:grid;gap:7px;font-size:8px;color:#677590}.score-legend span{display:flex;gap:7px;align-items:center}.score-legend i{width:6px;height:6px;border-radius:50%;background:#2871f2}.score-legend span:nth-child(2) i{background:#f0a63a}.score-legend span:nth-child(3) i{background:#16b780}.page-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title h1{font:800 25px var(--display);letter-spacing:-.8px;margin:0}.page-title p{font-size:11px;color:#8590a6;margin:6px 0 0}.page-title .button{padding:10px 14px}.passport-layout{display:grid;grid-template-columns:260px 1fr;gap:15px}.readiness-card{padding:22px;display:flex;align-items:center;flex-direction:column}.readiness-card h3{font:800 13px var(--display);margin:0 0 19px;align-self:flex-start}.readiness-ring{width:145px;height:145px;border-radius:50%;background:conic-gradient(#18b780 0 306deg,#e9eef4 306deg 360deg);display:grid;place-items:center;position:relative}.readiness-ring:before{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.readiness-ring strong{position:relative;font:800 31px var(--display)}.readiness-label{color:#8390a6;font-size:10px;margin:13px 0 19px}.readiness-foot{width:100%;border-top:1px solid #eff1f6;padding-top:13px;display:flex;justify-content:space-between;font-size:9px;color:#828da3}.readiness-foot strong{color:#13a877}.passport-details{padding:20px}.detail-title{font:800 13px var(--display);margin:0 0 13px}.detail-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #f0f2f6;font-size:10px}.detail-row:last-child{border:0}.detail-row span{color:#8792a7}.detail-row strong{font-weight:600;line-height:1.5}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:8px;color:#3773dc;background:#edf3ff;padding:4px 7px;border-radius:6px}.stage-card{padding:18px}.stage-list{display:flex;justify-content:space-between;position:relative;margin:22px 5px 7px}.stage-list:before{content:"";position:absolute;height:2px;background:#e5eaf3;left:6%;right:6%;top:12px}.stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;width:20%;font-size:9px;color:#7c88a0}.stage-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #dce2ed;font-size:10px}.stage.done .stage-dot{background:#19b780;border-color:#19b780;color:#fff}.stage.current{color:#2363e8;font-weight:700}.stage.current .stage-dot{border-color:#2463eb;color:#2463eb;box-shadow:0 0 0 4px #2463eb17}.module-page-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.module-full{padding:15px;min-height:174px}.module-full .module-top{margin-bottom:10px}.module-full h3{font-size:11px;line-height:1.4;margin:0 0 7px}.module-full p{font-size:9px;line-height:1.5;color:#8994a7;margin:0 0 12px;min-height:28px}.module-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:11px}.module-card-footer button{border:0;background:none;color:#2864e9;font-size:9px;font-weight:700;cursor:pointer}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{font-size:9px;letter-spacing:.3px;color:#9aa4b6;font-weight:700;padding:10px 13px;background:#fafbfe;border-top:1px solid #f0f2f6;border-bottom:1px solid #f0f2f6}.data-table td{font-size:10px;padding:12px 13px;border-bottom:1px solid #f0f2f6;white-space:nowrap}.data-table tr:last-child td{border:0}.data-table td small{display:block;color:#929cb0;margin-top:3px;font-size:8px}.tabs{display:flex;gap:5px;border-bottom:1px solid #edf0f5;padding:0 17px}.tab-button{border:0;background:none;padding:12px 9px 10px;color:#8b96aa;font-size:10px;cursor:pointer;border-bottom:2px solid transparent}.tab-button.active{color:#2463eb;border-color:#2463eb;font-weight:700}.filter-row{display:flex;align-items:center;gap:9px;margin-bottom:13px}.search-input,.select-input{border:1px solid #e5eaf3;background:white;border-radius:9px;padding:10px 12px;font-size:10px;color:#44516c;outline:0}.search-input{min-width:190px}.search-input:focus,.select-input:focus{border-color:#8baaf7}.filter-note{margin-left:auto;font-size:9px;color:#8994a7}.database-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#fff,#eff4ff);border:1px solid #e8edf8;border-radius:14px;padding:18px 20px;margin-bottom:14px}.database-hero strong{font:800 22px var(--display)}.database-hero span{font-size:10px;color:#8490a6;display:block;margin-top:4px}.database-badge{padding:7px 10px;border-radius:7px;background:#fff1e7;color:#c47730;font-size:9px;font-weight:800;letter-spacing:.5px}.empty-state{padding:34px;text-align:center;color:#8a95aa;font-size:11px}.community-grid{display:grid;grid-template-columns:1fr 310px;gap:14px}.discussion{padding:15px 0;border-bottom:1px solid #f0f2f6;display:flex;gap:11px}.discussion:last-child{border:0}.discussion .avatar{flex:0 0 auto;width:33px;height:33px;font-size:9px}.discussion h4{font-size:10px;margin:0 0 4px}.discussion p{font-size:9px;color:#8490a6;line-height:1.5;margin:0}.discussion-meta{font-size:8px;color:#a0a9b8;margin-top:6px}.mentor-card{padding:18px;background:linear-gradient(150deg,#f2f6ff,#fff)}.mentor-card .avatar{width:46px;height:46px;margin-bottom:12px}.mentor-card h3{font:800 13px var(--display);margin:0}.mentor-card p{font-size:9px;color:#8b96aa;margin:4px 0 15px}.mentor-quote{font-size:10px;color:#53617c;line-height:1.6;border-top:1px solid #e9edf5;padding-top:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f0f2f6;font-size:10px}.setting-row:last-child{border:0}.toggle{width:31px;height:17px;border-radius:20px;background:#2c69e9;position:relative}.toggle:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;right:3px;top:3px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#122142;color:#fff;padding:11px 16px;border-radius:9px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:10;box-shadow:0 8px 22px #14254b2b}.toast.show{opacity:1;transform:translate(-50%,0)}.subtle{color:#8994a7;font-size:9px}.soft-panel{background:linear-gradient(120deg,#f6f8ff,#fff)}
@media(max-width:1180px){.page-content{padding:25px 25px}.topbar{padding:0 25px}.module-strip,.module-page-grid{grid-template-columns:repeat(5,minmax(120px,1fr));overflow:auto;padding-bottom:5px}.hero-art{right:2%;width:36%}.footer{padding-inline:25px}.stat-card{padding:13px 11px}.stat-icon{width:35px;height:35px}.module-full{min-width:130px}}
@media(max-width:850px){.sidebar{width:215px;flex-basis:215px;padding-inline:12px}.page-content{padding:22px 17px}.topbar{padding:0 17px}.hero{min-height:250px;padding:27px}.hero-art{opacity:.46;right:-5%;width:44%}.content-grid,.lower-grid,.two-col{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.passport-layout{grid-template-columns:220px 1fr}.community-grid{grid-template-columns:1fr 250px}}
@media(max-width:620px){.sidebar{position:fixed;left:-260px;top:0;height:100dvh;width:248px;transition:left .22s;box-shadow:10px 0 30px #10204418}.sidebar.open{left:0}.mobile-menu{display:block;border:0;background:#fff;border-radius:8px;width:33px;height:33px;color:#51617f}.topbar{height:60px;gap:10px}.breadcrumb{margin-right:auto;font-size:10px}.semester-chip{display:none}.top-actions{gap:8px}.page-content{padding:18px 14px}.hero{padding:22px 20px;min-height:270px;align-items:flex-start}.hero-copy{max-width:100%}.hero h1{font-size:28px;max-width:270px}.hero p{font-size:11px;max-width:260px}.hero-art{width:52%;height:42%;right:-2%;bottom:0;opacity:.32}.stats-grid{gap:8px}.stat-card{padding:10px 9px;gap:8px}.stat-value{font-size:18px}.stat-label{font-size:8px}.stat-icon{width:31px;height:31px;border-radius:9px;font-size:14px}.section-heading{margin-top:22px}.section-heading h2{font-size:14px}.module-strip{grid-template-columns:repeat(5,142px)}.module-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.module-full{min-width:0}.footer{padding:12px 14px;gap:9px;flex-wrap:wrap}.footer span:nth-child(2){display:none}.page-title h1{font-size:21px}.page-title p{font-size:10px}.passport-layout{grid-template-columns:1fr}.readiness-card{padding:18px}.readiness-ring{width:118px;height:118px}.readiness-ring strong{font-size:26px}.stage-list{flex-wrap:wrap;gap:13px;justify-content:flex-start}.stage-list:before{display:none}.stage{width:calc(33.3% - 9px);font-size:8px}.stage-dot{width:22px;height:22px}.database-hero{padding:15px}.database-hero strong{font-size:18px}.filter-row{flex-wrap:wrap}.search-input{flex:1;min-width:130px}.filter-note{width:100%;margin:0}.community-grid,.settings-grid{grid-template-columns:1fr}.detail-row{grid-template-columns:90px 1fr}.portfolio-preview{grid-template-columns:1fr 1fr}.page-content>.panel{overflow:hidden}}
