/* Context dimensions are emitted from the authoritative identity registry. */
.visual-artwork{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--artwork-size);block-size:var(--artwork-size);flex:0 0 var(--artwork-size);vertical-align:middle;isolation:isolate;color:var(--visual-icon-foreground)}
.visual-artwork--responsive{inline-size:100%;max-inline-size:var(--artwork-size);block-size:auto;aspect-ratio:1;flex:none}
.visual-artwork img{position:relative;display:block;inline-size:100%;block-size:100%;max-inline-size:100%;object-fit:contain;aspect-ratio:1;filter:none;z-index:1}
.visual-artwork__fallback{display:none;align-items:center;justify-content:center;inline-size:100%;block-size:100%;color:var(--visual-icon-foreground)}
.visual-artwork__fallback--generic{display:inline-flex}
.visual-artwork__fallback svg{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.visual-artwork[data-artwork-error=true] img{display:none}
.visual-artwork[data-artwork-error=true] .visual-artwork__fallback{display:inline-flex}
.visual-identity-label{display:inline-flex;align-items:center;gap:8px;color:inherit;min-inline-size:0;max-inline-size:100%;text-align:start}
.visual-identity-label__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;flex:none;border-radius:8px;background:var(--visual-icon-background);color:var(--visual-icon-foreground)}
.visual-identity-label__icon svg{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.visual-identity-label>span:last-child{min-inline-size:0;overflow-wrap:anywhere}
.edu-card--module:not(.edu-card--with-section-header):not(:has(>.edu-card__link,>.edu-card__button)):has(>.visual-artwork){grid-template-columns:max-content minmax(0,1fr)}
/* The artwork owns its registered context size. Let the grid measure that
   intrinsic track so a 64px module master can never occupy a 40px column. */
.edu-card--module:not(.edu-card--with-section-header):not(:has(>.edu-card__link,>.edu-card__button)):has(>.visual-artwork)>.edu-card__content{grid-column:2;align-content:start}
@media(max-width:600px){[data-artwork-type="module"][data-artwork-context="card"]{--artwork-size:56px!important}}
.kpi-card__identity{display:flex;align-items:center;gap:8px;min-inline-size:0;inline-size:100%;min-block-size:48px}
.edu-card.kpi-card .kpi-card__value{inline-size:100%;font-size:28px;font-weight:700}
.edu-card-grid--kpi.edu-card-grid--compact{--card-min:175px}
.edu-card-grid--kpi.edu-card-grid--compact.edu-card-grid--long-content{--card-min:240px}
.edu-select__trigger [data-select-value]{display:flex;align-items:center;gap:8px;min-inline-size:0}
.edu-select__trigger:has([data-artwork-key]){padding-block:max(0px,calc((var(--control-height) - var(--artwork-selector-size) - 2px)/2))}
.applied-filter-chips .edu-button:has([data-artwork-key]){padding-block:max(0px,calc((var(--control-height) - var(--artwork-inline-size) - 2px)/2))}
.edu-select__option-row [role=option]>.visual-identity-label{flex:1}
.search-result>.visual-artwork{align-self:center}
.page-header h1,.page-header h2{display:flex;align-items:center;gap:10px}
.app-shell-breadcrumbs .visual-identity-label{gap:6px}
.sidebar nav .visual-artwork,.sidebar nav .visual-identity-label{display:inline-flex}
.sidebar nav .visual-artwork__fallback{display:none}
.sidebar nav .visual-artwork[data-artwork-error=true] .visual-artwork__fallback{display:inline-flex}
.search-result>span:has(>strong){flex:1;min-inline-size:0}
