.upc-catalog{--upc-primary:#962f34;--upc-dark:#702329;--upc-tint:#f8eff0;--upc-border:#eadcdd;--upc-text:#34313c;--upc-muted:#77717f;font-family:inherit;color:var(--upc-text);font-size:14px;line-height:1.5;width:100%;margin:0 auto;padding:12px 0 24px}.upc-catalog *{box-sizing:border-box}.upc-catalog [hidden]{display:none!important}.upc-layout{display:block;width:100%}.upc-main{min-width:0}.upc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.upc-stat{display:flex;gap:15px;align-items:flex-start;border:1px solid var(--upc-border);border-radius:8px;padding:15px;background:linear-gradient(145deg,#fff,#fcf9f9);min-height:93px}.upc-stat-icon{color:var(--upc-primary);font-size:36px;line-height:1.2}.upc-stat strong{display:block;font-size:27px;line-height:1.1;color:var(--upc-primary)}.upc-stat span:not(.upc-stat-icon){display:block;font-size:14px;color:var(--upc-primary)}.upc-stat small{display:block;color:var(--upc-muted);font-size:11px}.upc-filters{background:linear-gradient(120deg,#faf4f4,#f3e7e8);border:1px solid var(--upc-border);border-radius:8px;padding:16px 18px}.upc-search{position:relative;display:block;margin-bottom:12px}.upc-search>span{position:absolute;left:13px;top:3px;font-size:28px;color:var(--upc-primary)}.upc-catalog input[type=search]{padding:9px 14px 9px 43px;height:40px;width:100%;background:#fff;border:1px solid var(--upc-border);border-radius:6px;color:var(--upc-text);font:inherit}.upc-selects{display:grid;grid-template-columns:.9fr .9fr 1.2fr 1fr;gap:14px}.upc-selects label{font-weight:700;font-size:12px;color:var(--upc-dark);min-width:0}.upc-catalog select{display:block;width:100%;height:37px;font:inherit;font-weight:400;color:var(--upc-text);border:1px solid var(--upc-border);border-radius:6px;background:#fff;padding:6px 9px;margin-top:4px;text-overflow:ellipsis}.upc-filter-bottom{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;align-items:center;margin-top:15px}.upc-catalog button{cursor:pointer;font:inherit;line-height:1.35;border:1px solid var(--upc-border);color:var(--upc-primary);background:#fff;padding:7px 16px;border-radius:5px}.upc-catalog .upc-reset{background:transparent;font-size:12px;font-weight:700}.upc-result{font-size:12px;color:var(--upc-muted);margin:10px 2px}.upc-group{border:1px solid var(--upc-border);border-radius:8px;margin-bottom:9px;overflow:hidden}.upc-catalog summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px}.upc-catalog summary::-webkit-details-marker{display:none}.upc-group>summary{color:var(--upc-primary);background:var(--upc-tint);padding:9px 18px;font-size:15px;font-weight:700;min-height:49px}.upc-group[open]>summary{background:linear-gradient(110deg,var(--upc-primary),var(--upc-dark));color:#fff}.upc-number{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--upc-primary);color:#fff;border-radius:50%;font-size:19px;box-shadow:0 0 0 2px #fff9}.upc-group[open]>summary .upc-number{background:#fff;color:var(--upc-primary)}.upc-chevron{margin-left:auto;font-size:23px;line-height:1;flex:none;transition:transform .15s}.upc-catalog details[open]>summary>.upc-chevron{transform:rotate(180deg)}.upc-group-body{padding:10px 12px}.upc-semester{border:1px solid var(--upc-border);border-radius:7px;margin-bottom:8px;overflow:hidden}.upc-semester:last-child{margin-bottom:0}.upc-semester>summary{background:linear-gradient(110deg,#faf5f5,#f6eded);color:var(--upc-primary);padding:9px 12px;font-size:15px}.upc-semester>summary>span:first-child{font-size:24px;line-height:1}.upc-count{margin-left:auto;color:var(--upc-muted);font-size:11px;white-space:nowrap}.upc-semester .upc-chevron{margin-left:0}.upc-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}.upc-catalog table{border-collapse:collapse;width:100%;min-width:790px;font-size:12px;margin:0;border:none}.upc-catalog th,.upc-catalog td{padding:9px 10px;border:0;border-bottom:1px solid #eee6e7;vertical-align:middle;text-align:left}.upc-catalog thead th{font-size:11px;background:#fdfafa;color:#6b5761;white-space:nowrap;font-weight:700}.upc-catalog tbody th{font-weight:400;min-width:190px;max-width:270px}.upc-catalog tbody td:first-child{white-space:nowrap}.upc-catalog tbody td:nth-child(3){min-width:145px}.upc-catalog .upc-numeric{text-align:center}.upc-catalog tbody tr:nth-child(even){background:#fdfbfb}.upc-catalog tbody tr:hover{background:#faf0f0}.upc-catalog a{color:var(--upc-primary);text-decoration:none}.upc-catalog a:hover{text-decoration:underline;color:var(--upc-dark)}.upc-badge{display:inline-block;padding:3px 7px;background:#f6e4e6;border-radius:5px;color:var(--upc-primary);font-size:10px;white-space:nowrap}.upc-actions{display:flex;gap:6px;white-space:nowrap}.upc-actions a{border:1px solid var(--upc-border);border-radius:5px;padding:5px 8px;font-size:10px;background:#fff}.upc-sem-result{font-size:11px;color:var(--upc-muted);margin:5px 10px}.upc-empty{padding:25px;border:1px dashed var(--upc-border);border-radius:8px;text-align:center;color:var(--upc-muted)}.upc-catalog :focus-visible{outline:3px solid var(--upc-primary);outline-offset:3px}.upc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.upc-layout{display:block;width:100%}}@media(max-width:1100px){.upc-layout{display:block;width:100%}.upc-stats{grid-template-columns:repeat(2,1fr)}.upc-selects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.upc-layout{display:block;width:100%}.upc-group>summary{font-size:13px;padding:10px 12px}}@media(max-width:480px){.upc-stats{gap:8px}.upc-stat{padding:12px;gap:8px}.upc-stat-icon{font-size:26px}.upc-stat strong{font-size:24px}.upc-stat span:not(.upc-stat-icon){font-size:12px}.upc-filters{padding:12px}.upc-selects{gap:10px}.upc-filter-bottom{align-items:stretch}.upc-reset{width:100%}.upc-group-body{padding:7px}.upc-count{font-size:10px}.upc-semester>summary{gap:8px;font-size:13px}}@media(prefers-reduced-motion:reduce){.upc-chevron{transition:none}}

.upc-catalog .upc-pdf-modal{width:min(1100px,94vw);max-width:94vw;height:90vh;height:90dvh;max-height:94vh;padding:0;border:1px solid var(--upc-border);border-radius:12px;color:var(--upc-text);background:#fff;box-shadow:0 24px 90px #0005;overflow:hidden}.upc-pdf-modal::backdrop{background:rgba(28,16,21,.7)}.upc-catalog .upc-pdf-modal[open]{display:flex;flex-direction:column}.upc-pdf-header{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:15px 20px;background:var(--upc-primary);color:#fff;flex-shrink:0}.upc-catalog .upc-pdf-title{color:inherit;margin:0;font:inherit;font-size:18px;font-weight:700;line-height:1.4}.upc-catalog .upc-pdf-close{flex:none;font-size:28px;line-height:1;padding:5px 10px;color:#fff;background:transparent;border:1px solid #ffffff70}.upc-pdf-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 20px;background:var(--upc-tint);flex-shrink:0}.upc-pdf-toolbar>span{font-size:12px;color:var(--upc-muted)}.upc-catalog .upc-pdf-open{font-size:13px;font-weight:700}.upc-pdf-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#eee}.upc-pdf-header :focus-visible{outline-color:#fff}@media(max-width:600px){.upc-catalog .upc-pdf-modal{width:96vw;max-width:96vw;height:94vh;height:94dvh;border-radius:8px}.upc-pdf-header{padding:12px}.upc-catalog .upc-pdf-title{font-size:15px}.upc-pdf-toolbar{padding:10px 12px}}
