/* ============================================================================
   Self-hosted fonts: Inter (body text) + Material Symbols (icons)
   Replaces Google Fonts CDN + unpkg htmx CDN — fully offline-capable.
   ========================================================================== */

/* --- Inter variable font (weights 400-800, Latin subset, ~48 KB) --- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-variable.woff2') format('woff2');
}

/* --- Material Symbols Outlined (30 icons, PUA codepoints) ---
   Reproduzierbarer Neuaufbau: scripts/build-font-subset.sh */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/static/fonts/material-symbols-outlined.woff2') format('woff2');
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 1.2em;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
}

/* Icon name -> PUA codepoint (auto-generated from Material Symbols codepoints) */
.material-symbols-outlined[data-icon="chevron_right"]::before { content: "\E5CC"; }
.material-symbols-outlined[data-icon="edit"]::before          { content: "\F097"; }
.material-symbols-outlined[data-icon="delete"]::before        { content: "\E92E"; }
.material-symbols-outlined[data-icon="apartment"]::before     { content: "\EA40"; }
.material-symbols-outlined[data-icon="toggle_on"]::before     { content: "\E9F6"; }
.material-symbols-outlined[data-icon="toggle_off"]::before    { content: "\E9F5"; }
.material-symbols-outlined[data-icon="refresh"]::before       { content: "\E5D5"; }
.material-symbols-outlined[data-icon="lock_open"]::before     { content: "\E898"; }
.material-symbols-outlined[data-icon="dashboard"]::before     { content: "\E871"; }
.material-symbols-outlined[data-icon="group"]::before         { content: "\EA21"; }
.material-symbols-outlined[data-icon="folder_open"]::before   { content: "\E2C8"; }
.material-symbols-outlined[data-icon="admin_panel_settings"]::before { content: "\EF3D"; }
.material-symbols-outlined[data-icon="security"]::before      { content: "\E32A"; }
.material-symbols-outlined[data-icon="sync_alt"]::before      { content: "\EA18"; }
.material-symbols-outlined[data-icon="error"]::before         { content: "\F8B6"; }
.material-symbols-outlined[data-icon="info"]::before          { content: "\E88E"; }
.material-symbols-outlined[data-icon="payments"]::before      { content: "\EF63"; }
.material-symbols-outlined[data-icon="receipt_long"]::before  { content: "\EFB8"; }
.material-symbols-outlined[data-icon="gavel"]::before         { content: "\E90E"; }
.material-symbols-outlined[data-icon="analytics"]::before     { content: "\EF04"; }
.material-symbols-outlined[data-icon="trending_up"]::before   { content: "\E8E5"; }
.material-symbols-outlined[data-icon="euro"]::before          { content: "\EA15"; }
.material-symbols-outlined[data-icon="keyboard_arrow_up"]::before   { content: "\E316"; }
.material-symbols-outlined[data-icon="keyboard_arrow_down"]::before { content: "\E313"; }
.material-symbols-outlined[data-icon="create_new_folder"]::before { content: "\E2CC"; }
.material-symbols-outlined[data-icon="add_chart"]::before         { content: "\EF3C"; }
.material-symbols-outlined[data-icon="ssid_chart"]::before        { content: "\EB66"; }
.material-symbols-outlined[data-icon="content_copy"]::before      { content: "\E14D"; }
.material-symbols-outlined[data-icon="content_cut"]::before       { content: "\E14E"; }
.material-symbols-outlined[data-icon="content_paste"]::before     { content: "\E14F"; }
.material-symbols-outlined[data-icon="arrow_back"]::before { content: "\E5C4"; }
.material-symbols-outlined[data-icon="check_circle"]::before { content: "\F0BE"; }
.material-symbols-outlined[data-icon="expand_more"]::before { content: "\E5CF"; }
.material-symbols-outlined[data-icon="help"]::before { content: "\E8FD"; }
.material-symbols-outlined[data-icon="open_in_new"]::before { content: "\E89E"; }
.material-symbols-outlined[data-icon="progress_activity"]::before { content: "\E9D0"; }
.material-symbols-outlined[data-icon="save"]::before { content: "\E161"; }
.material-symbols-outlined[data-icon="sync_problem"]::before { content: "\E629"; }
.material-symbols-outlined[data-icon="timeline"]::before { content: "\E922"; }
.material-symbols-outlined[data-icon="warning"]::before { content: "\F083"; }
