@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--primary:#0f3b75;--secondary:#1473e6;--accent:#f6a609;--bg:#edf4fc;--surface:#fff;--text:#102f58;--muted:#60728c;--line:#d7e3f2;--radius:22px;--shadow:0 12px 30px rgba(36,79,130,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Poppins',Segoe UI,Arial,sans-serif}h1,h2,h3{font-family:'Poppins',Segoe UI,Arial,sans-serif;font-weight:800;margin:0;color:#082f5e}p{line-height:1.6}.eyebrow{display:block;color:#176fe5;font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;margin-bottom:.45rem}.btn{border:0;border-radius:14px;padding:.95rem 1.25rem;font-weight:800;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#1973e8;color:white}.btn.whatsapp{background:#e9fbf1;color:#07873e;border:1px solid #67d79a}.landing-page{min-height:100vh;display:grid;place-items:center;padding:32px}.landing-shell{width:min(1180px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.landing-brand{padding:64px;background:linear-gradient(145deg,#f8fbff,#e6f1ff)}.landing-logo{width:130px;margin-bottom:30px}.landing-brand h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1}.feature-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.feature-list span{padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:999px}.session-form-card{padding:54px;display:flex;flex-direction:column;justify-content:center}.session-form-card label{display:grid;gap:8px;font-weight:700;margin-bottom:18px}.session-form-card input,.session-form-card select{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.text-link{margin-top:16px;color:#176fe5}.app-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#0c346f;color:#fff;padding:24px;z-index:10}.sidebar-logo{width:90px;background:#fff;padding:8px;border-radius:12px}.app-sidebar nav{display:grid;gap:8px;margin-top:32px}.app-sidebar a{color:#dbe9ff;text-decoration:none;padding:14px;border-radius:12px;font-weight:700}.app-sidebar a.active,.app-sidebar a:hover{background:#1973e8;color:#fff}.app-shell{margin-left:250px;min-width:0}.topbar{position:sticky;top:0;z-index:8;min-height:86px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 24px}.country-chip,.people,.actions{display:flex;align-items:center;gap:12px}.country-chip img{width:34px}.people{justify-content:center}.people span{padding:10px 14px;border:1px solid var(--line);border-radius:12px}.actions{flex-wrap:wrap;justify-content:flex-end}.report-canvas{width:min(1480px,100%);margin:auto;padding:24px}.report-hero,.report-section,.report-footer{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.report-hero{display:grid;grid-template-columns:1fr auto;gap:24px;padding:34px;margin-bottom:20px;background:linear-gradient(145deg,#f8fbff,#eef5ff)}.report-hero h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1.05;margin:.3rem 0 1rem}.country-report-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #86b7ff;border-radius:999px;padding:7px 12px;background:#fff;color:#0e5cc5;font-weight:800;letter-spacing:.08em;font-size:.8rem;margin-bottom:12px}.country-report-badge img{width:24px}.hero-meta{display:grid;gap:10px;align-content:start}.hero-meta span{display:grid;gap:4px;min-width:150px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted)}.hero-meta b{color:var(--text)}.report-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start}.report-section{grid-column:span 12;padding:24px;min-width:0;overflow:visible;container-type:inline-size}.report-section.span-half{grid-column:span 6}.section-header{display:grid;grid-template-columns:auto auto 1fr;gap:16px;align-items:center;border-bottom:1px solid #e5edf7;padding-bottom:18px;margin-bottom:20px;min-width:0}.section-number{width:58px;height:58px;border-radius:50%;background:#0e71ea;color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.25rem;box-shadow:0 8px 18px rgba(14,113,234,.24)}.section-icon{width:52px;height:52px;border-radius:16px;background:#eef4ff;border:1px solid #d5e1fb;display:grid;place-items:center}.section-icon img{max-width:28px;max-height:28px}.section-header h2{font-size:clamp(1.75rem,3cqw,3rem);line-height:1.05;overflow-wrap:anywhere}.section-content{min-width:0}.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--card-min,240px),100%),1fr));gap:16px;align-items:stretch}.content-card{min-width:0;border:1px solid var(--line);border-top:4px solid #2e7dd7;border-radius:16px;padding:20px;background:#f9fbff;overflow:hidden}.content-card h3{font-size:clamp(1.15rem,2.2cqw,1.7rem);line-height:1.15;margin:.35rem 0}.content-card strong{display:block;font-size:1.05rem;margin-bottom:.4rem}.content-card p{margin:.35rem 0 0;color:var(--muted);overflow-wrap:anywhere}.card-icon{width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px}.theme-purple{border-top-color:#8a3ffc;background:#fbf8ff}.theme-green{border-top-color:#15a55b;background:#f5fff9}.theme-amber{border-top-color:#e89a00;background:#fffaf0}.theme-red{border-top-color:#e84e4e;background:#fff7f7}.section-body{font-size:1.08rem;margin:20px 0 0}.asset-frame{margin:0;display:grid;gap:14px}.asset-frame img{width:100%;height:auto;max-height:none;object-fit:contain;display:block;border-radius:16px;border:1px solid var(--line);background:#fff}.asset-frame figcaption{color:var(--muted)}.asset-placeholder{min-height:260px;display:grid;place-items:center;text-align:center;border:2px dashed #b9c9df;border-radius:16px;color:var(--muted);padding:24px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.table-wrap table{width:100%;border-collapse:collapse;min-width:640px}.table-wrap th,.table-wrap td{padding:16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap th{background:#eaf3ff}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}.checklist-grid label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdff;font-weight:700}.recommendation-box{width:100%;min-height:180px;resize:vertical;padding:18px;border:1px solid var(--line);border-radius:14px;font:inherit}.report-footer{margin-top:20px;padding:18px 24px;display:flex;justify-content:space-between;gap:20px}.test-page{padding:30px}.test-shell{width:min(1400px,100%);margin:auto}.test-shell>.report-section{margin:22px 0}.error-card{padding:24px;background:#fff;border-radius:16px;color:#b00020}@container (max-width:760px){.section-header{grid-template-columns:auto 1fr}.section-icon{display:none}.auto-grid{--card-min:220px}.section-header h2{font-size:clamp(1.65rem,7cqw,2.4rem)}}@media(max-width:1100px){.app-sidebar{width:88px;padding:18px 12px}.app-sidebar a{font-size:0}.app-sidebar a::first-letter{font-size:1rem}.sidebar-logo{width:62px}.app-shell{margin-left:88px}.report-section.span-half{grid-column:span 12}.topbar{grid-template-columns:1fr auto}.people{display:none}.report-hero{grid-template-columns:1fr}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.landing-shell{grid-template-columns:1fr}.landing-brand,.session-form-card{padding:32px}.form-grid{grid-template-columns:1fr}.app-sidebar{display:none}.app-shell{margin:0}.topbar{position:static;grid-template-columns:1fr}.actions{justify-content:stretch}.actions .btn{flex:1}.report-canvas{padding:12px}.report-hero,.report-section{padding:18px}.hero-meta{grid-template-columns:1fr}.section-number{width:48px;height:48px}.report-footer{flex-direction:column}.table-wrap table{min-width:560px}}
/* V2.1 complete-report additions */
.site-header{position:fixed;top:0;left:0;right:0;height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px 28px;z-index:20}.site-header img{height:52px;width:auto}.admin-link{color:#176fe5;text-decoration:none;font-weight:800}.landing-page{padding-top:104px;display:block}.enhanced-landing{margin:0 auto}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.feature-grid>div{display:grid;gap:5px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px}.feature-grid b{color:#176fe5}.landing-note{display:grid;gap:5px;margin-top:18px;padding:16px;border:1px solid #cfe0f5;border-radius:15px;background:#f8fbff}.session-card-head{margin-bottom:24px}.session-card-head span,.form-section-title{color:#176fe5;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.session-card-head h2{font-size:2rem;margin:.35rem 0}.form-section-title{padding-top:8px;margin:12px 0}.profile-completeness{padding:12px;border-radius:12px;background:#f4f8fd;color:var(--muted);margin-bottom:16px}.btn.full{width:100%}.landing-links{display:flex;gap:18px;flex-wrap:wrap}.site-footer{width:min(1180px,100%);margin:22px auto;padding:14px 0;display:flex;justify-content:space-between;color:var(--muted)}
.student-summary-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:20px;box-shadow:var(--shadow)}.student-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.student-summary-grid>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-left:4px solid #1973e8;border-radius:13px}.student-summary-grid span{font-size:.76rem;text-transform:uppercase;color:var(--muted)}
.fact-card{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fbfdff}.fact-card img,.course-card img{width:36px;height:36px;object-fit:contain}.fact-card span{font-size:.8rem;color:var(--muted)}.highlight-card{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-top:4px solid #2e7dd7;border-radius:16px;background:#f8fbff}.highlight-card>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f1ff;font-weight:900}.highlight-card.advantage{border-top-color:#15a55b;background:#f4fff8}.highlight-card.caution{border-top-color:#e89a00;background:#fffaf0}.highlight-card.risk{border-top-color:#e84e4e;background:#fff7f7}.map-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px}.country-map{height:480px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#d9edf7}.country-map>img{width:100%;height:100%;object-fit:contain}.city-profile{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.city-profile h3{font-size:2rem}.city-profile h4{margin:16px 0 5px}.city-note{margin-top:16px;padding:12px;border-radius:12px;background:#eef6ff}.city-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.city-chips button{border:1px solid #cfe0f5;border-radius:999px;background:#fff;padding:8px 12px;color:#0f4d9d;cursor:pointer}.course-card{padding:18px;border:1px solid var(--line);border-top:4px solid #2e7dd7;border-radius:16px;background:#f8fbff}.hub-card{min-height:150px;padding:20px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0c5d9c,#102f58)}.hub-card h3{color:#fff}.hub-card p{margin:.5rem 0;color:#fff}.hub-1{background:linear-gradient(135deg,#536b80,#152d49)}.hub-2{background:linear-gradient(135deg,#2f7b85,#18404a)}.hub-3{background:linear-gradient(135deg,#8a6848,#30343b)}.hub-4{background:linear-gradient(135deg,#416c7b,#173243)}.career-card{padding:20px;border:1px solid var(--line);border-left:5px solid #15a55b;border-radius:15px;background:#f8fffb}.process-list{margin:0;padding-left:22px;display:grid;gap:12px}.missing-document{display:flex;gap:10px;margin-top:14px}.missing-document input{flex:1;padding:13px;border:1px solid var(--line);border-radius:12px}.shortlist-empty{display:grid;place-items:center;text-align:center;gap:4px;min-height:110px;border:1px dashed #9fb8d6;border-radius:15px;color:var(--muted)}.compact-search{margin-left:auto;white-space:nowrap;padding:.75rem 1rem}.university-modal{display:none;position:fixed;inset:0;background:rgba(7,28,60,.58);z-index:100;padding:30px;overflow:auto}.university-modal.open{display:grid;place-items:center}.modal-card{width:min(900px,100%);background:#fff;border-radius:22px;padding:28px;position:relative}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:2rem}.modal-card>input{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px}.university-results{display:grid;gap:10px;max-height:300px;overflow:auto;margin:14px 0}.university-result{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.manual-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.manual-grid input,.manual-grid select{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px}
.report-section.section-uk_map,.report-section.section-process_flow{grid-column:span 6}.report-section.section-courses,.report-section.section-education,.report-section.section-intakes,.report-section.section-requirements,.report-section.section-hubs,.report-section.section-careers,.report-section.section-costs,.report-section.section-scholarships,.report-section.section-work,.report-section.section-application_docs,.report-section.section-cas_docs,.report-section.section-visa_docs,.report-section.section-visa,.report-section.section-shortlist,.report-section.section-recommendation,.report-section.section-action_plan,.report-section.section-predeparture{grid-column:span 12}
@media(max-width:1250px){.report-section.section-uk_map,.report-section.section-process_flow{grid-column:span 12}.map-layout{grid-template-columns:1fr}.country-map{height:420px}.manual-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.site-footer{padding-inline:20px}}
@media(max-width:720px){.site-header{position:static}.landing-page{padding-top:20px}.site-footer{flex-direction:column;gap:6px}.map-layout{grid-template-columns:1fr}.country-map{height:360px}.manual-grid{grid-template-columns:1fr}.missing-document{flex-direction:column}.section-header{grid-template-columns:auto 1fr}.compact-search{grid-column:1/-1;width:100%}}


/* V2.2 final landing and action refinements */
.landing-page{min-height:100vh;padding:86px 24px 18px;overflow-x:hidden}
.site-header{height:68px;padding:8px clamp(16px,3vw,32px);box-shadow:0 4px 18px rgba(15,59,117,.06)}
.site-header img{height:48px}
.enhanced-landing{min-height:calc(100vh - 126px);max-height:none;align-items:stretch}
.landing-brand,.session-form-card{padding:clamp(28px,4vw,48px)}
.landing-brand{display:flex;flex-direction:column;justify-content:center}
.landing-logo{width:112px;margin-bottom:18px}
.landing-brand h1{font-size:clamp(2.15rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.045em}
.landing-brand p{margin:.7rem 0;font-size:1rem}
.feature-grid{margin-top:20px;gap:10px}
.feature-grid>div{padding:13px}
.landing-note{margin-top:14px;padding:13px}
.session-form-card{justify-content:flex-start;overflow:visible}
.session-card-head{margin-bottom:14px}
.session-card-head h2{font-size:1.7rem}
.session-card-head p{margin:.35rem 0}
.form-section-title{margin:8px 0 4px;padding-top:2px}
.session-form-card label{margin-bottom:10px;gap:6px;font-size:.88rem}
.session-form-card input,.session-form-card select{padding:11px 12px}
.profile-completeness{padding:9px 11px;margin-bottom:11px;font-size:.84rem}
.btn.full{padding:.8rem 1rem}
.landing-links{margin-top:6px}
.site-footer{margin:10px auto 0;padding:8px 4px;font-size:.82rem}
.topbar{min-height:80px}
.actions .btn{white-space:nowrap}
.report-hero h1,.section-header h2{letter-spacing:-.035em}
.content-card h3,.course-card h3,.career-card h3,.hub-card h3{font-family:'Poppins',Segoe UI,Arial,sans-serif;font-weight:700}

@media (min-width:721px) and (min-height:760px){
  .landing-page{overflow-y:auto}
}
@media (min-width:900px) and (min-height:820px){
  .landing-page{overflow-y:hidden}
  .enhanced-landing{max-height:calc(100vh - 126px)}
  .session-form-card{overflow-y:auto}
}
@media(max-width:720px){
  .landing-page{padding:74px 12px 16px;background:var(--bg)}
  .site-header{height:62px;padding:7px 14px;background:#fff}
  .site-header img{height:44px}
  .admin-link{font-size:.9rem;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
  .landing-shell{border-radius:20px;box-shadow:0 10px 28px rgba(36,79,130,.1)}
  .landing-brand,.session-form-card{padding:24px 20px}
  .landing-brand h1{font-size:2.2rem}
  .landing-logo{width:100px;margin-bottom:16px}
  .feature-grid{grid-template-columns:1fr}
  .feature-grid>div{grid-template-columns:auto 1fr;align-items:center}
  .site-footer{padding:10px 4px;flex-direction:column;gap:3px;text-align:center}
  .topbar{padding:12px;gap:10px}
  .country-chip{justify-content:center}
  .actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .actions .btn{width:100%;padding:.8rem .65rem;font-size:.86rem}
}

/* V2.3 premium visual redesign — approved layout, stronger hierarchy */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{
  --primary:#0a2f64;
  --primary-2:#123f86;
  --secondary:#156fd1;
  --accent:#e7a83b;
  --bg:#eaf0f7;
  --surface:#ffffff;
  --text:#102c50;
  --muted:#536b87;
  --line:#cfdbea;
  --radius:20px;
  --shadow:0 16px 40px rgba(18,58,105,.11);
  --shadow-soft:0 8px 22px rgba(18,58,105,.08);
}
body{font-family:'Plus Jakarta Sans','Poppins',Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#e9f0f8 0,#f3f6fa 36%,#edf2f7 100%);color:var(--text)}
h1,h2,h3,.content-card h3,.course-card h3,.career-card h3,.hub-card h3{font-family:'Plus Jakarta Sans','Poppins',Segoe UI,Arial,sans-serif;color:#082a58;letter-spacing:-.035em}
p{color:#405a76;line-height:1.65}
.eyebrow{color:#1769c2;letter-spacing:.15em}
.btn{border-radius:12px;transition:.18s ease;box-shadow:0 5px 14px rgba(12,54,111,.09)}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(12,54,111,.14)}
.btn.primary{background:linear-gradient(135deg,#0f62bd,#1c7ee5);border:1px solid #0b58ae;color:#fff}
.btn.whatsapp{background:#0ea95b;border:1px solid #078a49;color:#fff}

/* Landing page */
.site-header{background:#fff;border-bottom:1px solid #d2deec;box-shadow:0 8px 24px rgba(12,47,100,.08)}
.admin-link{padding:9px 15px;border-radius:11px;background:#edf4ff;border:1px solid #c8d9ef;color:#0b4f9d}
.landing-page{background:
  radial-gradient(circle at 10% 20%,rgba(31,116,213,.14),transparent 31%),
  radial-gradient(circle at 88% 82%,rgba(231,168,59,.12),transparent 27%),
  linear-gradient(135deg,#e8f0f9 0%,#f6f8fb 53%,#e8eef6 100%)}
.landing-shell{border:1px solid #cbd8e7;border-radius:26px;box-shadow:0 24px 65px rgba(16,55,105,.17);background:#fff}
.landing-brand{position:relative;overflow:hidden;background:linear-gradient(150deg,#082d62 0%,#104a96 62%,#116cc3 100%);color:#fff}
.landing-brand::before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-150px;top:-145px;border:55px solid rgba(255,255,255,.07)}
.landing-brand::after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;left:-120px;bottom:-145px;background:rgba(231,168,59,.13)}
.landing-brand>*{position:relative;z-index:1}
.landing-brand .eyebrow{color:#ffd98b}
.landing-brand h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.12)}
.landing-brand p{color:#dcecff;max-width:640px}
.landing-logo{background:#fff;border-radius:15px;padding:9px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.feature-grid>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(7px);color:#fff;box-shadow:none}
.feature-grid b{color:#ffd47c;font-size:1rem}.feature-grid span{color:#edf6ff;font-size:.9rem;line-height:1.35}
.landing-note{background:rgba(4,28,67,.28);border-color:rgba(255,255,255,.18);color:#fff}.landing-note span{color:#dbeaff}
.session-form-card{background:linear-gradient(180deg,#ffffff,#f8fafd)}
.session-card-head span,.form-section-title{color:#0f61b7}
.session-card-head h2{color:#082e61}
.session-card-head p{color:#62758d}
.form-section-title{display:flex;align-items:center;gap:9px;margin-top:12px}
.form-section-title::before{content:"";width:5px;height:20px;border-radius:6px;background:linear-gradient(#176fd0,#e7a83b)}
.session-form-card label{color:#233f61}
.session-form-card input,.session-form-card select,.manual-grid input,.manual-grid select,.missing-document input,.modal-card>input,.recommendation-box{background:#fff;border:1px solid #c8d5e5;color:#173655;box-shadow:inset 0 1px 2px rgba(15,50,95,.03)}
.session-form-card input:focus,.session-form-card select:focus,.manual-grid input:focus,.manual-grid select:focus,.missing-document input:focus,.modal-card>input:focus,.recommendation-box:focus{outline:3px solid rgba(24,112,209,.15);border-color:#3e87d4}
.profile-completeness{background:#eef5ff;border:1px solid #d4e2f4;color:#4e6887}
.site-footer{color:#516984}

/* Application shell */
.app-sidebar{background:linear-gradient(180deg,#06285b 0%,#0b3977 58%,#0d4b90 100%);box-shadow:12px 0 30px rgba(5,31,70,.12)}
.sidebar-logo{padding:9px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.app-sidebar a{color:#cfe2fb;border:1px solid transparent}
.app-sidebar a.active,.app-sidebar a:hover{background:linear-gradient(135deg,#1672d3,#2388e9);border-color:rgba(255,255,255,.2);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.topbar{background:linear-gradient(90deg,#fff,#f5f8fc);border-bottom:1px solid #cbd8e7;box-shadow:0 6px 18px rgba(12,47,100,.06)}
.country-chip{padding:8px 13px;background:#eaf3ff;border:1px solid #c8d9ee;border-radius:12px;color:#0c458d}
.people span{background:#fff;border-color:#d2deeb;box-shadow:var(--shadow-soft);color:#526984}
.people b{color:#12345c}
.report-canvas{padding:28px}
.report-hero,.student-summary-panel,.report-section,.report-footer{border:1px solid #cdd9e8;box-shadow:var(--shadow)}
.report-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fdfefe 0%,#edf5ff 53%,#e2effe 100%);border-top:6px solid #0e62b9}
.report-hero::after{content:"";position:absolute;right:-85px;bottom:-115px;width:260px;height:260px;border-radius:50%;background:rgba(22,111,207,.075);pointer-events:none}
.report-hero h1{color:#092d5e;max-width:1000px}
.report-hero>*,.hero-meta{position:relative;z-index:1}
.country-report-badge{background:#0a3776;color:#fff;border-color:#0a3776;box-shadow:0 6px 14px rgba(10,55,118,.16)}
.country-report-badge img{background:#fff;border-radius:4px}
.hero-meta span{background:rgba(255,255,255,.94);border-color:#c9d8e9;box-shadow:0 7px 18px rgba(21,68,119,.08);color:#61758f}
.student-summary-panel{background:linear-gradient(90deg,#fff,#f7faff)}
.student-summary-grid>div{background:#fff;border-color:#d1ddeb;border-left-color:#156fd1;box-shadow:0 5px 13px rgba(15,55,105,.05)}
.student-summary-grid>div:nth-child(2n){border-left-color:#7259cb}.student-summary-grid>div:nth-child(3n){border-left-color:#1f9a72}.student-summary-grid>div:nth-child(4n){border-left-color:#d79725}

/* Report sections */
.report-grid{gap:24px}
.report-section{position:relative;background:#fff;border-top:5px solid #176ec9;padding:26px}
.report-section:nth-child(4n+2){background:linear-gradient(180deg,#fff,#f6f9fd);border-top-color:#7358ca}
.report-section:nth-child(4n+3){background:linear-gradient(180deg,#fff,#f3faf8);border-top-color:#269373}
.report-section:nth-child(4n+4){background:linear-gradient(180deg,#fff,#fff8ee);border-top-color:#d89628}
.section-header{border-bottom-color:#d9e3ef}
.section-number{background:linear-gradient(145deg,#0c58ac,#1e82e8);border:3px solid #e4f0ff;box-shadow:0 10px 22px rgba(15,104,198,.28)}
.report-section:nth-child(4n+2) .section-number{background:linear-gradient(145deg,#5742a7,#846be1)}
.report-section:nth-child(4n+3) .section-number{background:linear-gradient(145deg,#13765b,#2eaa83)}
.report-section:nth-child(4n+4) .section-number{background:linear-gradient(145deg,#ac6b0c,#e7aa43)}
.section-icon{background:#fff;border-color:#cbd9e9;box-shadow:0 6px 14px rgba(20,59,102,.08)}
.section-header h2{color:#0a2c59}
.content-card,.fact-card,.course-card,.highlight-card,.career-card,.city-profile,.checklist-grid label{box-shadow:0 7px 18px rgba(17,55,98,.055)}
.content-card{background:#fff;border-color:#d2deeb;border-top-width:5px;padding:21px}
.content-card p,.course-card p,.career-card p{color:#4c647f}
.card-icon,.fact-card img,.course-card img{background:#f1f6fd;border:1px solid #d7e3f1;border-radius:12px;padding:7px;box-sizing:border-box}
.theme-purple{background:#fbf9ff}.theme-green{background:#f5fbf9}.theme-amber{background:#fff9ef}.theme-red{background:#fff6f6}
.fact-card{background:#fff;border-color:#d3dfec;border-top:4px solid #1a72ce}.fact-card:nth-child(2n){border-top-color:#765dcb}.fact-card:nth-child(3n){border-top-color:#22916e}.fact-card:nth-child(4n){border-top-color:#d69627}
.highlight-card{background:#f5f9ff;border-color:#d3dfec}.highlight-card>span{background:#dfeeff;color:#0a58a8;flex:0 0 auto}
.highlight-card.advantage>span{background:#dcf4e8;color:#13714f}.highlight-card.caution>span{background:#fff0cc;color:#9a6200}.highlight-card.risk>span{background:#ffe2e2;color:#b72c2c}
.course-card{background:#fff;border-color:#d1deeb;box-shadow:0 7px 18px rgba(17,55,98,.055)}
.country-map{border-color:#bdd0e4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.city-profile{background:linear-gradient(180deg,#f9fbfe,#eef5fd);border-color:#cbd9e8}.city-note{background:#dfeeff;border-left:4px solid #166cc7;color:#324f70}
.city-chips button{background:#fff;border-color:#bfcfe1;color:#0b4b95;font-weight:700;box-shadow:0 4px 10px rgba(17,55,98,.05)}
.city-chips button:hover{background:#0f67c2;color:#fff;border-color:#0f67c2}
.table-wrap{border-color:#cbd8e6;background:#fff;box-shadow:0 7px 18px rgba(17,55,98,.045)}
.table-wrap th{background:linear-gradient(180deg,#e5f0fc,#d9e8f8);color:#0b366d;font-weight:800}.table-wrap td{color:#354f6b}.table-wrap tbody tr:nth-child(even){background:#f8fafc}
.checklist-grid label{background:#fff;border-color:#d2deeb;color:#294562}.checklist-grid input{accent-color:#146fcf}
.recommendation-box{background:#fff}
.hub-card{box-shadow:0 12px 26px rgba(12,47,84,.2);border:1px solid rgba(255,255,255,.13)}
.career-card{background:#f6fbf9;border-color:#cbe4da;border-left-color:#1e9470}
.shortlist-empty{background:#f7fafd;border-color:#aebfd2}
.report-footer{background:#0a326a;color:#fff;border-color:#0a326a}.report-footer span,.report-footer strong{color:#fff}
.modal-card{border:1px solid #cbd8e7;box-shadow:0 28px 80px rgba(7,32,72,.28)}

@media(max-width:1100px){.report-canvas{padding:20px}}
@media(max-width:720px){
  .landing-brand{background:linear-gradient(150deg,#082d62 0%,#104a96 100%)}
  .site-header{box-shadow:0 5px 18px rgba(12,47,100,.09)}
  .report-canvas{padding:12px}
  .report-section{padding:18px;border-top-width:4px}
  .report-hero{border-top-width:5px}
  .topbar{background:#fff}
  .country-chip{justify-content:flex-start}
  .section-header h2{line-height:1.12}
}

/* Preserve a clean PDF even with stronger screen styling */
.pdf-export-mode body,.pdf-export-mode .report-canvas{background:#fff!important}
.pdf-export-mode .report-section,.pdf-export-mode .report-hero,.pdf-export-mode .student-summary-panel{background:#fff!important;box-shadow:none!important}
.pdf-export-mode .report-footer{background:#0a326a!important;color:#fff!important}

/* V2.4 maintenance: branded header, country-code hint and admin-safe presentation */
.header-brand-lockup{display:flex;align-items:center;gap:13px;min-width:0}
.header-brand-lockup>div{display:grid;line-height:1.15}
.header-brand-lockup strong{font-size:.98rem;color:#0b356d;white-space:nowrap}
.header-brand-lockup span{font-size:.72rem;color:#6b7d94;margin-top:3px;letter-spacing:.025em}
.field-hint{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:-2px;color:#6a7b91;font-size:.76rem;font-weight:500}
.hint-link{border:0;background:transparent;padding:0;color:#176fe5;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.sidebar-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;line-height:1.08}
.sidebar-brand small{font-size:.62rem;color:#bdd7ff;font-weight:600}
.topbar{grid-template-columns:auto auto 1fr auto}
.topbar-brand{display:grid;line-height:1.1;min-width:220px}
.topbar-brand strong{color:#0a356e;font-size:.92rem}.topbar-brand span{color:#6c7e94;font-size:.69rem;margin-top:4px}
@media(max-width:1280px){.topbar-brand{display:none}.topbar{grid-template-columns:auto 1fr auto}}
@media(max-width:720px){
  .header-brand-lockup strong{font-size:.79rem;white-space:normal}.header-brand-lockup span{display:none}
  .site-header img{height:40px}.admin-link{font-size:.86rem}
  .topbar-brand{display:grid;min-width:0}.topbar-brand strong{font-size:.82rem}.topbar-brand span{font-size:.65rem}
  .topbar{grid-template-columns:1fr}.country-chip{order:2}.actions{order:3}
}


/* V2.5.4 fixed-screen landing workspace */
@media (min-width: 1000px) {
  html, body.landing-page { height: 100%; }
  body.landing-page {
    overflow: hidden;
    padding: 76px 16px 34px;
    display: flex;
    flex-direction: column;
  }
  .site-header { height: 64px; }
  .enhanced-landing {
    width: min(1500px, calc(100vw - 32px));
    height: calc(100vh - 110px);
    min-height: 0;
    max-height: none;
    flex: 1 1 auto;
    grid-template-columns: minmax(340px, .78fr) minmax(650px, 1.22fr);
    margin: 0 auto;
  }
  .landing-brand,
  .session-form-card { min-height: 0; }
  .landing-brand {
    padding: clamp(24px, 3vh, 38px) clamp(26px, 3vw, 46px);
    justify-content: center;
  }
  .landing-logo { width: 92px; margin-bottom: 14px; }
  .landing-brand .eyebrow { font-size: .68rem; margin-bottom: .3rem; }
  .landing-brand h1 { font-size: clamp(2rem, 3.2vw, 3.35rem); }
  .landing-brand p { font-size: .9rem; line-height: 1.45; margin: .55rem 0; }
  .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-top: 16px; }
  .feature-grid > div { padding: 10px; border-radius: 12px; font-size: .76rem; line-height: 1.3; }
  .landing-note { margin-top: 10px; padding: 10px 12px; font-size: .76rem; line-height: 1.35; }
  .session-form-card {
    padding: clamp(18px, 2.5vh, 30px) clamp(24px, 3vw, 42px);
    overflow: hidden;
    justify-content: flex-start;
  }
  .session-card-head { margin-bottom: 10px; }
  .session-card-head span { font-size: .65rem; }
  .session-card-head h2 { font-size: 1.55rem; margin: .2rem 0; }
  .session-card-head p { font-size: .78rem; margin: 0; line-height: 1.35; }
  .form-section-title { padding-top: 2px; margin: 6px 0 4px; font-size: .65rem; }
  .form-grid { gap: 0 10px; }
  .session-grid { grid-template-columns: 1fr 1fr; }
  .student-grid { grid-template-columns: 1fr 1.15fr .85fr; }
  .academic-grid { grid-template-columns: 1fr 1.2fr .75fr .85fr; }
  .session-form-card label { margin-bottom: 5px; gap: 3px; font-size: .75rem; }
  .session-form-card input,
  .session-form-card select { padding: 8px 10px; border-radius: 9px; font-size: .8rem; min-height: 36px; }
  .field-hint { font-size: .62rem; line-height: 1.15; margin-top: 1px; }
  .profile-completeness { padding: 7px 10px; margin: 4px 0 7px; font-size: .68rem; }
  .btn.full { min-height: 40px; padding: .65rem 1rem; }
  .landing-links { margin-top: 5px; font-size: .72rem; }
  .site-footer {
    position: fixed;
    bottom: 4px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: 1500px;
    margin: 0 auto;
    padding: 4px 2px;
    font-size: .68rem;
  }
}

@media (min-width: 1000px) and (max-height: 720px) {
  body.landing-page { padding-top: 68px; padding-bottom: 26px; }
  .site-header { height: 58px; }
  .enhanced-landing { height: calc(100vh - 94px); }
  .landing-brand { padding-block: 18px; }
  .landing-logo { width: 72px; margin-bottom: 8px; }
  .landing-brand h1 { font-size: 2.1rem; }
  .feature-grid { margin-top: 10px; }
  .feature-grid > div { padding: 7px; }
  .landing-note { display: none; }
  .session-form-card { padding-block: 12px; }
  .session-card-head p, .profile-completeness { display: none; }
  .session-card-head { margin-bottom: 4px; }
  .form-section-title { margin: 3px 0; }
  .session-form-card input, .session-form-card select { min-height: 32px; padding: 6px 9px; }
}

@media (max-width: 999px) {
  body.landing-page { overflow-y: auto; }
}
/* White-label role integration additions */
.header-account{display:flex;align-items:center;gap:10px}.header-account>span{display:flex;flex-direction:column;text-align:right;font-size:11px}.header-account>span small{color:#68809f}.logout-link{font-size:11px;font-weight:700;text-decoration:none;color:#60708a}.portal-ready .admin-link{visibility:visible}@media(max-width:720px){.header-account>span,.logout-link{display:none}}
:root{--brand-primary:#0b5ed7;--brand-secondary:#123456;--brand-on-primary:#fff;--brand-on-secondary:#fff}
.white-label-active .landing-brand{background:linear-gradient(145deg,var(--brand-secondary),var(--brand-primary))!important;color:var(--brand-on-secondary)!important}
.white-label-active .btn.primary,.white-label-active .full,.white-label-active .admin-link,.white-label-active .report-action-primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))!important;color:var(--brand-on-primary)!important}
.white-label-active .site-header,.white-label-active .report-topbar{border-color:color-mix(in srgb,var(--brand-primary) 25%,#dbe6f3)!important}
.white-label-active .eyebrow,.white-label-active .form-section-title,.white-label-active .session-card-head>span{color:var(--brand-primary)!important}
.header-account.role-account-clean{display:flex;align-items:center;gap:12px;white-space:nowrap}.header-account.role-account-clean>span{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-width:90px}.header-account.role-account-clean b{font-size:13px}.header-account.role-account-clean small{font-size:10px;color:#60708a;margin-top:3px}.header-account.role-account-clean a{margin:0!important;text-decoration:none}.header-account.role-account-clean .admin-link{border-radius:12px;padding:10px 15px}
@media(max-width:760px){.header-account.role-account-clean>span{display:none}.header-account.role-account-clean{gap:6px}}
