/* e.emach.pl — canonical static SVG icon library.
   Static icons are referenced from assets/icons/sprites/*.svg and inherit
   currentColor. Dynamic IoT visualisations keep their own renderers. */
.app-static-icon {
    display: inline-block;
    width: var(--app-static-icon-size, 1em);
    height: var(--app-static-icon-size, 1em);
    flex: 0 0 auto;
    overflow: visible;
    vertical-align: -0.125em;
    color: inherit;
    fill: currentColor;
}

.sidebar-nav-icon > .app-static-icon,
.home-nav-card-icon > .app-static-icon,
.group-explorer-icon > .app-static-icon,
.dashboard-section-icon > .app-static-icon,
.device-card-menu-icon > .app-static-icon,
.ui-icon-button > .app-static-icon,
.topbar-shell-icon-button > .app-static-icon,
.login-modal-close > .app-static-icon,
.device-share-close > .app-static-icon,
.topbar-breadcrumb-link > .app-static-icon,
.topbar-breadcrumb-separator > .app-static-icon,
.admin-section-toggle-chevron > .app-static-icon {
    display: block;
}


/* 9_12_379 — canonical sizing contract for shell controls.
   Geometry belongs to the SVG source; host CSS owns only size and colour.
   This prevents the same 24x24 icon from silently becoming a thinner glyph
   because one control inherited 1em while another forced 24px. */
.ui-icon-button,
.topbar-shell-icon-button,
.topbar-search-icon,
.topbar-search-clear,
.topbar-search-close,
.topbar-shell-actions-toggle {
    --app-static-icon-size: 24px;
}
