:root{
  --bg:#f7f8fa;
  --surface:#ffffff;
  --text:#1d2433;
  --muted:#697386;
  --border:#e2e6ec;
  --accent:#182b49;
  --accent-soft:#eef2f7;
  --radius:16px;
  --shadow:0 8px 28px rgba(20,35,60,.07);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0;line-height:1.6}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}
.nav-wrap{min-height:72px;display:flex;align-items:center;gap:28px}

.main-nav,.nav-actions{display:flex;align-items:center;gap:18px}
.main-nav{flex:1}
.nav-actions{font-size:.94rem}
.language-form select{border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:white}
.inline-form{display:inline}
.link-button{border:0;background:none;color:var(--accent);font:inherit;padding:0;cursor:pointer}
.page-shell{min-height:70vh;padding-block:48px 72px}
.hero{padding:72px 0 60px}
.hero h1,.page-heading h1,.detail-hero h1{font-size:clamp(2.25rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.045em;margin:.25rem 0 1rem;max-width:900px}
.lead{font-size:1.2rem;color:var(--muted);max-width:720px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);background:var(--accent);color:white;border-radius:10px;padding:11px 18px;font-weight:700;cursor:pointer}
.button:hover{text-decoration:none;opacity:.94}
.button-secondary{background:white;color:var(--accent)}
.section{margin-top:52px}
.section-heading,.page-heading,.detail-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.section-heading h2,.section h2{margin:0 0 20px;font-size:1.55rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h2,.card h3{margin:.35rem 0 .55rem;line-height:1.25}
.card p{margin:.4rem 0}
.card-logo{width:64px;height:64px;object-fit:contain;border-radius:10px;background:white;border:1px solid var(--border);padding:6px}
.muted{color:var(--muted)}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:650}
.search-bar{display:flex;gap:10px;margin:26px 0 30px}
.search-bar input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:white;font:inherit}
.empty-state{padding:28px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);background:white}
.detail-hero{padding:26px 0 32px;align-items:center}
.detail-logo{width:140px;height:140px;object-fit:contain;background:white;border:1px solid var(--border);border-radius:20px;padding:14px}
.detail-banner{width:100%;max-height:400px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border)}
.prose{max-width:820px}
.table-wrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:680px}
th,td{text-align:start;padding:14px 16px;border-bottom:1px solid var(--border)}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fbfcfd}
.faq-list{display:grid;gap:10px}
.faq-item{background:white;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.faq-item summary{cursor:pointer;font-weight:700}
.faq-answer{padding-top:10px;color:var(--muted)}
.narrow{max-width:720px}
.form-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.form-card input,.form-card textarea,.form-card select{width:100%;border:1px solid var(--border);border-radius:9px;padding:10px 12px;font:inherit}
.message{padding:12px 14px;border-radius:10px;background:#eef7ee;border:1px solid #cfe6cf;margin-bottom:20px}
.site-footer{border-top:1px solid var(--border);background:white}
.site-footer .container{display:flex;justify-content:space-between;gap:16px;padding-block:28px;color:var(--muted)}
[dir="rtl"] .main-nav,[dir="rtl"] .nav-actions{flex-direction:row}
@media(max-width:900px){
  .nav-wrap{flex-wrap:wrap;padding-block:14px}
  .main-nav{order:3;width:100%;overflow:auto;padding-bottom:2px}
  .nav-actions{margin-inline-start:auto}
  .hero{padding-top:44px}
}
@media(max-width:640px){
  .container{width:min(100% - 22px,1160px)}
  .main-nav{gap:14px;font-size:.9rem}
  .nav-actions{gap:10px}
  .section-heading,.page-heading,.detail-hero{display:block}
  .detail-logo{margin-top:22px}
  .search-bar{flex-direction:column}
  .site-footer .container{display:block}
}

@media(max-width:640px){}

/* TurkDemy header branding */
.nav-wrap{
  display:flex;
  align-items:center;
  gap:28px;
}
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:190px;
  text-decoration:none;
}
.brand img{
  display:block;
  width:190px;
  height:auto;
  max-height:48px;
  object-fit:contain;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:18px;
  flex:1;
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-inline-start:auto;
}
@media(max-width:900px){
  .brand{
    min-width:auto;
  }
  .brand img{
    width:165px;
    max-height:44px;
  }
}
@media(max-width:640px){
  .brand img{
    width:145px;
  }
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-hero{position:relative;min-height:560px;margin-top:-48px;margin-inline:calc((100vw - min(1160px,calc(100vw - 32px)))/-2);padding:80px max(24px,calc((100vw - min(1160px,calc(100vw - 32px)))/2));display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(227,6,44,.19),transparent 34%),linear-gradient(125deg,#0a243c,#0b3a67 54%,#153d61);color:#fff}
.home-hero-photo{background-image:linear-gradient(90deg,rgba(4,23,38,.94) 0%,rgba(4,23,38,.78) 42%,rgba(4,23,38,.33) 100%),var(--hero-image);background-size:cover;background-position:center}
.home-hero-content{position:relative;z-index:1;max-width:820px}.hero-eyebrow{color:#ffcc3d}.home-hero h1{max-width:780px;margin:.3rem 0 1rem;font-size:clamp(2.9rem,6vw,5.3rem);line-height:1.01;letter-spacing:-.05em;color:#fff}.hero-copy{max-width:700px;color:rgba(255,255,255,.82);font-size:1.15rem}
.hero-search{display:flex;gap:10px;max-width:800px;margin-top:28px}.hero-search input{flex:1;min-width:0;border:0;border-radius:11px;padding:15px 17px;font:inherit;background:#fff;color:#182335;box-shadow:0 12px 35px rgba(0,0,0,.15)}
.button-accent{background:#E3062C;border-color:#E3062C;color:#fff}.button-light{background:#fff;border-color:#fff;color:#0B3A67}.button-outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}.home-hero .hero-actions{margin-top:14px}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border);border-top:0;box-shadow:var(--shadow)}.stat-item{padding:25px 28px;border-inline-end:1px solid var(--border)}.stat-item:last-child{border-inline-end:0}.stat-item strong{display:block;font-size:1.8rem;line-height:1.1;color:#13233b}.stat-item span{display:block;margin-top:5px;color:var(--muted);font-size:.9rem}.stat-highlight strong{color:#E3062C}
.home-section{padding:66px 0 8px}.home-section .section-heading{align-items:end;margin-bottom:24px}.home-section .section-heading h2{margin:0;font-size:2rem;letter-spacing:-.025em}.section-link{font-size:.9rem;font-weight:700}
.university-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.university-feature-card{display:flex;flex-direction:column;min-height:290px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(22,37,61,.045)}.university-card-top{height:66px;display:flex;align-items:center}.university-logo{width:58px;height:58px;object-fit:contain;padding:5px;border:1px solid var(--border);border-radius:11px;background:#fff}.university-logo-placeholder{display:grid;place-items:center;background:#eef2f7;color:#0B3A67;font-weight:800}.university-feature-card h3{font-size:1.05rem;margin:15px 0 4px}.university-feature-card .card-location{margin:0 0 10px;color:var(--muted)}.compact-badges{gap:6px}.compact-badges .badge{font-size:.72rem}.badge-success{background:#e8f6ef;color:#16643b}.card-action{margin-top:auto;padding-top:18px;font-size:.87rem;font-weight:800;color:#0B3A67}
.study-field-section{margin-top:56px;padding:58px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.field-chip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.field-chip{display:flex;flex-direction:column;justify-content:center;min-height:90px;padding:15px;border:1px solid var(--border);border-radius:12px;background:#fff}.field-chip:hover{border-color:#0B3A67;text-decoration:none}.field-chip span{font-weight:800}.field-chip small{margin-top:3px;color:var(--muted)}
.program-list-home{display:grid;gap:9px}.program-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;border:1px solid var(--border);border-radius:11px;background:#fff;transition:.18s ease}.program-row:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(20,35,60,.055);text-decoration:none}.program-row>div:first-child{display:flex;flex-direction:column}.program-row>div:first-child span{font-size:.87rem;color:var(--muted);margin-top:3px}.program-row-meta{text-align:end;flex:0 0 auto;color:#075948}.program-row-meta strong,.program-row-meta small{display:block}.program-row-meta small{font-size:.7rem;color:var(--muted)}
.process-section{padding-top:82px}.process-heading{max-width:720px}.section-intro{color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.process-card{padding:24px;border-radius:14px;background:#0d2437;color:#fff}.process-card span{font-size:.74rem;letter-spacing:.1em;color:#ffcc3d;font-weight:800}.process-card h3{margin:24px 0 7px;font-size:1.15rem}.process-card p{margin:0;color:rgba(255,255,255,.68);font-size:.9rem}
.trust-section{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:72px;padding:58px;border-radius:22px;background:linear-gradient(135deg,#f2f5f8,#fff 60%,#fff3f4);border:1px solid var(--border)}.trust-copy h2{font-size:2.15rem;line-height:1.12;letter-spacing:-.035em}.trust-copy p{color:var(--muted)}.trust-points{display:grid;grid-template-columns:1fr 1fr;gap:15px}.trust-points>div{padding:18px;background:#fff;border:1px solid var(--border);border-radius:12px}.trust-points strong,.trust-points span{display:block}.trust-points span{margin-top:5px;color:var(--muted);font-size:.85rem}
.faq-home-section{padding-top:82px}.home-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:80px 0 18px;padding:42px 46px;border-radius:22px;background:linear-gradient(120deg,#0B3A67,#091f34);color:#fff}.home-cta h2{font-size:2rem;margin:.15rem 0 .5rem}.home-cta p{margin:0;color:rgba(255,255,255,.7)}.home-cta .eyebrow{color:#ffcc3d}.home-cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.site-footer{margin-top:50px;background:#0b1d2a;color:#d9e0e6;border-top:0}.footer-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-block:52px!important}.footer-brand img{width:190px;filter:brightness(0) invert(1);opacity:.95}.footer-brand p{max-width:360px;color:#9fb0bc}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.footer-grid strong{color:#fff;margin-bottom:6px}.footer-grid a{color:#b9c7d0}.footer-bottom{display:flex;justify-content:space-between;padding-block:18px!important;border-top:1px solid rgba(255,255,255,.1);color:#8194a1;font-size:.82rem}
@media(max-width:1000px){.university-grid{grid-template-columns:repeat(2,1fr)}.field-chip-grid{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.trust-section{grid-template-columns:1fr;padding:38px;gap:30px}}
@media(max-width:720px){.home-hero{min-height:520px;margin-inline:calc((100vw - min(100% - 22px,1160px))/-2);padding-inline:20px}.home-hero h1{font-size:2.8rem}.hero-search{flex-direction:column}.stats-strip{grid-template-columns:1fr 1fr}.stat-item:nth-child(2){border-inline-end:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.university-grid{grid-template-columns:1fr}.field-chip-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr}.trust-points{grid-template-columns:1fr}.home-cta{display:block;padding:32px 24px}.home-cta-actions{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr!important;gap:30px}.footer-brand{grid-column:1/-1}}
@media(max-width:460px){.field-chip-grid{grid-template-columns:1fr}.program-row{align-items:flex-start}.program-row-meta{min-width:80px}.footer-grid{grid-template-columns:1fr!important}.footer-brand{grid-column:auto}}

/* Program filtering */
.hero-search-advanced{display:block;max-width:900px}
.hero-search-main{display:flex;gap:10px}
.hero-search-main input{flex:1}
.hero-filter-row{display:flex;align-items:center;gap:9px;margin-top:10px;flex-wrap:wrap}
.hero-filter-row select{min-width:150px;padding:10px 12px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.96);color:#182335;font:inherit}
.advanced-filter-link{margin-inline-start:auto;color:#fff;font-size:.86rem;font-weight:700}
.result-count{color:var(--muted);font-size:.9rem}
.university-program-filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:24px 0}
.university-program-filters input,.university-program-filters select,.catalogue-filter-form input,.catalogue-filter-form select{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;font:inherit}
.filter-search-wide{grid-column:span 2}
.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text)}
.filter-checkbox input{width:auto}
.clear-filters{display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:700}
.program-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.program-result-card{display:flex;flex-direction:column;min-height:280px;padding:21px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(22,37,61,.045)}
.program-result-card h2,.program-result-card h3{margin:.25rem 0 .55rem;line-height:1.25}
.program-result-card .card-action{margin-top:auto}
.program-university{color:var(--muted);font-size:.9rem}
.program-price{display:flex;flex-direction:column;margin:18px 0 10px;padding-top:14px;border-top:1px solid var(--border)}
.program-price strong{font-size:1.25rem;color:#075948}
.program-price span{font-size:.75rem;color:var(--muted)}
.catalogue-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}
.filter-sidebar{position:sticky;top:92px}
.mobile-filter-toggle>summary{display:none}
.catalogue-filter-form{padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff}
.filter-group{margin-bottom:18px}
.filter-group>label:first-child{display:block;margin-bottom:6px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}
.filter-group select+select{margin-top:8px}
.filter-two-col{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}
.filter-checks{display:grid;gap:9px}
.filter-submit{width:100%}
.catalogue-results{min-width:0}
.program-result-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:34px;padding:18px;border-top:1px solid var(--border);font-size:.9rem}
.pagination span{color:var(--muted)}
@media(max-width:1100px){
  .program-result-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .university-program-filters{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .catalogue-layout{display:block}
  .filter-sidebar{position:static;margin-bottom:22px}
  .mobile-filter-toggle{border:1px solid var(--border);border-radius:12px;background:#fff}
  .mobile-filter-toggle>summary{display:block;padding:13px 16px;font-weight:800;cursor:pointer}
  .catalogue-filter-form{border:0;border-top:1px solid var(--border);border-radius:0}
  .university-program-filters{grid-template-columns:1fr 1fr}
  .filter-search-wide{grid-column:1/-1}
}
@media(max-width:620px){
  .hero-search-main{flex-direction:column}
  .hero-filter-row{display:grid;grid-template-columns:1fr 1fr}
  .advanced-filter-link{margin:0}
  .program-result-grid,.program-result-grid-wide{grid-template-columns:1fr}
  .university-program-filters{grid-template-columns:1fr}
  .filter-search-wide{grid-column:auto}
}

/* ============================================================
   Program filter sidebar usability
   ============================================================ */
.filter-sidebar{
  position:sticky;
  top:86px;
  align-self:start;
  max-height:calc(100vh - 102px);
  overflow:hidden;
}

.mobile-filter-toggle{
  max-height:inherit;
}

.catalogue-filter-form{
  max-height:calc(100vh - 102px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-bottom:88px;
}

.filter-help{
  margin:0 0 16px;
  padding:10px 11px;
  border-radius:9px;
  background:#f4f7fa;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}

.filter-actions{
  position:sticky;
  bottom:-20px;
  z-index:4;
  display:grid;
  gap:7px;
  margin:20px -20px -20px;
  padding:14px 20px 16px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.98);
  box-shadow:0 -10px 24px rgba(20,35,60,.06);
  backdrop-filter:blur(6px);
}

.filter-submit{
  width:100%;
}

.clear-filters{
  min-height:32px;
}

/* Slight scrollbar styling without relying on a custom JS widget. */
.catalogue-filter-form{
  scrollbar-width:thin;
  scrollbar-color:#b8c2cc transparent;
}
.catalogue-filter-form::-webkit-scrollbar{
  width:8px;
}
.catalogue-filter-form::-webkit-scrollbar-thumb{
  background:#b8c2cc;
  border-radius:999px;
}
.catalogue-filter-form::-webkit-scrollbar-track{
  background:transparent;
}

@media(max-width:820px){
  .filter-sidebar{
    position:static;
    max-height:none;
    overflow:visible;
  }

  .mobile-filter-toggle{
    max-height:none;
  }

  .catalogue-filter-form{
    max-height:none;
    overflow:visible;
    padding-bottom:20px;
  }

  .filter-actions{
    position:sticky;
    bottom:0;
    margin:20px -20px -20px;
  }
}

/* ============================================================
   Rich program detail page
   ============================================================ */
.program-detail-hero{
  position:relative;
  overflow:hidden;
  margin-top:-48px;
  margin-inline:calc((100vw - min(1160px,calc(100vw - 32px)))/-2);
  padding:72px max(24px,calc((100vw - min(1160px,calc(100vw - 32px)))/2));
  background:linear-gradient(125deg,#0a243c,#0B3A67 58%,#173e61);
  color:#fff;
}
.program-detail-hero-photo{
  background-image:
    linear-gradient(90deg,rgba(5,24,40,.96) 0%,rgba(5,24,40,.84) 50%,rgba(5,24,40,.42) 100%),
    var(--program-hero);
  background-size:cover;
  background-position:center;
}
.program-detail-overlay{position:absolute;inset:0;pointer-events:none}
.program-detail-hero-inner{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 270px;
  gap:48px;align-items:center
}
.program-breadcrumbs{display:flex;gap:8px;align-items:center;font-size:.82rem;color:rgba(255,255,255,.62)}
.program-breadcrumbs a{color:rgba(255,255,255,.82)}
.program-degree-label{margin-top:28px;color:#ffcc3d}
.program-detail-copy h1{
  max-width:820px;margin:.25rem 0 12px;font-size:clamp(2.8rem,5.5vw,5rem);
  line-height:1.02;letter-spacing:-.05em;color:#fff
}
.program-hero-university{font-size:1.1rem;color:rgba(255,255,255,.76)}
.program-hero-university a{color:#fff;font-weight:700}
.program-fact-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.program-fact-pills span{
  padding:7px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;
  background:rgba(255,255,255,.1);font-size:.82rem
}
.program-university-mini-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;
  border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.94);
  color:#14243a;box-shadow:0 20px 50px rgba(0,0,0,.18)
}
.program-university-mini-card img{width:70px;height:70px;object-fit:contain;padding:6px;border:1px solid var(--border);border-radius:12px;background:#fff}
.program-university-mini-card strong{font-size:1rem}
.program-university-mini-card span{font-size:.8rem;color:var(--muted)}
.program-university-mini-card a{font-size:.84rem;font-weight:800;margin-top:4px}
.program-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-top:0;background:#fff}
.program-summary-card{padding:22px 24px;border-inline-end:1px solid var(--border)}
.program-summary-card:last-child{border-inline-end:0}
.program-summary-card span,.program-summary-card strong{display:block}
.program-summary-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}
.program-summary-card strong{margin-top:5px;font-size:1rem}
.program-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;margin-top:54px;align-items:start}
.detail-section{margin-bottom:64px}
.detail-section h2{font-size:2rem;letter-spacing:-.03em;margin:.2rem 0 18px}
.rich-text{color:#48566a;line-height:1.8}
.offering-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.offering-card{padding:22px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(20,35,60,.045)}
.offering-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.offering-card-head>div{display:flex;flex-direction:column}
.offering-card-head>div span{color:var(--muted);font-size:.86rem}
.offering-status{padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800}
.offering-open{background:#e7f7ef;color:#16643b}.offering-closed{background:#f5e9e9;color:#923434}
.offering-price-block{display:flex;flex-direction:column;margin:22px 0 15px;padding:18px 0;border-block:1px solid var(--border)}
.offering-price-block strong{font-size:1.75rem;line-height:1.1;color:#075948}
.offering-price-block>span:last-child,.offering-price-block small{font-size:.77rem;color:var(--muted);margin-top:4px}.offering-price-block .offering-price-label{font-weight:700;color:var(--text);margin-top:0;margin-bottom:5px}
.old-price{text-decoration:line-through;color:#9aa5b1;font-size:.86rem}
.offering-facts{display:grid;gap:9px;margin:0}
.offering-facts div{display:flex;justify-content:space-between;gap:14px}
.offering-facts dt{color:var(--muted);font-size:.82rem}.offering-facts dd{margin:0;font-weight:700;font-size:.84rem;text-align:end;display:flex;flex-direction:column;align-items:flex-end}.offering-facts dd small{font-size:.72rem;font-weight:500;color:var(--muted);margin-top:2px}
.university-showcase{padding:30px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#f5f8fa,#fff 60%,#fff4f5)}
.university-showcase-header{display:flex;justify-content:space-between;gap:24px;align-items:center}
.university-showcase-title{display:flex;gap:18px;align-items:center}
.university-showcase-title img{width:82px;height:82px;object-fit:contain;padding:7px;border:1px solid var(--border);border-radius:14px;background:#fff}
.university-showcase-title h2{margin:.1rem 0;font-size:1.75rem}
.university-showcase-title p:last-child{margin:0;color:var(--muted)}
.university-info-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:28px 0}
.university-info-grid div{padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff}
.university-info-grid span,.university-info-grid strong{display:block}
.university-info-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.university-info-grid strong{margin-top:4px;font-size:.85rem}
.university-description{max-width:850px;color:#526074;line-height:1.7}
.university-media-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:9px;margin-top:24px}
.university-media-item{display:block;height:150px;border-radius:12px;overflow:hidden;background:#eef2f5}
.university-media-featured{grid-row:span 2;height:309px}
.university-media-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.university-media-item:hover img{transform:scale(1.025)}
.university-showcase-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px;font-weight:800;font-size:.85rem}
.related-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.related-program-card{display:flex;flex-direction:column;min-height:310px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff}
.related-program-university{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.76rem}
.related-program-university img{width:28px;height:28px;object-fit:contain}
.related-program-card h3{margin:.3rem 0 .5rem;line-height:1.25}
.related-program-price{display:flex;flex-direction:column;margin:16px 0 6px;padding-top:13px;border-top:1px solid var(--border)}
.related-program-price strong{font-size:1.1rem;color:#075948}
.related-program-price span{font-size:.72rem;color:var(--muted)}
.more-program-list{display:grid;gap:8px}
.more-program-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:11px;background:#fff}
.more-program-row:hover{text-decoration:none;border-color:#aab8c5}
.more-program-row>div{display:flex;flex-direction:column}
.more-program-row>div span{font-size:.8rem;color:var(--muted);margin-top:2px}
.more-program-price{font-weight:800;color:#075948}
.program-detail-sidebar{position:sticky;top:100px}
.program-contact-card{padding:22px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(20,35,60,.055)}
.program-contact-card h3{font-size:1.25rem;line-height:1.2;margin:.2rem 0 .6rem}
.program-contact-card p:not(.eyebrow){color:var(--muted);font-size:.88rem}
.program-contact-card .button{width:100%;margin-top:10px}
.secondary-card-link{display:block;margin-top:13px;text-align:center;font-size:.8rem;font-weight:700}
@media(max-width:1000px){
  .program-detail-hero-inner{grid-template-columns:1fr}
  .program-university-mini-card{max-width:360px}
  .program-summary-grid{grid-template-columns:repeat(2,1fr)}
  .program-summary-card:nth-child(2){border-inline-end:0}
  .program-summary-card:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .program-detail-layout{grid-template-columns:1fr}
  .program-detail-sidebar{position:static}
  .university-info-grid{grid-template-columns:repeat(3,1fr)}
  .related-program-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .program-detail-hero{margin-inline:calc((100vw - min(100% - 22px,1160px))/-2);padding-inline:20px}
  .program-detail-copy h1{font-size:2.75rem}
  .offering-card-grid{grid-template-columns:1fr}
  .university-showcase{padding:22px}
  .university-showcase-header{display:block}
  .university-showcase-header .button{margin-top:18px}
  .university-info-grid{grid-template-columns:repeat(2,1fr)}
  .university-media-grid{grid-template-columns:1fr 1fr}
  .university-media-featured{grid-column:1/-1;height:230px;grid-row:auto}
  .related-program-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .program-summary-grid{grid-template-columns:1fr}
  .program-summary-card{border-inline-end:0;border-bottom:1px solid var(--border)}
  .program-summary-card:last-child{border-bottom:0}
  .university-info-grid{grid-template-columns:1fr 1fr}
  .university-media-grid{grid-template-columns:1fr}
  .university-media-featured,.university-media-item{grid-column:auto;height:210px}
  .more-program-row{align-items:flex-start}
}

/* ============================================================
   Applicant / Lead workspace
   ============================================================ */
.applicant-page-heading{align-items:flex-end;margin-bottom:28px}
.applicant-page-heading h1,.lead-form-layout h1,.apply-program-layout h1{font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.04em;margin:.2rem 0 .5rem}
.applicant-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.compact-applicant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.applicant-card{display:flex;flex-direction:column;padding:21px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(20,35,60,.045)}
.applicant-card-head{display:flex;gap:13px;align-items:center}.applicant-card h2{font-size:1.1rem;margin:0 0 5px}.applicant-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0B3A67;color:#fff;font-weight:800;text-transform:uppercase}.applicant-avatar-large{width:70px;height:70px;font-size:1.25rem}
.lead-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1f5;color:#47576a;font-size:.72rem;font-weight:800}
.lead-status-finalized,.lead-status-converted{background:#e6f6ed;color:#16643b}.lead-status-needs_info{background:#fff4db;color:#8a6200}.lead-status-rejected{background:#f8e8e8;color:#8a3030}
.applicant-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.applicant-mini-facts div{padding:10px;border-radius:9px;background:#f7f9fb}.applicant-mini-facts dt{font-size:.68rem;text-transform:uppercase;color:var(--muted);font-weight:800}.applicant-mini-facts dd{margin:3px 0 0;font-weight:800}.converted-note{font-size:.78rem;color:#16643b}
.lead-form-layout,.apply-program-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:50px;align-items:start}.lead-profile-form p{margin:0 0 16px}.lead-profile-form label,.form-card label{display:block;font-size:.78rem;font-weight:800;color:#536174;margin-bottom:5px}.lead-profile-form input,.lead-profile-form select,.lead-profile-form textarea,.form-card input,.form-card select,.form-card textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;font:inherit}.lead-profile-form input[type=checkbox],.form-card input[type=checkbox]{width:auto}.form-actions{display:flex;align-items:center;gap:18px;margin-top:22px}
.applicant-hero{display:flex;justify-content:space-between;gap:26px;align-items:center;margin-bottom:34px;padding:28px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#f2f6f9,#fff 65%,#fff2f3)}.applicant-title{display:flex;gap:18px;align-items:center}.applicant-title h1{font-size:2.4rem;letter-spacing:-.035em;margin:.1rem 0}.applicant-status-row{display:flex;gap:8px;flex-wrap:wrap}.applicant-hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.applicant-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:30px;align-items:start}.lead-panel{margin-bottom:34px;padding:25px;border:1px solid var(--border);border-radius:17px;background:#fff}.lead-panel .section-heading{align-items:flex-end;margin-bottom:20px}.lead-panel h2{margin:.1rem 0;font-size:1.6rem}
.lead-interest-list{display:grid;gap:11px}.lead-interest-card{display:flex;justify-content:space-between;gap:22px;padding:17px;border:1px solid var(--border);border-radius:12px;background:#fbfcfd}.lead-interest-card h3{margin:.4rem 0 .25rem}.lead-interest-card p{margin:.2rem 0;color:var(--muted);font-size:.86rem}.interest-source-line{display:flex;gap:7px}.interest-source{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#0B3A67}.interest-source-system{color:#7a3aa7}.interest-source-agent{color:#9a5a00}.interest-offering{color:#075948!important;font-weight:700}.suggestion-reason{padding:8px 10px;background:#f4f0fa;border-radius:8px}.interest-actions{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.small-button{padding:7px 10px;font-size:.78rem}
.lead-document-list{display:grid;gap:8px}.lead-document-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:10px}.lead-document-row>div{display:flex;gap:10px;align-items:center}.lead-document-row>div:first-child{flex-direction:column;align-items:flex-start;gap:1px}.lead-document-row span{font-size:.8rem;color:var(--muted)}.lead-upload-panel{margin-top:16px;padding:12px;border:1px dashed var(--border);border-radius:10px}.lead-upload-panel summary{cursor:pointer;font-weight:800}.compact-form{margin-top:14px}
.lead-chat{border:1px solid var(--border);border-radius:13px;overflow:hidden}.lead-chat-messages{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto;padding:18px;background:#f6f8fa}.chat-message{max-width:76%;padding:11px 13px;border-radius:12px;background:#fff;border:1px solid var(--border)}.chat-message-own{margin-inline-start:auto;background:#eaf2f9;border-color:#cfdeeb}.chat-message-system{align-self:center;max-width:90%;background:#fff7e2;border-color:#eddca9}.chat-message-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:5px;font-size:.72rem}.chat-message-meta time{color:var(--muted)}.chat-message-body{font-size:.9rem}.chat-attachment{display:block;margin-top:7px;font-size:.8rem;font-weight:700}.empty-chat{text-align:center;color:var(--muted);padding:30px}.chat-compose{padding:14px;background:#fff}.chat-compose textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px;font:inherit;resize:vertical}.chat-compose-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}
.applicant-sidebar{position:sticky;top:92px;display:grid;gap:14px}.sidebar-card{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff}.sidebar-card h3{margin:.1rem 0 .5rem}.sidebar-card p{font-size:.84rem;color:#59687a}.sidebar-facts{display:grid;gap:10px}.sidebar-facts div{display:grid;gap:2px}.sidebar-facts dt{font-size:.68rem;text-transform:uppercase;color:var(--muted);font-weight:800}.sidebar-facts dd{margin:0;font-size:.84rem;font-weight:700}.converted-sidebar-card{background:#edf8f1;border-color:#cfe7d7}
.lead-context{font-size:1.1rem;font-weight:800}.lead-profile-form ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:5px 12px}.lead-profile-form ul label{font-weight:500;text-transform:none}
@media(max-width:1000px){.applicant-card-grid{grid-template-columns:repeat(2,1fr)}.compact-applicant-grid{grid-template-columns:repeat(2,1fr)}.lead-form-layout,.apply-program-layout{grid-template-columns:1fr}.applicant-workspace{grid-template-columns:1fr}.applicant-sidebar{position:static}}
@media(max-width:700px){.applicant-card-grid,.compact-applicant-grid{grid-template-columns:1fr}.applicant-hero{display:block}.applicant-hero-actions{margin-top:18px}.lead-interest-card{display:block}.interest-actions{margin-top:13px}.chat-message{max-width:90%}.lead-profile-form ul{grid-template-columns:1fr}.lead-document-row{align-items:flex-start;flex-direction:column}.chat-compose-actions{align-items:flex-start;flex-direction:column}}

/* Unified authentication */
.auth-shell{display:grid;place-items:center;min-height:64vh;padding:42px 0}
.auth-card{width:min(100%,520px);padding:34px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 20px 55px rgba(20,35,60,.08)}
.auth-heading{text-align:center;margin-bottom:24px}.auth-heading h1{margin:.2rem 0 .6rem;font-size:2.35rem;letter-spacing:-.04em}.auth-heading p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6}
.auth-provider-stack{display:grid;gap:10px}.auth-provider-stack form{margin:0}
.auth-provider-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:#fff;color:#17253a;font:inherit;font-weight:800;cursor:pointer}.auth-provider-button:hover{border-color:#99a9b9;background:#fafbfd}
.auth-provider-mark{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eef3f7;color:#0B3A67;font-size:.78rem;font-weight:900}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#8a98a8;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.auth-email-button{display:flex;justify-content:center;width:100%;min-height:48px;align-items:center}
.auth-new-user{text-align:center;margin:18px 0 0;color:var(--muted);font-size:.87rem}.auth-new-user a{font-weight:800}
.auth-form p{margin:0 0 16px}.auth-form label{display:block;margin-bottom:6px;font-size:.78rem;font-weight:800;color:#536174}.auth-form input,.auth-form select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}.auth-form .errorlist{margin:0 0 6px;padding:0;list-style:none;color:#9b2c2c;font-size:.78rem}
.auth-code-form input{font-size:1.25rem;letter-spacing:.12em;text-align:center}
.auth-back-link{display:block;margin-top:18px;text-align:center;font-size:.84rem;font-weight:700}
@media(max-width:600px){.auth-shell{padding:22px 0}.auth-card{padding:24px 18px;border-radius:16px}.auth-heading h1{font-size:2rem}}

/* Sign-in methods */
.account-methods-page{max-width:980px;margin:0 auto}.account-methods-heading{margin-bottom:26px}.account-methods-heading h1{font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.04em;margin:.2rem 0 .5rem}
.signin-method-grid{display:grid;gap:15px}.signin-method-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:17px;padding:22px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,35,60,.045)}
.signin-method-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eef3f7;color:#0B3A67;font-size:1rem;font-weight:900}.signin-method-content{min-width:0}.signin-method-title-row{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:8px}.signin-method-title-row h2{margin:0;font-size:1.15rem}.signin-method-content>p{margin:.3rem 0 14px;color:var(--muted)}
.account-email-list{display:grid;gap:8px;margin:12px 0 18px}.account-email-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:#fafbfd}.account-email-badges{display:flex;gap:8px;margin-top:3px;color:var(--muted);font-size:.7rem;font-weight:800}.account-email-actions{display:flex;gap:12px;flex-wrap:wrap}.account-email-actions form{margin:0}
.link-button{padding:0;border:0;background:none;color:#0B3A67;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.danger-link{color:#9a3434}.add-login-email-form{padding-top:16px;border-top:1px solid var(--border)}.add-login-email-form p{margin:0 0 12px}.add-login-email-form label{display:block;margin-bottom:5px;font-size:.78rem;font-weight:800}.add-login-email-form input{width:100%;max-width:420px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;font:inherit}
.signin-method-safety{margin-top:18px;padding:15px 17px;border-radius:12px;background:#f4f7f9;color:#526173;font-size:.83rem}.signin-method-safety p{margin:.3rem 0 0}
@media(max-width:650px){.signin-method-card{grid-template-columns:1fr}.account-email-row{align-items:flex-start;flex-direction:column}.signin-method-title-row{align-items:flex-start}}

.auth-provider-icon{
  width:27px;
  height:27px;
  display:block;
  flex:0 0 27px;
}
.signin-method-icon img{
  width:34px;
  height:34px;
  display:block;
}


/* Global bidirectional layout support */
html[dir="rtl"] body {
  direction: rtl;
  text-align: start;
}

html[dir="ltr"] body {
  direction: ltr;
  text-align: start;
}

/* Prefer logical alignment across shared layout primitives. */
.site-header,
.site-footer,
.page-shell,
.container,
.section-heading,
.auth-card,
.account-methods-page,
.signin-method-card,
.signin-method-content,
.account-email-row,
.account-email-actions,
.auth-form,
.card,
.panel,
.form-row,
.form-group {
  text-align: start;
}

html[dir="rtl"] .site-header,
html[dir="rtl"] .site-footer,
html[dir="rtl"] .page-shell,
html[dir="rtl"] .container,
html[dir="rtl"] .auth-card,
html[dir="rtl"] .account-methods-page,
html[dir="rtl"] .signin-method-card,
html[dir="rtl"] .account-email-row {
  direction: rtl;
}

/* Header/navigation keep the same visual system while reversing flow. */
html[dir="rtl"] .site-header .container,
html[dir="rtl"] .site-header-inner,
html[dir="rtl"] .nav,
html[dir="rtl"] .nav-links,
html[dir="rtl"] .header-actions {
  direction: rtl;
}

/* Authentication pages */
html[dir="rtl"] .auth-heading,
html[dir="rtl"] .auth-form,
html[dir="rtl"] .auth-new-user {
  text-align: start;
}

html[dir="rtl"] .auth-provider-button {
  direction: rtl;
}

/* Sign-in methods */
html[dir="rtl"] .signin-method-card {
  grid-template-columns: minmax(0, 1fr) 54px;
}

html[dir="rtl"] .signin-method-card > .signin-method-icon {
  grid-column: 2;
  grid-row: 1;
}

html[dir="rtl"] .signin-method-card > .signin-method-content {
  grid-column: 1;
  grid-row: 1;
}

html[dir="rtl"] .signin-method-title-row,
html[dir="rtl"] .account-email-row {
  direction: rtl;
}

html[dir="rtl"] .account-email-actions {
  justify-content: flex-start;
}

html[dir="rtl"] .auth-back-link {
  text-align: start;
}

/* Inputs should follow page direction, but machine-like values stay LTR. */
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="tel"] {
  direction: ltr;
  text-align: left;
}

bdi[dir="ltr"],
.ltr-value,
.email-value,
.url-value,
.username-value {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  text-align: left;
}

/* Logical spacing helpers for common components. */
html[dir="rtl"] .account-email-actions,
html[dir="rtl"] .signin-method-title-row,
html[dir="rtl"] .header-actions,
html[dir="rtl"] .nav-links {
  flex-direction: row-reverse;
}

@media (max-width: 650px) {
  html[dir="rtl"] .signin-method-card {
    grid-template-columns: 1fr;
  }

  html[dir="rtl"] .signin-method-card > .signin-method-icon,
  html[dir="rtl"] .signin-method-card > .signin-method-content {
    grid-column: 1;
  }

  html[dir="rtl"] .signin-method-card > .signin-method-icon {
    grid-row: 1;
  }

  html[dir="rtl"] .signin-method-card > .signin-method-content {
    grid-row: 2;
  }
}


/* Programs catalogue redesign */
.programs-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:44px 0 30px;
  border-bottom:1px solid var(--border);
}
.programs-hero-copy{max-width:760px}
.programs-hero-copy h1{
  margin:.2rem 0 .65rem;
  font-size:clamp(2.6rem,5vw,4.7rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.programs-hero-text{
  max-width:680px;
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.7;
}
.programs-hero-stat{
  min-width:180px;
  padding:18px 20px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,36,61,.05);
}
.programs-hero-stat strong{
  display:block;
  font-size:2rem;
  line-height:1;
  color:#102a4c;
}
.programs-hero-stat span{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:.82rem;
}
.programs-catalogue-shell{
  display:grid;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:30px 0 56px;
}
.programs-filter-panel{
  position:sticky;
  top:92px;
}
.programs-filter-panel .mobile-filter-toggle{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 35px rgba(18,36,61,.055);
  overflow:hidden;
}
.programs-filter-panel .mobile-filter-toggle>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  cursor:pointer;
  list-style:none;
  font-weight:850;
  color:#102a4c;
  border-bottom:1px solid var(--border);
}
.programs-filter-panel .mobile-filter-toggle>summary::-webkit-details-marker{display:none}
.filter-summary-count{
  font-size:.7rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.programs-filter-panel .catalogue-filter-form{
  padding:18px;
  max-height:calc(100vh - 160px);
  overflow:auto;
  scrollbar-width:thin;
}
.programs-filter-panel .filter-help{
  margin:0 0 16px;
  padding:11px 12px;
  border-radius:10px;
  background:#f4f7fa;
  color:#68778a;
  font-size:.75rem;
  line-height:1.5;
}
.programs-filter-panel .filter-group{margin-bottom:16px}
.programs-filter-panel .filter-group>label,
.programs-filter-panel .filter-group>div>label{
  display:block;
  margin-bottom:6px;
  color:#526174;
  font-size:.7rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.programs-filter-panel input,
.programs-filter-panel select{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #dce4eb;
  border-radius:10px;
  background:#fff;
  color:#1c2b3f;
  font:inherit;
  font-size:.84rem;
}
.programs-filter-panel input:focus,
.programs-filter-panel select:focus{
  outline:0;
  border-color:#6d8aaa;
  box-shadow:0 0 0 3px rgba(30,72,112,.08);
}
.programs-filter-panel .filter-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.programs-filter-panel .filter-checks{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:11px;
  background:#f8fafc;
}
.programs-filter-panel .filter-checkbox{
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:.78rem!important;
  line-height:1.35;
}
.programs-filter-panel .filter-checkbox input{
  width:auto;
  min-height:0;
  margin-top:2px;
}
.programs-filter-panel .filter-actions{
  position:sticky;
  bottom:-18px;
  display:grid;
  gap:9px;
  margin:18px -18px -18px;
  padding:14px 18px 18px;
  border-top:1px solid var(--border);
  background:linear-gradient(to bottom,rgba(255,255,255,.96),#fff 30%);
}
.programs-filter-panel .filter-submit{
  width:100%;
  min-height:44px;
}
.programs-filter-panel .clear-filters{
  text-align:center;
  font-size:.78rem;
  font-weight:750;
  color:#64748b;
}
.programs-results-panel{min-width:0}
.programs-results-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.programs-result-count{
  font-size:1.05rem;
  font-weight:900;
  color:#102a4c;
}
.programs-clear-link{
  font-size:.8rem;
  font-weight:800;
  color:#45617f;
}
.programs-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.program-discovery-card{
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,36,61,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.program-discovery-card:hover{
  transform:translateY(-3px);
  border-color:#cbd7e2;
  box-shadow:0 18px 42px rgba(18,36,61,.09);
}
.program-card-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.program-university-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.program-university-logo{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:6px;
  border:1px solid #e0e7ee;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
  color:#183d63;
  font-weight:900;
}
.program-university-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.program-university-name{
  display:block;
  max-width:190px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1d334d;
  font-size:.78rem;
  font-weight:850;
}
.program-university-city{
  display:block;
  margin-top:2px;
  color:#8a96a5;
  font-size:.7rem;
}
.program-degree-pill{
  flex:0 0 auto;
  padding:6px 8px;
  border-radius:999px;
  background:#edf4f8;
  color:#536b83;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.program-card-main{
  flex:1;
  padding:22px 0 18px;
}
.program-card-main h2{
  margin:0;
  font-size:1.42rem;
  line-height:1.12;
  letter-spacing:-.03em;
}
.program-card-main h2 a{color:#142b48}
.program-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px;
}
.program-meta-chip{
  padding:5px 8px;
  border-radius:999px;
  background:#f4f7fa;
  color:#53677c;
  font-size:.67rem;
  font-weight:750;
}
.program-card-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding-top:15px;
  border-top:1px solid #edf1f4;
}
.program-tuition-block span{
  display:block;
  margin-bottom:3px;
  color:#8592a1;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.program-tuition-block strong{
  display:block;
  color:#0b765d;
  font-size:1.28rem;
  line-height:1;
}
.program-tuition-block small{
  display:block;
  margin-top:4px;
  color:#8a96a5;
}
.program-card-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border-radius:9px;
  background:#17375e;
  color:#fff;
  font-size:.76rem;
  font-weight:850;
}
.program-card-cta:hover{color:#fff;background:#102a4c}
.programs-empty-state{
  grid-column:1/-1;
  padding:70px 30px;
  border:1px dashed #cbd6e0;
  border-radius:18px;
  background:#fff;
  text-align:center;
}
.programs-empty-icon{
  margin-bottom:10px;
  color:#7690aa;
  font-size:2.2rem;
}
.programs-empty-state h2{margin:.2rem 0 .5rem}
.programs-empty-state p{margin:0 0 18px;color:var(--muted)}
.programs-pagination-wrap{
  display:flex;
  justify-content:center;
  padding:30px 0 0;
}

/* RTL adapts without changing the visual system. */
html[dir="rtl"] .programs-hero,
html[dir="rtl"] .programs-results-toolbar,
html[dir="rtl"] .program-card-topline,
html[dir="rtl"] .program-card-footer{
  direction:rtl;
}
html[dir="rtl"] .program-university-brand,
html[dir="rtl"] .program-meta-row{
  direction:rtl;
}
html[dir="rtl"] .program-card-cta span[aria-hidden="true"]{
  transform:rotate(180deg);
}

@media(max-width:1050px){
  .programs-catalogue-shell{grid-template-columns:240px minmax(0,1fr);gap:20px}
  .programs-result-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .programs-hero{align-items:flex-start;flex-direction:column;padding-top:28px}
  .programs-hero-stat{width:100%}
  .programs-catalogue-shell{display:block;padding-top:20px}
  .programs-filter-panel{position:static;margin-bottom:18px}
  .programs-filter-panel .catalogue-filter-form{max-height:none}
  .programs-result-grid{grid-template-columns:1fr}
  .program-discovery-card{min-height:auto}
}


/* Programs balanced filter layout */
.programs-filter-panel .catalogue-filter-form{
  padding:16px;
  max-height:calc(100vh - 150px);
  overflow:auto;
  scrollbar-width:thin;
}
.programs-filter-panel .filter-help{
  margin:0 0 14px;
  padding:10px 11px;
  border-radius:10px;
  background:#f5f8fa;
  color:#6b7a8d;
  font-size:.72rem;
  line-height:1.45;
}
.programs-filter-panel .filter-group{
  margin-bottom:13px;
}
.programs-filter-panel .filter-group>label{
  display:block;
  margin-bottom:6px;
  color:#506176;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.filter-search-control{
  position:relative;
}
.filter-search-icon{
  position:absolute;
  inset-inline-start:11px;
  top:50%;
  transform:translateY(-50%);
  color:#8795a4;
  pointer-events:none;
}
.programs-filter-panel .filter-search-control input{
  padding-inline-start:34px;
}
.filter-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.filter-pair .filter-group{
  min-width:0;
}
.filter-tuition-row{
  display:grid;
  grid-template-columns:1fr 1fr .95fr;
  gap:7px;
}
.filter-checks-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:7px!important;
  padding:0!important;
  background:transparent!important;
}
.filter-checks-grid .filter-checkbox{
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  min-height:34px;
  padding:8px 9px;
  border:1px solid #e5ebf0;
  border-radius:9px;
  background:#f9fbfc;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:.75rem!important;
  line-height:1.3;
}
.filter-checks-grid .filter-checkbox input{
  width:auto;
  min-height:0;
  margin-top:2px;
  accent-color:#17375e;
}
.filter-actions-balanced{
  position:sticky;
  bottom:-16px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin:15px -16px -16px!important;
  padding:13px 16px 16px!important;
  border-top:1px solid var(--border)!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(8px);
}
.filter-actions-balanced .filter-submit{
  min-height:42px;
  width:100%;
}
.filter-actions-balanced .clear-filters{
  white-space:nowrap;
  font-size:.74rem;
}

/* Mobile: filters become a full-width, touch-friendly panel. */
@media(max-width:760px){
  .programs-catalogue-shell{
    display:block;
    padding-top:16px;
  }

  .programs-filter-panel{
    position:static;
    margin:0 0 18px;
  }

  .programs-filter-panel .mobile-filter-toggle{
    border-radius:14px;
  }

  .programs-filter-panel .mobile-filter-toggle>summary{
    min-height:52px;
    padding:14px 16px;
    font-size:.9rem;
  }

  .programs-filter-panel .catalogue-filter-form{
    max-height:none;
    padding:14px;
    overflow:visible;
  }

  .programs-filter-panel .filter-help{
    font-size:.76rem;
  }

  .filter-pair{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .filter-tuition-row{
    grid-template-columns:1fr 1fr;
  }

  .filter-tuition-row select{
    grid-column:1 / -1;
  }

  .filter-checks-grid{
    grid-template-columns:1fr 1fr;
  }

  .filter-actions-balanced{
    position:static;
    grid-template-columns:1fr 1fr;
    margin:14px -14px -14px!important;
    padding:13px 14px 14px!important;
  }

  .filter-actions-balanced .clear-filters{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    border:1px solid #d8e0e8;
    border-radius:9px;
  }
}

@media(max-width:520px){
  .filter-pair{
    grid-template-columns:1fr;
  }

  .filter-checks-grid{
    grid-template-columns:1fr;
  }

  .filter-actions-balanced{
    grid-template-columns:1fr;
  }

  .programs-hero{
    gap:16px;
  }

  .programs-hero-copy h1{
    font-size:2.35rem;
  }

  .programs-hero-stat{
    padding:14px 16px;
  }

  .program-card-topline{
    align-items:flex-start;
  }

  .program-card-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .program-card-cta{
    justify-content:center;
    width:100%;
  }
}


/* Programs filters final desktop/mobile polish */
.programs-filter-panel{
  min-width:270px;
}
.filter-tuition-row{
  grid-template-columns:1fr 1fr!important;
}
.filter-tuition-row .filter-currency{
  grid-column:1 / -1;
}
.filter-checks-grid .filter-checkbox{
  color:#40536a;
  background:#fbfcfd;
}
.filter-checks-grid .filter-checkbox:has(input:checked){
  border-color:#b9c9d8;
  background:#f0f5f9;
  color:#17375e;
}
.filter-actions-balanced{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.filter-actions-balanced .clear-filters{
  padding-inline:3px;
}
.mobile-filter-trigger,
.mobile-filter-close,
.programs-filter-backdrop{
  display:none;
}

/* Mobile gets a purpose-built filter drawer rather than a stacked desktop sidebar. */
@media(max-width:760px){
  .programs-catalogue-shell{
    display:block;
  }
  .programs-filter-panel{
    position:fixed!important;
    z-index:1002;
    inset:0;
    width:100%;
    min-width:0;
    margin:0!important;
    padding:0;
    background:#fff;
    transform:translateY(102%);
    transition:transform .24s ease;
    overflow:hidden;
  }
  .programs-filter-panel.mobile-filters-open{
    transform:translateY(0);
  }
  .programs-filter-panel .mobile-filter-toggle{
    display:flex;
    flex-direction:column;
    height:100dvh;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .programs-filter-panel .mobile-filter-toggle>summary{
    flex:0 0 auto;
    min-height:62px;
    padding:15px 18px!important;
    border-bottom:1px solid var(--border);
    background:#fff;
    font-size:1rem!important;
  }
  .programs-filter-panel .filter-summary-count{
    margin-inline-start:auto;
  }
  .mobile-filter-close{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid #dce4eb;
    border-radius:9px;
    color:#526174;
    font-size:1.35rem;
    line-height:1;
  }
  .programs-filter-panel .catalogue-filter-form{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
    max-height:none!important;
    padding:16px 16px 0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .programs-filter-panel .filter-help{
    margin-bottom:16px;
  }
  .filter-pair{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .filter-tuition-row{
    grid-template-columns:1fr 1fr!important;
  }
  .filter-checks-grid{
    grid-template-columns:1fr 1fr!important;
    padding-bottom:8px!important;
  }
  .filter-checks-grid .filter-checkbox{
    min-height:44px;
    align-items:center!important;
    padding:9px 10px;
  }
  .filter-checks-grid .filter-checkbox input{
    margin-top:0!important;
  }
  .filter-actions-balanced{
    position:sticky!important;
    bottom:0!important;
    z-index:3;
    grid-template-columns:minmax(0,1fr) minmax(0,.7fr)!important;
    flex:0 0 auto;
    margin:auto -16px 0!important;
    padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--border)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -8px 24px rgba(18,36,61,.07);
  }
  .filter-actions-balanced .clear-filters{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:8px 10px!important;
    border:1px solid #d8e0e8;
    border-radius:9px;
  }
  .mobile-filter-trigger{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:48px;
    margin:0 0 14px;
    padding:10px 14px;
    border:1px solid #d8e1e9;
    border-radius:11px;
    background:#fff;
    color:#17375e;
    font:inherit;
    font-size:.86rem;
    font-weight:850;
    box-shadow:0 5px 18px rgba(18,36,61,.045);
  }
  .mobile-filter-trigger-icon{
    font-size:1rem;
  }
  .mobile-filter-trigger-meta{
    display:grid;
    place-items:center;
    min-width:27px;
    height:22px;
    margin-inline-start:auto;
    padding:0 7px;
    border-radius:999px;
    background:#eef3f7;
    color:#536b83;
    font-size:.67rem;
  }
  .programs-filter-backdrop{
    display:block;
    position:fixed;
    z-index:1001;
    inset:0;
    background:rgba(11,28,47,.34);
    backdrop-filter:blur(2px);
  }
  .programs-filter-backdrop[hidden]{
    display:none;
  }
  html.filters-modal-open,
  html.filters-modal-open body{
    overflow:hidden;
  }
}

@media(max-width:480px){
  .filter-pair{
    grid-template-columns:1fr!important;
  }
  .filter-checks-grid{
    grid-template-columns:1fr!important;
  }
  .programs-filter-panel .catalogue-filter-form{
    padding-inline:14px!important;
  }
  .filter-actions-balanced{
    margin-inline:-14px!important;
    padding-inline:14px!important;
  }
}


/* Active program filter chips */
.programs-results-summary{
  display:flex;
  align-items:baseline;
  gap:5px;
}
.active-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px rgba(18,36,61,.035);
}
.active-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 8px 6px 11px;
  border:1px solid #dce5ec;
  border-radius:999px;
  background:#f7f9fb;
  color:#334b65;
  font-size:.74rem;
  font-weight:750;
  transition:background .15s ease,border-color .15s ease;
}
.active-filter-chip:hover{
  background:#eef4f8;
  border-color:#cbd8e3;
  color:#17375e;
}
.active-filter-remove{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#e7edf2;
  color:#61758b;
  font-size:.9rem;
  line-height:1;
}
.programs-clear-link{
  white-space:nowrap;
}
.filter-actions-balanced{
  grid-template-columns:1fr!important;
}
@media(max-width:760px){
  .active-filter-bar{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:9px 10px;
    scrollbar-width:none;
  }
  .active-filter-bar::-webkit-scrollbar{display:none}
  .active-filter-chip{flex:0 0 auto}
}


/* Final mobile catalogue/list containment fix */

/*
 * Important:
 * The mobile filter panel is completely removed from document flow while
 * closed. Using only transform: translateY(...) on a fixed element can still
 * produce bad full-page screenshots/stitching and can interact poorly with
 * transformed ancestors. display:none guarantees the filter form cannot
 * appear between result cards.
 */
@media(max-width:760px){
  .programs-catalogue-shell{
    display:block!important;
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .programs-filter-panel{
    display:none!important;
    position:fixed!important;
    z-index:1200!important;
    inset:0!important;
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    background:#fff;
    overflow:hidden!important;
    transform:none!important;
  }

  .programs-filter-panel.mobile-filters-open{
    display:block!important;
  }

  .programs-filter-panel .mobile-filter-toggle{
    display:flex!important;
    flex-direction:column;
    width:100%;
    height:100dvh;
    margin:0;
    border:0!important;
    border-radius:0!important;
    background:#fff;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  .programs-filter-panel .catalogue-filter-form{
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:16px 16px 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .programs-results-panel{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .programs-result-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:12px!important;
  }

  .program-discovery-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box;
  }

  .program-card-main h2,
  .program-university-name,
  .program-meta-chip{
    overflow-wrap:anywhere;
  }

  .mobile-filter-trigger{
    display:flex!important;
    width:100%!important;
  }

  .programs-filter-backdrop{
    position:fixed!important;
    z-index:1190!important;
  }

  /* Shared public listing/card layouts use the full mobile content width too. */
  .card-grid,
  .university-grid,
  .program-result-grid,
  .program-result-grid-wide,
  .related-program-grid,
  .offering-card-grid,
  .program-summary-grid,
  .university-info-grid,
  .university-media-grid,
  .applicant-card-grid,
  .compact-applicant-grid,
  .process-grid,
  .field-chip-grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .card,
  .university-card,
  .program-result-card,
  .related-program-card,
  .offering-card,
  .program-summary-card,
  .program-university-mini-card,
  .applicant-card,
  .process-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box;
  }

  .page-shell{
    overflow-x:hidden;
  }
}

@media(max-width:480px){
  .programs-filter-panel .catalogue-filter-form{
    padding-inline:14px!important;
  }

  .program-discovery-card{
    padding:16px!important;
  }

  .program-card-main{
    padding-block:16px!important;
  }

  .program-card-main h2{
    font-size:1.18rem!important;
  }

  .program-card-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .program-card-cta{
    width:100%!important;
    justify-content:center!important;
  }
}


/* Global mobile shell and ultra-narrow catalogue polish */
.mobile-nav-toggle,
.mobile-site-menu{
  display:none;
}

@media(max-width:760px){
  .site-header{
    position:sticky;
    top:0;
  }

  .nav-wrap{
    min-height:60px!important;
    padding-block:8px!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }

  .brand{
    min-width:0!important;
    flex:1 1 auto;
  }

  .brand img{
    width:138px!important;
    max-width:72vw;
    max-height:38px!important;
  }

  .main-nav,
  .nav-actions{
    display:none!important;
  }

  .mobile-nav-toggle{
    display:grid;
    flex:0 0 42px;
    width:42px;
    height:42px;
    place-content:center;
    gap:4px;
    padding:0;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
  }

  .mobile-nav-toggle span{
    display:block;
    width:18px;
    height:2px;
    border-radius:2px;
    background:#17375e;
  }

  .mobile-site-menu{
    display:block;
    position:absolute;
    z-index:50;
    inset-inline:0;
    top:100%;
    max-height:calc(100dvh - 60px);
    padding:12px 11px max(16px,env(safe-area-inset-bottom));
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
    box-shadow:0 16px 35px rgba(18,36,61,.12);
    overflow-y:auto;
  }

  .mobile-site-menu[hidden]{
    display:none!important;
  }

  .mobile-site-links{
    display:grid;
    gap:4px;
  }

  .mobile-site-links>a,
  .mobile-menu-button{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#17375e;
    font:inherit;
    font-weight:750;
    text-align:start;
  }

  .mobile-site-links>a:hover,
  .mobile-menu-button:hover{
    background:#f3f6f9;
    text-decoration:none;
  }

  .mobile-site-links form{
    margin:0;
  }

  .mobile-language-form{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    margin-top:10px;
    padding:12px;
    border-top:1px solid var(--border);
  }

  .mobile-language-form label{
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
  }

  .mobile-language-form select{
    width:100%;
    min-width:0;
    min-height:40px;
    padding:7px 9px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
  }

  html.mobile-menu-open body{
    overflow:hidden;
  }

  .page-shell{
    width:calc(100% - 22px)!important;
    max-width:1160px!important;
    padding-block:24px 52px!important;
  }

  .programs-hero{
    gap:10px!important;
    padding:18px 0 18px!important;
  }

  .programs-hero-copy{
    width:100%;
    max-width:none;
  }

  .programs-hero-copy h1{
    font-size:clamp(2rem,10vw,2.7rem)!important;
    line-height:1!important;
  }

  .programs-hero-text{
    font-size:.9rem!important;
    line-height:1.55!important;
  }

  .programs-catalogue-shell{
    padding-top:14px!important;
    padding-bottom:38px!important;
  }

  .programs-results-toolbar{
    gap:10px!important;
    margin-bottom:10px!important;
  }

  .active-filter-bar{
    padding:8px!important;
    gap:6px!important;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }

  .active-filter-bar::-webkit-scrollbar{
    display:none;
  }

  .active-filter-chip{
    flex:0 0 auto;
    min-height:30px;
    white-space:nowrap;
  }

  .program-discovery-card{
    padding:15px!important;
    border-radius:14px!important;
  }

  .program-card-main{
    padding-block:13px!important;
  }

  .program-card-main h2{
    margin-bottom:8px!important;
  }

  .program-card-footer{
    margin-top:auto;
  }

  .site-footer{
    width:100%;
  }
}

@media(max-width:360px){
  .container,
  .page-shell{
    width:calc(100% - 16px)!important;
  }

  .brand img{
    width:118px!important;
  }

  .programs-hero-copy h1{
    font-size:1.85rem!important;
  }

  .programs-result-count,
  .programs-results-toolbar .muted{
    font-size:.82rem!important;
  }

  .program-discovery-card{
    padding:12px!important;
  }

  .program-university-brand{
    min-width:0;
  }

  .program-university-logo{
    flex:0 0 auto;
  }

  .program-card-main h2{
    font-size:1.05rem!important;
    line-height:1.15!important;
  }

  .program-meta{
    gap:5px!important;
  }

  .program-meta-chip{
    font-size:.66rem!important;
  }

  .program-card-cta{
    min-height:40px!important;
    padding-inline:10px!important;
  }
}


/* Mobile filter drawer scroll reliability fix */
@media(max-width:760px){
  .programs-filter-panel{
    height:100dvh!important;
    max-height:100dvh!important;
    overscroll-behavior:contain;
  }

  .programs-filter-panel .mobile-filter-toggle{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:0!important;
  }

  .programs-filter-panel .mobile-filter-toggle>summary{
    position:sticky;
    top:0;
    z-index:5;
    flex:none!important;
  }

  .programs-filter-panel .catalogue-filter-form{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
    padding-bottom:88px!important;
  }

  .filter-actions-balanced{
    position:sticky!important;
    bottom:0!important;
    z-index:6!important;
    margin-top:18px!important;
  }

  html.filters-modal-open,
  html.filters-modal-open body{
    height:100%;
    overflow:hidden!important;
  }
}


/* Header information architecture */
.header-utility{
  display:flex;
  align-items:center;
  gap:12px;
  margin-inline-start:auto;
  flex:0 0 auto;
}
.workspace-nav{
  display:flex;
  align-items:center;
  gap:15px;
  padding-inline-end:4px;
}
.workspace-nav a,
.header-login-link{
  color:#243b57;
  font-size:.86rem;
  font-weight:700;
}
.header-language-form{
  padding-inline:11px;
  border-inline-start:1px solid var(--border);
}
.header-language-form select{
  min-width:86px;
}
.account-menu{
  position:relative;
}
.account-menu>summary{
  list-style:none;
}
.account-menu>summary::-webkit-details-marker{
  display:none;
}
.account-menu-trigger{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  max-width:220px;
  padding:5px 9px 5px 6px;
  border:1px solid #dce4eb;
  border-radius:11px;
  background:#fff;
  color:#223b58;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.account-menu-trigger:hover,
.account-menu[open] .account-menu-trigger{
  border-color:#c7d4df;
  box-shadow:0 5px 16px rgba(18,36,61,.07);
}
.account-avatar{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  background:#edf3f7;
  color:#17375e;
}
.account-menu-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
  font-weight:800;
}
.account-chevron{
  flex:0 0 auto;
  color:#7b8b9c;
  transition:transform .15s ease;
}
.account-menu[open] .account-chevron{
  transform:rotate(180deg);
}
.account-menu-popover{
  position:absolute;
  z-index:80;
  inset-inline-end:0;
  top:calc(100% + 9px);
  width:230px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 42px rgba(18,36,61,.14);
}
.account-menu-identity{
  padding:9px 10px 10px;
  color:#718095;
  font-size:.7rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
.account-menu-popover>a,
.account-menu-logout{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:39px;
  padding:8px 9px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#263f5c;
  font:inherit;
  font-size:.78rem;
  font-weight:750;
  text-align:start;
  cursor:pointer;
}
.account-menu-popover>a:hover,
.account-menu-logout:hover{
  background:#f3f7f9;
  text-decoration:none;
}
.account-menu-divider{
  height:1px;
  margin:5px 3px;
  background:var(--border);
}
.account-menu-logout{
  color:#a13838;
}
.mobile-menu-section-label{
  margin:9px 12px 3px;
  color:#8996a5;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mobile-menu-logout{
  gap:9px;
  color:#a13838!important;
}

/* Profile/account settings */
.profile-page{
  max-width:980px;
  margin-inline:auto;
}
.profile-heading{
  margin-bottom:24px;
}
.profile-heading h1{
  margin:.2rem 0 .45rem;
}
.profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:20px;
  align-items:start;
}
.profile-card,
.profile-security-card{
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,36,61,.04);
}
.profile-card{
  padding:22px;
}
.profile-card-heading{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.profile-card-heading h2,
.profile-security-card h2{
  margin:0;
  color:#172b47;
  font-size:1.05rem;
}
.profile-form p{
  margin:0 0 15px;
}
.profile-form label{
  display:block;
  margin-bottom:6px;
  color:#506176;
  font-size:.72rem;
  font-weight:800;
}
.profile-form input,
.profile-form select,
.profile-form textarea{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #dce4eb;
  border-radius:9px;
  background:#fff;
}
.profile-security-card{
  padding:20px;
}
.profile-security-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:14px;
  border-radius:11px;
  background:#edf5f2;
  color:#19705b;
}
.profile-security-card p{
  margin:9px 0 16px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}
.profile-security-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:9px 11px;
  border-radius:9px;
  background:#17375e;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
}
.profile-security-link:hover{
  color:#fff;
  background:#102a4c;
}

@media(max-width:980px) and (min-width:761px){
  .nav-wrap{
    gap:18px;
  }
  .main-nav{
    gap:12px;
  }
  .workspace-nav{
    display:none;
  }
  .account-menu-label{
    display:none;
  }
}
@media(max-width:760px){
  .header-utility{
    display:none!important;
  }
  .profile-layout{
    grid-template-columns:1fr;
  }
}


/* Mobile homepage redesign */
.mobile-browse-all-fields{
  display:none;
}

@media(max-width:760px){
  /* Homepage rhythm */
  .home-section{
    padding:38px 0 0!important;
  }

  .home-section .section-heading{
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:16px!important;
  }

  .home-section .section-heading>div{
    min-width:0;
  }

  .home-section .section-heading h2{
    font-size:1.55rem!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }

  .home-section .section-link{
    flex:0 0 auto;
    font-size:.75rem;
    font-weight:800;
  }

  .home-section .eyebrow{
    margin-bottom:4px;
    font-size:.62rem;
  }

  /* Hero: one clear task on mobile */
  .home-hero{
    min-height:0!important;
    margin-top:-24px!important;
    margin-inline:calc((100vw - (100% + 22px))/-2)!important;
    padding:44px 18px 24px!important;
    align-items:flex-end!important;
    background-position:center!important;
  }

  .home-hero-photo{
    background-image:
      linear-gradient(180deg,rgba(4,23,38,.55) 0%,rgba(4,23,38,.72) 38%,rgba(4,23,38,.94) 100%),
      var(--hero-image)!important;
  }

  .home-hero-content{
    width:100%;
    max-width:none!important;
  }

  .home-hero h1{
    max-width:520px!important;
    margin:.15rem 0 .65rem!important;
    font-size:clamp(2.2rem,10.5vw,3rem)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }

  .home-hero .hero-copy{
    max-width:520px;
    margin:0;
    font-size:.9rem!important;
    line-height:1.5!important;
  }

  .hero-search-advanced{
    margin-top:18px!important;
  }

  .hero-search-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  .hero-search-main input{
    min-height:48px!important;
    padding:12px 13px!important;
    border-radius:10px!important;
    font-size:.88rem!important;
  }

  .hero-search-main .button{
    min-height:48px;
    padding-inline:14px;
    white-space:nowrap;
  }

  /* Advanced controls belong on the Programs catalogue on small screens. */
  .hero-filter-row select{
    display:none!important;
  }

  .hero-filter-row{
    display:flex!important;
    margin-top:9px!important;
  }

  .advanced-filter-link{
    color:#fff!important;
    font-size:.76rem!important;
    font-weight:800;
  }

  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:15px!important;
  }

  .hero-actions .button{
    min-height:44px;
    padding:9px 10px;
    font-size:.76rem;
    text-align:center;
  }

  /* Compact 2x2 proof strip */
  .stats-strip{
    grid-template-columns:1fr 1fr!important;
    margin-inline:-1px;
    border-radius:0 0 14px 14px;
    overflow:hidden;
  }

  .stat-item{
    min-height:74px!important;
    padding:13px!important;
  }

  .stat-item strong{
    font-size:1.25rem!important;
  }

  .stat-item span{
    font-size:.68rem!important;
  }

  /* Universities become swipeable cards instead of a very long stack. */
  .university-grid{
    display:flex!important;
    gap:12px!important;
    width:calc(100% + 11px)!important;
    max-width:none!important;
    margin-inline-end:-11px;
    padding-inline-end:11px;
    padding-bottom:5px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }

  .university-grid::-webkit-scrollbar{
    display:none;
  }

  .university-feature-card{
    flex:0 0 min(78vw,280px)!important;
    width:min(78vw,280px)!important;
    min-height:225px!important;
    padding:16px!important;
    scroll-snap-align:start;
  }

  .university-feature-card h3{
    margin:11px 0 3px!important;
    font-size:.98rem!important;
  }

  .university-feature-card .compact-badges{
    gap:5px!important;
  }

  .university-feature-card .badge{
    font-size:.61rem!important;
  }

  .university-feature-card .card-action{
    margin-top:auto;
    padding-top:12px;
  }

  /* Study fields: compact 2-column discovery, cap mobile homepage length. */
  .field-chip-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .field-chip{
    min-height:70px!important;
    padding:11px!important;
    border-radius:10px!important;
  }

  .field-chip span{
    font-size:.8rem!important;
    line-height:1.22;
  }

  .field-chip small{
    font-size:.66rem!important;
  }

  .field-chip:nth-child(n+9){
    display:none!important;
  }

  .mobile-browse-all-fields{
    display:inline-flex;
    margin-top:11px;
    color:#17375e;
    font-size:.76rem;
    font-weight:850;
  }

  /* Popular programs: compact rows rather than card-sized blocks. */
  .program-list-home{
    gap:6px!important;
  }

  .program-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    min-height:64px;
    padding:10px 12px!important;
    border-radius:10px!important;
  }

  .program-row>div:first-child{
    min-width:0;
  }

  .program-row>div:first-child strong{
    font-size:.82rem!important;
    line-height:1.2;
  }

  .program-row>div:first-child span{
    margin-top:2px!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.65rem!important;
  }

  .program-row-meta{
    min-width:66px!important;
  }

  .program-row-meta strong{
    font-size:.8rem!important;
  }

  .program-row-meta small{
    font-size:.59rem!important;
  }

  /* Application journey is a horizontal story, not four tall blocks. */
  .process-grid{
    display:flex!important;
    gap:10px!important;
    width:calc(100% + 11px)!important;
    max-width:none!important;
    margin-top:16px!important;
    margin-inline-end:-11px;
    padding-inline-end:11px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }

  .process-grid::-webkit-scrollbar{
    display:none;
  }

  .process-card{
    flex:0 0 min(72vw,250px)!important;
    width:min(72vw,250px)!important;
    min-height:180px!important;
    padding:18px!important;
    scroll-snap-align:start;
  }

  .process-card h3{
    margin:20px 0 6px!important;
    font-size:1rem!important;
  }

  .process-card p{
    font-size:.78rem!important;
    line-height:1.45;
  }

  /* Trust/info becomes compact rather than another full-page stack. */
  .trust-section{
    gap:20px!important;
    margin-top:38px!important;
    padding:22px 16px!important;
    border-radius:16px!important;
  }

  .trust-copy h2{
    font-size:1.5rem!important;
    line-height:1.08!important;
  }

  .trust-copy p{
    font-size:.82rem!important;
    line-height:1.55;
  }

  .trust-points{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .trust-points>div{
    padding:12px!important;
    border-radius:10px!important;
  }

  .trust-points strong{
    font-size:.72rem!important;
  }

  .trust-points span{
    font-size:.66rem!important;
    line-height:1.35;
  }

  /* FAQ + final CTA */
  .faq-home-section .faq-list{
    gap:7px!important;
  }

  .faq-item summary{
    padding:13px 14px!important;
    font-size:.8rem!important;
  }

  .home-cta{
    margin:42px 0 10px!important;
    padding:24px 18px!important;
    border-radius:16px!important;
  }

  .home-cta h2{
    font-size:1.5rem!important;
  }

  .home-cta p{
    font-size:.8rem!important;
    line-height:1.5;
  }

  .home-cta-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:16px!important;
  }

  .home-cta-actions .button{
    min-height:43px;
    padding:9px 10px;
    text-align:center;
  }

  /* Hamburger drawer feels like an account-aware mobile sheet. */
  .mobile-site-menu{
    inset-inline:8px!important;
    top:calc(100% + 6px)!important;
    max-height:calc(100dvh - 74px)!important;
    border:1px solid var(--border)!important;
    border-radius:14px!important;
    box-shadow:0 22px 48px rgba(18,36,61,.18)!important;
  }

  .mobile-site-links{
    gap:2px!important;
  }

  .mobile-site-links>a,
  .mobile-menu-button{
    min-height:42px!important;
    font-size:.8rem!important;
  }

  .mobile-language-form{
    margin-top:8px!important;
    padding:10px 12px 2px!important;
  }

  /* Footer is concise on phones. */
  .site-footer{
    margin-top:38px!important;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:18px 12px!important;
  }

  .footer-brand{
    grid-column:1 / -1;
  }

  .footer-bottom{
    gap:8px!important;
    font-size:.62rem!important;
  }
}

@media(max-width:420px){
  .hero-search-main{
    grid-template-columns:1fr!important;
  }

  .hero-search-main .button{
    width:100%;
  }

  .hero-actions,
  .home-cta-actions{
    grid-template-columns:1fr!important;
  }

  .field-chip-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .trust-points{
    grid-template-columns:1fr!important;
  }
}


/* Shared university card */
.university-list-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:20px;
}

.university-catalogue-card{
  min-width:0;
}

.university-card-badges{
  align-content:flex-start;
}

.university-catalogue-card .card-action{
  margin-top:auto;
}

@media(max-width:980px){
  .university-list-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  /*
   * Home keeps the swipeable university row via `.home-section .university-grid`.
   * Dedicated Universities catalogue stays a normal single-column list.
   */
  .university-list-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding-inline:0!important;
    overflow:visible!important;
  }

  .university-list-grid .university-catalogue-card{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
  }
}


/* Clickable university cards */
.university-card-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.university-card-link:hover{
  color:inherit;
  text-decoration:none;
  transform:translateY(-2px);
  border-color:#cbd7e2;
  box-shadow:0 14px 34px rgba(18,36,61,.08);
}
.university-card-link:focus-visible{
  outline:3px solid rgba(23,55,94,.24);
  outline-offset:3px;
}
.university-card-link h3{
  color:#172b47;
}
.university-card-link .university-card-action{
  color:#0b3a67;
  font-weight:800;
}

/* University detail catalogue alignment */
.university-program-catalogue{padding-top:34px}
.university-program-heading{margin-bottom:20px}
.university-programs-shell{margin-top:0}
@media(max-width:760px){
  .university-program-catalogue{padding-top:26px}
  .university-program-heading{margin-bottom:14px}
}


/* University detail mobile experience */
.university-mobile-catalogue-summary{
  display:none;
}

@media(max-width:760px){
  /* University identity should feel like a real page hero, not compressed text. */
  .detail-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    padding:20px 0 16px!important;
  }

  .detail-hero>div:first-child{
    min-width:0;
  }

  .detail-hero .eyebrow{
    margin-bottom:5px!important;
    font-size:.64rem!important;
    letter-spacing:.1em!important;
  }

  .detail-hero h1{
    margin:.15rem 0 .65rem!important;
    font-size:clamp(2rem,10vw,2.75rem)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere;
  }

  .detail-hero .badges{
    gap:6px!important;
  }

  .detail-hero .badge{
    padding:5px 7px!important;
    font-size:.62rem!important;
  }

  .detail-logo{
    width:68px!important;
    height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
    padding:8px!important;
    border-radius:14px!important;
    object-fit:contain;
    background:#fff;
  }

  /* Give the campus image proper visual weight. */
  .detail-banner{
    display:block;
    width:100%!important;
    height:auto!important;
    min-height:185px;
    max-height:280px;
    margin:0 0 28px!important;
    border-radius:15px!important;
    object-fit:cover;
    box-shadow:0 8px 24px rgba(18,36,61,.07);
  }

  .section.prose{
    margin:0 0 24px!important;
    padding:18px!important;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
  }

  .section.prose h2{
    margin-top:0!important;
    font-size:1.25rem!important;
  }

  .section.prose p{
    font-size:.86rem!important;
    line-height:1.6!important;
  }

  /* Clearly separate university identity from programme discovery. */
  .university-program-catalogue{
    margin-top:0!important;
    padding-top:10px!important;
    border-top:1px solid var(--border);
  }

  .university-program-heading{
    margin:0 0 13px!important;
    padding-top:20px;
  }

  .university-program-heading h2{
    margin-top:3px!important;
    font-size:1.55rem!important;
    line-height:1.08!important;
  }

  .university-programs-shell{
    padding-top:0!important;
  }

  /* Closed filter drawer is never allowed to consume catalogue space. */
  .university-programs-shell>.programs-filter-panel{
    display:none!important;
  }

  .university-programs-shell>.programs-filter-panel.mobile-filters-open{
    display:block!important;
  }

  .university-mobile-catalogue-summary{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin-bottom:10px;
    color:#65758a;
    font-size:.78rem;
  }

  .university-mobile-catalogue-summary strong{
    color:#17375e;
    font-size:1rem;
  }

  .university-programs-shell .mobile-filter-trigger{
    display:flex!important;
    min-height:48px!important;
    margin-bottom:12px!important;
    border-radius:11px!important;
    font-size:.84rem!important;
  }

  /* Desktop result summary is redundant with the compact mobile summary. */
  .university-programs-shell .programs-results-toolbar{
    display:none!important;
  }

  .university-programs-shell .active-filter-bar{
    margin-bottom:12px!important;
  }

  .university-programs-shell .programs-result-grid{
    gap:12px!important;
  }

  .university-programs-shell .program-discovery-card{
    min-height:0!important;
    padding:16px!important;
    border-radius:14px!important;
  }

  /* Same university on every card is redundant here; degree sits naturally right. */
  .university-programs-shell .program-card-topline{
    min-height:25px;
    justify-content:flex-end!important;
  }

  .university-programs-shell .program-degree-pill{
    padding:5px 8px!important;
    font-size:.61rem!important;
  }

  .university-programs-shell .program-card-main{
    padding:10px 0 15px!important;
  }

  .university-programs-shell .program-card-main h2{
    font-size:1.25rem!important;
    line-height:1.12!important;
  }

  .university-programs-shell .program-meta-row{
    margin-top:11px!important;
    gap:6px!important;
  }

  .university-programs-shell .program-meta-chip{
    padding:5px 7px!important;
    font-size:.66rem!important;
  }

  .university-programs-shell .program-card-footer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:12px!important;
    padding-top:13px!important;
  }

  .university-programs-shell .program-tuition-block strong{
    font-size:1.16rem!important;
  }

  .university-programs-shell .program-card-cta{
    width:auto!important;
    min-height:40px!important;
    justify-content:center;
    padding:9px 12px!important;
  }

  .university-programs-shell .programs-pagination-wrap{
    padding-top:22px!important;
    font-size:.78rem;
  }
}

@media(max-width:420px){
  .detail-hero{
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:12px!important;
  }

  .detail-logo{
    width:58px!important;
    height:58px!important;
    max-width:58px!important;
    max-height:58px!important;
  }

  .detail-banner{
    min-height:165px;
  }

  .university-programs-shell .program-card-footer{
    grid-template-columns:1fr!important;
  }

  .university-programs-shell .program-card-cta{
    width:100%!important;
  }
}


/* Applicant workflow responsive form system */
.applicant-form-page{
  width:100%;
  max-width:1040px;
  margin-inline:auto;
}
.applicant-form-header{
  max-width:720px;
  margin-bottom:22px;
}
.applicant-form-header h1{
  margin:.2rem 0 .45rem;
  font-size:clamp(2.2rem,4vw,3.5rem);
  letter-spacing:-.04em;
}
.applicant-form-card{
  padding:0!important;
  overflow:visible;
}
.applicant-form-section{
  padding:22px 24px;
  border-bottom:1px solid var(--border);
}
.applicant-form-section:last-of-type{
  border-bottom:0;
}
.applicant-form-section-heading{
  margin-bottom:16px;
}
.applicant-form-section-heading h2{
  margin:0 0 4px;
  color:#172b47;
  font-size:1rem;
}
.applicant-form-section-heading p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
}
.applicant-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.applicant-form-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.applicant-form-field{
  min-width:0;
}
.applicant-form-field-wide{
  grid-column:1 / -1;
}
.applicant-form-field>label,
.applicant-choice-title{
  display:block;
  margin-bottom:6px;
  color:#536174;
  font-size:.75rem;
  font-weight:800;
}
.applicant-choice-panel{
  min-width:0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#fbfcfd;
}
.applicant-choice-panel ul{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0!important;
}
.applicant-choice-panel li{
  min-width:0;
}
.applicant-choice-panel label{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-height:36px;
  margin:0!important;
  padding:7px 8px;
  border:1px solid #e4eaf0;
  border-radius:8px;
  background:#fff;
  font-size:.73rem!important;
}
.applicant-choice-panel input[type="checkbox"]{
  flex:0 0 auto;
}
.applicant-form-actions{
  position:sticky;
  bottom:0;
  z-index:8;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:0!important;
  padding:14px 24px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);
  box-shadow:0 -8px 24px rgba(18,36,61,.05);
}
.form-error-summary,
.errorlist{
  color:#a13838;
  font-size:.72rem;
}
.errorlist{
  margin:5px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Searchable multi-select */
.multi-picker-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  border:0!important;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  overflow:hidden;
  white-space:nowrap;
}
.multi-picker{
  position:relative;
  min-width:0;
}
.multi-picker-search{
  width:100%;
  min-height:43px;
  padding:9px 11px!important;
  border:1px solid #dce4eb!important;
  border-radius:9px!important;
  background:#fff;
}
.multi-picker-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.multi-picker-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  min-height:28px;
  padding:5px 9px;
  border:1px solid #d8e2ea;
  border-radius:999px;
  background:#eef4f8;
  color:#29445f;
  font:inherit;
  font-size:.69rem;
  font-weight:750;
  cursor:pointer;
}
.multi-picker-chip::after{
  content:"×";
  color:#718297;
  font-size:.9rem;
}
.multi-picker-options{
  display:none;
  position:absolute;
  z-index:30;
  inset-inline:0;
  top:calc(100% + 6px);
  max-height:260px;
  padding:6px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 36px rgba(18,36,61,.13);
  overflow-y:auto;
}
.multi-picker-options.is-open{
  display:block;
}
.multi-picker-option{
  display:block;
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#2d455f;
  font:inherit;
  font-size:.75rem;
  text-align:start;
  cursor:pointer;
}
.multi-picker-option:hover,
.multi-picker-option:focus{
  background:#f2f6f9;
  outline:0;
}
.multi-picker-empty{
  padding:10px;
  color:var(--muted);
  font-size:.75rem;
}

/* Shared applicant workspace mobile safety */
.applicant-workspace,
.applicant-workspace main,
.applicant-sidebar,
.lead-panel,
.lead-chat,
.lead-chat-messages{
  min-width:0;
}
.lead-document-row,
.lead-interest-card{
  overflow-wrap:anywhere;
}

@media(max-width:760px){
  .lead-form-layout,
  .apply-program-layout{
    display:block!important;
  }

  .lead-form-layout>div:first-child,
  .applicant-form-header{
    margin-bottom:18px;
  }

  .lead-form-layout h1,
  .applicant-form-header h1{
    font-size:2rem!important;
    line-height:1.02!important;
  }

  .applicant-form-card{
    margin-inline:-1px;
    border-radius:14px!important;
  }

  .applicant-form-section{
    padding:17px 14px!important;
  }

  .applicant-form-grid,
  .applicant-form-grid-3{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }

  .applicant-form-field-wide{
    grid-column:auto;
  }

  .applicant-choice-panel{
    padding:10px!important;
  }

  .applicant-choice-panel ul{
    grid-template-columns:1fr!important;
  }

  .applicant-form-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    padding:12px 14px max(12px,env(safe-area-inset-bottom))!important;
  }

  .applicant-form-actions .button{
    width:100%;
    min-height:44px;
    justify-content:center;
    text-align:center;
  }

  .multi-picker-options{
    position:static;
    max-height:220px;
    margin-top:6px;
    box-shadow:none;
  }

  .multi-picker-options.is-open{
    display:block;
  }

  .applicant-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .applicant-hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .applicant-hero-actions .button{
    width:100%;
    justify-content:center;
  }

  .lead-panel{
    padding:16px!important;
    margin-bottom:16px!important;
    border-radius:14px!important;
  }

  .lead-panel h2{
    font-size:1.25rem!important;
  }

  .lead-interest-card{
    display:block!important;
    padding:14px!important;
  }

  .interest-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    margin-top:12px;
  }

  .lead-document-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px;
  }

  .chat-compose-actions{
    display:grid!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
  }

  .chat-compose-actions input[type="file"]{
    min-width:0;
    width:100%;
  }

  .applicant-sidebar{
    margin-top:16px;
  }

  .sidebar-card{
    padding:15px!important;
  }
}

@media(max-width:420px){
  .applicant-form-actions,
  .applicant-hero-actions,
  .interest-actions,
  .chat-compose-actions{
    grid-template-columns:1fr!important;
  }
}

/* Searchable preference selector result density */
.multi-picker-options{
  max-height:210px;
}
@media(max-width:760px){
  .multi-picker-options{
    max-height:180px;
  }
}


/* Agent operations workspace */
.agent-workspace{padding:52px 0 80px;background:#f5f7fa;min-height:calc(100vh - 80px)}
.agent-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.agent-workspace-head h1{margin:5px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}
.agent-tabs{display:flex;gap:5px;padding:5px;background:#e9eef4;border-radius:12px}
.agent-tabs a{padding:9px 13px;border-radius:9px;text-decoration:none;color:#173452;font-weight:700;font-size:.9rem}
.agent-tabs a:hover{background:#fff}
.agent-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}
.agent-metric{display:flex;flex-direction:column;gap:7px;padding:20px;background:#fff;border:1px solid #dce4ec;border-radius:14px;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(20,45,75,.04)}
.agent-metric strong{font-size:2rem;color:#0b3a67}.agent-metric span{font-size:.84rem;color:#65778c;font-weight:700}
.agent-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.agent-panel{background:#fff;border:1px solid #dce4ec;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 8px 28px rgba(20,45,75,.035)}
.agent-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}
.agent-panel-head h2{margin:0;font-size:1.15rem}.agent-panel-head p{margin:5px 0 0;color:#718096}.agent-panel-head a{font-weight:700}
.agent-list{display:flex;flex-direction:column}.agent-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 3px;border-top:1px solid #edf1f5;text-decoration:none;color:inherit}
.agent-list-row:first-child{border-top:0}.agent-list-row>span{display:flex;flex-direction:column;gap:4px}.agent-list-row small,.agent-list-row time{color:#718096}
.status-pill,.unread-badge{display:inline-flex!important;width:max-content;align-items:center;border-radius:999px;padding:5px 9px;background:#eaf3f8;color:#28516f;font-size:.72rem!important;font-weight:800}
.status-pill.warning{background:#fff3db;color:#8a5b00}.unread-badge{background:#0b3a67;color:#fff;min-width:28px;justify-content:center}
.agent-table-wrap{overflow-x:auto}.agent-table{width:100%;border-collapse:collapse}.agent-table th{text-align:start;color:#718096;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.agent-table th,.agent-table td{padding:13px 10px;border-bottom:1px solid #edf1f5}.agent-table td a{font-weight:800}
.agent-filterbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.agent-filterbar input,.agent-filterbar select,.agent-inline-form select{min-height:42px;border:1px solid #ced9e5;border-radius:9px;padding:8px 11px;background:#fff}.agent-filterbar input{min-width:280px}.agent-filterbar a{font-weight:700}
.agent-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:20px}
.agent-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.agent-facts div{padding:12px;background:#f7f9fb;border-radius:10px}.agent-facts dt{font-size:.73rem;text-transform:uppercase;color:#718096;font-weight:800}.agent-facts dd{margin:5px 0 0;font-weight:700}.agent-facts-single{grid-template-columns:1fr}
.agent-inline-form{display:flex;align-items:end;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #e8edf2}.agent-inline-form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:800}
.agent-chat{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow-y:auto;padding:5px}.agent-message{max-width:78%;padding:12px 14px;border-radius:13px;background:#eef3f7}.agent-message.from-agent{margin-inline-start:auto;background:#0b3a67;color:#fff}.agent-message header{display:flex;justify-content:space-between;gap:16px;font-size:.75rem}.agent-message p{margin:7px 0}.agent-message a{color:inherit;text-decoration:underline}
.agent-reply{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.agent-reply textarea{grid-column:1/-1;width:100%;border:1px solid #ced9e5;border-radius:10px;padding:11px}
.agent-notes{margin-top:20px}.empty-state{color:#718096}
@media(max-width:900px){
 .agent-workspace{padding:28px 0 60px}.agent-workspace-head{display:block}.agent-tabs{margin-top:18px;overflow-x:auto}
 .agent-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-dashboard-grid,.agent-detail-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .agent-workspace{padding-top:20px}.agent-workspace-head h1{font-size:2rem}.agent-tabs{margin-inline:-4px}
 .agent-metrics{grid-template-columns:1fr 1fr}.agent-metric{padding:15px}.agent-metric strong{font-size:1.55rem}
 .agent-panel{padding:14px;border-radius:13px}.agent-filterbar{display:grid;grid-template-columns:1fr auto}.agent-filterbar input,.agent-filterbar select{min-width:0;width:100%}.agent-filterbar input{grid-column:1/-1}
 .agent-applicant-row{align-items:flex-start}.agent-facts{grid-template-columns:1fr}.agent-inline-form{align-items:stretch;flex-direction:column}.agent-inline-form select{width:100%}
 .agent-chat{max-height:none}.agent-message{max-width:92%}.agent-reply{grid-template-columns:1fr}.agent-reply textarea{grid-column:auto}
}

.table-status-form{display:flex;align-items:center;gap:6px}.table-status-form select{min-height:34px;border:1px solid #ced9e5;border-radius:8px;background:#fff;padding:5px 7px}.table-status-form button{border:0;border-radius:8px;background:#0b3a67;color:#fff;padding:8px 10px;font-weight:800;cursor:pointer}


/* Customer applicant workspace refresh */
.customer-applicant-page{max-width:1180px;margin:0 auto}
.customer-applicant-page .applicant-hero{
  margin-bottom:24px;padding:30px 32px;border-radius:22px;
  border:1px solid #dbe4eb;background:linear-gradient(135deg,#f7fafc 0%,#fff 58%,#fff4f4 100%);
  box-shadow:0 14px 40px rgba(19,42,67,.045)
}
.customer-applicant-page .applicant-avatar-large{
  width:58px;height:58px;display:grid;place-items:center;border-radius:18px;
  background:#0b3a67;color:#fff;font-size:1rem;font-weight:900;letter-spacing:.04em
}
.customer-applicant-page .applicant-title h1{font-size:clamp(2rem,3.4vw,2.65rem)}
.customer-applicant-page .applicant-hero-actions .button{min-height:43px;display:inline-flex;align-items:center}
.customer-applicant-page .applicant-workspace{
  grid-template-columns:minmax(0,1fr) 300px;gap:24px
}
.customer-applicant-page .lead-panel{
  margin-bottom:24px;padding:26px;border-radius:20px;border-color:#dbe4eb;
  box-shadow:0 10px 32px rgba(19,42,67,.035)
}
.customer-applicant-page .lead-panel .section-heading{margin-bottom:18px}
.customer-applicant-page .lead-panel h2{font-size:1.45rem;letter-spacing:-.015em}
.customer-applicant-page .section-link{font-weight:800}
.customer-applicant-page .lead-interest-card{
  padding:18px 19px;border-radius:14px;background:#fff
}
.customer-applicant-page .lead-interest-card:hover{
  border-color:#b9cad8;box-shadow:0 7px 20px rgba(19,42,67,.045)
}
.customer-applicant-page .lead-interest-card h3 a{color:#102d4d}
.customer-applicant-page .interest-actions{align-self:center}
.customer-applicant-page .lead-document-list{gap:10px}
.customer-applicant-page .lead-document-row{
  min-height:62px;padding:13px 15px;border-radius:12px;background:#fbfcfd
}
.customer-applicant-page .lead-upload-panel{
  margin-top:18px;padding:0;border:1px solid #dbe4eb;border-radius:14px;background:#fbfcfd;overflow:hidden
}
.customer-applicant-page .lead-upload-panel summary{
  position:relative;padding:15px 18px;list-style:none;color:#153858
}
.customer-applicant-page .lead-upload-panel summary::-webkit-details-marker{display:none}
.customer-applicant-page .lead-upload-panel summary::after{
  content:"+";position:absolute;inset-inline-end:18px;top:11px;font-size:1.35rem;font-weight:500
}
.customer-applicant-page .lead-upload-panel[open] summary::after{content:"−"}
.customer-applicant-page .document-upload-form{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0;padding:18px;
  border-top:1px solid #e1e8ee;background:#fff
}
.customer-applicant-page .document-upload-form p{margin:0;min-width:0}
.customer-applicant-page .document-upload-form p:last-of-type{grid-column:1/-1}
.customer-applicant-page .document-upload-form label{
  display:block;margin-bottom:6px;color:#536174;font-size:.75rem;font-weight:800
}
.customer-applicant-page .document-upload-form input,
.customer-applicant-page .document-upload-form select,
.customer-applicant-page .document-upload-form textarea{
  box-sizing:border-box;width:100%;max-width:100%;padding:10px 11px;border:1px solid #ced9e2;
  border-radius:10px;background:#fff;font:inherit
}
.customer-applicant-page .document-upload-form textarea{min-height:96px;resize:vertical}
.customer-applicant-page .document-upload-form input[type=file]{padding:8px;background:#f8fafb}
.customer-applicant-page .document-upload-form .button{justify-self:start}
.customer-applicant-page .lead-chat{border-radius:16px;border-color:#d7e1e9;background:#fff}
.customer-applicant-page .lead-chat-messages{
  min-height:300px;max-height:560px;padding:22px;background:#f4f7f9
}
.customer-applicant-page .chat-message{
  max-width:72%;padding:12px 14px;border-radius:15px;box-shadow:0 2px 5px rgba(20,40,60,.025)
}
.customer-applicant-page .chat-message-own{
  border-color:#c7dbe9;background:#e7f1f8;border-end-end-radius:5px
}
.customer-applicant-page .chat-message:not(.chat-message-own){border-end-start-radius:5px}
.customer-applicant-page .chat-message-meta strong{color:#193653}
.customer-applicant-page .chat-message-body{line-height:1.55}
.customer-applicant-page .chat-attachment{
  width:fit-content;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.7)
}
.customer-applicant-page .chat-compose{padding:16px;border-top:1px solid #e0e7ed}
.customer-applicant-page .chat-compose textarea{
  min-height:92px;padding:13px;border-radius:12px;border-color:#ced9e2
}
.customer-applicant-page .chat-compose textarea:focus,
.customer-applicant-page .document-upload-form input:focus,
.customer-applicant-page .document-upload-form select:focus,
.customer-applicant-page .document-upload-form textarea:focus{
  outline:3px solid rgba(11,58,103,.1);border-color:#4c779d
}
.customer-applicant-page .chat-compose-actions{margin-top:10px}
.customer-applicant-page .chat-file-control{min-width:0;max-width:75%}
.customer-applicant-page .chat-file-control input[type=file]{
  max-width:100%;padding:8px;border:1px solid #d7e1e9;border-radius:10px;background:#f8fafb
}
.customer-applicant-page .applicant-sidebar{top:96px;gap:16px}
.customer-applicant-page .sidebar-card{
  padding:20px;border-radius:16px;border-color:#dbe4eb;box-shadow:0 8px 24px rgba(19,42,67,.03)
}
.customer-applicant-page .sidebar-facts{gap:13px}
.customer-applicant-page .sidebar-facts div+div{padding-top:10px;border-top:1px solid #edf1f4}
.customer-applicant-page .sidebar-facts dd{overflow-wrap:anywhere}
.customer-applicant-page .sidebar-card>a{display:inline-block;margin-top:6px;font-weight:800}
html[dir=rtl] .customer-applicant-page .chat-message-own{margin-inline-start:auto}
html[dir=rtl] .customer-applicant-page .chat-message-meta{direction:rtl}
html[dir=rtl] .customer-applicant-page .chat-message-body{text-align:right}
@media(max-width:1000px){
  .customer-applicant-page .applicant-workspace{grid-template-columns:1fr}
  .customer-applicant-page .applicant-sidebar{
    position:static;grid-template-columns:repeat(2,minmax(0,1fr));grid-row:1
  }
}
@media(max-width:700px){
  .customer-applicant-page{margin-inline:-2px}
  .customer-applicant-page .applicant-hero{
    padding:20px 17px;border-radius:16px;align-items:flex-start
  }
  .customer-applicant-page .applicant-title{align-items:flex-start;gap:12px}
  .customer-applicant-page .applicant-avatar-large{width:48px;height:48px;border-radius:14px;flex:0 0 48px}
  .customer-applicant-page .applicant-title h1{font-size:1.75rem;margin-top:.15rem}
  .customer-applicant-page .applicant-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .customer-applicant-page .applicant-hero-actions .button{justify-content:center;text-align:center}
  .customer-applicant-page .applicant-sidebar{grid-template-columns:1fr}
  .customer-applicant-page .lead-panel{padding:18px 15px;border-radius:16px;margin-bottom:16px}
  .customer-applicant-page .lead-panel .section-heading{align-items:flex-start;gap:10px}
  .customer-applicant-page .lead-panel h2{font-size:1.25rem}
  .customer-applicant-page .lead-interest-card{padding:15px}
  .customer-applicant-page .interest-actions .button{flex:1;text-align:center}
  .customer-applicant-page .document-upload-form{grid-template-columns:1fr;padding:15px}
  .customer-applicant-page .document-upload-form p:last-of-type{grid-column:auto}
  .customer-applicant-page .document-upload-form .button{width:100%;justify-content:center}
  .customer-applicant-page .lead-chat-messages{min-height:260px;max-height:480px;padding:13px}
  .customer-applicant-page .chat-message{max-width:88%;padding:10px 11px}
  .customer-applicant-page .chat-message-meta{gap:8px;flex-wrap:wrap}
  .customer-applicant-page .chat-compose{padding:12px}
  .customer-applicant-page .chat-compose-actions{align-items:stretch}
  .customer-applicant-page .chat-file-control{max-width:100%;width:100%}
  .customer-applicant-page .chat-file-control input[type=file]{width:100%}
  .customer-applicant-page .chat-compose-actions .button{width:100%}
}
@media(max-width:430px){
  .customer-applicant-page .applicant-hero-actions{grid-template-columns:1fr}
  .customer-applicant-page .lead-panel .section-heading{display:block}
  .customer-applicant-page .section-link{display:inline-block;margin-top:8px}
  .customer-applicant-page .lead-document-row>div:last-child{width:100%;justify-content:space-between}
  .customer-applicant-page .chat-message{max-width:94%}
}


/* Polished error pages */
.error-page{
  display:grid;
  place-items:center;
  min-height:62vh;
  padding:56px 0 72px;
}
.error-card{
  width:min(100%,720px);
  padding:44px;
  border:1px solid #dbe4eb;
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(222,43,54,.07),transparent 34%),
    linear-gradient(135deg,#fff,#f8fbfd);
  box-shadow:0 24px 65px rgba(19,42,67,.08);
  text-align:center;
}
.error-code{
  margin-bottom:8px;
  color:#0b3a67;
  font-size:clamp(4rem,12vw,7rem);
  line-height:.9;
  font-weight:900;
  letter-spacing:-.08em;
  opacity:.12;
}
.error-card h1{
  margin:.2rem 0 .8rem;
  color:#172b47;
  font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.04em;
}
.error-copy{
  max-width:560px;
  margin:0 auto;
  color:#66778b;
  line-height:1.7;
}
.error-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.error-hint{
  margin:24px auto 0;
  color:#8a98a8;
  font-size:.8rem;
}
@media(max-width:600px){
  .error-page{min-height:55vh;padding:28px 0 48px}
  .error-card{padding:30px 18px;border-radius:18px}
  .error-actions{display:grid;grid-template-columns:1fr}
  .error-actions .button{width:100%;justify-content:center}
}

.program-card-link{display:flex;color:inherit;text-decoration:none;cursor:pointer}
.program-card-link:hover,.program-card-link:focus-visible{color:inherit;text-decoration:none}
.program-card-link:focus-visible{outline:3px solid rgba(11,58,103,.22);outline-offset:3px}
.program-card-link h2{color:#102d4d}
.program-card-link:hover h2{color:#0b3a67}

.related-program-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
.related-program-card-link:hover,.related-program-card-link:focus-visible{color:inherit;text-decoration:none}
.related-program-card-link:focus-visible{outline:3px solid rgba(11,58,103,.22);outline-offset:3px}
.related-program-card-link:hover h3{color:#0b3a67}

/* Add/edit applicant: structured desktop form */
.applicant-form-page{max-width:980px!important}
.applicant-form-page .applicant-form-header{max-width:720px}
.applicant-form-page .applicant-form-card{width:100%;box-shadow:0 14px 38px rgba(18,36,61,.07)}
.applicant-form-page .lead-profile-form input:not([type="checkbox"]),
.applicant-form-page .lead-profile-form select,
.applicant-form-page .lead-profile-form textarea{min-height:44px}
.applicant-form-page .lead-profile-form textarea{resize:vertical}
.applicant-recommendation-field{display:grid;grid-template-columns:auto 1fr;align-items:start;column-gap:9px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fbfcfd}
.applicant-recommendation-field>input{margin-top:2px}
.applicant-recommendation-field>label{margin:0!important;color:#243a56!important;font-size:.8rem!important}
.applicant-recommendation-field .helptext{grid-column:2;margin:3px 0 0;color:var(--muted);font-size:.74rem}
.applicant-form-page .applicant-form-actions{position:static!important;border-radius:0 0 14px 14px}
.applicant-form-page .button-secondary{background:#fff;color:#17385f;border:1px solid #17385f;text-decoration:none}
@media(min-width:761px){.applicant-form-page .applicant-form-actions{padding:18px 24px}.applicant-form-page .applicant-form-section{padding:26px 28px}}


/* Email Preview Gallery */
.email-preview-page{max-width:1180px;margin:0 auto}
.email-preview-heading,.email-preview-detail-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}
.email-preview-heading h1,.email-preview-detail-head h1{margin:.2rem 0 .55rem;font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.04em}
.email-preview-heading p:not(.eyebrow){max-width:720px;color:var(--muted)}
.email-preview-stats{display:flex;gap:10px;flex-wrap:wrap}
.email-preview-stats span{padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--muted);font-size:.78rem}
.email-preview-stats strong{color:#0b3a67;font-size:1rem}
.email-preview-section{margin-bottom:28px;padding:22px;border:1px solid var(--border);border-radius:17px;background:#fff}
.email-preview-table-wrap{overflow-x:auto}
.email-preview-table{width:100%;border-collapse:collapse}
.email-preview-table th,.email-preview-table td{padding:13px 12px;border-bottom:1px solid #edf1f4;text-align:start;vertical-align:middle}
.email-preview-table th{color:#718096;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.email-preview-table td:first-child{min-width:260px}
.email-preview-table td:first-child strong,.email-preview-table td:first-child code{display:block}
.email-preview-table td:first-child code{margin-top:4px;color:#718096;font-size:.7rem}
.email-preview-language-link{display:inline-flex;padding:7px 10px;border-radius:8px;background:#eef4f8;text-decoration:none;font-size:.75rem;font-weight:800}
.email-preview-detail-head{align-items:center}
.email-preview-back{margin:0 0 14px;text-align:start}
.email-preview-warning{margin-bottom:18px;padding:13px 15px;border:1px solid #efd99f;border-radius:11px;background:#fff7df;color:#795900;font-size:.82rem;font-weight:700}
.email-preview-meta{display:grid;grid-template-columns:220px 1fr;gap:10px;margin-bottom:18px}
.email-preview-meta div{padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:#fff}
.email-preview-meta span,.email-preview-meta strong{display:block}
.email-preview-meta span{margin-bottom:4px;color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:800}
.email-preview-browser{overflow:hidden;border:1px solid #d7e1e9;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(20,40,65,.06)}
.email-preview-browser-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid #e6ecf1;background:#f7f9fb}
.email-preview-browser-bar span{width:9px;height:9px;border-radius:50%;background:#c9d3dc}
.email-preview-browser-bar strong{margin-inline-start:8px;color:#66778b;font-size:.73rem}
.email-preview-browser iframe{display:block;width:100%;height:720px;border:0;background:#f3f6f8}
.email-preview-plain{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.email-preview-plain summary{cursor:pointer;font-weight:800}
.email-preview-plain pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.77rem;line-height:1.55}
@media(max-width:760px){
  .email-preview-heading,.email-preview-detail-head{display:block}
  .email-preview-stats{margin-top:15px}
  .email-preview-detail-head form{margin-top:16px}
  .email-preview-detail-head .button{width:100%}
  .email-preview-section{padding:14px}
  .email-preview-meta{grid-template-columns:1fr}
  .email-preview-browser iframe{height:620px}
}

.email-preview-error{padding:18px;border:1px solid #efc7c7;border-radius:12px;background:#fff1f1;color:#842929}
.email-preview-error strong,.email-preview-error code{display:block}
.email-preview-error code{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.applicant-for-options ul{display:flex;gap:12px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.applicant-for-options label{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;cursor:pointer;background:#fff;font-weight:700}
.applicant-for-options input{width:auto}


/* Program application selector */
.program-apply-page{max-width:920px;margin:0 auto}
.program-apply-hero{margin-bottom:24px}
.program-apply-hero h1{margin:.2rem 0 .5rem;font-size:clamp(2.25rem,5vw,3.8rem);letter-spacing:-.045em}
.program-apply-card{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 16px 46px rgba(20,40,65,.06)}
.program-apply-step{padding:26px 28px}
.program-apply-step+.program-apply-step{border-top:1px solid #e8edf2}
.program-apply-step-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:19px}
.program-apply-step-heading h2{margin:0 0 4px;font-size:1.28rem}
.program-apply-step-heading p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}
.program-apply-step-number{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:#0b3a67;color:#fff;font-size:.76rem;font-weight:900}
.apply-applicant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.apply-applicant-option{position:relative;display:flex!important;align-items:center;gap:12px;margin:0!important;padding:15px 16px;border:1px solid #d7e1e9;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.apply-applicant-option:hover{border-color:#9fb4c5;background:#fbfcfd}
.apply-applicant-option:has(input:checked){border-color:#0b3a67;background:#f3f8fb;box-shadow:0 0 0 2px rgba(11,58,103,.08)}
.apply-applicant-option input{position:absolute;opacity:0;pointer-events:none}
.apply-applicant-radio{width:18px;height:18px;flex:0 0 18px;border:2px solid #9aabba;border-radius:50%;box-shadow:inset 0 0 0 4px #fff;background:#fff}
.apply-applicant-option:has(input:checked) .apply-applicant-radio{border-color:#0b3a67;background:#0b3a67}
.apply-applicant-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.apply-applicant-copy strong{color:#173452;font-size:.94rem}
.apply-applicant-copy small{overflow:hidden;color:#718096;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.apply-new-applicant{margin-top:14px;padding:18px;border:1px solid #d9e4eb;border-radius:13px;background:#f7fafc}
.apply-new-applicant[hidden]{display:none}
.apply-new-applicant-heading h3{margin:0 0 4px;font-size:1rem}
.apply-new-applicant-heading p{margin:0 0 15px;color:var(--muted);font-size:.78rem;line-height:1.55}
.apply-new-applicant-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.apply-new-applicant-grid label{display:block;margin-bottom:5px;color:#536174;font-size:.75rem;font-weight:800}
.apply-new-applicant-grid input{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;font:inherit}
.apply-intake-field{max-width:480px}
.apply-intake-field select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}
.program-apply-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid #e8edf2;background:#f8fafb}
@media(max-width:700px){
  .program-apply-step{padding:20px 16px}
  .apply-applicant-options,.apply-new-applicant-grid{grid-template-columns:1fr}
  .program-apply-actions{display:grid;grid-template-columns:1fr;padding:15px 16px}
  .program-apply-actions .button{justify-content:center;text-align:center}
}


/* Application state cards */
.lead-interest-status-applied{background:#e5f4ec;color:#17613d}
.interest-intake{display:flex;gap:8px;align-items:center;margin-top:10px;color:#536174;font-size:.78rem}
.interest-intake span{font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.interest-intake strong{color:#173452}


/* Agent document review workflow */
.agent-document-list{display:grid;gap:10px}
.agent-document-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}
.agent-document-summary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.agent-document-summary span:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}
.agent-document-summary small{color:var(--muted)}
.agent-document-actions{display:flex;align-items:flex-start;gap:8px;margin-top:12px;flex-wrap:wrap}
.document-review-panel,.attachment-promote{flex:1;min-width:220px}
.document-review-panel summary,.attachment-promote summary{cursor:pointer;color:#0b3a67;font-size:.78rem;font-weight:800}
.compact-review-form{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #dce5ec;border-radius:10px;background:#f8fafb}
.compact-review-form label{display:grid;gap:4px;color:#536174;font-size:.72rem;font-weight:800}
.compact-review-form input,.compact-review-form select,.compact-review-form textarea{box-sizing:border-box;width:100%;padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit}
.document-review-meta{display:block;margin-top:10px;color:var(--muted)}
.agent-chat-attachment{display:flex;align-items:flex-start;gap:8px;margin-top:7px;flex-wrap:wrap}
.status-pill.success{background:#e6f6ed;color:#17613d}
.status-pill.danger{background:#f8e8e8;color:#8a3030}
@media(max-width:700px){
  .agent-document-summary{display:block}
  .agent-document-summary .status-pill{display:inline-flex;margin-top:8px}
  .document-review-panel,.attachment-promote{min-width:100%}
}


/* Agent document modal UX */
.agent-document-card{padding:12px 0;border:0;border-bottom:1px solid #e6edf2;border-radius:0}
.agent-document-card:last-child{border-bottom:0}
.agent-document-summary{align-items:center}
.document-copy{min-width:0}
.agent-document-actions,.attachment-actions{display:flex;align-items:center;gap:12px;margin-top:7px}
.text-action{border:0;background:transparent;padding:0;color:#123f68;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}
.text-action:hover{text-decoration:underline}
.button-reset{font:inherit}
.agent-chat-attachment{display:block;margin-top:8px;padding-top:8px;border-top:1px solid rgba(17,55,86,.12)}
.attachment-file-name{display:block;overflow-wrap:anywhere;font-size:.78rem;text-decoration:underline}
.agent-chat-attachment .status-pill{border:0;cursor:pointer}
.agent-modal{width:min(92vw,560px);max-height:88vh;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 28px 80px rgba(10,35,57,.25)}
.agent-modal::backdrop{background:rgba(8,28,44,.52);backdrop-filter:blur(2px)}
.agent-modal-card{box-sizing:border-box;max-height:88vh;overflow:auto;padding:24px;background:#fff;border:1px solid #dce5ec;border-radius:18px}
.agent-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;border-bottom:1px solid #e5ebef}
.agent-modal-head h2{margin:4px 0 3px;font-size:1.35rem}
.agent-modal-head p{margin:0;color:var(--muted);overflow-wrap:anywhere}
.agent-modal-head .modal-close{width:34px;height:34px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;color:#536174}
.eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#65788b}
.agent-modal-form{display:grid;gap:15px;margin-top:18px}
.agent-modal-form>label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:#34485b}
.agent-modal-form input[type=text],.agent-modal-form select,.agent-modal-form textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid #cfdbe4;border-radius:9px;background:#fff;font:inherit;color:#172536}
.agent-modal-form textarea{resize:vertical}
.modal-help{margin:0;padding:10px 12px;border-radius:9px;background:#f2f6f8;color:#617183;font-size:.75rem;line-height:1.5}
.agent-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}
.document-modal-meta{display:flex;gap:10px;margin:16px 0}
.document-modal-meta span{display:grid;gap:3px;flex:1;padding:10px 12px;border-radius:10px;background:#f4f7f9;font-size:.76rem}
.document-modal-meta strong{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:#718295}
.document-open-callout{display:flex;justify-content:space-between;padding:11px 13px;border:1px solid #cfdce6;border-radius:10px;color:#123f68;font-size:.78rem;font-weight:800;text-decoration:none}
.review-decision-group{display:grid;gap:8px;margin:0;padding:0;border:0}
.review-decision-group legend{margin-bottom:7px;font-size:.76rem;font-weight:900;color:#34485b}
.review-decision{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;padding:11px 12px;border:1px solid #d7e1e8;border-radius:10px;cursor:pointer}
.review-decision:has(input:checked){border-color:#6f91ad;background:#f3f7fa}
.review-decision input{margin-top:3px}
.review-decision span{display:grid;gap:2px}
.review-decision strong{font-size:.79rem;color:#1d2e40}
.review-decision small{font-size:.7rem;font-weight:500;color:#68798a}
@media(max-width:700px){
 .agent-modal{width:calc(100vw - 24px)}
 .agent-modal-card{padding:18px}
 .document-modal-meta{display:grid}
 .agent-modal-actions{display:grid;grid-template-columns:1fr 1fr}
 .agent-modal-actions .button{width:100%}
}


/* Customer document replacement */
.badge-danger{background:#f8e8e8;color:#8a3030}
.lead-document-row-review-replacement_requested{align-items:flex-start;border-color:#efd1d1;background:#fffafa}
.lead-document-copy{min-width:0}
.document-replacement-reason{max-width:560px;margin:8px 0 0;padding:9px 11px;border-radius:9px;background:#fff1f1;color:#6f3030;font-size:.78rem;line-height:1.5}
.document-replacement-reason strong{display:block;margin-bottom:2px}
.lead-document-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.document-replace-panel{width:100%;margin-top:4px}
.document-replace-panel summary{cursor:pointer;color:#123f68;font-size:.78rem;font-weight:800}
.document-replace-form{display:flex;align-items:end;gap:10px;margin-top:8px;padding:10px;border:1px solid #e0e7ed;border-radius:10px;background:#f8fafb}
.document-replace-form label{display:grid;gap:5px;flex:1;color:#536174;font-size:.72rem;font-weight:800}
@media(max-width:700px){
  .lead-document-actions{justify-content:flex-start}
  .document-replace-form{display:grid}
}


/* Customer document upload modal */
.customer-document-upload-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:14px 15px;border:1px solid #dbe5ec;border-radius:12px;background:#f9fbfc}
.customer-document-upload-row>div{display:grid;gap:3px}
.customer-document-upload-row strong{font-size:.88rem;color:#19324a}
.customer-document-upload-row span{font-size:.75rem;color:var(--muted)}
.customer-document-modal{width:min(92vw,560px);max-height:88vh;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 28px 80px rgba(10,35,57,.25)}
.customer-document-modal::backdrop{background:rgba(8,28,44,.52);backdrop-filter:blur(2px)}
.customer-document-modal-card{box-sizing:border-box;max-height:88vh;overflow:auto;padding:24px;background:#fff;border:1px solid #dce5ec;border-radius:18px}
.customer-document-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;border-bottom:1px solid #e5ebef}
.customer-document-modal-head h2{margin:4px 0 3px;font-size:1.35rem}
.customer-document-modal-head p{margin:0;color:var(--muted)}
.customer-document-modal-head .modal-close{width:34px;height:34px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;color:#536174}
.customer-document-modal-form{display:grid;gap:15px;margin-top:18px}
.customer-document-modal-form>label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:#34485b}
.customer-document-modal-form label small{font-weight:500;color:var(--muted)}
.customer-document-modal-form select,
.customer-document-modal-form input[type=file],
.customer-document-modal-form textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid #cfdbe4;border-radius:9px;background:#fff;font:inherit;color:#172536}
.customer-document-modal-form textarea{min-height:88px;max-height:160px;resize:vertical}
.customer-document-modal-actions{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:700px){
 .customer-document-upload-row{align-items:stretch;flex-direction:column}
 .customer-document-upload-row .button{width:100%;justify-content:center}
 .customer-document-modal{width:calc(100vw - 24px)}
 .customer-document-modal-card{padding:18px}
 .customer-document-modal-actions{display:grid;grid-template-columns:1fr 1fr}
 .customer-document-modal-actions .button{width:100%}
}


/* Agent document sidebar overflow + system event cleanup */
.agent-panel .agent-document-list,
.agent-panel .agent-document-card{min-width:0;max-width:100%;overflow:hidden}
.agent-document-card{box-sizing:border-box;width:100%}
.agent-document-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.agent-document-summary .document-copy{min-width:0;overflow:hidden}
.agent-document-summary .document-copy strong,
.agent-document-summary .document-copy small{display:block;min-width:0;max-width:100%}
.agent-document-summary .document-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-document-summary .status-pill{justify-self:end;white-space:nowrap}
.agent-document-actions{display:flex;gap:10px;margin-top:8px}
.agent-document-actions .text-action{flex:0 0 auto}
.agent-message.system-event{margin:10px 0;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.system-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #dfe7ed;border-radius:10px;background:#f7f9fb;color:#5d6d7e;font-size:.75rem}
.system-event-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e3eef5;color:#17466e;font-size:.68rem;font-weight:900}
.system-event-text{min-width:0;line-height:1.4}
.system-event-row time{white-space:nowrap;color:#8492a0;font-size:.68rem}
@media(max-width:700px){
  .agent-document-summary{grid-template-columns:1fr}
  .agent-document-summary .status-pill{justify-self:start}
  .system-event-row{grid-template-columns:auto 1fr}
  .system-event-row time{grid-column:2}
}


/* Agent document filename links */
.document-type-link{
  display:inline-block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#19324a;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
}
.document-type-link:hover{
  color:#123f68;
  text-decoration:underline;
}


/* Agent program links */
.agent-program-link{
  color:inherit;
  text-decoration:none;
}
.agent-program-link:hover{
  color:#123f68;
  text-decoration:underline;
}

/* Lead responsibility and lifecycle */
.agent-workflow-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:14px}
.agent-workflow-actions form{margin:0}
.agent-close-lead{font-size:.78rem}
.agent-close-lead summary{cursor:pointer;font-weight:800;color:#5b6978;padding:9px 0}
.agent-close-lead form{display:grid;gap:8px;min-width:min(360px,80vw);padding:10px;border:1px solid #dfe7ed;border-radius:10px;background:#f8fafb}
.agent-close-lead label{display:grid;gap:5px;font-weight:700}
.agent-close-lead textarea{width:100%;box-sizing:border-box;resize:vertical}
.workflow-close-reason{width:100%;margin:4px 0 0;color:#667586;font-size:.76rem}


/* Agent responsibility controls */
.responsible-you{color:var(--muted);font-size:.76rem;font-weight:600}
.agent-workflow-actions{align-items:center}
.workflow-close-button{margin-left:auto}
#assign-agent-modal select{width:100%}
@media(max-width:700px){
  .workflow-close-button{margin-left:0}
  .agent-workflow-actions{align-items:stretch}
  .agent-workflow-actions>form,
  .agent-workflow-actions>button{width:100%}
  .agent-workflow-actions>form .button{width:100%}
}

/* Applicant responsibility hierarchy */
.responsibility-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px}
.responsibility-actions form{margin:0}
.responsibility-action{appearance:none;border:0;padding:0;background:transparent;color:#315d7d;font:inherit;font-size:.72rem;font-weight:800;line-height:1.35;cursor:pointer}
.responsibility-action:hover{text-decoration:underline;color:#123f68}
.agent-lifecycle-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #edf1f4}
.agent-lifecycle-actions form{margin:0}
.lifecycle-close-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #d8caca;
  border-radius:8px;
  background:#fff;
  color:#765252;
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.lifecycle-close-action:hover{
  border-color:#c8adad;
  background:#fbf7f7;
  color:#633f3f;
  text-decoration:none;
}
.lifecycle-close-action:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}
@media(max-width:700px){.agent-lifecycle-actions{justify-content:flex-start}}


/* Finalize applicant */
.finalize-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.finalize-review>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #e3e9ee;border-radius:9px;background:#fafbfc}
.finalize-review span{font-size:.68rem;color:#778594;font-weight:700}
.finalize-review strong{font-size:.8rem;color:#25394c;overflow-wrap:anywhere}
.finalize-warning{padding:9px 10px;border-radius:8px;background:#fff8e8;color:#765d22;font-size:.74rem}
@media(max-width:700px){.finalize-review{grid-template-columns:1fr}}


/* Agent applicant editing and direct document upload */
.section-heading-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-heading-actions h2,.section-heading-actions h3{margin-bottom:0}
.agent-modal-wide .agent-modal-card{width:min(920px,calc(100vw - 32px))}
.agent-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.agent-edit-grid label{display:grid;gap:5px;font-size:.74rem;font-weight:750}
.agent-edit-grid input,.agent-edit-grid select,.agent-edit-grid textarea{width:100%;box-sizing:border-box}
.agent-edit-grid label:has(textarea){grid-column:1/-1}
.agent-edit-actions{grid-column:1/-1}
@media(max-width:700px){.agent-edit-grid{grid-template-columns:1fr}.agent-edit-grid label:has(textarea),.agent-edit-actions{grid-column:auto}}


/* Compact section actions and applicant audit hint */
.section-action{
  appearance:none;
  border:0;
  padding:2px 0;
  background:transparent;
  color:#315d7d;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  line-height:1.35;
  cursor:pointer;
}
.section-action:hover{color:#123f68;text-decoration:underline}
.section-action:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.section-audit{display:flex;justify-content:flex-end;margin-top:-3px;margin-bottom:8px}
.section-audit-indicator{
  color:#8a96a1;
  font-size:.66rem;
  font-weight:650;
  cursor:help;
  text-decoration:underline dotted;
  text-underline-offset:3px;
}


/* Grouped agent applicant edit modal */
.agent-modal-wide{width:min(96vw,980px)}
.agent-modal-wide .agent-modal-card{padding-bottom:0}
.agent-edit-form{display:grid;gap:18px}
.agent-edit-section{display:grid;gap:10px;padding-bottom:16px;border-bottom:1px solid #e8edf1}
.agent-edit-section:last-of-type{border-bottom:0}
.agent-edit-section-head h3{margin:0 0 3px;font-size:.92rem;color:#24384b}
.agent-edit-section-head p{margin:0;color:#7b8793;font-size:.72rem;line-height:1.45}
.agent-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.agent-edit-grid label{display:grid;gap:5px;font-size:.74rem;font-weight:750}
.agent-edit-grid label>span{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}
.agent-edit-grid label>span small{font-weight:500;color:#8a96a1}
.agent-edit-grid input,.agent-edit-grid select,.agent-edit-grid textarea{width:100%;box-sizing:border-box}
.agent-edit-grid label:has(textarea){grid-column:1/-1}
.sticky-modal-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -24px;
  padding:14px 24px 18px;
  border-top:1px solid #dfe6eb;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
}
@media(max-width:700px){
  .agent-edit-grid{grid-template-columns:1fr}
  .agent-edit-grid label:has(textarea){grid-column:auto}
  .sticky-modal-actions{margin:0 -18px;padding:12px 18px 16px}
}


/* Internal notes + activity timeline */
.internal-notes-body{
  padding:12px 14px;
  border:1px solid #e1e8ed;
  border-radius:10px;
  background:#fbfcfd;
  color:#34495d;
  font-size:.78rem;
  line-height:1.55;
}
.activity-timeline{
  position:relative;
  display:grid;
  gap:0;
}
.activity-item{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  padding:0 0 16px;
}
.activity-item:not(:last-child)::before{
  content:"";
  position:absolute;
  left:8px;
  top:18px;
  bottom:0;
  width:1px;
  background:#dfe7ed;
}
.activity-dot{
  width:8px;
  height:8px;
  margin:5px 0 0 4px;
  border:2px solid #8aa4b8;
  border-radius:50%;
  background:#fff;
  z-index:1;
}
.activity-content{min-width:0}
.activity-meta{
  display:grid;
  justify-items:start;
  gap:3px;
}
.activity-meta strong{
  color:#25394c;
  font-size:.78rem;
}
.activity-byline{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  max-width:100%;
  color:#8a96a1;
  font-size:.67rem;
}
.activity-actor{
  max-width:min(28rem,60vw);
  overflow-wrap:anywhere;
  text-align:start;
  unicode-bidi:plaintext;
}
.activity-byline time{white-space:nowrap}
.activity-meta-separator{color:#a2adb6}
.activity-content p{
  margin:5px 0 6px;
  color:#536579;
  font-size:.74rem;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.activity-description{
  width:fit-content;
  max-width:100%;
  text-align:start;
  unicode-bidi:plaintext;
}
.activity-visibility{
  display:inline-flex;
  padding:2px 6px;
  border-radius:999px;
  background:#edf6ef;
  color:#3d6b48;
  font-size:.62rem;
  font-weight:700;
}
.activity-visibility.internal{
  background:#f1f3f5;
  color:#6b7783;
}


/* Structured Lead activity audit log */
.activity-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.activity-extra{display:none}
.activity-expanded .activity-extra{display:grid}
.activity-show-more{margin:2px 0 0 28px}
.activity-changes{
  display:grid;
  margin-top:8px;
  border:1px solid #e5eaee;
  border-radius:8px;
  overflow:hidden;
}
.activity-change-row{
  display:grid;
  grid-template-columns:minmax(105px,.8fr) minmax(0,1fr) 18px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:7px 9px;
  background:#fbfcfd;
  font-size:.69rem;
}
.activity-change-row+ .activity-change-row{border-top:1px solid #e8edf1}
.activity-change-row strong{color:#536579}
.activity-change-old{color:#7f8b96;overflow-wrap:anywhere}
.activity-change-new{color:#31485c;font-weight:650;overflow-wrap:anywhere}
.activity-change-old,
.activity-change-new{text-align:start;unicode-bidi:plaintext}
.activity-change-arrow{text-align:center;color:#9ba7b1}
@media(max-width:700px){
  .activity-change-row{grid-template-columns:1fr 16px 1fr}
  .activity-change-row strong{grid-column:1/-1}
  .activity-byline{flex-wrap:wrap}
  .activity-actor{max-width:100%}
}


/* Internal notes prominence + dedicated activity navigation */
.internal-notes-panel{
  border-color:#d8e2e9;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
}
.internal-notes-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.internal-notes-title h2{margin:0}
.internal-notes-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.private-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  background:#f1f3f5;
  color:#687684;
  font-size:.62rem;
  font-weight:800;
  cursor:help;
}
.internal-notes-body{
  font-size:.82rem;
  line-height:1.6;
  color:#2f4254;
  background:#fff;
  border-color:#dce5eb;
}


/* Dedicated applicant activity page */
.activity-page-head{margin-bottom:14px}
.activity-page-context{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.activity-page-context h1{margin:3px 0 7px}
.activity-context-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#697887;font-size:.74rem}
.activity-context-meta strong{color:#405466}
.activity-panel{padding-top:14px}
.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.activity-filters{display:flex;gap:7px;flex-wrap:wrap}
.activity-filter{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:4px 9px;
  border:1px solid #dfe6eb;
  border-radius:999px;
  background:#fff;
  color:#5a6c7c;
  font-size:.69rem;
  font-weight:800;
  text-decoration:none;
}
.activity-filter:hover{border-color:#bdcad4;color:#2e536f}
.activity-filter.active{background:#edf3f7;border-color:#bfcfda;color:#284e6a}
.activity-count{color:#8a96a1;font-size:.68rem;font-weight:700}
.activity-timeline.compact .activity-item{padding-bottom:12px}
.activity-timeline.compact .activity-item:not(:last-child)::before{bottom:-1px}
.activity-timeline.compact .activity-content p{margin:3px 0 5px}
.activity-timeline.compact .activity-changes{margin-top:6px}
.activity-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e7ecef;
  color:#7c8995;
  font-size:.72rem;
}
@media(max-width:700px){
  .activity-page-context{flex-direction:column}
  .activity-page-context>.button{width:100%}
  .activity-toolbar{align-items:flex-start}
  .activity-pagination{justify-content:space-between}
}


/* Agent student workspace */
.student-workspace-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.student-workspace-head h1{margin:3px 0 6px}
.student-context-meta{display:flex;gap:12px;flex-wrap:wrap;color:#6f7f8d;font-size:.73rem}
.student-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}
.student-application-row,.discussed-program-row{align-items:center}
.discussed-program-row form{margin:0}
@media(max-width:900px){
  .student-workspace-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .student-workspace-head{flex-direction:column}
  .student-workspace-head>.button{width:100%}
}

.modal-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:#8996a0;font-size:.7rem}
.modal-divider::before,.modal-divider::after{content:"";height:1px;background:#e2e8ec;flex:1}

.agent-panel-action{
  flex:0 0 auto;
  width:auto;
  min-height:32px;
  padding:6px 11px;
  white-space:nowrap;
  font-size:.72rem;
  line-height:1;
}


/* Workspace-first navigation architecture */
.workspace-menu{
  position:relative;
}
.workspace-menu>summary{
  list-style:none;
}
.workspace-menu>summary::-webkit-details-marker{
  display:none;
}
.workspace-menu-trigger{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:7px 10px;
  border:1px solid #dce4eb;
  border-radius:10px;
  background:#fff;
  color:#223b58;
  font-size:.8rem;
  font-weight:800;
  cursor:pointer;
}
.workspace-menu-trigger:hover,
.workspace-menu[open] .workspace-menu-trigger{
  border-color:#c6d3de;
  background:#f8fafc;
}
.workspace-menu-popover{
  position:absolute;
  z-index:80;
  inset-inline-end:0;
  top:calc(100% + 9px);
  width:225px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 42px rgba(18,36,61,.14);
}
.workspace-menu-popover>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  min-height:39px;
  padding:8px 9px;
  border-radius:8px;
  color:#263f5c;
  font-size:.78rem;
  font-weight:750;
  text-decoration:none;
}
.workspace-menu-popover>a:hover{
  background:#f3f7f9;
}
.workspace-menu-label{
  display:block;
  padding:6px 9px 4px;
  color:#8996a5;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.09em;
}
.workspace-menu-divider{
  height:1px;
  margin:6px 3px;
  background:var(--border);
}

/* Global header is discovery + workspace/account entry only. */
.main-nav a{
  color:#2c4158;
  font-size:.86rem;
  font-weight:650;
}
.main-nav a:hover{
  color:#0b3a67;
  text-decoration:none;
}
.header-utility{
  gap:9px;
}
.header-language-form{
  padding-inline:9px;
}
.account-menu-popover .workspace-menu-label{
  padding:6px 9px 2px;
}

/* Persistent customer workspace navigation. */
.customer-workspace-nav{
  margin:-18px 0 34px;
  border-bottom:1px solid #dfe6ec;
}
.customer-workspace-nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:52px;
}
.customer-workspace-brand .eyebrow{
  margin:0;
  color:#77889a;
  font-size:.65rem;
}
.customer-workspace-links{
  display:flex;
  align-items:stretch;
  gap:4px;
  min-height:52px;
}
.customer-workspace-links>a{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  color:#536579;
  font-size:.82rem;
  font-weight:750;
  text-decoration:none;
}
.customer-workspace-links>a:hover{
  color:#173b61;
}
.customer-workspace-links>a.is-active{
  color:#0b3a67;
}
.customer-workspace-links>a.is-active::after{
  content:"";
  position:absolute;
  inset-inline:10px;
  bottom:-1px;
  height:2px;
  border-radius:2px 2px 0 0;
  background:#0b3a67;
}

/* Make agent navigation clearly a workspace-level navigation. */
.agent-tabs a{
  white-space:nowrap;
}

@media(max-width:980px) and (min-width:761px){
  .main-nav{
    gap:10px;
  }
  .main-nav a{
    font-size:.8rem;
  }
  .workspace-menu-trigger{
    padding-inline:8px;
  }
  .account-menu-label{
    display:none;
  }
}

@media(max-width:760px){
  .customer-workspace-nav{
    margin:-10px -11px 28px;
    padding-inline:11px;
    overflow-x:auto;
    border-bottom:1px solid #dfe6ec;
    background:#fff;
  }
  .customer-workspace-nav-inner{
    min-width:max-content;
    min-height:48px;
  }
  .customer-workspace-brand{
    display:none;
  }
  .customer-workspace-links{
    min-height:48px;
  }
  .customer-workspace-links>a{
    padding-inline:11px;
    font-size:.78rem;
  }
}


/* True workspace sidebars */
.workspace-shell{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.workspace-sidebar{
  position:sticky;
  top:96px;
  align-self:start;
  min-height:420px;
  padding:16px 12px;
  border:1px solid #dfe6ec;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,36,61,.035);
}
.workspace-sidebar-head{
  display:grid;
  gap:3px;
  padding:5px 9px 14px;
  border-bottom:1px solid #edf1f4;
}
.workspace-sidebar-head strong{
  color:#24384d;
  font-size:.92rem;
}
.workspace-sidebar-eyebrow,
.workspace-sidebar-section-label{
  color:#8996a5;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.1em;
}
.workspace-sidebar-nav{
  display:grid;
  gap:4px;
  padding:11px 0;
}
.workspace-sidebar-nav>a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:40px;
  padding:8px 10px;
  border-radius:9px;
  color:#536579;
  font-size:.79rem;
  font-weight:780;
  text-decoration:none;
}
.workspace-sidebar-nav>a:hover{
  background:#f5f8fa;
  color:#173b61;
}
.workspace-sidebar-nav>a.is-active{
  background:#edf3f7;
  color:#0b3a67;
}
.workspace-sidebar-nav>a.is-active::before{
  content:"";
  position:absolute;
  inset-inline-start:-12px;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:#0b3a67;
}
[dir="rtl"] .workspace-sidebar-nav>a.is-active::before{
  border-radius:3px 0 0 3px;
}
.workspace-sidebar-section{
  display:grid;
  gap:6px;
  margin-top:10px;
  padding:13px 9px 3px;
  border-top:1px solid #edf1f4;
}
.workspace-switch-link{
  color:#315d7d;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
}
.workspace-switch-link:hover{
  text-decoration:underline;
}
.workspace-main{
  min-width:0;
}
.workspace-page-head{
  margin-bottom:20px;
}
.workspace-page-head h1{
  margin:.25rem 0 0;
}

/* The old horizontal workspace component is mobile-only now. */
.workspace-mobile-nav{
  display:none;
}

/* Agent workspace no longer uses top tabs. */
.agent-tabs{
  display:none!important;
}
.agent-workspace-head{
  display:block;
  margin-bottom:20px;
}

/* Customer workspace headings have enough breathing room inside the content column. */
.customer-workspace-shell .section-heading:first-child,
.customer-workspace-shell .applicant-page-heading{
  margin-top:0;
}

@media(max-width:900px){
  .workspace-shell{
    grid-template-columns:185px minmax(0,1fr);
    gap:22px;
  }
  .workspace-sidebar{
    top:88px;
  }
}

@media(max-width:760px){
  .workspace-shell{
    display:block;
  }
  .workspace-sidebar{
    position:static;
    min-height:0;
    margin:-10px 0 24px;
    padding:0;
    border:0;
    border-bottom:1px solid #dfe6ec;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow-x:auto;
  }
  .workspace-sidebar-head,
  .workspace-sidebar-section{
    display:none;
  }
  .workspace-sidebar-nav{
    display:flex;
    min-width:max-content;
    gap:2px;
    padding:0;
  }
  .workspace-sidebar-nav>a{
    min-height:46px;
    padding:8px 11px;
    border-radius:0;
    background:transparent!important;
    font-size:.76rem;
  }
  .workspace-sidebar-nav>a.is-active::before{
    inset-inline:8px;
    top:auto;
    bottom:0;
    width:auto;
    height:2px;
    border-radius:2px 2px 0 0;
  }
  .agent-workspace-head{
    margin-top:4px;
  }
}


/* Entity-level navigation: Applicant and Application */
.entity-context-head{
  margin-bottom:22px;
}
.entity-breadcrumbs{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
  color:#7c8a99;
  font-size:.7rem;
  font-weight:700;
}
.entity-breadcrumbs a{
  color:#536b82;
}
.entity-context-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.entity-context-title h1{
  margin:.15rem 0 .35rem;
  font-size:clamp(1.8rem,3vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.entity-nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:18px;
  padding-bottom:0;
  border-bottom:1px solid #dfe6ec;
  overflow-x:auto;
  scrollbar-width:thin;
}
.entity-nav>a{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:42px;
  padding:8px 11px;
  color:#647487;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.entity-nav>a:hover{
  color:#173b61;
}
.entity-nav>a.is-active{
  color:#0b3a67;
}
.entity-nav>a.is-active::after{
  content:"";
  position:absolute;
  inset-inline:8px;
  bottom:-1px;
  height:2px;
  border-radius:2px 2px 0 0;
  background:#0b3a67;
}
.entity-section{
  max-width:100%;
}
.entity-facts-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.entity-facts-grid>div{
  min-width:0;
  padding:12px 13px;
  border:1px solid #e5eaef;
  border-radius:10px;
  background:#fafbfd;
}
.entity-facts-grid dt{
  color:#7d8b99;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.entity-facts-grid dd{
  margin:3px 0 0;
  color:#263a4f;
  font-size:.81rem;
  font-weight:650;
  overflow-wrap:anywhere;
}

.request-profile-panel{
  display:grid;
  gap:0;
}
.request-profile-section{
  padding:18px 0;
  border-top:1px solid #edf1f4;
}
.request-profile-section:first-child{
  padding-top:0;
  border-top:0;
}
.request-profile-section:last-child{
  padding-bottom:0;
}
.request-profile-section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.request-profile-section-heading h2{
  margin:0;
  color:#243a50;
  font-size:.95rem;
}
.request-profile-facts-single{
  grid-template-columns:minmax(0,1fr);
}
.request-profile-fact-wide{
  grid-column:1 / -1;
}
.entity-list{
  display:grid;
}
.entity-list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:11px 4px;
  border-bottom:1px solid #edf1f4;
  color:inherit;
  text-decoration:none;
}
.entity-list-row:last-child{
  border-bottom:0;
}
.entity-list-row>span:first-child{
  display:grid;
  gap:2px;
  min-width:0;
}
.entity-list-row strong{
  color:#25394c;
  font-size:.82rem;
}
.entity-list-row small{
  color:#7b8997;
  font-size:.69rem;
}
.entity-list-actions{
  display:flex!important;
  align-items:center;
  gap:10px;
}
.entity-list-row:hover{
  text-decoration:none;
}
a.entity-list-row:hover{
  background:#fbfcfd;
}
.customer-applicant-page>.entity-context-head{
  margin-bottom:18px;
}
.customer-applicant-page>.entity-context-head + .applicant-workspace{
  margin-top:0;
}

/* Application detail pages use the same entity hierarchy. */
.application-entity-nav{
  margin-bottom:4px;
}

@media(max-width:760px){
  .entity-context-title{
    display:block;
  }
  .entity-context-title>.button,
  .entity-context-title>button{
    margin-top:12px;
    width:100%;
  }
  .entity-nav{
    margin-inline:-11px;
    padding-inline:11px;
  }
  .entity-facts-grid{
    grid-template-columns:1fr;
  }
  .entity-list-row{
    align-items:flex-start;
  }
}


/* Active Agent organization identity and switcher */
.agent-identity{
  display:flex;
  align-items:center;
  gap:10px;
}
.agent-sidebar-logo{
  width:38px;
  height:38px;
  flex:0 0 38px;
  object-fit:contain;
  border:1px solid #e1e7ec;
  border-radius:9px;
  background:#fff;
}
.agent-sidebar-logo-fallback{
  display:grid;
  place-items:center;
  color:#173b61;
  font-size:.92rem;
  font-weight:900;
}
.agent-sidebar-identity-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.agent-sidebar-identity-copy strong{
  overflow:hidden;
  color:#263b50;
  font-size:.8rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.agent-sidebar-identity-copy span{
  color:#8a98a5;
  font-size:.61rem;
  font-weight:700;
}
.agent-workspace-switcher{
  display:grid;
  gap:5px;
  margin:0 0 14px;
  padding:0 12px 13px;
  border-bottom:1px solid #e7ebef;
}
.agent-workspace-switcher label{
  color:#84919e;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.agent-workspace-switcher select{
  width:100%;
  min-width:0;
  padding:7px 28px 7px 8px;
  border:1px solid #dce3e9;
  border-radius:7px;
  background:#fff;
  color:#34495e;
  font-size:.7rem;
  font-weight:700;
}

.agent-chooser{
  max-width:680px;
  margin:44px auto;
}
.agent-chooser-card{
  padding:28px;
  border:1px solid #e0e6eb;
  border-radius:16px;
  background:#fff;
}
.agent-chooser-card h1{
  margin:.25rem 0 .5rem;
}
.agent-chooser-list{
  display:grid;
  gap:9px;
  margin-top:22px;
}
.agent-chooser-option{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px;
  border:1px solid #e1e7ec;
  border-radius:10px;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.agent-chooser-option:hover{
  border-color:#b9c8d6;
  background:#fafcfd;
}
.agent-chooser-option img{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:8px;
}
.agent-chooser-option>span:nth-child(2){
  display:grid;
  gap:2px;
}
.agent-chooser-option small{
  color:#82909d;
}


/* ============================================================
   Agent workspace

   Agent and My TurkDemy share the same visual language and sidebar geometry.
   On desktop the Agent workspace may consume the otherwise-unused inline-end
   canvas reserved by three-area workspace layouts. This keeps the primary
   sidebar aligned with the standard site container while allowing pages with
   no secondary/context rail to expand their main content.
   ============================================================ */
@media(min-width:1161px){
  .agent-workspace-page .page-shell{
    width:auto;
    max-width:1496px;
    margin-inline-start:max(16px,calc((100vw - 1160px)/2));
    margin-inline-end:16px;
  }
}
.agent-workspace-page .agent-workspace{
  padding:0;
  background:transparent;
  min-height:0;
}
.agent-workspace-page .workspace-main{
  max-width:none;
}
.agent-workspace-page .entity-context-head{
  margin-bottom:18px;
}
.agent-workspace-page .agent-panel{
  padding:22px;
  margin-bottom:16px;
}
.agent-workspace-page .agent-detail-grid{
  gap:18px;
}

/* Applicant Overview is a summary, not another copy of every entity tab. */
.agent-applicant-overview{
  display:block;
}
.agent-applicant-overview>#messages,
.agent-applicant-overview>aside{
  display:none;
}
.applicant-overview-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.overview-link-card{
  display:flex;
  flex-direction:column;
  min-height:126px;
  padding:17px 18px;
  border:1px solid #dce4ec;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 22px rgba(20,45,75,.03);
  color:inherit;
  text-decoration:none;
}
.overview-link-card:hover{
  border-color:#b9cad8;
  box-shadow:0 9px 26px rgba(20,45,75,.055);
  text-decoration:none;
}
.overview-link-card .overview-link-label{
  color:#718096;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.overview-link-card strong{
  margin-top:8px;
  color:#173b61;
  font-size:1.05rem;
}
.overview-link-card small{
  margin-top:3px;
  color:#718096;
  font-size:.74rem;
}

/* Dedicated Programs tab */
.applicant-programs-section .agent-panel-head{
  align-items:center;
}
.applicant-program-list{
  border-top:1px solid #edf1f4;
}
.applicant-program-row{
  padding-block:14px;
}
.applicant-program-main{
  display:block;
  flex:1;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.applicant-program-main>span{
  display:grid;
  gap:3px;
}
.applicant-program-main:hover strong{
  color:#0b3a67;
}
.program-recommendation-reason{
  margin-top:3px;
  color:#52687c!important;
  font-style:italic;
}
.applicant-program-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.danger-action{
  color:#8c3440;
}
.program-recommend-panel{
  scroll-margin-top:100px;
}
.program-recommend-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  margin-bottom:16px;
}
.program-recommend-search input,
.program-recommend-form input{
  min-width:0;
  min-height:42px;
  border:1px solid #ced9e5;
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:var(--text);
  font:inherit;
}
.program-search-results{
  display:grid;
  gap:9px;
}
.program-search-result{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(420px,1.1fr);
  gap:18px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #e4e9ee;
  border-radius:11px;
  background:#fbfcfd;
}
.program-search-result-copy{
  display:grid;
  gap:3px;
}
.program-search-result-copy strong{
  color:#24394e;
  font-size:.86rem;
}
.program-search-result-copy span{
  color:#718096;
  font-size:.72rem;
}
.program-recommend-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.program-recommend-help{
  display:flex;
  gap:10px;
  padding:12px 14px;
  border-radius:10px;
  background:#f4f7fa;
  color:#64778a;
  font-size:.78rem;
}
.program-recommend-help strong{
  color:#314f69;
}

@media(max-width:1100px){
  .applicant-overview-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .program-search-result{
    grid-template-columns:1fr;
    gap:10px;
  }
}
@media(max-width:760px){
  .applicant-overview-links{
    grid-template-columns:1fr 1fr;
  }
  .program-recommend-form{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .applicant-overview-links{
    grid-template-columns:1fr;
  }
  .program-recommend-search{
    grid-template-columns:1fr;
  }
  .applicant-program-row{
    display:grid;
  }
  .applicant-program-actions{
    justify-content:space-between;
  }
}


/* ============================================================
   Full-page Agent applicant editor
   ============================================================ */
.applicant-edit-page{
  max-width:1180px;
  margin:0 auto;
}
.applicant-edit-breadcrumbs{
  margin-bottom:16px;
}
.applicant-edit-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:24px 26px;
  margin-bottom:18px;
  border:1px solid #dfe7ee;
  border-radius:16px;
  background:
    radial-gradient(circle at 92% 15%,rgba(47,109,158,.09),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f8fbfd 100%);
  box-shadow:0 12px 32px rgba(22,49,76,.045);
}
.applicant-edit-hero-copy{
  max-width:720px;
}
.applicant-edit-hero h1{
  margin:5px 0 8px;
  color:#183b5d;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.08;
}
.applicant-edit-hero p{
  max-width:690px;
  margin:0;
  color:#66798b;
  font-size:.82rem;
  line-height:1.65;
}
.applicant-edit-hero-meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.applicant-edit-hero-meta>span:not(.lead-status){
  display:grid;
  gap:2px;
  min-width:150px;
  padding-left:14px;
  border-left:1px solid #dce5ec;
}
.applicant-edit-hero-meta small{
  color:#82909d;
  font-size:.63rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.applicant-edit-hero-meta strong{
  color:#324c63;
  font-size:.78rem;
}
.applicant-edit-alert{
  margin-bottom:16px;
  padding:13px 15px;
  border:1px solid #e8c4c8;
  border-radius:11px;
  background:#fff7f8;
  color:#8a3440;
  font-size:.78rem;
}
.applicant-edit-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:20px;
  align-items:start;
}
.applicant-edit-sections{
  display:grid;
  gap:14px;
}
.applicant-edit-card{
  padding:22px;
  border:1px solid #dfe7ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 24px rgba(22,49,76,.035);
}
.applicant-edit-card-private{
  border-color:#e2e5e8;
  background:#fcfcfd;
}
.applicant-edit-card-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding-bottom:16px;
  margin-bottom:17px;
  border-bottom:1px solid #edf1f4;
}
.applicant-edit-step{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:9px;
  background:#eef4f8;
  color:#315f82;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.03em;
}
.applicant-edit-card-head h2{
  margin:0 0 3px;
  color:#243c52;
  font-size:1rem;
}
.applicant-edit-card-head p{
  margin:0;
  color:#7b8996;
  font-size:.72rem;
  line-height:1.45;
}
.applicant-edit-private-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.applicant-edit-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.applicant-edit-fields-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.applicant-edit-field{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
}
.applicant-edit-field.field-wide{
  grid-column:1/-1;
}
.applicant-edit-field label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  color:#344b60;
  font-size:.72rem;
  font-weight:800;
}
.applicant-edit-field label span{
  color:#98a3ad;
  font-size:.6rem;
  font-weight:600;
}
.applicant-edit-field input,
.applicant-edit-field select,
.applicant-edit-field textarea{
  width:100%;
  min-height:43px;
  box-sizing:border-box;
  border:1px solid #cfd9e2;
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:#24384b;
  font:inherit;
  font-size:.78rem;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.applicant-edit-field textarea{
  min-height:88px;
  resize:vertical;
  line-height:1.5;
}
.applicant-edit-field input:hover,
.applicant-edit-field select:hover,
.applicant-edit-field textarea:hover{
  border-color:#afc0cf;
}
.applicant-edit-field input:focus,
.applicant-edit-field select:focus,
.applicant-edit-field textarea:focus{
  border-color:#5d86a7;
  box-shadow:0 0 0 3px rgba(49,95,130,.1);
}
.applicant-edit-field.has-error input,
.applicant-edit-field.has-error select,
.applicant-edit-field.has-error textarea{
  border-color:#bb6972;
  background:#fffafb;
}
.applicant-edit-help{
  color:#8795a1;
  font-size:.65rem;
  line-height:1.4;
}
.applicant-edit-errors{
  display:grid;
  gap:2px;
  color:#a03e49;
  font-size:.67rem;
  font-weight:700;
}
.applicant-edit-side{
  position:sticky;
  top:92px;
  display:grid;
  gap:10px;
}
.applicant-edit-summary{
  display:grid;
  gap:5px;
  padding:18px;
  border:1px solid #dfe7ee;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 24px rgba(22,49,76,.035);
}
.applicant-edit-summary>strong{
  color:#213f5a;
  font-size:.92rem;
}
.applicant-edit-summary>small{
  color:#718293;
  overflow-wrap:anywhere;
}
.applicant-edit-summary dl{
  display:grid;
  gap:8px;
  margin:12px 0 4px;
  padding:12px 0;
  border-top:1px solid #edf1f4;
  border-bottom:1px solid #edf1f4;
}
.applicant-edit-summary dl div{
  display:grid;
  gap:2px;
}
.applicant-edit-summary dt{
  color:#8a98a4;
  font-size:.61rem;
  font-weight:750;
  text-transform:uppercase;
}
.applicant-edit-summary dd{
  margin:0;
  color:#40566a;
  font-size:.71rem;
}
.applicant-edit-summary p{
  margin:4px 0 0;
  color:#748594;
  font-size:.67rem;
  line-height:1.5;
}
.applicant-edit-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:8px;
  padding:10px;
  border:1px solid #dfe7ee;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(22,49,76,.06);
}
.applicant-edit-actions .button{
  justify-content:center;
  text-align:center;
}

@media(max-width:1050px){
  .applicant-edit-layout{
    grid-template-columns:1fr;
  }
  .applicant-edit-side{
    position:static;
    grid-template-columns:1fr;
  }
  .applicant-edit-summary{
    display:none;
  }
  .applicant-edit-actions{
    position:sticky;
    bottom:10px;
    z-index:5;
  }
}
@media(max-width:820px){
  .applicant-edit-fields-three{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .applicant-edit-hero{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .applicant-edit-card{
    padding:17px;
  }
  .applicant-edit-fields,
  .applicant-edit-fields-three{
    grid-template-columns:1fr;
  }
  .applicant-edit-field.field-wide{
    grid-column:auto;
  }
  .applicant-edit-hero{
    padding:20px;
  }
  .applicant-edit-hero-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .applicant-edit-hero-meta>span:not(.lead-status){
    padding:0;
    border-left:0;
  }
}

.internal-notes-meta {
  margin-top: 0.85rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--border, #e5e7eb);
  font-size: 0.78rem;
  color: var(--muted, #6b7280);
}


/* Internal notes are a first-class Agent-only Applicant Overview summary. */
.agent-applicant-overview>.internal-notes-panel{
  display:block;
  margin-top:16px;
}
.agent-applicant-overview>.internal-notes-panel .internal-notes-body{
  min-height:72px;
  white-space:normal;
}


/* Agent operations: TODOs + Communication Log */
.operations-dashboard-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin-bottom:18px;
}
.todo-summary-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.todo-summary-metrics span{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:12px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:12px;
}
.todo-summary-metrics strong{font-size:1.35rem}
.operations-page-head{margin-bottom:18px}
.operations-page-head h1{margin:.2rem 0}
.operations-page-head p{margin:0;color:var(--muted,#6b7280)}
.operations-panel{max-width:1120px}
.operation-create-form{
  padding:16px;
  margin-bottom:18px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  background:var(--surface-subtle,#fafafa);
}
.operation-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
}
.operation-form-grid p{margin:0}
.operation-form-grid p:has(textarea){grid-column:1/-1}
.operation-form-grid label{display:block;font-weight:600;margin-bottom:5px}
.operation-form-grid input,
.operation-form-grid select,
.operation-form-grid textarea,
.operation-inline-form input,
.operation-inline-form select,
.operation-edit-form input,
.operation-edit-form select,
.operation-edit-form textarea{
  width:100%;
  box-sizing:border-box;
}
.operation-list{display:grid;gap:12px}
.operation-card{
  padding:16px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  background:var(--surface,#fff);
}
.operation-card.is-overdue{border-left-width:4px}
.operation-card>header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.operation-card>header div{display:flex;flex-direction:column;gap:3px}
.operation-card>header small,.operation-meta{color:var(--muted,#6b7280)}
.operation-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.84rem}
.operation-inline-form{
  display:grid;
  grid-template-columns:minmax(140px,180px) minmax(180px,240px) auto;
  gap:8px;
  align-items:center;
  margin-top:12px;
}
.todo-comments{margin-top:12px}
.todo-comment{padding:10px 0;border-top:1px solid var(--border,#e5e7eb)}
.todo-comment time{margin-left:8px;color:var(--muted,#6b7280);font-size:.8rem}
.todo-comment p{margin:.3rem 0 0}
.operation-actions{display:flex;align-items:flex-start;gap:10px;margin-top:12px}
.operation-actions details{flex:1}
.operation-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.operation-edit-form label{display:grid;gap:4px}
.operation-edit-form label:last-of-type{grid-column:1/-1}
@media (max-width:760px){
  .operations-dashboard-strip,
  .operation-form-grid,
  .operation-edit-form{grid-template-columns:1fr}
  .todo-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .operation-inline-form{grid-template-columns:1fr}
  .operation-card>header{flex-direction:column}
  .operation-actions{flex-direction:column}
  .operation-actions details{width:100%}
  .operation-form-grid p:has(textarea),
  .operation-edit-form label:last-of-type{grid-column:auto}
}

/* Applicant -> Student conversion */
.student-conversion-list{
  display:grid;
  gap:.8rem;
}
.student-conversion-row{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.9rem 1rem;
  border:1px solid var(--line, #dfe3e8);
  border-radius:12px;
  cursor:pointer;
}
.student-conversion-row input[type="checkbox"]{
  width:1.15rem;
  height:1.15rem;
  flex:0 0 auto;
}
.student-conversion-row-main{
  display:grid;
  gap:.2rem;
  flex:1;
  min-width:0;
}
.student-conversion-row-main small,
.student-conversion-offering span{
  color:var(--muted, #667085);
}
.student-conversion-program{
  display:grid;
  gap:.65rem;
}
.student-conversion-offering{
  display:grid;
  gap:.35rem;
  margin-left:2rem;
  max-width:48rem;
}
.student-conversion-offering select{
  width:100%;
}

/* Customer Requests workspace */
.request-page-heading{align-items:flex-start}
.request-card-list{display:grid;gap:14px}
.request-card{position:relative;display:block;padding:20px 22px;border:1px solid var(--border);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(20,35,60,.045)}
.request-card:hover{color:inherit;text-decoration:none}
.request-card:focus-visible{outline:3px solid rgba(11,58,103,.18);outline-offset:2px}
.request-card-attention{border-inline-start:4px solid #b7791f}
.request-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.request-card-identity{display:flex;align-items:center;gap:13px;min-width:0}
.request-card-identity h2{margin:0 0 5px;font-size:1.08rem}
.request-contact-lines{display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:.92rem}
.request-attention{display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:260px;font-size:.84rem}
.request-attention strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.request-programs{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.request-section-label{display:block;margin-bottom:8px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.request-program-list{display:flex;flex-wrap:wrap;gap:8px}
.request-program-item{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;font-size:.9rem}
.request-suggested-tip{padding:2px 6px;border-radius:999px;background:#eaf2fb;font-size:.72rem;font-weight:700;white-space:nowrap}
.request-open-hint{display:block;margin-top:14px;text-align:end;font-size:.86rem;font-weight:700}
[dir="rtl"] .request-attention{align-items:flex-start}
@media(max-width:700px){.request-page-heading{display:block}.request-page-heading .button{display:inline-flex;margin-top:12px}.request-card{padding:17px}.request-card-main{display:block}.request-attention{align-items:flex-start;margin-top:13px;max-width:none}.request-program-list{display:grid}.request-program-item{align-items:flex-start;justify-content:space-between}.request-open-hint{text-align:start}}


/* Customer Request detail: main workspace + persistent context sidebar */
.customer-request-detail{max-width:none}
.customer-request-detail .entity-context-head{margin-bottom:22px}
.request-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}
.request-detail-layout-documents,.request-detail-layout-full{grid-template-columns:minmax(0,1fr)}
.request-detail-main{min-width:0}
.request-detail-main>.entity-context-head{margin-bottom:22px}
.request-context-sidebar{position:sticky;top:96px;display:grid;gap:12px;min-width:0}
.request-context-card{padding:16px;border:1px solid #dbe4eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(19,42,67,.03)}
.request-context-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.request-context-card-head .eyebrow{margin:0 0 2px}
.request-context-card-head h2{margin:0;font-size:1rem;letter-spacing:-.01em}
.request-context-card-head>a{flex:0 0 auto;font-size:.7rem;font-weight:800}
.request-context-documents{display:grid}
.request-context-document{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #edf1f4;color:inherit;text-decoration:none}
.request-context-document:first-child{border-top:0}
.request-context-document:hover{text-decoration:none}
.request-context-document>span{display:grid;gap:1px;min-width:0}
.request-context-document strong{font-size:.76rem;color:#263b50}
.request-context-document small{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#85919f;font-size:.65rem}
.context-status{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#edf2f6;color:#667789;font-size:.59rem;font-weight:850}
.context-status-success{background:#e6f6ed;color:#16643b}
.context-status-danger{background:#fbeaea;color:#9b3434}
.request-context-action{display:inline-flex;margin-top:12px;font-size:.72rem;font-weight:850}
.request-context-empty{margin:5px 0;color:#7b8997;font-size:.74rem}
.request-preference-list{display:grid;gap:0;margin:0}
.request-preference-list>div{display:grid;gap:2px;padding:9px 0;border-top:1px solid #edf1f4}
.request-preference-list>div:first-child{border-top:0}
.request-preference-list dt{color:#8995a2;font-size:.6rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.request-preference-list dd{margin:0;color:#33495f;font-size:.73rem;font-weight:650;line-height:1.45}
.request-detail-main>.lead-panel,.request-overview-grid>.lead-panel{padding:18px;margin-bottom:14px}
.request-detail-main>.lead-panel .section-heading,.request-overview-grid>.lead-panel .section-heading{margin-bottom:14px}
.request-detail-main>.lead-panel h2,.request-overview-grid>.lead-panel h2{font-size:1.28rem}
.request-attention-panel{border-color:#efd2d2!important;background:#fffafa!important}
.request-attention-heading{margin-bottom:8px!important}
.request-attention-list{display:grid;gap:8px}
.request-attention-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #f0dddd;border-radius:11px;background:#fff;color:inherit;text-decoration:none}
.request-attention-list>a:hover{text-decoration:none}
.request-attention-list span{display:grid;gap:2px}
.request-attention-list strong{color:#7f3030;font-size:.81rem}
.request-attention-list small{color:#765f5f;font-size:.71rem}
.request-overview-programs{display:grid;gap:8px}
.request-overview-program{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #e3e9ee;border-radius:12px;background:#fbfcfd;color:inherit;text-decoration:none}
.request-overview-program:hover{text-decoration:none;border-color:#cfdbe5}
.request-overview-program>span{display:grid;gap:2px;min-width:0}
.request-overview-program strong{color:#203b56;font-size:.84rem}
.request-overview-program small{color:#758496;font-size:.71rem}
.request-overview-program em{width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;background:#fff4db;color:#8a6200;font-size:.6rem;font-style:normal;font-weight:800}
.request-overview-grid{display:grid;grid-template-columns:1fr;gap:14px}
.request-overview-grid .lead-panel{margin-bottom:0}
.request-progress-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.request-progress-list li{position:relative;display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 11px}
.request-progress-list li:last-child{padding-bottom:0}
.request-progress-list li>span{position:relative;width:9px;height:9px;margin-top:5px;border-radius:50%;background:#0b3a67}
.request-progress-list li:not(:last-child)>span::after{content:"";position:absolute;top:10px;inset-inline-start:4px;width:1px;height:calc(100% + 10px);background:#dce5ec}
.request-progress-list li>div{display:grid;gap:2px}
.request-progress-list strong{font-size:.76rem;color:#30465c}
.request-progress-list time{font-size:.64rem;color:#8b97a3}
.request-message-preview-list{display:grid}
.request-message-preview{display:grid;gap:4px;padding:8px 0;border-top:1px solid #edf1f4;color:inherit;text-decoration:none}
.request-message-preview:first-child{border-top:0}
.request-message-preview:hover{text-decoration:none}
.request-message-preview-meta{display:flex;justify-content:space-between;gap:10px;font-size:.67rem}
.request-message-preview-meta time{color:#8c98a4}
.request-message-preview-body{color:#647588;font-size:.72rem;line-height:1.45}
[dir="rtl"] .request-detail-layout,[dir="rtl"] .request-context-card,[dir="rtl"] .request-attention-list,[dir="rtl"] .request-overview-programs{text-align:start}
@media(max-width:1100px){
  .request-detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}
  .request-context-document small{max-width:130px}
}
@media(max-width:950px){
  .request-detail-layout{grid-template-columns:1fr}
  .request-context-sidebar{position:static;grid-template-columns:1fr 1fr;grid-row:2}
}
@media(max-width:700px){
  .request-overview-grid{grid-template-columns:1fr}
  .request-context-sidebar{grid-template-columns:1fr}
  .request-context-card{padding:16px}
  .request-context-document small{max-width:220px}
  .request-attention-list>a,.request-overview-program{padding:12px}
}
.request-back-link{
  display:inline-flex;
  align-items:center;
  margin-bottom:10px;
  color:#536b82;
  font-size:.7rem;
  font-weight:700;
}
.request-back-link{
  display:inline-flex;
  align-items:center;
  margin-bottom:10px;
  color:#536b82;
  font-size:.7rem;
  font-weight:700;
}


/* Customer Request: Profile page action */
.request-profile-heading{display:flex;align-items:center!important;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.request-profile-heading h2{margin:0!important}
.request-profile-action{flex:0 0 auto}
@media(max-width:700px){
  .request-profile-heading .button{padding:9px 12px;font-size:.75rem;white-space:nowrap}
}
@media(max-width:430px){
  .customer-applicant-page .lead-panel .request-profile-heading{display:flex;align-items:center!important;justify-content:space-between;gap:8px}
  .customer-applicant-page .lead-panel .request-profile-heading .button{margin:0;padding:8px 10px;font-size:.7rem;white-space:nowrap}
}

/* Customer Request: Programs tab */
.request-programs-heading{display:flex;align-items:center!important;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.request-programs-heading h2{margin:0!important}
.request-page-primary-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;background:#173b61;color:#fff;border:1px solid #173b61;border-radius:8px;box-shadow:none;font-size:.82rem;font-weight:800;line-height:1.15;text-decoration:none;white-space:nowrap}
.request-page-primary-action:hover,.request-page-primary-action:focus-visible{background:#0f3150;color:#fff;border-color:#0f3150;text-decoration:none}
.request-programs-action{flex:0 0 auto}
.request-program-card{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  color:inherit;text-decoration:none;cursor:pointer;
}
.customer-applicant-page .request-program-card:hover{
  color:inherit;text-decoration:none;border-color:#dbe4eb;box-shadow:none;
}
.request-program-copy{min-width:0}
.request-program-card h3{margin:0;color:#102d4d;font-size:1rem;line-height:1.3}
.request-program-university{margin:.35rem 0 0!important;color:#52677b!important;font-weight:700}
.request-program-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:.4rem 0 0!important;color:#758494!important;font-size:.78rem!important}
.request-program-source{display:grid;gap:5px;margin-top:10px}
.request-program-source .interest-source{font-size:.64rem;color:#738295}
.request-program-source .interest-source-agent{color:#87621d}
.request-program-chevron{
  display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;
  border:0;background:transparent;color:#587b98;
}
.request-program-chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.request-program-detail-link:hover .request-program-chevron{color:#174f80}
.request-program-empty{padding:22px 4px;text-align:left}
.request-program-empty p{margin:0;color:var(--muted)}
[dir="rtl"] .request-program-empty{text-align:right}
@media(max-width:700px){
  .request-program-card{display:flex!important;align-items:flex-start}
}


/* Customer Request: richer program comparison and management */
.request-overview-program-meta{color:#5f7183!important;font-weight:700}
.request-overview-program-source-user{background:#eef4f8!important;color:#5e7182!important}
.request-overview-program-suggestion-reason{display:block;margin-top:5px;color:#53697d;font-size:.72rem;font-weight:500;line-height:1.45}
.request-progress-note{margin:1px 0 0;color:#53697d;font-size:.7rem;line-height:1.45}
.activity-recommendation-reason{margin-top:6px}
.request-program-suggestion-reason,
.request-overview-program-suggestion-reason,
.request-progress-note,
.activity-recommendation-reason,
.program-recommendation-reason{
  display:block;width:fit-content;max-width:100%;box-sizing:border-box;
  padding:7px 10px;border-inline-start:2px solid #cad9e5;border-radius:7px;
  background:#f7f9fb;color:#53697d;text-align:start;unicode-bidi:plaintext;
  overflow-wrap:anywhere;white-space:normal;
}
.request-program-card{display:block;color:inherit;text-decoration:none;cursor:default}
.request-program-detail-link{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:inherit;text-decoration:none}
.request-program-detail-link:hover{color:inherit;text-decoration:none}
.request-program-tuition{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin:.45rem 0 0!important;color:#607487!important;font-size:.78rem!important}
.request-program-tuition strong{color:#173b5e;font-size:.86rem}
.request-program-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
.request-program-card{position:relative;width:100%;box-sizing:border-box}
.request-program-detail-link{padding-inline-end:0}
.request-program-suggestion-reason{margin:0!important;color:#53697d!important;font-size:.78rem!important;font-weight:500;line-height:1.5}
.request-program-management{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e8edf1}
.request-program-intake-summary{display:grid;gap:2px}
.request-program-intake-summary span{color:#84919d;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.request-program-intake-form{display:flex;align-items:center;min-width:0}
.request-program-intake-form select{max-width:330px;min-height:34px;padding:5px 30px 5px 8px;border:1px solid #d6e0e7;border-radius:8px;background:#fff;color:#344c62;font-size:.72rem}
.request-program-intake-readonly{color:#354d63;font-size:.78rem}
.request-program-footer-actions{display:flex;justify-content:flex-end;margin-top:10px}
.request-program-remove-form{position:static;margin:0}
.request-program-remove{
  display:inline-flex;align-items:center;gap:5px;padding:2px 0;
  border:0;background:transparent;color:#7c8994;font-size:.72rem;font-weight:700;
}
.request-program-remove svg{width:14px;height:14px;fill:currentColor}
.request-program-remove:hover{color:#5f6b75}
.request-program-remove:focus-visible{outline:2px solid #9aa7b2;outline-offset:3px}
@media(max-width:700px){
  .customer-applicant-page .request-program-card{display:block!important}
  .request-program-detail-link{width:100%;gap:12px}
  .request-program-copy{width:100%}
  .request-program-management{display:grid;grid-template-columns:1fr;align-items:start;gap:7px;width:100%}
  .request-program-intake-form{width:100%}
  .request-program-intake-form select{max-width:none;width:100%;min-height:40px}
  .request-program-footer-actions{width:100%;justify-content:flex-end;margin-top:12px}
  .request-programs-heading .button{padding:9px 12px;font-size:.75rem;white-space:nowrap}
}

@media(max-width:430px){
  .customer-applicant-page .lead-panel .request-programs-heading{
    display:flex;
    align-items:center!important;
    justify-content:space-between;
    gap:8px;
  }
  .customer-applicant-page .lead-panel .request-programs-heading .button{
    margin:0;
    padding:8px 10px;
    font-size:.7rem;
    white-space:nowrap;
  }
}

/* Customer Request documents workspace */
.request-documents-panel{min-width:0}
.request-documents-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.request-documents-heading h2{margin:0}
.request-documents-heading .request-page-primary-action{flex:0 0 auto}
.request-document-list{display:grid;gap:10px}
.customer-applicant-page .request-document-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;width:100%;box-sizing:border-box;padding:16px 52px 16px 16px;border:1px solid #dbe5ec;border-radius:12px;background:#fff}
.customer-applicant-page .request-document-card:hover{border-color:#dbe5ec;box-shadow:none;transform:none}
.request-document-copy{display:grid!important;gap:7px!important;align-items:start!important;min-width:0}
.request-document-title-link{width:max-content;max-width:100%;color:#102d4d;font-size:.96rem;font-weight:800;text-decoration:none}
.request-document-title-link:hover{color:#0f4d78;text-decoration:none}
.request-document-title-link:focus-visible{outline:2px solid #6f91ad;outline-offset:2px;border-radius:3px}
.request-document-copy>.badge{justify-self:start}
.request-document-open{position:absolute;inset-block-start:50%;inset-inline-end:16px;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;color:#1f638f;text-decoration:none;border-radius:6px}
.request-document-open svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.request-document-open:hover{color:#0f4d78;background:#f3f7fa}
.request-document-open:focus-visible{outline:2px solid #6f91ad;outline-offset:2px}
.lead-document-row-review-replacement_requested .request-document-open{inset-block-start:16px;transform:none}
.request-document-card .document-replacement-reason{grid-column:1/-1;max-width:none;margin:2px 0 0;padding:10px 12px;border-radius:9px;background:#fff4f2;color:#744039;font-size:.78rem;line-height:1.5}
.request-document-replace{grid-column:1/-1;width:auto;margin:2px 0 0;justify-self:end}
.request-document-replace summary{list-style:none;cursor:pointer;color:#123f68;font-size:.78rem;font-weight:800}
.request-document-replace summary::-webkit-details-marker{display:none}
.request-document-empty{display:grid;justify-items:center;gap:8px;padding:34px 18px;text-align:center}
.request-document-empty p{margin:0;font-weight:800;color:#19324a}
.request-document-empty span{max-width:420px;color:var(--muted);font-size:.8rem;line-height:1.5}
.request-document-empty .button{margin-top:4px}
@media(max-width:700px){
 .customer-request-entity-nav{display:flex;gap:0;margin-inline:0;padding-inline:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .customer-request-entity-nav::-webkit-scrollbar{display:none}
 .customer-request-entity-nav>a{flex:0 0 auto;justify-content:center;min-width:max-content;padding:8px 11px;font-size:.72rem;white-space:nowrap}
 .request-documents-heading{gap:10px}
 .request-documents-heading .button{padding:9px 12px;font-size:.75rem;white-space:nowrap}
 .customer-applicant-page .request-document-card{grid-template-columns:1fr;padding:12px 46px 12px 14px;min-height:82px}
 .request-document-copy{gap:5px!important}
 .request-document-replace{justify-self:stretch}
 .request-document-replace summary{text-align:end}
}


/* Customer Documents final mobile title/action alignment (CRQ-075). */
@media(max-width:430px){
  .customer-applicant-page .lead-panel .request-documents-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
  }
  .customer-applicant-page .lead-panel .request-documents-heading .button{
    margin:0;
    padding:8px 10px;
    font-size:.7rem;
    white-space:nowrap;
  }
}

/* Shared workspace mobile navigation: expose every action without clipping. */
@media(max-width:760px){
  .customer-workspace-sidebar,
  .agent-workspace-sidebar{
    overflow-x:visible;
  }
  .customer-workspace-sidebar .workspace-sidebar-nav,
  .agent-workspace-sidebar .workspace-sidebar-nav{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
    width:100%;
    min-width:0;
    gap:2px;
  }
  .customer-workspace-sidebar .workspace-sidebar-nav>a,
  .agent-workspace-sidebar .workspace-sidebar-nav>a{
    min-width:0;
    justify-content:center;
    gap:5px;
    padding:8px 5px;
    text-align:center;
    line-height:1.2;
    white-space:normal;
  }
  .customer-workspace-sidebar .workspace-sidebar-nav>a>span,
  .agent-workspace-sidebar .workspace-sidebar-nav>a>span{
    min-width:0;
    overflow-wrap:anywhere;
  }
}

/* Customer Request Messages workspace */
.request-messages-heading{margin-bottom:14px}
.request-messages-heading h2{margin:0}
.request-message-workspace{overflow:hidden}
.customer-applicant-page .request-message-workspace .lead-chat-messages{
  display:flex;flex-direction:column;gap:14px;min-height:320px;max-height:620px;
  padding:22px;background:#f5f7f9;
}
.customer-applicant-page .request-message-workspace .chat-message{
  align-self:flex-start;max-width:min(74%,640px);padding:12px 14px;border:1px solid #d9e2e8;
  border-radius:15px;border-end-start-radius:5px;background:#fff;box-shadow:none;
}
.customer-applicant-page .request-message-workspace .chat-message-customer{
  align-self:flex-end;margin-inline-start:0;border-color:#c7dbe9;border-radius:15px;
  border-end-end-radius:5px;background:#e7f1f8;
}
.customer-applicant-page .request-message-workspace .chat-message-system{
  align-self:center;max-width:88%;padding:8px 12px;border:0;border-radius:0;background:transparent;
  color:#6d7d8a;text-align:center;box-shadow:none;
}
.customer-applicant-page .request-message-workspace .chat-message-system .chat-message-meta{
  justify-content:center;gap:8px;margin-bottom:3px;
}
.customer-applicant-page .request-message-workspace .chat-message-system .chat-message-meta strong{
  color:#526779;font-size:.76rem;
}
.customer-applicant-page .request-message-workspace .chat-message-system .chat-message-body{
  color:#6d7d8a;font-size:.82rem;text-align:center;
}
.customer-applicant-page .request-message-workspace .chat-message-meta{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:6px;
  font-size:.74rem;
}
.customer-applicant-page .request-message-workspace .chat-message-meta strong{color:#193653}
.customer-applicant-page .request-message-workspace .chat-message-meta time{
  flex:0 0 auto;color:#7a8894;font-size:.7rem;white-space:nowrap;
}
.customer-applicant-page .request-message-workspace .chat-message-body{
  color:#263d51;font-size:.92rem;line-height:1.55;unicode-bidi:plaintext;
}
.customer-applicant-page .request-message-workspace .chat-attachment{
  display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin-top:9px;padding:7px 9px;
  border:1px solid #dce5eb;border-radius:8px;background:rgba(255,255,255,.75);color:#245273;
  font-size:.8rem;font-weight:700;overflow-wrap:anywhere;
}
.customer-applicant-page .request-message-compose{
  padding:14px 16px 16px;border-top:1px solid #e0e7ed;background:#fff;
}
.customer-applicant-page .request-message-compose textarea{
  box-sizing:border-box;width:100%;min-height:96px;padding:13px;border:1px solid #ced9e2;
  border-radius:12px;background:#fff;font:inherit;resize:vertical;
}
.customer-applicant-page .request-message-compose .chat-compose-actions{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;
}
.customer-applicant-page .request-message-compose .chat-file-control{
  position:relative;display:flex;align-items:center;gap:9px;min-width:0;max-width:75%;
}
.customer-applicant-page .request-message-compose .chat-attachment-input{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.customer-applicant-page .request-message-compose .chat-attach-label{
  display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border-radius:8px;
  color:#315d7d;font-size:.82rem;font-weight:800;cursor:pointer;
}
.customer-applicant-page .request-message-compose .chat-attach-label:hover{background:#f0f5f8}
.customer-applicant-page .request-message-compose .chat-attach-label:focus-within{
  outline:3px solid rgba(11,58,103,.1);outline-offset:2px;
}
.customer-applicant-page .request-message-compose .chat-attachment-selection{
  min-width:0;overflow:hidden;color:#657887;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap;
}
.customer-applicant-page .request-message-send{flex:0 0 auto;min-width:82px;justify-content:center}
.customer-applicant-page .request-message-empty,
.customer-applicant-page .request-message-unavailable{
  display:grid;gap:7px;padding:44px 24px;text-align:center;
}
.customer-applicant-page .request-message-empty strong,
.customer-applicant-page .request-message-unavailable strong{color:#263f56;font-size:1rem}
.customer-applicant-page .request-message-empty span,
.customer-applicant-page .request-message-unavailable span{max-width:460px;margin:auto;color:#6e7e8b;font-size:.88rem;line-height:1.55}
[dir="rtl"] .customer-applicant-page .request-message-workspace .chat-message-agent{text-align:right}
[dir="rtl"] .customer-applicant-page .request-message-workspace .chat-message-customer{text-align:right}

@media(max-width:700px){
  .request-detail-layout-messages>.request-context-sidebar{display:none}
  .customer-applicant-page .request-message-workspace .lead-chat-messages{
    min-height:260px;max-height:520px;padding:13px;gap:12px;
  }
  .customer-applicant-page .request-message-workspace .chat-message{
    max-width:88%;padding:10px 11px;
  }
  .customer-applicant-page .request-message-workspace .chat-message-meta{
    align-items:flex-start;gap:4px 10px;flex-wrap:wrap;
  }
  .customer-applicant-page .request-message-workspace .chat-message-meta time{
    white-space:normal;
  }
  .customer-applicant-page .request-message-compose{padding:12px}
  .customer-applicant-page .request-message-compose .chat-compose-actions{
    flex-direction:row;align-items:center;
  }
  .customer-applicant-page .request-message-compose .chat-file-control{
    flex:1 1 auto;width:auto;max-width:calc(100% - 94px);
  }
  .customer-applicant-page .request-message-compose .chat-attachment-selection{max-width:140px}
  .customer-applicant-page .request-message-compose .request-message-send{width:auto;min-width:76px}
}
@media(max-width:430px){
  .customer-applicant-page .request-message-workspace .chat-message{max-width:94%}
  .customer-applicant-page .request-message-workspace .chat-message-meta{display:grid;justify-content:start}
  .customer-applicant-page .request-message-workspace .chat-message-customer .chat-message-meta{justify-items:end}
  .customer-applicant-page .request-message-compose .chat-attach-label{padding-inline:7px}
  .customer-applicant-page .request-message-compose .chat-attachment-selection{max-width:92px}
}


/* Customer Request: Preferences first-class tab (CRQ-087..CRQ-090). */
.request-preferences-heading{display:flex;align-items:center!important;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.request-preferences-heading h2{margin:0!important}
.request-preferences-action{flex:0 0 auto}
.request-preferences-panel{display:grid;gap:0}
.request-preferences-section{padding:18px 0;border-top:1px solid #e8edf1}
.request-preferences-section-primary{padding-top:4px;border-top:0}
.request-preferences-section-heading{margin-bottom:12px}
.request-preferences-section-heading h2{margin:0;color:#30465c;font-size:.86rem}
.request-preferences-facts{margin:0}
.request-preferences-fact-wide{grid-column:1/-1}
@media(max-width:700px){
  .request-preferences-heading .button{padding:9px 12px;font-size:.75rem;white-space:nowrap}
}
@media(max-width:430px){
  .customer-applicant-page .lead-panel .request-preferences-heading{display:flex;align-items:center!important;justify-content:space-between;gap:8px}
  .customer-applicant-page .lead-panel .request-preferences-heading .button{margin:0;padding:8px 10px;font-size:.7rem;white-space:nowrap}
}

/* CHG-0019: indexable GeneralField landing pages. */
.field-landing-hero{gap:36px}
.field-landing-description p{margin:.45rem 0 0}
.field-landing-stat{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;min-width:220px}
.field-landing-stat strong{font-size:1.8rem}
.field-landing-stat span{color:var(--muted)}
.field-landing-programs,.field-landing-universities{margin-top:42px}
@media(max-width:720px){.field-landing-stat{width:100%;min-width:0}.field-landing-programs,.field-landing-universities{margin-top:30px}}

.city-landing-link {
  color: inherit;
  text-decoration: none;
}

.city-landing-link:hover,
.city-landing-link:focus-visible {
  text-decoration: underline;
}



/* CHG-0021: City banner media. */
.city-landing-banner-wrap{margin:28px 0 0}
.city-landing-banner{display:block;width:100%;height:clamp(260px,38vw,520px);object-fit:cover;border-radius:18px}
@media(max-width:720px){.city-landing-banner-wrap{margin-top:20px}.city-landing-banner{height:240px;border-radius:14px}}

/* Homepage City discovery */
.study-destination-section{
  margin-top:56px;
  padding:58px 0 8px;
  border-top:1px solid var(--border);
}
.city-destination-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:12px;
}
.city-destination-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 22px rgba(22,37,61,.045);
  transition:.18s ease;
}
.city-destination-card:hover{
  transform:translateY(-2px);
  border-color:#b9c8d6;
  box-shadow:0 11px 28px rgba(20,35,60,.08);
  text-decoration:none;
}
.city-destination-image{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#eaf0f5;
}
.city-destination-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#dce7f0,#eef3f7);
  color:#0B3A67;
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.04em;
}
.city-destination-body{
  padding:14px 15px 16px;
}
.city-destination-body h3{
  margin:0 0 5px;
  color:#172b47;
  font-size:1rem;
}
.city-destination-body p{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 12px;
  color:var(--muted);
  font-size:.76rem;
}
.city-destination-body>span{
  color:#0B3A67;
  font-size:.78rem;
  font-weight:800;
}

@media(max-width:760px){
  .study-destination-section{
    margin-top:38px!important;
    padding-top:38px!important;
  }
  .city-destination-grid{
    display:flex;
    gap:10px;
    width:calc(100% + 11px);
    margin-inline-end:-11px;
    padding-inline-end:11px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .city-destination-grid::-webkit-scrollbar{
    display:none;
  }
  .city-destination-card{
    flex:0 0 min(72vw,230px);
    scroll-snap-align:start;
  }
  .city-destination-body{
    padding:12px 13px 14px;
  }
}

/* CHG-0023: canonical discovery context links on Program detail. */
.program-context-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.program-context-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.program-context-links a{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:6px 10px;color:inherit;text-decoration:none;font-size:.84rem;font-weight:700}
.program-context-links a:hover,.program-context-links a:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   UI-0011 — Program detail conversion layout
   ============================================================ */
.program-detail-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
  margin-top:36px;
}
.program-detail-layout>main{min-width:0}
.program-detail-layout>main>.detail-section:first-child{margin-top:0}
.program-detail-layout .detail-section{margin-bottom:48px}
.offering-card-grid>.offering-card:only-child{grid-column:1/-1}
.program-detail-sidebar{top:88px}
.program-contact-card{
  padding:26px;
  border-color:#cfd8e2;
  border-radius:18px;
  box-shadow:0 14px 38px rgba(20,35,60,.09);
}
.program-contact-card .eyebrow{margin-bottom:8px}
.program-contact-card h3{font-size:1.45rem;line-height:1.18;margin:.15rem 0 .75rem}
.program-contact-card p:not(.eyebrow){font-size:.92rem;line-height:1.65;margin-bottom:16px}
.program-contact-card .button-accent{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.program-contact-card .button-secondary{display:flex;align-items:center;justify-content:center}
.university-showcase{padding:26px}
.university-info-grid{margin:22px 0 18px}
.university-description{line-height:1.65}
.university-media-grid{margin-top:18px}
.university-media-item{height:128px}
.university-media-featured{height:265px}
.related-program-card{min-height:280px}
@media(max-width:1000px){
  .program-detail-layout{grid-template-columns:1fr;margin-top:28px}
  .program-detail-sidebar{order:-1;position:static}
  .program-contact-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:10px 12px;
    align-items:center;
  }
  .program-contact-card .eyebrow,.program-contact-card h3,.program-contact-card p:not(.eyebrow){grid-column:1/2}
  .program-contact-card .eyebrow{margin:0}
  .program-contact-card h3{margin:0}
  .program-contact-card p:not(.eyebrow){margin:0}
  .program-contact-card .button{width:auto;margin:0;white-space:nowrap}
  .program-contact-card .button-accent{grid-column:2;grid-row:1/3}
  .program-contact-card .button-secondary{grid-column:3;grid-row:1/3}
  .program-contact-card .secondary-card-link{grid-column:2/4;margin:0;text-align:start}
}
@media(max-width:720px){
  .program-detail-layout{margin-top:20px}
  .program-detail-layout .detail-section{margin-bottom:38px}
  .program-contact-card{display:block;padding:20px}
  .program-contact-card h3{margin:.2rem 0 .6rem}
  .program-contact-card p:not(.eyebrow){margin-bottom:12px}
  .program-contact-card .button{width:100%;margin-top:9px}
  .program-contact-card .secondary-card-link{text-align:center;margin-top:12px}
  .university-showcase{padding:20px}
  .university-media-item{height:120px}
  .university-media-featured{height:220px}
}

/* UI-0011 stabilization — mobile Program Detail density. */
.university-description-toggle{display:none}
.university-description-less{display:none}
@media(max-width:720px){
  /* Keep the hero readable below the mobile header and remove duplicate summary surfaces. */
  .program-detail-hero{padding:88px 26px 48px}
  .program-university-mini-card{display:none}
  .program-summary-grid{display:none}
  .program-contact-card p:not(.eyebrow){font-size:.86rem;line-height:1.5;margin-bottom:10px}
  .university-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
  .university-info-grid div{padding:10px 11px;min-width:0}
  .university-description-collapsible{position:relative}
  .university-description-copy{max-height:7.6em;overflow:hidden;line-height:1.55}
  .university-description-collapsible:not(.is-expanded) .university-description-copy::after{content:"";position:absolute;inset-inline:0;bottom:34px;height:2.8em;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}
  .university-description-collapsible.is-expanded .university-description-copy{max-height:none}
  .university-description-toggle{display:inline-flex;border:0;background:transparent;padding:5px 0;margin-top:3px;color:var(--link);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
  .university-description-collapsible.is-expanded .university-description-more{display:none}
  .university-description-collapsible.is-expanded .university-description-less{display:inline}
  .university-media-grid{display:block;margin-top:14px}
  .university-media-item,.university-media-featured{display:block;width:100%;height:auto;aspect-ratio:16/9;margin-top:9px}
  .university-media-item img{width:100%;height:100%;object-fit:cover}
  .related-program-grid{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;margin-inline:-4px;padding:2px 4px 12px;scroll-snap-type:x mandatory;scroll-padding-inline:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .related-program-grid::-webkit-scrollbar{display:none}
  .related-program-card{flex:0 0 min(84vw,280px);min-height:250px;scroll-snap-align:start}
}

/* UI-0011 stabilization — align the mobile Program Detail with the approved visual direction. */
.program-contact-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.program-contact-secondary-actions .button{margin-top:0}
@media(max-width:720px){
  /* Hero: keep the title block clearly inset from the viewport and let the university card bridge sections. */
  .program-detail-hero{
    overflow:visible;
    padding:92px 24px 104px;
  }
  .program-detail-copy{padding-inline:4px}
  .program-breadcrumbs{line-height:1.55;margin-bottom:18px}
  .program-degree-label{margin-top:0}
  .program-detail-copy h1{
    margin-top:.35rem;
    font-size:clamp(2.15rem,11vw,3rem);
    line-height:1.08;
    letter-spacing:-.035em;
  }
  .program-hero-university{font-size:.96rem;line-height:1.55;margin-bottom:0}
  /* The compact fact row below the hero owns degree/language/duration/mode on mobile. */
  .program-fact-pills{display:none}
  .program-context-links{margin-top:16px}
  .program-context-links a{padding:6px 10px;font-size:.76rem;background:rgba(6,28,48,.28)}
  .program-university-mini-card{
    display:flex;
    position:absolute;
    inset-inline:18px;
    bottom:-72px;
    max-width:none;
    min-height:144px;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
    padding:16px 18px;
    border-color:#d9e1e8;
    border-radius:18px;
    box-shadow:0 15px 34px rgba(17,39,65,.14);
  }
  .program-university-mini-card img{width:56px;height:56px;border-radius:50%;padding:5px}
  .program-university-mini-card strong{font-size:1.02rem}
  .program-university-mini-card a{margin-top:2px}
  .program-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:92px;
    border:1px solid var(--border);
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 5px 16px rgba(20,35,60,.035);
  }
  .program-summary-card{
    min-width:0;
    padding:12px 5px 13px;
    text-align:center;
    border-bottom:0!important;
    border-inline-end:1px solid var(--border)!important;
  }
  .program-summary-card:last-child{border-inline-end:0!important}
  .program-summary-card span{
    font-size:.59rem;
    letter-spacing:0;
    text-transform:none;
    line-height:1.3;
  }
  .program-summary-card strong{font-size:.76rem;line-height:1.35;margin-top:4px;overflow-wrap:anywhere}

  /* Conversion: one dominant action, two equal secondary actions, then a low-emphasis context link. */
  .program-detail-layout{margin-top:14px}
  .program-contact-card{
    padding:18px;
    border-radius:16px;
    box-shadow:0 10px 26px rgba(20,35,60,.07);
  }
  .program-contact-card .eyebrow{text-align:start}
  .program-contact-card h3{font-size:1.12rem;margin:.15rem 0 .45rem}
  .program-contact-card p:not(.eyebrow){font-size:.79rem;line-height:1.55;margin-bottom:9px}
  .program-contact-card .button-accent{min-height:44px;margin-top:7px}
  .program-contact-secondary-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .program-contact-secondary-actions .button{width:100%;min-width:0;margin:0;padding-inline:8px;font-size:.76rem}
  .program-contact-card>.button-secondary{display:none}
  .program-contact-card .secondary-card-link{font-size:.72rem;margin-top:9px}

  /* Content density: visually separate sections without stretching the page. */
  .program-detail-layout .detail-section{margin-bottom:30px}
  .detail-section h2{font-size:1.48rem;margin-bottom:13px}
  .section-heading{align-items:end;gap:12px}
  .section-heading .muted{font-size:.7rem}
  .offering-card{padding:18px;border-radius:15px}
  .offering-price-block{margin:16px 0 13px;padding:14px 0}
  .offering-price-block strong{font-size:1.55rem}

  /* University block follows the compact 3x2 information grid from the approved mobile direction. */
  .university-showcase{padding:17px;border-radius:17px;background:#fff}
  .university-showcase-header{display:flex;align-items:center;gap:12px}
  .university-showcase-title{gap:10px;min-width:0}
  .university-showcase-title img{width:54px;height:54px;border-radius:50%;padding:5px;flex:0 0 54px}
  .university-showcase-title h2{font-size:1.2rem;line-height:1.25}
  .university-showcase-title p:last-child{font-size:.75rem}
  .university-showcase-header .button{margin-top:0;margin-inline-start:auto;padding:8px 10px;font-size:.72rem;white-space:nowrap}
  .university-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:15px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
  .university-info-grid div{padding:11px 5px;border:0;border-inline-end:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;text-align:center}
  .university-info-grid div:nth-child(3n){border-inline-end:0}
  .university-info-grid div:nth-last-child(-n+3){border-bottom:0}
  .university-info-grid span{font-size:.58rem;letter-spacing:0;text-transform:none;line-height:1.3}
  .university-info-grid strong{font-size:.7rem;line-height:1.3;overflow-wrap:anywhere}
  .university-description{font-size:.8rem;line-height:1.65}
  .university-description-copy{max-height:5.3em}
  .university-media-grid{margin-top:12px}
  .university-media-item,.university-media-featured{aspect-ratio:16/7.5;border-radius:11px}
  .university-showcase-actions{justify-content:space-between;gap:10px;margin-top:12px;font-size:.72rem}

  /* Related Programs: show several cards at once so the horizontal interaction is obvious. */
  .related-program-grid{gap:9px;margin-inline:-2px;padding-inline:2px}
  .related-program-card{
    flex:0 0 min(44vw,168px);
    min-height:205px;
    padding:13px;
    border-radius:12px;
  }
  .related-program-university{font-size:.63rem}
  .related-program-university img{width:22px;height:22px}
  .related-program-card h3{font-size:.86rem;line-height:1.3}
  .related-program-card .muted{font-size:.67rem}
  .related-program-card .badges{display:none}
  .related-program-price{margin-top:auto;padding-top:10px}
  .related-program-price strong{font-size:.95rem}
  .related-program-price span,.related-program-card .card-action{font-size:.65rem}

  /* More-from-university remains a short scan list. */
  .more-program-list{gap:6px}
  .more-program-row{padding:11px 12px;border-radius:9px;gap:10px}
  .more-program-row>div strong{font-size:.8rem}
  .more-program-row>div span{font-size:.66rem}
  .more-program-price{font-size:.78rem;white-space:nowrap}
}

/* UI-0011 final mobile composition — implement the approved AFTER reference. */
.program-university-mini-card-mobile{display:none}
@media(max-width:720px){
  /* The hero owns only discovery context; facts live in the row below it. */
  .program-detail-hero{
    position:relative;
    overflow:visible;
    margin-bottom:76px;
    padding:54px 24px 72px;
    min-height:290px;
  }
  .program-detail-hero-inner{display:block}
  .program-detail-copy{padding:0 8px;max-width:none}
  .program-breadcrumbs{margin:0 0 24px;line-height:1.7;font-size:.72rem}
  .program-degree-label{margin:0 0 8px}
  .program-detail-copy h1{
    max-width:none;
    margin:0 0 10px;
    font-size:clamp(2rem,10vw,2.65rem);
    line-height:1.16;
    letter-spacing:-.025em;
  }
  .program-hero-university{font-size:.88rem;line-height:1.65}
  .program-fact-pills{display:none!important}
  .program-context-links{margin-top:14px}
  .program-context-links a{font-size:.72rem;padding:6px 9px}
  .program-university-mini-card-desktop{display:none!important}
  .program-university-mini-card-mobile{
    display:flex!important;
    position:absolute;
    z-index:4;
    inset-inline:28px;
    bottom:-62px;
    min-height:124px;
    padding:14px 18px;
    align-items:center;
    justify-content:center;
    gap:4px;
    text-align:center;
    border:1px solid #dce3ea;
    border-radius:17px;
    background:#fff;
    box-shadow:0 14px 34px rgba(17,39,65,.14);
  }
  .program-university-mini-card-mobile img{width:46px;height:46px;border-radius:50%;padding:4px}
  .program-university-mini-card-mobile strong{font-size:.96rem;line-height:1.3}
  .program-university-mini-card-mobile span{font-size:.7rem}
  .program-university-mini-card-mobile a{font-size:.73rem;margin-top:1px}

  /* Exactly one compact, four-cell facts surface. */
  .program-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    margin:0 0 14px!important;
    border:1px solid var(--border)!important;
    border-radius:14px!important;
    overflow:hidden;
    background:#fff;
    box-shadow:0 5px 16px rgba(20,35,60,.035);
  }
  .program-summary-card,
  .program-summary-card:nth-child(2),
  .program-summary-card:nth-child(-n+2),
  .program-summary-card:last-child{
    min-width:0;
    padding:11px 4px!important;
    text-align:center;
    border-bottom:0!important;
    border-inline-end:1px solid var(--border)!important;
  }
  .program-summary-card:last-child{border-inline-end:0!important}
  .program-summary-card span{font-size:.56rem!important;line-height:1.25;text-transform:none!important;letter-spacing:0!important}
  .program-summary-card strong{font-size:.72rem!important;line-height:1.3;margin-top:4px!important;overflow-wrap:anywhere}

  /* Request follows facts and is the strongest action surface. */
  .program-detail-layout{display:flex!important;flex-direction:column;margin-top:0!important;gap:0}
  .program-detail-sidebar{order:-1!important;width:100%;margin:0 0 28px;position:static!important}
  .program-contact-card{padding:17px!important;border-radius:15px!important;text-align:start}
  .program-contact-card h3{font-size:1.08rem!important;margin:.12rem 0 .35rem!important}
  .program-contact-card p:not(.eyebrow){font-size:.76rem!important;line-height:1.5!important;margin-bottom:8px!important}
  .program-contact-card .button-accent{display:flex;align-items:center;justify-content:center;min-height:42px;margin:6px 0 0!important}
  .program-contact-secondary-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}
  .program-contact-secondary-actions .button{display:flex!important;width:100%!important;min-height:38px;margin:0!important;padding:7px 6px!important;align-items:center;justify-content:center;font-size:.7rem!important;white-space:normal!important}
  .program-contact-card .secondary-card-link{margin-top:8px!important;font-size:.68rem!important;text-align:center}

  /* Main sections follow the approved compact rhythm. */
  .program-detail-layout>main{width:100%}
  .program-detail-layout .detail-section{margin-bottom:28px!important}
  .detail-section h2{font-size:1.38rem!important;line-height:1.25;margin:.15rem 0 12px!important}
  .section-heading{margin-bottom:10px}
  .section-heading .muted{font-size:.66rem}
  .offering-card-grid{grid-template-columns:1fr!important}
  .offering-card{padding:16px!important;border-radius:14px!important}
  .offering-card-head>div span{font-size:.72rem}
  .offering-price-block{margin:13px 0 11px!important;padding:12px 0!important}
  .offering-price-block strong{font-size:1.48rem!important}
  .offering-facts{gap:7px}
  .offering-facts dt,.offering-facts dd{font-size:.72rem}

  /* University card: header + exact 3x2 facts + short copy + wide media. */
  .university-showcase{padding:15px!important;border-radius:16px!important;background:#fff!important}
  .university-showcase-header{display:flex!important;align-items:center!important;gap:8px!important}
  .university-showcase-title{gap:8px!important;min-width:0;flex:1}
  .university-showcase-title img{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important;padding:4px!important}
  .university-showcase-title h2{font-size:1.02rem!important;line-height:1.25!important;margin:0!important}
  .university-showcase-title .eyebrow{display:none}
  .university-showcase-title p:last-child{font-size:.66rem!important;margin-top:2px!important}
  .university-showcase-header .button{margin:0!important;padding:7px 8px!important;font-size:.65rem!important;white-space:nowrap}
  .university-info-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    margin:13px 0!important;
    border:1px solid var(--border);
    border-radius:11px;
    overflow:hidden;
  }
  .university-info-grid div{
    padding:9px 3px!important;
    min-width:0;
    text-align:center;
    border:0!important;
    border-inline-end:1px solid var(--border)!important;
    border-bottom:1px solid var(--border)!important;
    border-radius:0!important;
  }
  .university-info-grid div:nth-child(3n){border-inline-end:0!important}
  .university-info-grid div:nth-last-child(-n+3){border-bottom:0!important}
  .university-info-grid span{font-size:.53rem!important;line-height:1.25;text-transform:none!important;letter-spacing:0!important}
  .university-info-grid strong{font-size:.65rem!important;line-height:1.3;margin-top:3px!important;overflow-wrap:anywhere}
  .university-description{font-size:.74rem!important;line-height:1.6!important}
  .university-description-copy{max-height:4.9em!important}
  .university-media-grid{display:block!important;margin-top:11px!important}
  .university-media-item,.university-media-featured{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/7!important;margin-top:8px;border-radius:10px!important}
  .university-media-grid .university-media-item:not(:first-child){display:none!important}
  .university-showcase-actions{justify-content:space-between!important;gap:8px!important;margin-top:10px!important;font-size:.66rem!important}

  /* Related cards show multiple choices at once, like the reference. */
  .related-program-grid{display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;margin-inline:-2px!important;padding:2px 2px 10px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .related-program-grid::-webkit-scrollbar{display:none}
  .related-program-card{flex:0 0 min(42vw,158px)!important;min-height:190px!important;padding:11px!important;border-radius:11px!important;scroll-snap-align:start}
  .related-program-university{font-size:.58rem!important;gap:5px!important}
  .related-program-university img{width:20px!important;height:20px!important}
  .related-program-card h3{font-size:.79rem!important;line-height:1.3!important;margin:.3rem 0!important}
  .related-program-card .muted{font-size:.61rem!important}
  .related-program-card .badges{display:none!important}
  .related-program-price{margin-top:auto!important;padding-top:8px!important}
  .related-program-price strong{font-size:.88rem!important}
  .related-program-price span,.related-program-card .card-action{font-size:.6rem!important}

  .more-program-list{gap:6px!important}
  .more-program-row{padding:10px 11px!important;border-radius:9px!important;gap:10px!important}
  .more-program-row>div span{font-size:.66rem!important}
  .more-program-row strong{font-size:.76rem!important}
  .more-program-price{font-size:.76rem!important}
}

/* UI-0011 visual polish — final narrow-screen spacing and hierarchy pass. */
@media(max-width:720px){
  .program-detail-hero{
    min-height:330px;
    margin-bottom:82px;
    padding:68px 26px 92px;
  }
  .program-detail-copy{padding-inline:10px}
  .program-breadcrumbs{margin-bottom:20px;font-size:.74rem;line-height:1.75}
  .program-degree-label{margin-bottom:10px}
  .program-detail-copy h1{
    margin-bottom:12px;
    font-size:clamp(2.15rem,10.5vw,2.8rem);
    line-height:1.2;
    letter-spacing:-.02em;
  }
  .program-hero-university{font-size:.92rem;line-height:1.7}
  .program-context-links{gap:7px;margin-top:17px}
  .program-context-links a{padding:7px 10px;font-size:.73rem;line-height:1.35}

  .program-university-mini-card-mobile{
    left:50%;
    right:auto;
    inset-inline:auto;
    width:calc(100% - 48px);
    margin:0;
    transform:translateX(-50%);
    box-sizing:border-box;
    bottom:-66px;
    min-height:132px;
    padding:16px 18px;
    gap:5px;
  }
  .program-university-mini-card-mobile img{
    display:block;
    width:50px;
    height:50px;
    margin-inline:auto;
  }
  .program-university-mini-card-mobile strong{font-size:1rem}
  .program-university-mini-card-mobile span{font-size:.72rem;line-height:1.45}
  .program-university-mini-card-mobile a{font-size:.75rem;margin-top:3px}

  .program-summary-grid{
    min-height:68px;
    margin-bottom:18px!important;
  }
  .program-summary-card,
  .program-summary-card:nth-child(2),
  .program-summary-card:nth-child(-n+2),
  .program-summary-card:last-child{
    display:flex;
    min-height:68px;
    padding:12px 6px!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .program-summary-card span{font-size:.62rem!important;line-height:1.35}
  .program-summary-card strong{font-size:.78rem!important;line-height:1.4;margin-top:5px!important}

  .program-detail-sidebar{margin-bottom:34px}
  .program-contact-card{padding:19px!important}
  .program-contact-card .eyebrow{margin-bottom:5px!important}
  .program-contact-card h3{font-size:1.14rem!important;line-height:1.35!important;margin-bottom:6px!important}
  .program-contact-card p:not(.eyebrow){font-size:.79rem!important;line-height:1.65!important;margin-bottom:10px!important}
  .program-contact-card .button-accent{min-height:44px;margin-top:8px!important;font-size:.84rem}
  .program-contact-secondary-actions{gap:9px!important;margin-top:9px!important}
  .program-contact-secondary-actions .button{min-height:40px;padding:8px 7px!important;font-size:.73rem!important;line-height:1.35}
  .program-contact-card .secondary-card-link{margin-top:10px!important;font-size:.71rem!important}

  .program-detail-layout .detail-section{margin-bottom:34px!important}
  .detail-section h2{font-size:1.44rem!important;line-height:1.35!important;margin-bottom:14px!important}
  .section-heading{margin-bottom:12px}
  .offering-card{padding:18px!important}

  .university-showcase{padding:17px!important}
  .university-showcase-header{gap:10px!important}
  .university-showcase-title{gap:10px!important}
  .university-showcase-title img{width:48px!important;height:48px!important;flex-basis:48px!important}
  .university-showcase-title h2{font-size:1.06rem!important;line-height:1.35!important}
  .university-showcase-title p:last-child{font-size:.69rem!important;line-height:1.45}
  .university-showcase-header .button{padding:8px 9px!important;font-size:.67rem!important}
  .university-info-grid{margin:16px 0!important}
  .university-info-grid div{min-height:58px;padding:10px 5px!important}
  .university-info-grid span{font-size:.56rem!important;line-height:1.35}
  .university-info-grid strong{font-size:.69rem!important;line-height:1.4;margin-top:4px!important}
  .university-description{font-size:.77rem!important;line-height:1.7!important}
  .university-description-copy{max-height:5.1em!important}
  .university-description-toggle{
    margin-top:6px;
    padding:6px 8px;
    border-radius:8px;
    background:#f4f7fa;
    font-size:.76rem;
  }
  .university-media-item,.university-media-featured{aspect-ratio:16/7.5!important;margin-top:12px!important}
  .university-showcase-actions{margin-top:12px!important;font-size:.69rem!important}

  .related-program-grid{gap:10px!important;padding-bottom:12px!important}
  .related-program-card{
    flex-basis:min(46vw,176px)!important;
    min-height:208px!important;
    padding:12px!important;
  }
  .related-program-university{font-size:.61rem!important}
  .related-program-card h3{font-size:.84rem!important;line-height:1.4!important;margin:.4rem 0!important}
  .related-program-card .muted{font-size:.64rem!important;line-height:1.45}
  .related-program-price strong{font-size:.94rem!important}
  .related-program-price span,.related-program-card .card-action{font-size:.63rem!important}
}


/* UI-0011 stabilization — mobile hero has no redundant University bridge card. */
@media(max-width:720px){
  .program-university-mini-card-mobile{display:none!important}
  .program-detail-hero{
    margin-bottom:14px!important;
    padding-bottom:64px!important;
  }
  .program-summary-grid{margin-top:0!important}
}
