.app-view{display:none}.app-view.is-active{display:block}.app-view.is-active,.app-view.is-active .app-section,.app-view.is-active .fade-in-up,.app-view.is-active header{opacity:1!important;transform:none!important;visibility:visible!important}.app-view .fade-in-up{opacity:1;transform:none}.hero__image{width:100%;max-height:420px;object-fit:cover;object-position:center center;border-radius:var(--radius-card,12px)}.portal-dashboard__avatar--initials{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-terracotta,#c1735a),#8b4f3d);color:#fff;font-weight:700;font-size:1.25rem;letter-spacing:.02em;flex-shrink:0;border:2px solid var(--color-white,#fff);box-shadow:0 2px 8px rgba(61,44,41,.15)}.portal__demo-hint{font-size:.8125rem;color:var(--color-brown,#3d2c29);opacity:.75;margin:0 0 .75rem}.hero__media{min-height:280px}@media (min-width:900px){.hero__image{max-height:600px;object-position:center 15%}}.about__campus-img,.about__director-photo,.admissions-info__banner,.admissions-info__card-img,.batches__card-img,.blog__img,.courses__card-img,.faculty__photo,.footer__logo,.gallery__img,.hero__image,.payment__visual,.portal-dashboard__avatar,.portal__visual,.quick-nav__thumb,.results__photo,.testimonials__avatar,.timetable__banner{display:block;width:100%;object-fit:cover;background-color:var(--color-cream,#f5f0e8)}.quick-nav__thumb{min-height:100px}.faculty__photo{min-height:200px}.gallery__img{min-height:180px}.admissions-info__card-img,.batches__card-img,.courses__card-img{min-height:140px}.admissions-info__banner,.timetable__banner{min-height:160px}#view-portal:not(.portal-view--logged-in) #attendance,#view-portal:not(.portal-view--logged-in) #notices,#view-portal:not(.portal-view--logged-in) #portal-dashboard,#view-portal:not(.portal-view--logged-in) #portal-leaderboard,#view-portal:not(.portal-view--logged-in) #portal-materials,#view-portal:not(.portal-view--logged-in) #portal-profile{display:none!important}#view-portal.portal-view--logged-in #portal,#view-portal.portal-view--logged-in #portal[hidden]{display:none!important}#portal-login-form .portal__submit{width:100%}.leaderboard{background:linear-gradient(180deg,#faf7f2 0,#f0e8df 100%);padding:3rem 0}.leaderboard__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}.leaderboard__your-rank-card{text-align:center;padding:1.25rem 1.75rem;background:linear-gradient(135deg,var(--color-terracotta,#c1735a),#8b4f3d);color:#fff;border-radius:var(--radius-card,12px);box-shadow:0 8px 24px rgba(193,115,90,.35);min-width:140px}.leaderboard__your-rank-label{display:block;font-size:.6875rem;opacity:.85;margin-bottom:.25rem}.leaderboard__your-rank-value{font-size:2.5rem;font-weight:800;margin:0;line-height:1}.leaderboard__your-rank-batch{display:block;font-size:.75rem;opacity:.8;margin-top:.35rem}.leaderboard__board{display:flex;flex-direction:column;gap:.65rem}.leaderboard__row{display:grid;grid-template-columns:3rem 1fr auto auto;gap:1rem;align-items:center;padding:1rem 1.25rem;background:var(--color-white,#fff);border-radius:var(--radius-card,12px);border:1px solid var(--color-border,#e8e0d8);transition:transform .15s,box-shadow .15s}.leaderboard__row:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(61,44,41,.08)}.leaderboard__row--you{border-color:var(--color-terracotta,#c1735a);background:linear-gradient(90deg,rgba(193,115,90,.12),#fff);box-shadow:0 4px 16px rgba(193,115,90,.15)}.leaderboard__rank{font-size:1.5rem;font-weight:800;text-align:center;color:var(--color-terracotta,#c1735a)}.leaderboard__name{display:block;font-size:1rem;color:var(--color-brown,#3d2c29)}.leaderboard__test{display:block;font-size:.8125rem;color:var(--color-brown,#3d2c29);opacity:.7;margin-top:.15rem}.leaderboard__you-tag{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;background:var(--color-terracotta,#c1735a);color:#fff;border-radius:4px;vertical-align:middle}.leaderboard__score{font-weight:600;font-size:.875rem;color:var(--color-brown,#3d2c29)}.leaderboard__percent{font-weight:800;font-size:1.125rem;color:var(--color-terracotta,#c1735a);min-width:3.5rem;text-align:right}.leaderboard__empty{padding:2rem;text-align:center;color:var(--color-brown,#3d2c29);opacity:.75}@media (max-width:600px){.leaderboard__row{grid-template-columns:2.5rem 1fr;grid-template-rows:auto auto}.leaderboard__percent,.leaderboard__score{grid-column:2}.leaderboard__percent{text-align:left}}.portal-dashboard__section-lead{margin:-.5rem 0 1rem;font-size:.9rem;color:var(--color-text-muted,#6b5e54)}.assignments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.assignments__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:1rem 1.15rem;background:var(--color-white,#fff);border:1px solid var(--color-border,#e8e0d8);border-radius:var(--radius-card,12px)}.assignments__info{flex:1;min-width:0}.assignments__title{display:block;font-weight:600;color:var(--color-ink,#2d2520)}.assignments__meta{display:block;font-size:.85rem;color:var(--color-text-muted,#6b5e54);margin-top:.2rem}.assignments__badge{display:inline-block;margin-top:.35rem;padding:.2rem .55rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:999px}.assignments__badge--pending{background:#fff4e6;color:#9a5b00}.assignments__badge--submitted{background:#e8f4fc;color:#1a5f8a}.assignments__badge--graded{background:#e8f5e9;color:#2e6b3e}.assignments__badge--overdue{background:#fdecea;color:#b42318}.assignments__open{flex-shrink:0;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--color-white,#fff);background:var(--color-terracotta,#c1735a);border:none;border-radius:var(--radius-pill,999px);cursor:pointer}.assignments__open:hover{filter:brightness(1.05)}.assignment-modal{max-width:28rem;width:calc(100% - 2rem);padding:1.5rem;border:none;border-radius:var(--radius-card,12px)}.assignment-modal::backdrop{background:rgba(45,37,32,.45)}.assignment-modal__close{position:absolute;top:.75rem;right:.75rem;border:none;background:0 0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-muted,#6b5e54)}.assignment-modal__meta{font-size:.9rem;color:var(--color-terracotta,#c1735a);margin:0 0 .75rem}.assignment-modal__instructions{font-size:.9rem;line-height:1.5;margin:0 0 1rem;color:var(--color-ink,#2d2520)}.assignment-modal__status{padding:.75rem 1rem;background:var(--color-cream,#faf7f2);border-radius:8px;font-size:.875rem;margin-bottom:1rem}.assignment-modal__graded{padding:.75rem 1rem;background:#e8f5e9;border-radius:8px;font-size:.9rem}.materials__item--with-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.materials__item-body{flex:1;min-width:0}.file-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.file-actions__na{font-size:.8rem;color:var(--color-text-muted,#6b5e54)}.assignments__open--secondary{background:var(--color-white,#fff);color:var(--color-terracotta,#c1735a);border:1px solid var(--color-terracotta,#c1735a)}.assignments__open--inline{margin-left:.35rem;padding:.25rem .6rem;font-size:.75rem;vertical-align:middle}.file-actions__cell{white-space:nowrap}