* { box-sizing: border-box; }
:root { --bg:#f3f6fb; --card:#fff; --text:#102033; --muted:#5d6b7a; --blue:#1f5fbf; --blue-dark:#17498f; --border:#d8e1ee; --green:#16794c; --shadow:0 12px 30px rgba(16,32,51,.10); }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:linear-gradient(180deg,#eaf1fb 0%,var(--bg) 38%); color:var(--text); }
.app { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:32px 0 48px; }
.hero { margin-bottom:20px; padding:28px; color:#fff; background:linear-gradient(135deg,var(--blue),var(--blue-dark)); border-radius:22px; box-shadow:var(--shadow); }
.eyebrow { margin:0 0 8px; opacity:.86; text-transform:uppercase; letter-spacing:.08em; font-weight:700; font-size:13px; }
h1,h2,h3 { margin:0; }
h1 { font-size:clamp(28px,4vw,44px); line-height:1.05; }
.hero p:last-child { max-width:840px; margin:14px 0 0; font-size:18px; opacity:.95; }
.card { background:var(--card); border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow); padding:22px; margin-top:18px; }
.card h2 { font-size:22px; margin-bottom:16px; }
.section-intro { margin:0 0 16px; color:var(--muted); line-height:1.5; }
.grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
label { display:grid; gap:8px; font-weight:700; color:var(--muted); }
input,select { width:100%; border:1px solid var(--border); border-radius:12px; padding:12px 14px; font-size:17px; color:var(--text); background:#fff; }
input[readonly] { background:#eef4fc; font-weight:800; }
.validation { min-height:22px; margin:12px 0 0; color:#b42318; font-weight:700; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:920px; }
th,td { border-bottom:1px solid var(--border); padding:12px 10px; text-align:left; vertical-align:top; }
th { background:#eaf1fb; color:#173b68; font-size:14px; }
td { font-size:15px; }
td.rank { font-weight:800; color:var(--blue-dark); }
.total-grade { border-top:4px solid var(--green); }
.grade-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:18px; align-items:start; }
.grade-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.score-card { margin-top:4px; padding:18px; border:1px solid #b7e4cf; border-radius:16px; background:#ecfdf5; display:grid; gap:4px; }
.score-card span { color:#24624a; font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:13px; }
.score-card strong { color:var(--green); font-size:clamp(32px,5vw,48px); line-height:1; }
.score-card small { color:#3e6b56; }
.scale-box { border:1px solid var(--border); border-radius:16px; padding:16px; background:#fbfdff; }
.scale-box h3 { font-size:18px; margin-bottom:10px; color:#173b68; }
.scale-table { min-width:0; }
.scale-table th,.scale-table td { padding:9px 8px; }
.formula-note { margin:16px 0 0; color:var(--muted); line-height:1.55; }
.note p { margin:0; color:var(--muted); line-height:1.55; }
@media (max-width:980px) { .grade-layout { grid-template-columns:1fr; } .grade-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:860px) { .grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .app { width:min(100% - 20px,1180px); padding-top:16px; } .grid,.grade-grid { grid-template-columns:1fr; } .hero,.card { padding:18px; border-radius:16px; } }

.exact-admission .section-intro { color: #536170; margin-top: -0.25rem; }
.diploma-details { margin: 1rem 0; padding: 1rem; border: 1px solid #d8e2ef; border-radius: 14px; background: #fbfdff; }
.diploma-details summary { cursor: pointer; font-weight: 800; color: #173b68; }
.program-input-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1rem; }
.mini-grid { display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 0.75rem; }
.mini-grid label { display: grid; gap: 0.3rem; font-weight: 700; color: #173b68; }
.program-table td:nth-child(5), .program-table td:nth-child(6), .program-table td:nth-child(7) { text-align: right; white-space: nowrap; }
@media (max-width: 760px) { .program-input-layout, .mini-grid { grid-template-columns: 1fr; } }
.show-more { margin-top: 0.85rem; padding: 0.7rem 1rem; border: 0; border-radius: 10px; background: #1f5fbf; color: white; font-weight: 800; cursor: pointer; }
.show-more[hidden] { display: none; }
.formula-cell { max-width: 280px; white-space: normal; color: #536170; font-size: 0.9em; }
.gender-help { margin-top: 0.25rem; }
.show-more:disabled { background: #9aa9bd; cursor: default; }
.filter-panel { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 1rem 0 0.5rem; }
.segmented-group { display: inline-flex; align-items: center; gap: 0; border: 1px solid #c9d7ea; border-radius: 999px; overflow: hidden; background: #f7fbff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); }
.segmented-title { padding: 0.55rem 0.8rem; font-weight: 800; color: #173b68; background: #eaf1fb; border-right: 1px solid #c9d7ea; }
.segmented-group label { margin: 0; display: inline-flex; align-items: center; cursor: pointer; font-weight: 700; color: #173b68; }
.segmented-group input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-group label span { display: inline-block; padding: 0.55rem 0.9rem; min-width: 2.5rem; text-align: center; border-right: 1px solid #d8e2ef; transition: background .15s ease, color .15s ease; }
.segmented-group label:last-child span { border-right: 0; }
.segmented-group input:checked + span { background: #1f5fbf; color: #fff; }
.segmented-group label:hover span { background: #dce9fb; }
.segmented-group input:checked + span:hover { background: #1f5fbf; }
@media (max-width: 760px) { .filter-panel { align-items: stretch; } .segmented-group { width: 100%; } .segmented-group.wide label { flex: 1; } .segmented-group.wide label span { width: 100%; } }
