/* 2028.4 icon alignment — diploma/program hero and shared legacy icon surfaces.
   Decorative icons are noninteractive; these rules do not alter permissions or data. */
body.v52 svg.h54-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
body.v52 .v52-hero>div:first-child{flex:1 1 auto;min-width:0}
body.v52 .v52-hero .v52-hero-mark{display:grid;place-items:center;flex:0 0 clamp(76px,9vw,104px);width:clamp(76px,9vw,104px);position:relative;z-index:1;line-height:0}
body.v52 .v52-hero .v52-hero-mark>svg{display:block;width:100%;height:auto;max-width:104px;overflow:visible}
body.v52 .v52-hero .v52-stats{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;max-width:100%}
body.v52 .v52-hero .v52-stats>span{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:44px;padding:9px 13px;line-height:1.65;text-wrap:pretty}
body.v52 .v52-hero .v52-stats>span>svg{width:21px;height:21px;flex:0 0 21px;display:block}
body.v52 .v52-tile .v52-tile-ico>svg,body.v52 .v52-metric-icon>svg{width:24px;height:24px;display:block}
body.v52 .v52-iconbutton>svg{width:19px;height:19px;display:block}
@media(max-width:520px){
 body.v52 .v52-hero{flex-direction:column;align-items:stretch;gap:15px}
 body.v52 .v52-hero .v52-hero-mark{order:-1;align-self:flex-start;flex-basis:auto;width:64px;height:64px}
 body.v52 .v52-hero .v52-hero-mark>svg{width:64px;height:64px}
 body.v52 .v52-hero .v52-stats>span{justify-content:flex-start;max-width:100%}
}

/* Dashboard refresh: an accessible, icon-only, request-bound control. */
body.v52 .nv-dashboard-banner .nv-refresh{width:44px;height:44px;flex:0 0 44px;display:inline-grid;place-items:center;padding:0;border-radius:13px;transition:background-color .18s,border-color .18s;}
body.v52 .nv-dashboard-banner .nv-refresh:hover{background:rgba(255,255,255,.25)}
body.v52 .nv-dashboard-banner .nv-refresh:focus-visible{outline:3px solid #b4eff1;outline-offset:3px}
body.v52 .nv-dashboard-banner .nv-refresh.is-refreshing svg{animation:ppu-dashboard-refresh .8s linear infinite}
body.v52 .nv-dashboard-banner .nv-refresh:disabled{cursor:progress;opacity:.72}
@keyframes ppu-dashboard-refresh{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body.v52 .nv-dashboard-banner .nv-refresh,body.v52 .nv-dashboard-banner .nv-refresh.is-refreshing svg{animation:none;transition:none}}
/* Owner-editable course kinds use the same shared icon scale and flexible spacing. */
body.v52 .portal-course-type-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--border)}
body.v52 .portal-course-type-row strong{min-width:90px}
body.v52 .portal-course-type-row small{color:var(--muted)}
body.v52 .portal-course-type-row button{margin-inline-start:auto}
body.v52 #portalCourseIconPreview{display:inline-flex;padding:10px;color:var(--primary)}
body.v52 .portal-course-mark svg{width:23px;height:23px;display:block}
