@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");
html,body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label{font-family:"Plus Jakarta Sans","Google Sans","TT Norms Pro",Arial,sans-serif!important}
:root {
  --ink: #101828;
  --muted: #667085;
  --subtle: #98a2b3;
  --line: #e4e7ec;
  --soft: #f2f4f7;
  --paper: #ffffff;
  --canvas: #f7f8fa;
  --navy: #111827;
  --blue: #2d5bff;
  --blue-dark: #1f46d8;
  --blue-soft: #eef2ff;
  --mint: #d9f99d;
  --mint-dark: #365314;
  --amber: #fef0c7;
  --amber-text: #93370d;
  --green: #dcfae6;
  --green-text: #067647;
  --red: #fee4e2;
  --red-text: #b42318;
  --purple: #f4ebff;
  --purple-text: #6941c6;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
  --shadow-md: 0 14px 30px rgba(16, 24, 40, .08);
  --radius: 18px;
  --sidebar: 252px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: "DM Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  padding: 28px 22px 22px;
  background: var(--navy);
  color: #fff;
  display: flex;
  flex-direction: column;
  z-index: 30;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  margin: 0 10px 38px;
}
.brand-mark {
  width: 35px;
  height: 35px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: var(--mint);
  color: var(--navy);
  font: 800 18px/1 "Manrope", sans-serif;
  transform: rotate(-4deg);
}
.brand-name { font: 800 23px/1 "Manrope", sans-serif; letter-spacing: -.7px; }
.primary-nav { display: grid; gap: 6px; }
.nav-item {
  width: 100%;
  border: 0;
  color: #aeb8c8;
  background: transparent;
  border-radius: 11px;
  padding: 12px 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  transition: .18s ease;
}
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.1); }
.nav-icon { width: 20px; font-size: 18px; text-align: center; }
.nav-count {
  margin-left: auto;
  min-width: 23px;
  height: 23px;
  padding: 0 7px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: var(--navy);
  background: var(--mint);
}
.sidebar-card {
  margin-top: 32px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 15px;
  background: rgba(255,255,255,.055);
}
.sidebar-card .eyebrow { color: #8d9aae; }
.sidebar-card strong { display: block; margin: 7px 0 5px; font-size: 15px; }
.sidebar-card p { margin: 0 0 13px; color: #aeb8c8; font-size: 12px; line-height: 1.55; }
.text-button { border: 0; padding: 0; color: var(--mint); background: transparent; font-weight: 700; }
.sidebar-footer { margin-top: auto; }
.sidebar-footer .utility { padding-left: 9px; }
.sidebar-footer p { margin: 16px 8px 0; color: #707d91; font-size: 10px; line-height: 1.5; }

.main-content { margin-left: var(--sidebar); min-height: 100vh; }
.topbar {
  height: 74px;
  padding: 0 4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(247,248,250,.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(228,231,236,.8);
  position: sticky;
  top: 0;
  z-index: 20;
}
.topbar-title { color: var(--muted); font-size: 13px; font-weight: 600; }
.mobile-brand { display: none; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.mobile-menu { display: none; width: 44px; height: 44px; margin-left: -9px; border: 0; border-radius: 10px; align-items: center; justify-content: center; background: transparent; color: var(--ink); font-size: 23px; line-height: 1; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.mobile-menu:active { background: rgba(16,24,40,.07); }
.mobile-nav-backdrop { position: fixed; inset: 0; z-index: 29; border: 0; padding: 0; background: rgba(11,18,32,.42); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; -webkit-tap-highlight-color: transparent; }
body.mobile-nav-open { overflow: hidden; }
.avatar-button {
  border: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.secondary-button, .primary-button {
  min-height: 39px;
  padding: 0 15px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 13px;
  transition: .18s ease;
}
.secondary-button { border: 1px solid var(--line); color: var(--ink); background: #fff; }
.secondary-button:hover { border-color: #cbd0d8; background: var(--soft); }
.primary-button { border: 1px solid var(--navy); color: #fff; background: var(--navy); }
.primary-button:hover { background: #293241; }

.view { display: none; padding: 34px 4vw 70px; }
.view.active { display: block; }
.hero {
  min-height: 292px;
  padding: 44px;
  border-radius: 25px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 22%, rgba(217,249,157,.24), transparent 26%),
    linear-gradient(125deg, #101828 0%, #18243a 57%, #1d2f50 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(350px, .9fr);
  gap: 48px;
  align-items: end;
  overflow: hidden;
  position: relative;
}
.hero::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  right: -80px;
  top: -110px;
  box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018);
}
.hero-copy { max-width: 700px; position: relative; z-index: 1; }
.hero-kicker { color: var(--mint); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.hero h1 { margin: 15px 0 15px; font: 800 clamp(39px, 4.5vw, 66px)/.98 "Manrope", sans-serif; letter-spacing: -3.5px; }
.hero h1 span { color: #a8bcff; }
.hero p { max-width: 620px; margin: 0; color: #bec8d8; font-size: 15px; line-height: 1.65; }
.hero-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; position: relative; z-index: 1; }
.hero-stat {
  min-height: 124px;
  padding: 17px;
  border-radius: 15px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hero-stat:last-child { grid-column: span 2; min-height: 96px; }
.hero-stat.accent { color: var(--navy); background: var(--mint); border-color: var(--mint); }
.hero-stat span { color: #aeb8c8; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.hero-stat.accent span { color: var(--mint-dark); }
.hero-stat strong { font: 800 31px/1 "Manrope", sans-serif; letter-spacing: -1px; }
.hero-stat small { color: #8f9eb3; font-size: 11px; }
.hero-stat.accent small { color: #4d6421; }

.search-panel { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 28px; }
.search-box {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 17px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.search-box > span { color: var(--subtle); font-size: 22px; }
.search-box input { flex: 1; border: 0; outline: 0; color: var(--ink); min-width: 0; }
.search-box input::placeholder { color: #98a2b3; }
kbd { border: 1px solid var(--line); background: var(--soft); color: var(--subtle); border-radius: 6px; padding: 4px 7px; font-size: 10px; box-shadow: inset 0 -1px 0 #d0d5dd; }
.filter-toggle { border: 1px solid var(--line); border-radius: 14px; padding: 0 18px; background: #fff; font-weight: 700; }
.filter-toggle span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; margin-left: 6px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 10px; }
.filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.filters label, .form-grid label { display: grid; gap: 7px; }
.filters label > span, .form-grid label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
select, input, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: #fff;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
select, input { height: 39px; padding: 0 11px; }
textarea { padding: 11px; resize: vertical; }
select:focus, input:focus, textarea:focus { border-color: #84a0ff; box-shadow: 0 0 0 3px rgba(45,91,255,.1); }
.clear-filters { height: 39px; border: 0; color: var(--muted); background: transparent; font-size: 12px; font-weight: 700; }
.section-heading { margin: 36px 0 18px; display: flex; justify-content: space-between; align-items: flex-end; }
.eyebrow { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.section-heading h2, .page-intro h1 { margin: 6px 0 0; font: 750 27px/1.2 "Manrope", sans-serif; letter-spacing: -.8px; }
.view-switch { display: flex; padding: 3px; background: #e9ecf1; border-radius: 8px; }
.view-switch button { width: 32px; height: 30px; border: 0; border-radius: 6px; color: var(--subtle); background: transparent; }
.view-switch button.active { color: var(--ink); background: #fff; box-shadow: var(--shadow-sm); }

.scholarship-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.scholarship-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.scholarship-card:hover { transform: translateY(-3px); border-color: #cbd5e1; box-shadow: var(--shadow-md); }
.card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.provider-mark {
  width: 45px;
  height: 45px;
  flex: 0 0 auto;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy);
  font: 800 16px/1 "Manrope", sans-serif;
  letter-spacing: -.5px;
}
.card-actions { display: flex; gap: 6px; }
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fff; font-size: 17px; }
.icon-button:hover, .icon-button.active { color: var(--blue); border-color: #b9c8ff; background: var(--blue-soft); }
.card-title { margin: 18px 0 6px; font: 750 18px/1.28 "Manrope", sans-serif; letter-spacing: -.4px; }
.card-provider { margin: 0; color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 13px; }
.tag { padding: 5px 8px; border-radius: 999px; background: var(--soft); color: #475467; font-size: 10px; font-weight: 700; }
.tag.full { color: var(--green-text); background: var(--green); }
.tag.substantial { color: var(--purple-text); background: var(--purple); }
.tag.partial { color: var(--amber-text); background: var(--amber); }
.card-description { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.match-row { margin-top: 17px; }
.match-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; color: var(--muted); font-size: 10px; font-weight: 700; }
.match-label strong { color: var(--blue); }
.match-bar { height: 5px; border-radius: 999px; background: #edf0f4; overflow: hidden; }
.match-bar span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.card-footer { margin-top: auto; padding-top: 17px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.deadline { display: grid; gap: 2px; min-width: 0; }
.deadline span { color: var(--subtle); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.deadline strong { color: #344054; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.deadline.urgent strong { color: var(--red-text); }
.card-cta { border: 0; padding: 9px 12px; border-radius: 9px; color: #fff; background: var(--navy); font-size: 11px; font-weight: 700; white-space: nowrap; }
.card-cta:hover { background: #293241; }
.scholarship-grid.compact { grid-template-columns: 1fr; }
.scholarship-grid.compact .scholarship-card { display: grid; grid-template-columns: 52px minmax(190px,1.1fr) minmax(160px,1.4fr) 170px auto; align-items: center; gap: 16px; padding: 14px 16px; }
.scholarship-grid.compact .card-top { display: contents; }
.scholarship-grid.compact .provider-mark { grid-column: 1; }
.scholarship-grid.compact .card-actions { grid-column: 5; grid-row: 1; }
.scholarship-grid.compact .card-main { grid-column: 2; grid-row: 1; }
.scholarship-grid.compact .card-title { margin: 0 0 4px; }
.scholarship-grid.compact .card-description { grid-column: 3; grid-row: 1; -webkit-line-clamp: 2; }
.scholarship-grid.compact .tag-row { grid-column: 4; grid-row: 1; margin: 0; }
.scholarship-grid.compact .match-row { display: none; }
.scholarship-grid.compact .card-footer { grid-column: 5; grid-row: 1; margin: 0; padding: 0; transform: translateY(42px); }
.scholarship-grid.compact .card-footer .deadline { display: none; }

.page-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 10px 0 28px; }
.page-intro h1 { font-size: 36px; }
.page-intro p { max-width: 660px; margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.page-actions { display: flex; gap: 9px; }
.tracker-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 22px; }
.summary-card { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.summary-card span { color: var(--muted); font-size: 11px; }
.summary-card strong { display: block; margin-top: 7px; font: 800 26px/1 "Manrope", sans-serif; }
.tracker-board { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 14px; overflow-x: auto; padding-bottom: 12px; }
.tracker-column { min-width: 240px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: #eff1f5; }
.column-header { display: flex; justify-content: space-between; align-items: center; padding: 4px 3px 12px; }
.column-header strong { font-size: 13px; }
.column-header span { min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 5px; border-radius: 999px; background: #fff; color: var(--muted); font-size: 10px; font-weight: 700; }
.column-list { display: grid; gap: 9px; min-height: 170px; }
.tracker-card { padding: 14px; border: 1px solid #e1e4e9; border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.tracker-card h4 { margin: 0 0 5px; font-size: 13px; line-height: 1.3; }
.tracker-card p { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.tracker-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.tracker-card select { height: 31px; width: auto; max-width: 130px; font-size: 10px; }
.remove-track { width: 29px; height: 29px; border: 1px solid var(--line); border-radius: 8px; color: var(--subtle); background: #fff; }
.column-empty { min-height: 130px; display: grid; place-items: center; text-align: center; color: var(--subtle); font-size: 11px; border: 1px dashed #d0d5dd; border-radius: 10px; }

.empty-state { padding: 70px 20px; text-align: center; border: 1px dashed var(--line); border-radius: var(--radius); background: rgba(255,255,255,.55); }
.empty-state.hidden { display: none; }
.empty-icon { width: 55px; height: 55px; display: grid; place-items: center; margin: 0 auto 15px; border-radius: 16px; background: var(--blue-soft); color: var(--blue); font-size: 25px; }
.empty-state h3 { margin: 0 0 7px; }
.empty-state p { margin: 0 0 18px; color: var(--muted); font-size: 13px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(15,23,42,.5); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: .2s ease; }
.modal-backdrop.open { opacity: 1; visibility: visible; }
.modal {
  position: fixed;
  z-index: 100;
  top: 50%;
  left: 50%;
  width: min(720px, calc(100vw - 30px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 30px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15,23,42,.25);
  transform: translate(-50%, -46%) scale(.98);
  opacity: 0;
  visibility: hidden;
  transition: .2s ease;
}
.modal.open { transform: translate(-50%, -50%) scale(1); opacity: 1; visibility: visible; }
.modal-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; border: 0; border-radius: 9px; color: var(--muted); background: var(--soft); font-size: 22px; }
.modal h2 { margin: 8px 45px 6px 0; font: 800 29px/1.15 "Manrope", sans-serif; letter-spacing: -.9px; }
.modal-intro { margin: 0 0 23px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 22px; }
.full-width { grid-column: 1 / -1; }
.checkbox-label { grid-template-columns: auto 1fr; align-items: center; align-self: end; min-height: 39px; }
.checkbox-label input { width: 17px; height: 17px; }
.checkbox-label span { font-size: 12px !important; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 8px; }
.detail-hero { padding-right: 40px; }
.detail-provider { color: var(--blue); font-size: 12px; font-weight: 700; }
.detail-hero h2 { margin-top: 8px; }
.detail-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 22px; }
.detail-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; }
.detail-section { padding-top: 18px; border-top: 1px solid var(--line); }
.detail-section + .detail-section { margin-top: 19px; }
.detail-section h3 { margin: 0 0 9px; font-size: 13px; }
.detail-section p, .detail-section li { color: var(--muted); font-size: 12px; line-height: 1.65; }
.detail-section ul { margin: 0; padding-left: 18px; }
.detail-aside { padding: 18px; border-radius: 14px; background: var(--soft); }
.detail-aside dl { margin: 0; display: grid; gap: 15px; }
.detail-aside dt { color: var(--subtle); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.detail-aside dd { margin: 4px 0 0; font-size: 12px; font-weight: 700; }
.detail-buttons { display: grid; gap: 8px; margin-top: 18px; }
.detail-buttons a { text-decoration: none; display: grid; place-items: center; }
.data-actions { display: grid; gap: 10px; margin-top: 22px; }
.data-card { padding: 17px; border: 1px solid var(--line); border-radius: 12px; text-align: left; background: #fff; display: grid; gap: 4px; }
.data-card:hover { border-color: #b7c5ff; background: var(--blue-soft); }
.data-card strong { font-size: 13px; }
.data-card span { color: var(--muted); font-size: 11px; }
.file-card { cursor: pointer; }
.file-card input { display: none; }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 28px; transform: translate(-50%, 20px); padding: 11px 15px; border-radius: 10px; color: #fff; background: var(--navy); font-size: 12px; font-weight: 700; opacity: 0; visibility: hidden; transition: .2s ease; box-shadow: var(--shadow-md); }
.toast.show { transform: translate(-50%, 0); opacity: 1; visibility: visible; }

@media (max-width: 1220px) {
  .scholarship-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filters { grid-template-columns: repeat(3, 1fr); }
  .hero { grid-template-columns: 1fr; align-items: start; }
  .hero-stat-grid { grid-template-columns: repeat(3, 1fr); }
  .hero-stat:last-child { grid-column: auto; min-height: 124px; }
}
@media (max-width: 900px) {
  :root { --sidebar: 0px; }
  .sidebar { width: min(286px, 86vw); transform: translate3d(-105%,0,0); transition: transform .22s ease, visibility .22s ease; box-shadow: var(--shadow-md); visibility: hidden; pointer-events: none; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; will-change: transform; }
  .sidebar.mobile-open, .sidebar.open { transform: translate3d(0,0,0); visibility: visible; pointer-events: auto; }
  .mobile-nav-backdrop.open { opacity: 1; visibility: visible; pointer-events: auto; }
  .main-content { margin-left: 0; }
  .mobile-menu { display: flex; }
  .mobile-brand { display: inline; color: var(--ink); font: 800 18px/1 "Manrope",sans-serif; }
  #viewLabel { display: none; }
  .hero { padding: 33px; }
  .tracker-board { grid-template-columns: repeat(4, 260px); }
}
@media (max-width: 680px) {
  .topbar { padding: 0 18px; }
  .view { padding: 22px 17px 55px; }
  .topbar-actions .secondary-button { display: none; }
  .hero { min-height: 0; padding: 27px 23px; border-radius: 19px; gap: 30px; }
  .hero h1 { font-size: 40px; letter-spacing: -2.3px; }
  .hero p { font-size: 13px; }
  .hero-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-stat:last-child { grid-column: span 2; min-height: 85px; }
  .search-panel { grid-template-columns: 1fr auto; }
  .search-box { height: 51px; }
  kbd { display: none; }
  .filter-toggle { padding: 0 13px; font-size: 0; }
  .filter-toggle::before { content: "⚙"; font-size: 17px; }
  .filter-toggle span { margin: 0 0 0 5px; }
  .filters { display: none; grid-template-columns: 1fr 1fr; }
  .filters.open { display: grid; }
  .clear-filters { border: 1px solid var(--line); border-radius: 9px; }
  .scholarship-grid { grid-template-columns: 1fr; }
  .scholarship-grid.compact .scholarship-card { display: flex; }
  .scholarship-grid.compact .card-description, .scholarship-grid.compact .tag-row, .scholarship-grid.compact .card-footer { display: flex; transform: none; }
  .section-heading { margin-top: 28px; }
  .section-heading h2 { font-size: 22px; }
  .view-switch { display: none; }
  .page-intro { align-items: flex-start; flex-direction: column; }
  .page-intro h1 { font-size: 29px; }
  .page-actions { width: 100%; }
  .page-actions button { flex: 1; }
  .tracker-summary { grid-template-columns: repeat(2, 1fr); }
  .form-grid, .detail-grid { grid-template-columns: 1fr; }
  .full-width { grid-column: auto; }
  .modal { padding: 25px 20px; }
  .modal h2 { font-size: 25px; }
}

/* Collefy Launch MVP additions */
.hidden { display: none !important; }
.is-disabled { opacity: .5; }
.hero-actions { display: flex; gap: 16px; align-items: center; margin-top: 24px; }
.hero-primary { min-height: 44px; padding: 0 18px; border: 0; border-radius: 11px; background: var(--mint); color: var(--navy); font-weight: 800; }
.hero-link { color: #d7deea; font-size: 13px; font-weight: 700; text-decoration: none; }
.trust-chip { color: var(--muted); border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 12px; font-size: 11px; }
.icon-button { position: relative; }
.notification-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #f04438; top: 3px; right: 3px; border: 2px solid #fff; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 20px 0; padding: 4px; border-radius: 10px; background: var(--soft); }
.auth-tabs button { border: 0; border-radius: 8px; background: transparent; min-height: 39px; font-weight: 700; color: var(--muted); }
.auth-tabs button.active { background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); }
.single-column { grid-template-columns: 1fr; }
.submit-wide { min-height: 44px; }
.form-error { margin: 0; padding: 10px 12px; border-radius: 9px; color: var(--red-text); background: var(--red); font-size: 12px; }
.alert-box { margin: 3px 0 0; padding: 15px; border: 1px solid var(--line); border-radius: 12px; }
.alert-box legend { padding: 0 7px; color: var(--muted); font-size: 11px; font-weight: 800; }
.deadline-days { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 12px; }
.deadline-days label { display: flex; gap: 6px; align-items: center; color: var(--muted); font-size: 12px; }
.deadline-days input { width: auto; height: auto; }
.wide-modal { width: min(920px, calc(100vw - 32px)); }
.application-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 28px; margin-top: 24px; }
.application-layout > section, .application-layout > aside { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.application-layout h3 { margin: 0 0 15px; font: 750 18px/1.2 Manrope, sans-serif; }
.field-label { display: grid; gap: 7px; margin-bottom: 14px; color: var(--muted); font-size: 11px; font-weight: 700; }
.task-form { display: grid; grid-template-columns: 1fr 130px auto; gap: 7px; }
.task-form button { border: 0; border-radius: 8px; padding: 0 11px; background: var(--navy); color: #fff; font-weight: 700; }
.task-list { display: grid; gap: 8px; margin-top: 15px; }
.task-item { display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: start; padding: 10px; border: 1px solid var(--line); border-radius: 9px; }
.task-item input { width: auto; height: auto; margin-top: 3px; }
.task-item span { font-size: 12px; }
.task-item span.completed { color: var(--subtle); text-decoration: line-through; }
.task-item small { display: block; margin-top: 3px; color: var(--subtle); }
.task-item button { border: 0; background: transparent; color: var(--subtle); }
.muted-copy { color: var(--muted); font-size: 12px; line-height: 1.6; }
.tracker-card-open { width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
.detail-permalink { display: block; margin-top: 6px; color: var(--blue); font-size: 11px; text-align: center; }
.tag.verified { color: var(--green-text); background: var(--green); }
.file-button { position: relative; display: inline-flex; align-items: center; }
.file-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 22px; }
.admin-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-bottom: 14px; }
.admin-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.admin-table th, .admin-table td { padding: 14px 15px; text-align: left; border-bottom: 1px solid var(--line); font-size: 12px; vertical-align: middle; }
.admin-table th { color: var(--muted); background: var(--soft); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.admin-table td strong { display: block; font-size: 13px; }
.admin-table td small { display: block; margin-top: 3px; color: var(--muted); }
.table-action { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 7px 10px; font-weight: 700; }
.status-pill { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.status-pill.success { color: var(--green-text); background: var(--green); }
.status-pill.warning { color: var(--amber-text); background: var(--amber); }
.status-pill.neutral { color: var(--muted); background: var(--soft); }
.admin-form { max-height: 72vh; overflow-y: auto; padding-right: 5px; }
.danger-button { min-height: 39px; padding: 0 14px; border: 1px solid #fda29b; border-radius: 10px; color: var(--red-text); background: #fff; font-weight: 700; }
.form-spacer { flex: 1; }
.notification-drawer { position: fixed; z-index: 70; top: 0; right: 0; width: min(410px, 100vw); height: 100vh; padding: 24px; background: #fff; box-shadow: -15px 0 45px rgba(16,24,40,.16); transform: translateX(105%); transition: transform .22s ease; }
.notification-drawer.open { transform: translateX(0); }
.drawer-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.drawer-head h2 { margin: 5px 0 0; font: 750 24px/1.2 Manrope, sans-serif; }
.notification-item { width: 100%; display: grid; gap: 5px; padding: 16px 2px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
.notification-item.unread strong::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); margin-right: 7px; }
.notification-item span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.notification-item small { color: var(--subtle); font-size: 10px; }
.drawer-empty { padding: 50px 10px; color: var(--muted); text-align: center; }
.account-menu { position: fixed; z-index: 80; top: 66px; right: 4vw; width: 230px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-md); }
.account-menu strong, .account-menu span { display: block; }
.account-menu span { margin: 3px 0 12px; color: var(--muted); font-size: 11px; }
.account-menu button { width: 100%; border: 0; border-top: 1px solid var(--line); padding: 11px 3px; background: transparent; text-align: left; font-weight: 700; }
.skeleton-card { min-height: 320px; background: linear-gradient(90deg,#fff,#f2f4f7,#fff); background-size: 200% 100%; animation: skeleton 1.2s infinite; }
@keyframes skeleton { to { background-position: -200% 0; } }

.seo-page { min-height: 100vh; padding: 42px 20px; background: var(--canvas); }
.seo-shell { width: min(930px, 100%); margin: auto; }
.seo-brand { color: var(--ink); margin: 0 0 28px; }
.seo-back { display: inline-block; margin-bottom: 14px; color: var(--blue); font-weight: 700; text-decoration: none; }
.seo-card { padding: clamp(28px,5vw,58px); border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-md); }
.seo-card h1 { margin: 14px 0 8px; font: 800 clamp(34px,5vw,60px)/1.05 Manrope,sans-serif; letter-spacing: -2px; }
.seo-provider { color: var(--muted); }
.seo-description { max-width: 760px; margin: 24px 0; font-size: 17px; line-height: 1.75; }
.seo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 30px; }
.seo-grid section { padding: 22px; border-radius: 14px; background: var(--soft); }
.seo-grid h2 { margin: 0 0 12px; font-size: 16px; }
.seo-grid li { margin-bottom: 8px; color: var(--muted); line-height: 1.5; }
.seo-deadline { display: flex; justify-content: space-between; gap: 15px; margin: 26px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.seo-deadline span { color: var(--muted); }
.seo-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.seo-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.source-note { margin-top: 20px; color: var(--subtle); font-size: 11px; }
.verified-badge, .funding-badge { display: inline-flex; padding: 7px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.verified-badge { color: var(--green-text); background: var(--green); }
.funding-badge { margin-right: 7px; background: var(--soft); }
.funding-badge.full { color: var(--green-text); background: var(--green); }

@media (max-width: 980px) {
  .application-layout, .seo-grid { grid-template-columns: 1fr; }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hero-actions, .seo-deadline, .seo-actions { align-items: stretch; flex-direction: column; }
  .trust-chip { display: none; }
  .task-form { grid-template-columns: 1fr; }
  .admin-stats { grid-template-columns: 1fr 1fr; }
  .account-menu { right: 12px; }
}
.legal-links { display: flex; gap: 10px; margin: 12px 8px 0; }
.legal-links a { color: #8d9aae; font-size: 10px; text-decoration: none; }
.legal-page { min-height: 100vh; padding: 42px 20px; background: var(--canvas); }
.legal-shell { width: min(820px, 100%); margin: auto; }
.legal-card { padding: clamp(26px, 5vw, 54px); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-md); }
.legal-card h1 { font: 800 clamp(34px, 5vw, 54px)/1.05 Manrope, sans-serif; letter-spacing: -2px; }
.legal-card h2 { margin-top: 30px; font: 750 19px/1.3 Manrope, sans-serif; }
.legal-card p, .legal-card li { color: var(--muted); line-height: 1.75; }

.text-button{border:0;background:transparent;color:var(--ink,#121a2b);font:inherit;font-weight:700;cursor:pointer;padding:.15rem 0;text-align:left}.text-button:hover{text-decoration:underline}.success-message{margin:0;padding:.8rem 1rem;border-radius:12px;background:#ecfdf3;color:#176b3a;font-size:.9rem}.login-only.hidden{display:none}


/* Mobile navigation hotfix 2.1.2 — intentionally duplicated at the end so it wins the cascade. */
@media (max-width: 980px) {
  .topbar { position: sticky; top: 0; z-index: 70; }
  .mobile-menu {
    display: inline-flex !important;
    position: relative;
    z-index: 90;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    margin: -4px 2px -4px -8px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #111827;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    pointer-events: auto !important;
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-menu span { pointer-events: none; }
  .mobile-menu:active { background: #eef1f5; transform: scale(.97); }

  .sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 100 !important;
    width: min(300px, 86vw) !important;
    max-width: 86vw;
    height: 100dvh;
    transform: translate3d(-110%, 0, 0) !important;
    visibility: hidden !important;
    opacity: 0;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .18s ease, visibility .24s ease !important;
  }
  body.mobile-nav-open .sidebar,
  .sidebar.mobile-open,
  .sidebar.open {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    opacity: 1;
    pointer-events: auto !important;
  }
  .mobile-nav-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 95 !important;
    width: 100vw;
    height: 100dvh;
    margin: 0;
    border: 0;
    background: rgba(8, 15, 28, .55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important;
    transition: opacity .2s ease, visibility .2s ease;
  }
  body.mobile-nav-open .mobile-nav-backdrop,
  .mobile-nav-backdrop.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto !important;
  }
  body.mobile-nav-open { overflow: hidden !important; overscroll-behavior: none; }
}

/* Collefy 3.0 — India-first scholarship application assistant */
:root {
  --ink: #14231f;
  --muted: #61716b;
  --subtle: #8a9792;
  --line: #dce5df;
  --soft: #eff5f1;
  --paper: #ffffff;
  --canvas: #f7f6f0;
  --navy: #0b5d4b;
  --blue: #0b6b58;
  --blue-dark: #084f42;
  --blue-soft: #e1f2eb;
  --mint: #c9f36b;
  --mint-dark: #284a16;
  --shadow-sm: 0 1px 2px rgba(20, 35, 31, .05);
  --shadow-md: 0 18px 44px rgba(20, 35, 31, .10);
  --radius: 20px;
  --sidebar: 264px;
}

body { background: var(--canvas); }
.sidebar {
  padding: 27px 20px 20px;
  color: var(--ink);
  background: #fffdf8;
  border-right: 1px solid var(--line);
}
.brand { margin-bottom: 34px; }
.brand-mark {
  color: #fff;
  background: var(--navy);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(11, 93, 75, .18);
}
.brand-name { color: var(--ink); }
.nav-item { color: #64736d; }
.nav-item:hover { color: var(--ink); background: #eef4f0; }
.nav-item.active { color: #fff; background: var(--navy); box-shadow: 0 8px 18px rgba(11, 93, 75, .14); }
.nav-item.active .nav-icon { color: var(--mint); }
.nav-count { color: var(--navy); background: var(--mint); }
.sidebar-card {
  border-color: #dce8e1;
  background: #eef7f2;
}
.sidebar-card .eyebrow { color: var(--navy); }
.sidebar-card p { color: var(--muted); }
.text-button { color: var(--navy); }
.sidebar-footer .utility { color: var(--muted); }
.sidebar-footer p, .legal-links a { color: #86938e; }

.topbar { background: rgba(247, 246, 240, .92); border-bottom-color: rgba(220, 229, 223, .9); }
.secondary-button { border-color: var(--line); color: var(--ink); background: #fff; }
.primary-button { border-color: var(--navy); background: var(--navy); }
.primary-button:hover { background: var(--blue-dark); }
.avatar-button { background: var(--navy); }

.view { padding-top: 28px; }
.hero {
  min-height: 360px;
  padding: clamp(30px, 4vw, 58px);
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 12%, rgba(201,243,107,.5), transparent 25%),
    radial-gradient(circle at 74% 88%, rgba(255,216,119,.32), transparent 27%),
    linear-gradient(135deg, #e4f3ec 0%, #f3f7e7 52%, #fff5d9 100%);
  border: 1px solid #d7e5dc;
  box-shadow: 0 22px 50px rgba(28, 70, 54, .08);
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .8fr);
  align-items: center;
}
.hero::after {
  width: 360px;
  height: 360px;
  border-color: rgba(11,93,75,.12);
  box-shadow: 0 0 0 58px rgba(255,255,255,.18), 0 0 0 116px rgba(255,255,255,.12);
}
.hero-kicker { color: var(--navy); }
.hero h1 {
  max-width: 760px;
  margin: 16px 0 18px;
  color: var(--ink);
  font-size: clamp(42px, 5vw, 72px);
  line-height: .98;
}
.hero h1 span { color: var(--navy); }
.hero p { max-width: 670px; color: #4f655d; font-size: 16px; }
.hero-primary {
  min-height: 48px;
  padding: 0 21px;
  color: #fff;
  background: var(--navy);
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(11,93,75,.18);
}
.hero-primary:hover { background: var(--blue-dark); }
.hero-link { color: var(--ink); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 23px; color: #557067; font-size: 11px; font-weight: 700; }
.hero-trust span::before { content: "✓"; margin-right: 7px; color: var(--navy); }
.hero-stat { color: var(--ink); background: rgba(255,255,255,.7); border-color: rgba(11,93,75,.12); box-shadow: var(--shadow-sm); }
.hero-stat span, .hero-stat small { color: #60756d; }
.hero-stat.accent { color: var(--ink); background: var(--mint); border-color: rgba(11,93,75,.14); }
.hero-stat.accent span, .hero-stat.accent small { color: #436022; }
.provider-notice {
  display: flex;
  gap: 10px 18px;
  align-items: center;
  margin: 14px 2px 0;
  padding: 12px 16px;
  border: 1px solid #d7e4dc;
  border-radius: 13px;
  color: #52655e;
  background: rgba(255,255,255,.74);
  font-size: 12px;
  line-height: 1.5;
}
.provider-notice strong { flex: 0 0 auto; color: var(--ink); }

.search-panel { margin-top: 22px; }
.search-box { height: 60px; border-color: #d5e0da; border-radius: 16px; box-shadow: 0 9px 25px rgba(20,35,31,.06); }
.search-box:focus-within { border-color: #86b6a5; box-shadow: 0 0 0 4px rgba(11,93,75,.08); }
.filter-toggle { border-color: #d5e0da; background: #fff; }
.filter-toggle span { color: var(--navy); background: var(--blue-soft); }
.filters {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 14px;
  border-color: #d5e0da;
  background: rgba(255,255,255,.86);
  box-shadow: none;
}
.filters .clear-filters { min-height: 42px; align-self: end; }
.filters select, .form-grid select, .form-grid input, .form-grid textarea, .admin-toolbar input,
.field-label input, .field-label select, .field-label textarea, .task-form input {
  border-color: #d5e0da;
}
.section-heading { margin-top: 34px; }
.section-heading h2 { color: var(--ink); font-size: 29px; }
.eyebrow { color: var(--navy); }
.trust-chip { color: #49625a; border-color: #d5e0da; background: #fff; }

.scholarship-grid { gap: 17px; }
.scholarship-card {
  border-color: #dce5df;
  border-radius: 19px;
  box-shadow: 0 8px 24px rgba(28, 62, 50, .045);
}
.scholarship-card:hover { transform: translateY(-2px); border-color: #9bbcaf; box-shadow: 0 16px 34px rgba(28, 62, 50, .09); }
.provider-mark { color: #fff; background: var(--navy); }
.card-title { color: var(--ink); }
.tag { color: #486059; background: #eff4f1; }
.tag.full, .tag.verified { color: #075746; background: #dff4ea; }
.tag.need { color: #7a4f00; background: #fff0c7; }
.tag.automatic { color: #4c3c88; background: #efeaff; }
.match-label strong { color: var(--navy); }
.match-bar { background: #e6ece8; }
.match-bar span { background: linear-gradient(90deg, var(--navy), #48a782); }
.card-cta { background: var(--navy); border-radius: 10px; }
.card-cta:hover { background: var(--blue-dark); }

.tracker-column { border-color: #d7e1db; background: #edf3ef; }
.summary-card, .tracker-card, .application-layout > section, .application-layout > aside,
.admin-table-wrap, .modal { border-color: #dce5df; }
.detail-provider, .detail-permalink { color: var(--navy); }
.detail-aside { background: #eff5f1; }
.provider-disclaimer {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding: 13px;
  border: 1px solid #cfe0d6;
  border-radius: 11px;
  background: #fff;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.provider-disclaimer strong { color: var(--ink); }
.application-handoff {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 7px 14px;
  align-items: center;
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid #cae0d6;
  border-radius: 12px;
  background: #eef7f2;
  font-size: 12px;
}
.application-handoff span { color: var(--muted); }
.application-handoff a { color: var(--navy); font-weight: 800; text-decoration: none; white-space: nowrap; }
.modal-backdrop { background: rgba(20,35,31,.48); }

@media (max-width: 1220px) {
  .hero { grid-template-columns: 1fr; gap: 28px; }
  .hero-stat-grid { max-width: 680px; }
  .filters { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
}
@media (max-width: 980px) {
  .sidebar { background: #fffdf8; }
  .filters { grid-template-columns: 1fr 1fr; }
  .provider-notice { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .view { padding: 18px 14px 58px; }
  .hero { min-height: 0; padding: 28px 23px; border-radius: 20px; }
  .hero h1 { font-size: clamp(38px, 12vw, 52px); letter-spacing: -2.2px; }
  .hero p { font-size: 14px; }
  .hero-stat-grid { grid-template-columns: 1fr 1fr; }
  .hero-stat { min-height: 105px; }
  .hero-trust { display: grid; gap: 8px; }
  .provider-notice { margin-top: 10px; }
  .filters { grid-template-columns: 1fr; }
  .search-box { height: 54px; }
  .section-heading h2 { font-size: 24px; }
  .application-handoff { grid-template-columns: 1fr; }
}

/* Collefy 4.0 — Scholly-inspired search experience */
:root {
  --ink: #0c0034;
  --muted: #5e5975;
  --subtle: #817d91;
  --line: #dedde7;
  --soft: #f7f7f9;
  --paper: #ffffff;
  --canvas: #ffffff;
  --navy: #0c0034;
  --blue: #004de8;
  --blue-dark: #0039ad;
  --blue-soft: #eaf1ff;
  --mint: #ffdf43;
  --mint-dark: #0c0034;
  --shadow-sm: 0 2px 8px rgba(12, 0, 52, .06);
  --shadow-md: 0 18px 42px rgba(12, 0, 52, .12);
  --radius: 28px;
  --sidebar: 0px;
}

body {
  color: var(--ink);
  background: #fff;
  font-family: "Manrope", "DM Sans", sans-serif;
}

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 40;
  width: 100%;
  height: 78px;
  padding: 0 clamp(24px, 5vw, 80px);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(28px, 4vw, 68px);
  color: var(--ink);
  background: rgba(255,255,255,.96);
  border: 0;
  border-bottom: 1px solid #ecebf1;
  box-shadow: 0 1px 0 rgba(12,0,52,.02);
  backdrop-filter: blur(18px);
}
.brand {
  flex: 0 0 auto;
  margin: 0;
  gap: 10px;
}
.brand-mark {
  width: 40px;
  height: 40px;
  color: #fff;
  background: var(--blue);
  border-radius: 50%;
  transform: none;
  box-shadow: none;
}
.brand-name {
  color: var(--ink);
  font-size: 25px;
  letter-spacing: -1.2px;
}
.primary-nav {
  display: flex;
  align-items: center;
  gap: 7px;
}
.nav-item {
  width: auto;
  min-height: 44px;
  padding: 0 16px;
  gap: 7px;
  color: var(--ink);
  border-radius: 999px;
  font-weight: 700;
  white-space: nowrap;
}
.nav-item:hover { color: var(--blue); background: var(--blue-soft); }
.nav-item.active {
  color: #fff;
  background: var(--blue);
  box-shadow: none;
}
.nav-item.active .nav-icon { color: #fff; }
.nav-icon { display: none; }
.nav-count {
  min-width: 20px;
  height: 20px;
  color: var(--blue);
  background: #fff;
}
.sidebar-card, .sidebar-footer { display: none; }

.main-content {
  min-height: 100vh;
  margin-left: 0;
  padding-top: 78px;
}
.topbar {
  position: fixed;
  z-index: 50;
  top: 0;
  right: clamp(24px, 5vw, 80px);
  width: auto;
  height: 78px;
  padding: 0;
  justify-content: flex-end;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  pointer-events: none;
}
.topbar-title, .mobile-menu { display: none; }
.topbar-actions { pointer-events: auto; }
.topbar-actions .secondary-button {
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
}
#signInBtn {
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}
#signInBtn:hover { background: var(--blue-dark); }
.avatar-button { background: var(--blue); }

.view {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px) 90px;
}
#discoverView.active {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  grid-template-areas:
    "hero hero"
    "notice notice"
    "popular popular"
    "search search"
    "filters heading"
    "filters results"
    "filters empty";
  column-gap: 38px;
  align-items: start;
}

.hero {
  grid-area: hero;
  min-height: 0;
  padding: 64px 0 26px;
  display: block;
  color: var(--ink);
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  text-align: center;
}
.hero::after { display: none; }
.hero-copy {
  max-width: 870px;
  margin: 0 auto;
}
.hero-kicker {
  color: var(--blue);
  font-size: 13px;
  letter-spacing: .1em;
}
.hero h1 {
  max-width: none;
  margin: 12px 0 16px;
  color: var(--ink);
  font-size: clamp(54px, 7vw, 92px);
  line-height: .92;
  letter-spacing: -5px;
}
.hero h1 span { color: var(--ink); }
.hero p {
  max-width: 700px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}
.hero-actions { justify-content: center; margin-top: 26px; }
.hero-primary {
  min-height: 52px;
  padding: 0 24px;
  color: #fff;
  background: var(--blue);
  border-radius: 999px;
  box-shadow: none;
}
.hero-primary:hover { background: var(--blue-dark); }
.hero-link { color: var(--blue); font-size: 14px; }
.hero-trust {
  justify-content: center;
  margin-top: 20px;
  color: var(--muted);
}
.hero-trust span::before { color: var(--blue); }
.hero-stat-grid {
  max-width: 1160px;
  margin: 54px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.hero-stat,
.hero-stat:last-child,
.hero-stat.accent {
  min-height: 220px;
  grid-column: auto;
  padding: 28px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  color: #fff;
  text-align: left;
  background: var(--blue);
  border: 0;
  border-radius: 34px;
  box-shadow: none;
}
.hero-stat:nth-child(2) { background: #103eb8; }
.hero-stat.accent { color: var(--ink); background: var(--mint); }
.hero-stat span,
.hero-stat small {
  color: rgba(255,255,255,.82);
  font-weight: 700;
}
.hero-stat.accent span,
.hero-stat.accent small { color: rgba(12,0,52,.72); }
.hero-stat strong {
  margin: auto 0 10px;
  font-size: 56px;
  letter-spacing: -3px;
}

.provider-notice {
  grid-area: notice;
  max-width: 1160px;
  margin: 24px auto 0;
  padding: 14px 20px;
  color: var(--muted);
  background: var(--soft);
  border: 0;
  border-radius: 14px;
}
.provider-notice strong { color: var(--ink); }

.popular-categories {
  grid-area: popular;
  max-width: 1160px;
  width: 100%;
  margin: 46px auto 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.popular-categories > span {
  width: 100%;
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 800;
}
.popular-categories button {
  min-height: 44px;
  padding: 0 20px;
  color: var(--ink);
  background: #fff;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  font-weight: 700;
}
.popular-categories button:hover {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
}

.search-panel {
  grid-area: search;
  max-width: 1160px;
  width: 100%;
  margin: 36px auto 30px;
}
.search-box {
  height: 66px;
  border: 2px solid var(--ink);
  border-radius: 18px;
  box-shadow: none;
}
.search-box:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(0,77,232,.1);
}
.filter-toggle { display: none; }

.filters {
  grid-area: filters;
  position: sticky;
  top: 104px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 0;
  padding: 24px;
  background: var(--soft);
  border: 0;
  border-radius: 20px;
  box-shadow: none;
}
.filters::before {
  content: "Search by";
  display: block;
  color: var(--ink);
  font-size: 20px;
  font-weight: 800;
}
.filters label > span { color: var(--ink); font-size: 12px; }
.filters select {
  height: 45px;
  border: 1px solid #cbc9d7;
  border-radius: 10px;
}
.filters .clear-filters {
  min-height: 44px;
  color: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 999px;
}
.section-heading {
  grid-area: heading;
  margin: 0 0 18px;
}
.section-heading .eyebrow { display: none; }
.section-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: 30px;
}
.trust-chip { border-color: var(--line); }

.scholarship-grid {
  grid-area: results;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.scholarship-card {
  min-height: 0;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 210px;
  column-gap: 28px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #d8d6e3;
  border-radius: 20px;
  box-shadow: none;
}
.scholarship-card:hover {
  transform: none;
  border-color: var(--blue);
  box-shadow: 0 10px 28px rgba(0,77,232,.08);
}
.card-top { grid-column: 1 / -1; }
.provider-mark {
  color: #fff;
  background: var(--blue);
  border-radius: 12px;
}
.card-main { grid-column: 1; }
.card-title {
  margin: 16px 0 6px;
  color: var(--ink);
  font-size: 21px;
}
.tag-row { grid-column: 1; margin: 14px 0 12px; }
.tag { color: var(--ink); background: var(--soft); }
.tag.full, .tag.verified { color: #fff; background: var(--blue); }
.tag.need { color: #6e4500; background: #fff1ba; }
.card-description { grid-column: 1; font-size: 13px; }
.match-row { grid-column: 1; }
.match-label strong { color: var(--blue); }
.match-bar span { background: var(--blue); }
.card-footer {
  grid-column: 2;
  grid-row: 2 / span 4;
  margin: 0;
  padding: 4px 0 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 18px;
  border-left: 1px solid var(--line);
  padding-left: 24px;
}
.deadline { gap: 6px; }
.deadline strong { color: var(--ink); white-space: normal; }
.card-cta {
  min-height: 50px;
  color: #fff;
  background: var(--blue);
  border-radius: 999px;
}
.card-cta:hover { background: var(--blue-dark); }
.empty-state { grid-area: empty; }

.primary-button { border-color: var(--blue); background: var(--blue); border-radius: 999px; }
.primary-button:hover { background: var(--blue-dark); }
.secondary-button { border-radius: 999px; }
.eyebrow, .detail-provider, .detail-permalink { color: var(--blue); }
.modal { border-radius: 24px; }
.detail-aside { background: var(--blue-soft); }
.provider-disclaimer, .application-handoff { background: #fff; border-color: #c7d7ff; }
.seo-page, .legal-page { background: var(--soft); }
.seo-button.primary-button { color: #fff; }

@media (max-width: 1100px) {
  .sidebar { gap: 20px; }
  .nav-item { padding: 0 11px; font-size: 13px; }
  #addScholarshipBtn { display: none; }
  .hero-stat, .hero-stat:last-child, .hero-stat.accent { min-height: 190px; }
}

@media (max-width: 980px) {
  .sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 100 !important;
    width: min(320px, 88vw) !important;
    max-width: 88vw;
    height: 100dvh;
    padding: 26px 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: #fff;
    border-right: 1px solid var(--line);
    overflow-y: auto;
  }
  .brand { margin: 0 8px 30px; }
  .primary-nav { display: grid; gap: 7px; }
  .nav-item {
    width: 100%;
    justify-content: flex-start;
    border-radius: 12px;
  }
  .nav-icon { display: inline-block; }
  .nav-item.active { color: #fff; background: var(--blue); }
  .sidebar-card {
    display: block;
    margin-top: 28px;
    color: var(--ink);
    background: var(--blue-soft);
    border-color: #cbd9ff;
  }
  .sidebar-footer { display: block; margin-top: auto; }
  .sidebar-footer p, .legal-links a { color: var(--muted); }
  .main-content { padding-top: 0; }
  .topbar {
    position: sticky;
    inset: auto;
    top: 0;
    right: auto;
    z-index: 70;
    width: 100%;
    height: 70px;
    padding: 0 18px;
    justify-content: space-between;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
    pointer-events: auto;
  }
  .topbar-title { display: block; }
  .mobile-menu { display: inline-flex !important; color: var(--ink); }
  .mobile-brand { color: var(--ink); }
  #discoverView.active { display: block; }
  .view { padding: 0 22px 70px; }
  .hero { padding: 46px 0 22px; }
  .hero h1 { font-size: clamp(52px, 12vw, 74px); letter-spacing: -4px; }
  .hero p { font-size: 16px; }
  .hero-stat-grid { gap: 14px; margin-top: 40px; }
  .hero-stat, .hero-stat:last-child, .hero-stat.accent {
    min-height: 160px;
    padding: 22px;
    border-radius: 24px;
  }
  .hero-stat strong { font-size: 42px; }
  .popular-categories { margin-top: 34px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; }
  .popular-categories > span { flex: 0 0 auto; width: auto; margin: 0 5px 0 0; }
  .popular-categories button { flex: 0 0 auto; }
  .search-panel { margin: 28px 0 14px; }
  .filter-toggle { display: block; border-radius: 16px; }
  .filters {
    position: static;
    display: none;
    margin-bottom: 24px;
    grid-template-columns: 1fr 1fr;
  }
  .filters.open { display: grid; }
  .filters::before { grid-column: 1 / -1; }
  .section-heading { margin-top: 30px; }
  .scholarship-card { grid-template-columns: minmax(0,1fr) 190px; }
}

@media (max-width: 680px) {
  .view { padding: 0 15px 60px; }
  .topbar-actions .secondary-button { display: inline-flex; }
  #addScholarshipBtn { display: none; }
  #signInBtn { min-height: 40px; padding: 0 16px; }
  .hero { padding-top: 36px; }
  .hero h1 { font-size: 52px; letter-spacing: -3.2px; }
  .hero p { font-size: 14px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-link { padding: 8px; text-align: center; }
  .hero-trust { display: flex; flex-direction: column; align-items: center; }
  .hero-stat-grid { grid-template-columns: 1fr; }
  .hero-stat, .hero-stat:last-child, .hero-stat.accent {
    grid-column: auto;
    min-height: 145px;
  }
  .provider-notice { align-items: flex-start; flex-direction: column; }
  .popular-categories > span { display: none; }
  .search-box { height: 56px; }
  .filters { grid-template-columns: 1fr; }
  .filters::before { grid-column: auto; }
  .section-heading { align-items: flex-start; }
  .section-heading h2 { font-size: 24px; }
  .scholarship-card {
    display: block;
    padding: 20px;
  }
  .card-footer {
    margin-top: 18px;
    padding: 18px 0 0;
    display: flex;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

/* Applicant experience sections */
.applicant-hero { min-height:560px; padding:clamp(40px,5vw,72px); color:#160b36; background:#ffe45c; border:1px solid #efd243; border-radius:30px; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr); align-items:center; gap:clamp(36px,5vw,72px); box-shadow:0 18px 50px rgba(116,88,0,.12); overflow:visible; }
.applicant-hero::after { display:none; }
.applicant-hero .hero-kicker { color:#5b4dff; }
.applicant-hero h1 { max-width:720px; margin:0 0 24px; padding:4px 0 9px; font-size:clamp(46px,4.55vw,68px); line-height:1.13; letter-spacing:-.8px; text-wrap:balance; overflow:visible; }
.applicant-hero h1 .gradient-word { display:inline; color:transparent; background:linear-gradient(100deg,#5839e8 0%,#214cdd 54%,#006da4 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.applicant-hero p { max-width:610px; color:#4f4762; font-size:17px; line-height:1.6; }
.applicant-hero .hero-primary { background:#17103c; border-color:#17103c; border-radius:999px; padding-inline:26px; }
.applicant-hero .hero-link { color:#251e49; border:1px solid rgba(23,16,60,.2); border-radius:999px; padding:14px 24px; text-decoration:none; background:rgba(255,255,255,.35); }
.featured-by { margin-top:48px; display:grid; gap:15px; }
.featured-by > span { color:#725f13; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.featured-by div { display:flex; flex-wrap:wrap; gap:13px 22px; color:#8a7419; }
.featured-by b { font:700 13px/1.2 "Manrope",sans-serif; }
.image-placeholder { position:relative; display:grid; place-items:center; align-content:center; gap:8px; overflow:hidden; color:#625d76; background:#f4f3f8; border:1px dashed #9c93ff; text-align:center; }
.image-placeholder > span { font-weight:800; }
.image-placeholder > small { color:#817b93; }
.hero-photo-placeholder { min-height:465px; border-radius:24px; background:#fffdf2; border:1px dashed rgba(23,16,60,.35); }
.live-chip { position:absolute; top:18px; left:50%; transform:translateX(-50%); padding:8px 13px; border-radius:999px; color:#1a133a; background:#fff; font-size:11px; font-weight:800; box-shadow:0 8px 24px rgba(20,15,50,.1); }
.winner-toast { position:absolute; left:7%; right:7%; bottom:24px; display:grid; gap:5px; padding:16px 18px; border-radius:14px; color:#191332; background:rgba(255,255,255,.96); text-align:left; box-shadow:0 18px 40px rgba(20,15,50,.18); }
.winner-toast span { color:#777188; font-size:12px; }
.featured-card-image { min-height:190px; margin:-1px -1px 18px; border-radius:15px 15px 0 0; }
.story-showcase { grid-template-columns:1.25fr .75fr; align-items:center; padding:clamp(34px,5vw,64px); background:#fff; border:1px solid var(--line); }
.story-showcase h2 { max-width:760px; font-size:clamp(36px,4vw,56px); }
.story-tabs { display:flex; gap:8px; margin:22px 0; }
.story-tabs button { border:0; border-bottom:3px solid transparent; padding:10px 12px; color:#9994a8; background:transparent; font-weight:700; }
.story-tabs button.active { color:#1b133b; border-color:#5b4dff; }
.story-quote { max-width:680px; font-size:17px!important; line-height:1.7!important; }
.story-photo-placeholder { min-height:420px; border-radius:18px; }
.winner-wall { margin-top:34px; padding:clamp(28px,4vw,52px); border-radius:22px; background:#0f082d; color:#fff; }
.winner-wall .eyebrow { color:#a9a1ff; }
.winner-wall .experience-heading p { color:#b7b2c8; }
.winner-filters { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0; }
.winner-filters button { border:1px solid rgba(255,255,255,.16); border-radius:9px; padding:11px 14px; color:#eeeaff; background:rgba(255,255,255,.08); }
.winner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.winner-grid article { display:grid; gap:7px; }
.winner-grid article > span { color:#aaa3c1; font-size:12px; }
.winner-image { aspect-ratio:4/5; border-radius:14px; }
.social-auth { display:grid; gap:10px; margin:22px 0 16px; }
.social-auth-button { min-height:48px; border:1px solid var(--line); border-radius:11px; color:#1b1730; background:#fff; font-weight:750; display:grid; grid-template-columns:30px 1fr 30px; align-items:center; padding:0 15px; }
.social-auth-button:hover { border-color:#aaa2ff; background:#faf9ff; }
.social-mark { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-weight:800; }
.google-mark { color:#4285f4; background:#eef4ff; }
.facebook-mark { color:#fff; background:#1877f2; font-family:Arial,sans-serif; font-size:20px; }
.phone-mark { color:#5b4dff; background:#f0eeff; }
.auth-divider { display:flex; align-items:center; gap:12px; color:#9994a8; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--line); }

@media (max-width:1220px) {
  .applicant-hero { grid-template-columns:1fr; }
  .winner-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .applicant-hero { padding:42px 28px; gap:38px; }
  .applicant-hero h1 { max-width:760px; font-size:clamp(46px,8vw,66px); line-height:1.12; letter-spacing:-.65px; }
  .hero-photo-placeholder { min-height:360px; }
  .story-showcase { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .applicant-hero { min-height:auto; padding:34px 22px 24px; border-radius:24px; gap:30px; }
  .applicant-hero h1 { max-width:100%; margin-bottom:18px; padding:0 0 7px; font-size:clamp(38px,11vw,48px); line-height:1.12; letter-spacing:-.25px; text-align:left; }
  .applicant-hero h1 br { display:none; }
  .applicant-hero p { font-size:16px; line-height:1.55; text-align:left; }
  .applicant-hero .hero-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  .applicant-hero .hero-primary,.applicant-hero .hero-link { width:100%; min-height:52px; display:grid; place-items:center; }
  .applicant-hero .hero-trust { justify-content:flex-start; gap:10px 16px; }
  .featured-by { margin-top:34px; }
  .hero-photo-placeholder { min-height:320px; }
  .winner-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .winner-wall { padding:24px 16px; }
}
