/* UON Hub V31 — Course Center */
.course-center-shell{min-height:100vh;background:linear-gradient(180deg,#f8fbff 0,#fff 42%)}
.course-center-hero{padding:72px 0 34px;border-bottom:1px solid #e7edf5;background:radial-gradient(circle at 85% 0,rgba(28,200,245,.14),transparent 38%),#fff}
.course-center-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #dce7f2;border-radius:999px;font-weight:800;color:#147a9b;background:#f6fcff}
.course-center-hero h1{margin:14px 0 8px;font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.08;color:#0a1930}
.course-center-hero p{max-width:720px;color:#607086;font-size:1.05rem;line-height:1.8}
.course-center-main{padding:30px 0 72px}
.course-toolbar{position:sticky;top:74px;z-index:8;display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:10px;padding:14px;margin-bottom:18px;border:1px solid #e3eaf2;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 12px 35px rgba(24,45,75,.07)}
.course-toolbar input,.course-toolbar select{width:100%;min-height:48px;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#12223a;padding:0 14px;font:inherit}
.course-toolbar input:focus,.course-toolbar select:focus{outline:3px solid rgba(28,200,245,.18);border-color:#22a8d3}
.course-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 2px 20px;color:#65748a}.course-summary-row strong{color:#10233d}.course-summary-row .view-toggle{display:flex;gap:6px}.course-summary-row button{border:1px solid #dce5ef;background:#fff;border-radius:10px;padding:8px 11px;cursor:pointer}.course-summary-row button.active{background:#0d2039;color:#fff;border-color:#0d2039}
.course-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-catalog.list-view{grid-template-columns:1fr}
.v31-course-card{display:flex;flex-direction:column;min-height:245px;border:1px solid #e3eaf2;border-radius:18px;background:#fff;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.v31-course-card:hover{transform:translateY(-4px);border-color:#b9dcea;box-shadow:0 18px 44px rgba(28,57,90,.1)}
.v31-course-card>a:first-child{display:flex;flex:1;flex-direction:column;padding:20px;color:inherit;text-decoration:none}.v31-course-card-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.v31-course-code{font-size:1.35rem;font-weight:900;letter-spacing:.03em;color:#0a213d}.v31-course-hours{white-space:nowrap;padding:5px 9px;border-radius:999px;background:#eff9fd;color:#147a9b;font-size:.78rem;font-weight:800}.v31-course-college{margin:13px 0 8px;color:#1b93bb;font-weight:800;font-size:.82rem}.v31-course-card h2{font-size:1.1rem;margin:0 0 7px;color:#152640}.v31-course-card p{margin:0;color:#6a798d;line-height:1.7;font-size:.92rem}.v31-course-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid #edf1f6;background:#fbfdff}.v31-course-card footer a{font-size:.86rem}.course-empty{grid-column:1/-1;padding:46px 20px;text-align:center;border:1px dashed #cfdbe8;border-radius:18px;background:#fff;color:#66758a}.course-empty strong{display:block;color:#172a45;font-size:1.15rem;margin-bottom:6px}
.course-detail-hero{padding:62px 0 28px;border-bottom:1px solid #e5ecf4;background:radial-gradient(circle at 90% 0,rgba(28,200,245,.16),transparent 40%),#fff}.course-detail-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.course-detail-top h1{font-size:clamp(2rem,5vw,3.8rem);margin:10px 0;color:#0d213d}.course-detail-meta{display:flex;flex-wrap:wrap;gap:8px}.course-detail-meta span{padding:7px 10px;border-radius:999px;background:#f1f6fa;color:#52647a;font-size:.86rem}.course-detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.course-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;padding:28px 0 70px}.course-detail-main{min-width:0}.course-side{display:grid;align-content:start;gap:12px}.course-side-card{padding:17px;border:1px solid #e1e9f1;border-radius:16px;background:#fff}.course-side-card h3{margin:0 0 12px;color:#152941}.course-side-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.course-side-stats div{padding:12px;border-radius:12px;background:#f7fafc}.course-side-stats strong{display:block;font-size:1.4rem;color:#1688ae}.course-side-stats span{font-size:.78rem;color:#6a788b}
.course-tabs{display:flex;gap:7px;overflow:auto;padding:7px;margin-bottom:16px;border:1px solid #e1e8f0;border-radius:14px;background:#fff}.course-tabs button{white-space:nowrap;border:0;border-radius:10px;background:transparent;padding:10px 13px;color:#657489;font:inherit;font-weight:700;cursor:pointer}.course-tabs button.active{background:#0e223c;color:#fff}.course-panel{display:none}.course-panel.active{display:grid;gap:12px}.course-panel-card{padding:20px;border:1px solid #e1e9f1;border-radius:16px;background:#fff}.course-panel-card h2,.course-panel-card h3{margin-top:0;color:#142842}.course-panel-card p{color:#657489;line-height:1.8}.course-resource{display:flex;justify-content:space-between;gap:16px;padding:17px;border:1px solid #e1e9f1;border-radius:15px;background:#fff}.course-resource h3{margin:5px 0;color:#172a44}.course-resource p{margin:0;color:#6b7a8d}.course-resource-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.course-rating-stars{color:#e3a008;font-size:1.15rem;letter-spacing:1px}.course-prereq-list{display:flex;flex-wrap:wrap;gap:8px}.course-prereq-list a{padding:8px 11px;border-radius:10px;background:#eef8fc;color:#167b9c;font-weight:800;text-decoration:none}.course-skeleton{height:230px;border-radius:18px;background:linear-gradient(90deg,#f2f5f8 25%,#e8edf3 37%,#f2f5f8 63%);background-size:400% 100%;animation:courseShimmer 1.3s infinite}@keyframes courseShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:980px){.course-toolbar{grid-template-columns:1fr 1fr}.course-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-grid{grid-template-columns:1fr}.course-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.course-center-hero{padding-top:45px}.course-toolbar{position:static;grid-template-columns:1fr}.course-catalog{grid-template-columns:1fr}.course-detail-top{align-items:flex-start;flex-direction:column}.course-side{grid-template-columns:1fr}.course-resource{flex-direction:column}.course-summary-row{align-items:flex-start;flex-direction:column}.course-center-main{padding-top:20px}}


/* V31.3 — visual consistency and stronger light/dark contrast */
.course-center-shell{background:linear-gradient(180deg,#f4f9fc 0,#ffffff 46%)}
.course-center-hero{background:
 radial-gradient(circle at 88% 8%,rgba(19,181,181,.18),transparent 35%),
 radial-gradient(circle at 8% 100%,rgba(20,66,112,.08),transparent 34%),
 linear-gradient(135deg,#ffffff 0%,#f5fbfc 100%)}
.course-center-hero .eyebrow{border-color:#bfe4e4;color:#087f82;background:#ecfbfa}
.course-center-hero h1{color:#0b2038}
.course-center-hero p{color:#5b6d7f}
.course-toolbar{border-color:#d7e6eb;background:rgba(255,255,255,.96);box-shadow:0 16px 42px rgba(11,32,56,.09)}
.course-toolbar input,.course-toolbar select{border-color:#ccdce3;background:#fff;color:#0b2038}
.course-toolbar input:focus,.course-toolbar select:focus{outline:3px solid rgba(11,160,162,.16);border-color:#0ba0a2}
.course-summary-row button.active,.course-tabs button.active{background:#0b2038;border-color:#0b2038}
.v31-course-card{border-color:#dce7eb;box-shadow:0 8px 24px rgba(11,32,56,.04)}
.v31-course-card:hover{border-color:#72c9c8;box-shadow:0 18px 42px rgba(11,32,56,.11)}
.v31-course-code{color:#0b2038}.v31-course-hours{background:#e9f9f8;color:#087f82}
.v31-course-college{color:#079497}.v31-course-card footer{background:#f7fbfc}

html[data-theme="dark"] .course-center-shell{background:linear-gradient(180deg,#091728 0,#0d1d31 45%,#0b192a 100%)}
html[data-theme="dark"] .course-center-hero{border-color:#21364d;background:radial-gradient(circle at 86% 0,rgba(15,180,179,.18),transparent 38%),linear-gradient(135deg,#0b1a2d,#10243a)}
html[data-theme="dark"] .course-center-hero h1,html[data-theme="dark"] .course-summary-row strong{color:#f4f8fc}
html[data-theme="dark"] .course-center-hero p,html[data-theme="dark"] .course-summary-row{color:#aab8c8}
html[data-theme="dark"] .course-center-hero .eyebrow{background:#0d323b;border-color:#195562;color:#62ded7}
html[data-theme="dark"] .course-toolbar{background:rgba(12,29,48,.96);border-color:#263c52;box-shadow:0 18px 45px rgba(0,0,0,.24)}
html[data-theme="dark"] .course-toolbar input,html[data-theme="dark"] .course-toolbar select{background:#10243a;border-color:#30475d;color:#eef5fb}
html[data-theme="dark"] .course-toolbar input::placeholder{color:#8ea0b3}
html[data-theme="dark"] .v31-course-card,html[data-theme="dark"] .course-empty,html[data-theme="dark"] .course-summary-row button{background:#10243a;border-color:#2a4056;color:#eef5fb}
html[data-theme="dark"] .v31-course-card h2,html[data-theme="dark"] .v31-course-code,html[data-theme="dark"] .course-empty strong{color:#f4f8fc}
html[data-theme="dark"] .v31-course-card p{color:#a8b7c7}
html[data-theme="dark"] .v31-course-card footer{background:#0d2035;border-color:#263c52}
html[data-theme="dark"] .course-skeleton{background:linear-gradient(90deg,#10243a 25%,#183149 37%,#10243a 63%);background-size:400% 100%}
