@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--bg:#fff;--bg-elev:#fff;--bg-tint:#f2f2f2;--ink:#0f172a;--ink-soft:#475569;--ink-faint:#8a94a6;--line:rgba(15,23,42,.09);--line-strong:rgba(15,23,42,.16);--rule:rgba(15,23,42,.5);--accent:#2f5fe0;--accent-soft:#e7edfc;--accent-ink:#1d4ed8;--success:#1f7a43;--success-soft:#dcf0e2;--danger:#c02535;--danger-soft:#fbe7ea;--gold:#b06a12;--gold-soft:#fbe6c8;--warn:#b06a12;--warn-soft:#fbe6c8;--info:#2f5fe0;--info-soft:#e0e8fb;--purple:#6d4aa8;--purple-soft:#e7ddf5;--radius:8px;--radius-lg:12px;--font-display:"Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--nav-bg:#0f1626;--nav-bg-elev:#1b2438;--nav-ink:#fff;--nav-ink-soft:#e4e8f0;--nav-ink-faint:#a2acbd;--nav-line:hsla(0,0%,100%,.08);--nav-hover:hsla(0,0%,100%,.06);--nav-active-bg:#2f5fe0;--nav-active-ink:#fff}*{box-sizing:border-box}body,html{padding:0;background:var(--bg);font-family:var(--font-body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}body,h1,h2,h3,html{margin:0;color:var(--ink)}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}h1{font-size:28px;line-height:1.15;font-weight:700}h2{font-size:20px;line-height:1.25}h3{font-size:15px;font-family:var(--font-body);font-weight:600;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:13px;font-weight:500;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s}button:hover{background:var(--bg-tint)}button.primary{background:var(--accent);color:#faf7ee;border-color:var(--accent)}button.primary:hover{background:var(--accent-ink)}button:disabled{opacity:.5;cursor:not-allowed}input,select{font-family:inherit;font-size:13px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--ink);width:100%}input[type=checkbox],input[type=radio]{width:auto;padding:0;margin:0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}.data-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.data-scroll::-webkit-scrollbar{height:12px}.data-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid var(--bg-elev);background-clip:padding-box}.data-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent)}.data-scroll::-webkit-scrollbar-track{background:transparent}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}label{font-size:11px;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:6px}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.metric-label{font-size:12px;color:var(--ink-soft);margin-bottom:4px}.metric-value{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.02em}.metric-sub{font-size:11px;color:var(--ink-faint);margin-top:2px}.cal-add{opacity:0;transition:opacity .12s ease}.cal-cell:hover{border-color:var(--accent)!important}.cal-cell:hover .cal-add{opacity:.85}.pill{font-size:11px;padding:3px 9px;border-radius:99px;font-weight:500;display:inline-block;letter-spacing:.02em}.pill.up{background:var(--success-soft);color:var(--success)}.pill.down{background:var(--danger-soft);color:var(--danger)}.pill.neutral{background:var(--bg-tint);color:var(--ink-soft)}.divider{height:1px;background:var(--line-strong);margin:24px 0}.divider-thin{height:1px;background:var(--line);margin:16px 0}.section{margin:44px 0 24px}.section+.section{margin-top:56px}.section-head{display:flex;align-items:flex-start;gap:18px;border-top:3px solid var(--accent);padding-top:16px;margin-bottom:22px}.section-head__num{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.02em;color:var(--accent);line-height:1;min-width:32px;padding-top:4px}.section-head__body{flex:1 1;min-width:0}.section-head__kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 6px}.section-head__title{font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:-.015em;color:var(--ink);line-height:1.15;margin:0}.section-head__desc{font-size:13px;color:var(--ink-soft);margin:6px 0 0;line-height:1.5;max-width:760px}.section-head__aside{flex-shrink:0;font-size:11px;color:var(--ink-faint);padding-top:4px;text-align:right}.subsection{margin:24px 0}.subsection-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line-strong);padding-bottom:10px;margin-bottom:14px}.subsection-head__title{font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.subsection-head__aside{font-size:11px;color:var(--ink-faint);margin-left:auto}.progress{width:100%;height:6px;background:var(--bg-tint);border-radius:99px;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .4s ease}.alert-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);font-size:13px}.alert-bar.warn{background:var(--warn-soft);color:var(--warn);border:1px solid rgba(199,106,28,.25)}.alert-bar.ok{background:var(--success-soft);color:var(--success);border:1px solid rgba(45,122,61,.25)}.serif{font-family:var(--font-display)}.info-tip{position:relative;display:inline-flex;margin-left:5px;vertical-align:middle}.info-tip__icon{width:14px;height:14px;border-radius:50%;background:var(--bg-tint);color:var(--ink-soft);font-size:9.5px;font-weight:700;font-family:Georgia,serif;font-style:italic;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;border:1px solid var(--line);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease,color .12s ease}.info-tip:focus-within .info-tip__icon,.info-tip:hover .info-tip__icon{background:#1a2f4a;color:#fff;border-color:#1a2f4a}.info-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:#1a2f4a;color:#fff;padding:9px 12px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;width:max-content;max-width:280px;text-align:left;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,transform .14s ease;z-index:50;box-shadow:0 6px 18px rgba(0,0,0,.18)}.info-tip__bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1a2f4a}.info-tip:focus-within .info-tip__bubble,.info-tip:hover .info-tip__bubble{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.pl-tabs{display:flex;gap:8px;flex-wrap:wrap}.pl-tab{font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 16px;border-radius:99px;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--ink-soft);cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;gap:7px}.pl-tab:hover{background:var(--bg-tint)}.pl-tab.active{background:var(--accent);color:#faf7ee;border-color:var(--accent)}.pl-tab__count{font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--bg-tint);color:var(--ink-soft)}.pl-tab.active .pl-tab__count{background:hsla(0,0%,100%,.22);color:#faf7ee}.pl-tab.empty{color:var(--ink-faint)}.badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;letter-spacing:.01em}.badge--soft{background:var(--purple-soft);color:var(--purple)}.badge--apti{background:var(--info-soft);color:var(--info)}.badge--tech{background:var(--gold-soft);color:var(--gold)}.badge--ug{background:var(--accent-soft);color:var(--accent-ink)}.badge--pg{background:var(--success-soft);color:var(--success)}.badge--ugpg{background:var(--purple-soft);color:var(--purple)}.badge--red{background:var(--danger-soft);color:var(--danger)}.badge--amber{background:var(--warn-soft);color:var(--warn)}.badge--samber{background:#fbefc9;color:#8a6d00}.badge--green{background:var(--success-soft);color:var(--success)}.badge--theory{background:var(--info-soft);color:var(--info)}.badge--lab{background:var(--success-soft);color:var(--success)}.badge--elective{background:var(--purple-soft);color:var(--purple)}.badge--project{background:var(--gold-soft);color:var(--gold)}.badge--internship{background:var(--accent-soft);color:var(--accent-ink)}.badge--ai{background:var(--purple-soft);color:var(--purple);font-weight:700}.pl-pool{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:18px 0 8px;padding:6px 12px;border-left:3px solid var(--accent);background:var(--bg-tint);border-radius:0 var(--radius) var(--radius) 0}.pl-pool__title{font-weight:600;font-size:13px;color:var(--ink)}.pl-pool__note{font-size:11px;color:var(--ink-faint)}.chip-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:2px 7px;border-radius:5px;background:var(--bg-tint);color:var(--ink-soft);border:1px solid var(--line)}.link-btn{font:inherit;background:none;border:none;padding:0;margin:0;color:var(--accent-ink);cursor:pointer}.link-btn:hover{text-decoration:underline}.drill-row{font:inherit;text-align:left;width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05);padding:14px 18px;display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:18px;gap:18px;cursor:pointer;color:var(--ink);transition:border-color .12s ease,transform .06s ease}.drill-row:hover{border-color:var(--accent)}.drill-row:active{transform:translateY(1px)}.drill-row--static{cursor:default;opacity:.72;box-shadow:none}.drill-row--static:hover{border-color:var(--line)}@media (max-width:720px){.drill-row{grid-template-columns:1fr;gap:12px}}.pl-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft)}.pl-summary strong{color:var(--ink);font-weight:600}.pl-summary .dot{color:var(--line-strong)}.pl-table{width:100%;border-collapse:collapse;font-size:13px}.pl-table thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line-strong)}.pl-table tbody td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.pl-table tbody tr{transition:background .1s ease}.pl-table tbody tr:hover{background:var(--bg-tint)}.pl-table tbody tr:last-child td{border-bottom:none}.pl-table tfoot td{padding:11px 12px;border-top:2px solid var(--ink);font-weight:600;background:var(--bg-tint)}.pl-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-table .row-actions{text-align:right;white-space:nowrap}.btn-sm{padding:5px 12px;font-size:12px}.btn-danger{color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover{background:var(--danger-soft)}.pl-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pl-editor{background:var(--bg-tint);border:1px solid var(--line-strong);border-radius:var(--radius);padding:16px;margin-bottom:16px}.pl-editor__grid{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.nav-group{transition:background .13s ease;border-radius:var(--radius)}.nav-group:hover{background:var(--nav-hover)}.nav-item{transition:background .13s ease,color .13s ease}.nav-item:not(.is-active):hover,.nav-signout:hover{background:var(--nav-hover)!important;color:var(--nav-ink)!important}.nav-signout:hover{border-color:var(--nav-line)!important}@media print{.vc-no-print,aside{display:none!important}.card{page-break-inside:avoid;break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}body,main{background:#fff!important}}