.course-catalog{--catalog-radius:.25rem;--catalog-ink:#10243f;--catalog-muted:#53657d;--catalog-border:rgba(16,36,63,.12);--catalog-surface:#fff;--catalog-surface-alt:#f4f8fb;--catalog-accent:#005b8f;--catalog-accent-strong:#b70e28;--catalog-shadow:0 22px 50px rgba(16,36,63,.12);color:var(--catalog-ink);display:grid;gap:1.5rem;margin:0 auto;max-width:90rem;padding:1rem}.course-catalog .course-catalog__controls-heading{color:var(--catalog-accent-strong);font-size:1rem;font-weight:800;grid-column:1/-1;letter-spacing:.18em;line-height:1;margin:0;text-transform:uppercase}.course-catalog__meta{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.course-catalog__meta-card{background:#ffffffd9;border:1px solid rgba(16,36,63,.08);border-radius:var(--catalog-radius);display:grid;gap:.25rem;padding:1rem}.course-catalog__meta-label{color:var(--catalog-muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.course-catalog__meta-value{color:var(--catalog-ink);font-size:1.6rem;line-height:1}.course-catalog__meta-value--date{font-size:1rem}.course-catalog__controls{align-items:end;background:var(--catalog-surface);border:1px solid var(--catalog-border);border-radius:var(--catalog-radius);box-shadow:0 18px 34px #10243f14;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));padding:1.25rem}.course-catalog__field{display:grid;gap:.45rem;min-width:0}.course-catalog__field--search{grid-column:1/-1}.course-catalog__field label{color:var(--catalog-ink);font-size:.9rem;font-weight:700}.course-catalog__clear,.course-catalog__field input,.course-catalog__field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--catalog-surface-alt);border:1px solid transparent;border-radius:var(--catalog-radius);color:var(--catalog-ink);font:inherit;min-height:3rem;padding:.8rem 1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.course-catalog__clear:focus,.course-catalog__field input:focus,.course-catalog__field select:focus{background:#fff;border-color:#005b8f8c;box-shadow:0 0 0 4px #005b8f26;outline:none}.course-catalog__field select{background-image:linear-gradient(45deg,transparent 50%,var(--catalog-accent) 50%),linear-gradient(135deg,var(--catalog-accent) 50%,transparent 50%);background-position:calc(100% - 1.2rem) calc(50% - .15rem),calc(100% - .85rem) calc(50% - .15rem);background-repeat:no-repeat;background-size:.45rem .45rem,.45rem .45rem;padding-right:2.5rem}.course-catalog__actions{display:flex;justify-content:flex-start}.course-catalog__clear{background:transparent;border-color:var(--catalog-border);cursor:pointer;font-weight:700}.course-catalog__clear:hover{background:#10243f0d}.course-catalog__results-bar{display:none}.course-catalog__results-summary{color:var(--catalog-muted);font-size:.95rem;margin:0}.course-catalog .course-catalog__list{border:1px solid var(--catalog-border);border-radius:var(--catalog-radius);list-style:none;margin:0;overflow:hidden;padding:0!important;width:auto}.course-catalog .course-catalog__list .course-row{align-items:center;background:#fff;display:grid;font-size:inherit;gap:.5rem 1rem;grid-template-areas:"code main hours actions";grid-template-columns:7rem 1fr auto auto;line-height:normal;list-style:none;margin:0;padding:.5rem 1rem}.course-catalog .course-catalog__list .course-row:nth-child(2n){background:var(--catalog-surface-alt)}.course-catalog .course-catalog__list .course-row:not(:last-child){border-bottom:1px solid var(--catalog-border)}.course-row__code{color:var(--catalog-accent);font-size:.8rem;font-weight:800;grid-area:code;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.course-row__main{display:flex;flex-direction:column;gap:.1rem;grid-area:main;min-width:0}.course-row__title{color:var(--catalog-ink);font-size:.95rem;font-weight:600;line-height:1.3}.course-row__meta{align-items:baseline;color:var(--catalog-muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.25rem;overflow:hidden}.course-row__term-pill{background:#005b8f1a;border-radius:999px;color:var(--catalog-accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.1rem .45rem;white-space:nowrap}.course-row__term-pill--summer-ii{background:#0082641f;color:#006b57}.course-row__hours{align-items:center;background:linear-gradient(135deg,#002856,#005b8f);border-radius:var(--catalog-radius);color:#fff;display:flex;flex-direction:column;grid-area:hours;justify-content:center;min-width:2.5rem;padding:.25rem .35rem;text-align:center}.course-row__hours-value{font-size:.9rem;font-weight:800;line-height:1}.course-row__hours-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.course-row__actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem;grid-area:actions}.course-card__action{background:transparent;border:1px solid var(--catalog-border);border-radius:var(--catalog-radius);color:var(--catalog-ink);cursor:pointer;font:inherit;font-size:.875rem;font-weight:700;min-height:2rem;padding:.3rem .6rem;white-space:nowrap}.course-card__action:focus,.course-card__action:hover{background:#10243f0d;outline:none}@media (max-width:639px){.course-catalog .course-catalog__list .course-row{grid-template-areas:"code hours" "main main" "actions actions";grid-template-columns:1fr auto}}.course-catalog__pagination{align-items:center;display:flex;gap:1rem;justify-content:center;padding:.5rem 0}.course-catalog__page-btn{align-items:center;background:var(--catalog-surface);border:1px solid var(--catalog-border);border-radius:var(--catalog-radius);color:var(--catalog-ink);cursor:pointer;display:flex;font:inherit;font-size:.875rem;font-weight:700;gap:.4rem;min-height:2.5rem;padding:.5rem 1rem;transition:background-color .15s ease,border-color .15s ease}.course-catalog__page-btn:hover:not(:disabled){background:#10243f0d;border-color:#10243f40}.course-catalog__page-btn:disabled{cursor:not-allowed;opacity:.4}.course-catalog__page-info{color:var(--catalog-muted);font-size:.875rem;font-weight:600;min-width:8rem;text-align:center}.course-catalog__message{background:#fff;border:1px solid var(--catalog-border);border-radius:var(--catalog-radius);color:var(--catalog-ink);padding:1.25rem}.course-catalog__modal[hidden]{display:none}.course-catalog [hidden]{display:none!important}.course-catalog__modal{top:0;right:0;bottom:0;left:0;position:fixed;z-index:1000}.course-catalog__modal-backdrop{background:#10243f99;top:0;right:0;bottom:0;left:0;position:absolute}.course-catalog__modal-dialog{background:#fff;border-radius:var(--catalog-radius);box-shadow:0 22px 50px #10243f40;display:flex;flex-direction:column;left:50%;max-height:min(90vh,36rem);max-width:min(30rem,100vw - 2rem);overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 2rem)}.course-catalog__modal-close{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--catalog-muted);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.3rem}.course-catalog__modal-close:focus,.course-catalog__modal-close:hover{background:#10243f12;color:var(--catalog-ink);outline:none}.course-modal__header{overflow-y:auto;padding:.85rem 1rem .75rem}.course-modal__header-top{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.course-modal__code{color:var(--catalog-accent);font-size:.7rem;font-weight:800;letter-spacing:.12em;margin:0;text-transform:uppercase}.course-modal__title{color:var(--catalog-ink);font-size:1.05rem;font-weight:700;line-height:1.3;margin:.2rem 0 .5rem}.course-modal__meta{display:flex;flex-direction:column;font-size:.78rem;gap:.1rem;margin-top:.25rem}.course-modal__meta-college,.course-modal__meta-dept{color:var(--catalog-ink);font-weight:600}.course-modal__details{flex:1;margin:0;overflow-y:auto;padding:0}.course-modal__detail-row{align-items:baseline;border-bottom:1px solid var(--catalog-border);display:flex;gap:1rem;justify-content:space-between;padding:.5rem 1rem}.course-modal__detail-row dt{color:var(--catalog-muted);flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;width:5.5rem}.course-modal__detail-row dd{color:var(--catalog-ink);font-size:.875rem;margin:0;overflow-wrap:anywhere;text-align:right}.course-modal__actions{align-items:center;border-top:1px solid var(--catalog-border);display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem 1rem}.course-modal__btn{align-items:center;background:var(--catalog-accent-strong);border-radius:var(--catalog-radius);color:#fff;display:inline-flex;font-size:.82rem;font-weight:700;gap:.35rem;padding:.45rem .9rem;text-decoration:none}.course-modal__btn:focus,.course-modal__btn:hover{background:#8f0b1f;outline:none}.course-modal__link-empty{color:var(--catalog-muted);font-size:.82rem;font-style:italic}.course-catalog__message--error{background:#fff7f8;border-color:#b70e2833}.course-catalog__message--empty{text-align:center}.course-catalog__message--empty h3,.course-catalog__message--empty p{margin:0}.course-catalog__message--empty h3{margin-bottom:.4rem}@media (min-width:48rem){.course-catalog{gap:2rem;padding:1.5rem}.course-catalog__hero{align-items:end;grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);padding:1.5rem}.course-catalog__field--search{grid-column:span 2}.course-catalog__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:72rem){.course-catalog__controls{grid-template-columns:repeat(3,minmax(0,1fr))}.course-catalog__actions{justify-content:flex-end}}@media (max-width:47.99rem){.course-card__header{grid-template-columns:1fr}.course-card__hours{justify-self:start}.course-card__summary{grid-template-columns:1fr}.course-card__footer{align-items:start;flex-direction:column}.course-card__action,.course-card__link{width:100%}.course-card__link{display:inline-block}.course-card__summary-wide{grid-column:auto}}
