#portal-app .catalog-tools{display:flex;flex-wrap:wrap;gap:9px;margin:-8px 0 18px}
#portal-app .catalog-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(180px,.7fr) auto;gap:16px;align-items:end;background:#f4f6ef;padding:14px 18px;border-radius:12px;margin-bottom:16px}
#portal-app .catalog-filters p{margin:10px 0;color:#647266}
#portal-app .pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:14px 0 24px}
#portal-app .catalog-detail{border:2px solid #b8d7c2;background:#fbfefb;padding:22px;margin:0 0 22px;border-radius:14px;scroll-margin-top:18px;box-shadow:0 10px 28px rgba(27,82,54,.08)}
#portal-app .catalog-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.catalog-item{padding:15px;border:1px solid #dfe5d9;border-radius:11px;margin:10px 0}
.catalog-item button{float:right;margin-top:10px;padding:6px 9px}
.catalog-item .status{margin-top:4px}
#portal-app .detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
#portal-app .detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
#portal-app .catalog-source-detail{padding:18px;border-radius:12px;background:#f0f6f1;border:1px solid #dbe9de}
#portal-app .source-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
#portal-app .source-detail-title p{margin:0;color:#66786d}
#portal-app .catalog-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:12px 0 0}
#portal-app .catalog-fact{padding:12px 0;border-top:1px solid #d9e6dc}
#portal-app .catalog-fact dt{margin:0 0 4px;color:#5e7165;font-weight:700}
#portal-app .catalog-fact dd{margin:0;line-height:1.6;white-space:pre-wrap}
#portal-app .catalog-source-links{display:flex;flex-wrap:wrap;gap:16px;padding-top:14px;border-top:1px solid #d9e6dc}
#portal-app .catalog-source-links a,#portal-app .catalog-item a{color:#176f45;font-weight:700;overflow-wrap:anywhere}
#portal-app .school-name-button{padding:0;border:0;background:transparent;text-align:left;color:inherit}
#portal-app .school-name-button:hover{background:transparent;color:#176f45;text-decoration:underline}
#portal-app .selected-school td{background:#f2f8f3}
.form-actions{display:flex;gap:9px;margin-top:16px}
@media(max-width:850px){#portal-app .catalog-filters,#portal-app .catalog-columns,#portal-app .catalog-facts{grid-template-columns:1fr}#portal-app .detail-head,#portal-app .source-detail-title{flex-direction:column}#portal-app .detail-actions{justify-content:flex-start}}
.partner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.partner-stats article{background:#f4f6ef;border-radius:12px;padding:16px}.partner-stats b{font-size:24px;display:block;color:#20553e}.partner-stats span{font-size:12px;color:#66786d}.partner-section{margin-top:26px;padding-top:18px;border-top:1px solid #dce4d8}.partner-section h4{font-size:17px}@media(max-width:550px){.partner-stats{grid-template-columns:1fr}}
.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.overview-stats article{background:#f4f6ef;border-radius:12px;padding:17px}.overview-stats .warning{background:#fff3df}.overview-stats b{display:block;font-size:25px;color:#20553e}.overview-stats span{font-size:12px;color:#66786d}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.overview-grid section,.case-tasks,.student-profile{border-top:1px solid #dce4d8;margin-top:18px;padding-top:16px}.task-switch{display:flex;gap:8px;margin:0 0 16px}.task-list{display:grid;gap:10px}.task-card{border:1px solid #dfe5d9;border-left:4px solid #6b9678;border-radius:10px;padding:14px;display:flex;justify-content:space-between;gap:12px}.task-card.overdue{border-left-color:#ba7124;background:#fffaf1}.task-card h4{margin:8px 0 4px!important}.task-card p{margin:8px 0!important;white-space:pre-wrap}.task-card button{padding:6px 9px;margin-left:5px}.student-profile{background:#f7f8f3;padding:15px;border-radius:10px}.student-profile button{float:right}@media(max-width:850px){.overview-stats{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}@media(max-width:550px){.overview-stats{grid-template-columns:1fr}.task-card{flex-direction:column}.task-card button{margin-left:0;margin-right:6px}}
