.elective-roster{color:#253248;margin:0 0 16px}.er-top,.er-toolbar,.er-card-title,.er-search,.er-footer,.er-course-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.er-top{justify-content:space-between;padding:12px 0 16px;border-bottom:1px solid #e2e8f0;margin-bottom:16px}.er-search input{min-width:260px;max-width:100%;flex:1}.er-summary{font-size:15px;font-weight:600;margin:20px 0}.er-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:20px}.er-card{background:#fff;border:1px solid #dce3ed;border-radius:12px;padding:20px;min-width:0}.er-card-title{justify-content:space-between}.er-card-title h3{margin:5px 0 8px;font-size:19px}.er-meta{display:grid;grid-template-columns:80px 1fr;gap:7px;font-size:13px;margin:14px 0 18px}.er-meta dt{color:#64748b}.er-meta dd{margin:0;overflow-wrap:anywhere}.er-missing{color:#9a6700}.er-table-wrap{overflow-x:auto;margin-top:12px}.er-table{width:100%;border-collapse:collapse;font-size:13px}.er-table th{text-align:left;background:#f1f5f9;padding:10px 8px;color:#475569;white-space:nowrap}.er-table td{padding:10px 8px;border-bottom:1px solid #edf0f5;vertical-align:middle}.er-name{border:0;background:none;padding:0;color:#1d4ed8;font:inherit;cursor:pointer}.er-english{display:block;color:#64748b;margin-top:3px}.er-actions{white-space:nowrap}.er-actions button{border:0;background:none;color:#475569;cursor:pointer;font-size:12px;padding:4px}.er-actions button:hover,.er-name:hover{text-decoration:underline}.er-error{padding:12px;background:#fff1f2;color:#9f1239;border-radius:6px;margin:10px 0;white-space:pre-wrap}.er-results{padding:10px 0}.er-result{display:flex;gap:12px;flex-wrap:wrap;align-items:center;width:100%;text-align:left;border:1px solid #e2e8f0;background:white;border-radius:6px;padding:12px;margin:6px 0;color:#334155;font:inherit;font-size:13px;cursor:pointer}.er-overlay{position:fixed;inset:0;z-index:10030;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:20px}.er-dialog{background:white;border-radius:12px;width:min(640px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 20px 60px #0f172a33}.er-dialog h3{margin-top:0}.er-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.er-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px}.er-form-grid .input,.er-form-grid .select{width:100%;min-width:0}.er-wide{grid-column:1/-1}.er-footer{justify-content:flex-end;margin-top:24px}.er-badge{border:0;border-radius:8px;background:#e8edf9;color:#36528a;font-size:10px;padding:2px 5px;margin-left:4px;cursor:pointer}.er-toolbar .select{max-width:230px}.er-toolbar label{font-size:13px}.er-top .area-btn{min-width:90px}@media(max-width:640px){.er-card{padding:14px}.er-form-grid{grid-template-columns:1fr}.er-top{align-items:stretch}.er-search{width:100%}.er-search input{min-width:140px}.er-dialog{padding:18px}.er-overlay{padding:10px}.er-table td,.er-table th{padding:9px 5px}.er-actions button{display:block}.er-top .area-switch{width:100%}}

.er-top .area-btn.area-active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.er-top .area-btn{padding:8px 18px;font-size:14px}@media(max-width:640px){.er-toolbar>.select{flex:1 1 44%;max-width:100%;min-width:0}.er-toolbar{gap:8px}}

/* The host admin sidebar must stack above elective cards on narrow screens. */
@media(max-width:640px){
  .ops-layout:has(.elective-roster .er-toolbar){flex-direction:column}
  .ops-layout:has(.elective-roster .er-toolbar)>.ops-sidebar{width:100%;height:auto;position:static;flex-shrink:0}
  .ops-layout:has(.elective-roster .er-toolbar) .ops-sidebar-head{padding:12px}
  .ops-layout:has(.elective-roster .er-toolbar) .ops-nav{display:flex;overflow-x:auto;padding:6px 0}
  .ops-layout:has(.elective-roster .er-toolbar) .ops-nav-item{flex-shrink:0;width:auto;white-space:nowrap}
  .ops-layout:has(.elective-roster .er-toolbar)>.ops-main{width:100%;max-width:100%;min-width:0;padding:12px 12px 40px}
}

.er-course-link{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:0}.er-course-schedule{display:block;margin-top:5px;color:#64748b;font-size:13px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
