.sc-catalog{font-family:inherit;color:#24364d;line-height:1.65;overflow-wrap:anywhere}
.sc-catalog,.sc-catalog *{box-sizing:border-box}
.sc-catalog [hidden]{display:none!important}
.sc-catalog.sc-catalog-page{max-width:1200px;margin:0 auto;padding:40px;background:#fff}
.sc-catalog h1,.sc-catalog h2,.sc-catalog h3,.sc-catalog h4{font-family:inherit;line-height:1.4;text-align:left;letter-spacing:normal;text-transform:none}
.sc-catalog h1{font-size:30px;color:var(--primary,#2276bd);margin:0 0 30px}
.sc-catalog h2{font-size:22px;margin:0;color:#24364d}
.sc-catalog h3{font-size:19px;color:#24364d;margin:0 0 14px}
.sc-catalog h4{font-size:16px;margin:0 0 10px}
.sc-catalog p{font:inherit;color:inherit;text-align:left;margin:0 0 12px}
.sc-catalog a{color:var(--primary,#2276bd);text-decoration:none}
.sc-catalog a:hover{text-decoration:underline}
.sc-catalog button:focus-visible,.sc-catalog a:focus-visible,.sc-catalog select:focus-visible{outline:2px solid var(--primary,#2276bd);outline-offset:3px}
.sc-catalog .sc-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 20px;flex-wrap:wrap}
.sc-catalog .sc-catalog-toolbar label{display:flex;align-items:center;gap:14px;font-size:14px;color:#64748b}
.sc-catalog select{appearance:none;font:inherit;color:#24364d;background:#fff url('../icons/chevron-down.svg') no-repeat right 16px center;background-size:12px;border:1px solid #dce3eb;border-radius:7px;padding:10px 42px 10px 14px;min-width:160px;height:46px}
.sc-catalog .sc-tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid #e1e7ed;margin-bottom:24px;padding:0;white-space:nowrap}
.sc-catalog .sc-tabs button{appearance:none;flex:0 0 auto;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:13px 0;line-height:1.4;font:inherit;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;box-shadow:none;margin:0}
.sc-catalog .sc-tabs button[aria-selected=true]{color:var(--primary,#2276bd);border-bottom-color:var(--primary,#2276bd)}
.sc-catalog h3.sc-group-title{margin:28px 0 22px;font-size:19px}
.sc-catalog h4.sc-elective-title{margin:22px 0 20px;color:#64748b;font-size:15px}
.sc-catalog .sc-course-row{display:grid;grid-template-columns:60px minmax(0,1fr) 210px;gap:18px;align-items:center;background:#f6f8fa;border-left:4px solid var(--primary,#2276bd);border-radius:7px;padding:13px 18px;margin:0 0 10px}
.sc-catalog .sc-course-ects{display:flex;flex-direction:column;align-items:center;font-size:12px;color:#64748b}
.sc-catalog .sc-course-ects strong{font-size:24px;line-height:1.3;color:#24364d}
.sc-catalog .sc-course-name h4{margin:0 0 1px!important;font-size:16px;font-weight:700}
.sc-catalog .sc-course-name p{font-size:14px;color:#64748b;margin:0}
.sc-catalog .sc-course-hours{font-size:13px;color:#64748b;display:flex;white-space:nowrap}
.sc-catalog .sc-course-open svg{display:block;width:12px;height:18px;fill:currentColor}
.sc-catalog .sc-subject-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:36px;align-items:start}
.sc-catalog .sc-subject-content{min-width:0}
.sc-catalog .sc-subject-summary{background:#f6f8fa;border-radius:8px;padding:24px;font-size:15px}
.sc-catalog .sc-subject-summary h2{font-size:19px;margin-bottom:20px}
.sc-catalog .sc-subject-summary h3{font-size:16px;margin-top:24px}
.sc-catalog dl{margin:0}
.sc-catalog dt{font-size:13px;color:#64748b;font-weight:500;margin:0 0 3px}
.sc-catalog dd{margin:0;color:#24364d}
.sc-catalog .sc-subject-summary dl>div+div{margin-top:16px}
.sc-catalog .sc-subject-summary ul{list-style:disc;margin:0;padding-left:18px}
.sc-catalog .sc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}
.sc-catalog .sb-content-section{margin:0 0 30px}
.sc-catalog .sb-content-section ul,.sc-catalog .sb-content-section ol{padding-left:22px;margin:0}
.sc-catalog li+li{margin-top:8px}
.sc-catalog .sb-scroll{overflow-x:auto;max-width:100%;margin:14px 0}
.sc-catalog table{width:100%;border-collapse:collapse;border:0;font-size:14px;margin:0}
.sc-catalog th,.sc-catalog td{padding:12px;text-align:left;border:0;border-bottom:1px solid #e1e7ed;vertical-align:top}
.sc-catalog th{background:#f6f8fa;font-weight:600;color:#24364d}
.sc-catalog .sb-muted,.sc-catalog .sc-empty{color:#64748b}
@media(max-width:900px){.sc-catalog.sc-catalog-page{padding:28px}.sc-catalog .sc-subject-layout{grid-template-columns:1fr}.sc-catalog .sc-subject-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sc-catalog .sc-subject-summary dl>div+div{margin-top:0}}
@media(max-width:560px){.sc-catalog.sc-catalog-page{padding:22px}.sc-catalog h1{font-size:25px}.sc-catalog .sc-tabs{gap:20px}.sc-catalog .sc-course-row{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px}.sc-catalog .sc-course-hours{grid-column:2;grid-row:2;flex-direction:row;gap:10px;flex-wrap:wrap}.sc-catalog .sc-course-open{grid-column:3;grid-row:1}.sc-catalog .sc-catalog-toolbar label{flex-wrap:wrap}.sc-catalog .sc-meta{grid-template-columns:1fr}}

.sc-catalog .sc-course-id{display:block;font-size:12px;color:#64748b;margin-bottom:3px}
.sc-catalog .sb-sub{display:block;color:#64748b;font-size:13px;margin-top:5px}
.sc-catalog .sb-svg{width:14px;height:14px}

@media(min-width:561px) and (max-width:800px){.sc-catalog .sc-course-row{grid-template-columns:52px minmax(0,1fr)}.sc-catalog .sc-course-hours{grid-column:2;grid-row:2}.sc-catalog .sc-course-open{grid-column:3;grid-row:1}}

.sc-catalog a.sc-course-row{color:#24364d;text-decoration:none;cursor:pointer}
.sc-catalog a.sc-course-row:hover{background:#edf2f7;text-decoration:none}
.sc-catalog .sc-course-name h4{color:var(--primary,#2276bd)}

.sc-catalog .sc-program-outcomes .sb-content-section>h3{margin-bottom:18px!important}
.sc-catalog h3.sc-group-title:has(+h4.sc-elective-title){margin-bottom:6px!important}
.sc-catalog h3.sc-group-title+h4.sc-elective-title{margin-top:6px!important}
.sc-catalog .sc-catalog-toolbar select[data-sc-year]{width:150px!important;min-width:150px!important;max-width:150px!important;height:38px!important;padding:7px 34px 7px 12px!important;border:1px solid #91a6bc!important;border-radius:6px;background-color:#fff!important;line-height:1.4;box-shadow:0 1px 2px rgb(36 54 77 / 6%)}

.sc-catalog table.sc-table-hours,.sc-catalog table.sc-table-evaluation,.sc-catalog table.sc-table-criteria{table-layout:fixed}
.sc-catalog .sc-table-hours th:first-child{width:76%}
.sc-catalog .sc-table-hours th:last-child,.sc-catalog .sc-table-evaluation th:last-child,.sc-catalog .sc-table-criteria th:last-child{width:24%}
.sc-catalog .sc-table-evaluation th:first-child{width:56%}
.sc-catalog .sc-table-evaluation th:nth-child(2){width:20%}
.sc-catalog .sc-table-criteria th:first-child{width:22%}
.sc-catalog .sc-table-criteria th:nth-child(2){width:54%}
@media(max-width:560px){.sc-catalog table.sc-table-hours,.sc-catalog table.sc-table-evaluation,.sc-catalog table.sc-table-criteria{min-width:520px}}

/* Consistent compact hour badges and a shared legend for menu and module. */
.sc-catalog .sc-course-hours{display:grid;grid-template-columns:repeat(4,46px);gap:6px;white-space:nowrap}
.sc-catalog .sc-hour{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px 6px;background:transparent;border:1px solid #dce5ee;border-radius:5px;font-size:12px;line-height:1.3}
.sc-catalog .sc-hour-code{color:#64748b;font-size:11px;font-weight:600}
.sc-catalog .sc-hour strong{color:#24364d;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
.sc-catalog .sc-hours-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:16px 0 2px;margin-top:14px;border-top:1px solid #e1e7ef;font-size:12px;color:#64748b}
.sc-catalog .sc-hours-legend-title{font-weight:650;color:#24364d}
.sc-catalog .sc-hours-legend strong{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:5px;background:#f1f5f9;border:1px solid #dce5ee;border-radius:4px;color:#24364d;font-size:11px}
@media(max-width:560px){.sc-catalog .sc-course-hours{gap:5px}}

.sc-catalog .sc-tabs button:hover,.sc-catalog .sc-tabs button:focus-visible{background:transparent;color:var(--primary,#2276bd);border-bottom-color:var(--primary,#2276bd)}
