/* Lokale Lucide-Linienicons aus dem Mockup; Lizenz: ../img/icons/LICENSE.txt. */
.portal [data-portal-icon="layout-dashboard"]{--portal-icon:url('../img/icons/layout-dashboard.svg')}
.portal [data-portal-icon="clock-3"]{--portal-icon:url('../img/icons/clock-3.svg')}
.portal [data-portal-icon="sparkles"]{--portal-icon:url('../img/icons/sparkles.svg')}
.portal [data-portal-icon="messages-square"]{--portal-icon:url('../img/icons/messages-square.svg')}
.portal [data-portal-icon="list-todo"]{--portal-icon:url('../img/icons/list-todo.svg')}
.portal [data-portal-icon="wallet"]{--portal-icon:url('../img/icons/wallet.svg')}
.portal [data-portal-icon="key-round"]{--portal-icon:url('../img/icons/key-round.svg')}
.portal [data-portal-icon="building-complex"]{--portal-icon:url('../img/icons/building-complex.svg')}
.portal [data-portal-icon="shield-check"]{--portal-icon:url('../img/icons/shield-check.svg')}
.portal [data-portal-icon="calendar-days"]{--portal-icon:url('../img/icons/calendar-days.svg')}
.portal [data-portal-icon="arrow-right"]{--portal-icon:url('../img/icons/arrow-right.svg')}
.portal [data-portal-icon="laptop"]{--portal-icon:url('../img/icons/laptop.svg')}
.portal [data-portal-icon="monitor"]{--portal-icon:url('../img/icons/monitor.svg')}
.portal [data-portal-icon="server"]{--portal-icon:url('../img/icons/server.svg')}
.portal [data-portal-icon="fingerprint-pattern"]{--portal-icon:url('../img/icons/fingerprint-pattern.svg')}
.portal [data-portal-icon="eye"]{--portal-icon:url('../img/icons/eye.svg')}
.portal [data-portal-icon="eye"][aria-pressed="true"]{--portal-icon:url('../img/icons/eye-off.svg')}
.portal [data-portal-icon="copy"]{--portal-icon:url('../img/icons/copy.svg')}
.portal [data-portal-icon="workflow"]{--portal-icon:url('../img/icons/workflow.svg')}
.portal [data-portal-icon="scroll-text"]{--portal-icon:url('../img/icons/scroll-text.svg')}
.portal [data-portal-icon="server-cog"]{--portal-icon:url('../img/icons/server-cog.svg')}
.portal [data-portal-icon="refresh-cw"]{--portal-icon:url('../img/icons/refresh-cw.svg')}
.portal [data-portal-icon="plus"]{--portal-icon:url('../img/icons/plus.svg')}
.portal [data-portal-icon="play"]{--portal-icon:url('../img/icons/play.svg')}
.portal [data-portal-icon="send"]{--portal-icon:url('../img/icons/send.svg')}
.portal [data-portal-icon="x"]{--portal-icon:url('../img/icons/x.svg')}
.portal [data-portal-icon="log-out"]{--portal-icon:url('../img/icons/log-out.svg')}
.portal [data-portal-icon="log-in"]{--portal-icon:url('../img/icons/log-in.svg')}
.portal [data-portal-icon="users"]{--portal-icon:url('../img/icons/users.svg')}
.portal [data-portal-icon="code"]{--portal-icon:url('../img/icons/code.svg')}
.portal [data-portal-icon="chevron-down"]{--portal-icon:url('../img/icons/chevron-down.svg')}
.portal [data-portal-icon="trash"]{--portal-icon:url('../img/icons/trash.svg')}
.portal [data-portal-icon="check"]{--portal-icon:url('../img/icons/check.svg')}

/* Leerer CSS-Inhalt: dekorativ, ohne zusätzliche Screenreader-Beschriftung. */
.portal [data-portal-icon]::before{
  content:"";display:inline-block;width:16px;height:16px;flex:0 0 16px;
  background-color:currentColor;vertical-align:-3px;
  -webkit-mask:var(--portal-icon) center / contain no-repeat;
  mask:var(--portal-icon) center / contain no-repeat;
}
.portal :is(button,a,h2,h3,.portal-month,.portal-metric-label,.portal-device-name)[data-portal-icon]{display:inline-flex;align-items:center;gap:8px}
.portal .portal-nav button[data-portal-icon]{display:flex;justify-content:flex-start;gap:10px}
.portal .portal-nav button[data-portal-icon]::before{width:17px;height:17px;flex-basis:17px}
.portal .portal-nav .portal-nav-count{margin-left:auto}
.portal .portal-metric-label[data-portal-icon]{display:flex;justify-content:space-between;gap:10px}
.portal .portal-metric-label[data-portal-icon]::before{order:2;opacity:.9}
.portal .portal-link[data-portal-icon]::before{order:2;width:14px;height:14px;flex-basis:14px}
.portal .portal-link[data-portal-icon="chevron-down"][aria-expanded="true"]::before{transform:rotate(180deg)}
.portal .portal-sidebar-footer[data-portal-icon]::before,.portal .portal-mobile-nav[data-portal-icon]::before{margin-right:7px}
.portal .portal-password-name[data-portal-icon]{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;align-items:center}
.portal .portal-password-name[data-portal-icon]::before{grid-row:1 / span 2;color:var(--muted)}
.portal .portal-password-name small{grid-column:2}
.portal .support-dialog-close[data-portal-icon]{display:grid;gap:0}
.portal .support-dialog-close[data-portal-icon]::before{width:18px;height:18px}
.portal .support-status[data-portal-icon]::before{width:12px;height:12px;margin-right:4px;vertical-align:-2px}
@media(forced-colors:active){.portal [data-portal-icon]::before{forced-color-adjust:none;background-color:CanvasText}}
