/* ======================================================================
   Haus-Wächter ERP — Design v2 (hell, Inter, ruhige Karten) · 05.09.2026
   Lädt NACH haus-waechter-theme.css und überschreibt Token + Chrome.
   Vorlage: storage/temp/ERP Haus-Wächter.zip (v2-export)
   ====================================================================== */
@import url("/fonts/v2/fonts.css");

:root {
  /* Marken-Akzent v2 #B5602B */
  --primary-50: 251,245,240; --primary-100: 247,233,222; --primary-200: 240,214,196; --primary-300: 226,175,140;
  --primary-400: 205,130,80; --primary-500: 181,96,43; --primary-600: 138,69,25; --primary-700: 110,55,20;
  --primary-800: 84,42,15; --primary-900: 58,29,10; --primary-950: 36,18,6;
  --gray-50: 250,248,244; --gray-100: 245,241,235; --gray-200: 230,223,212; --gray-300: 211,201,188; --gray-400: 179,167,152;
  --gray-500: 111,98,90; --gray-600: 94,78,68; --gray-700: 62,49,42; --gray-800: 45,35,30; --gray-900: 31,23,18; --gray-950: 20,15,12;

  --hw-ink: #1F1712; --hw-ink-2: #3E312A; --hw-text: #1F1712; --hw-text-2: #3E312A;
  --hw-paper: #F6F3EE; --hw-paper-2: #FFFFFF; --hw-cream: #FAF8F4; --hw-cream-2: #FAF8F4;
  --hw-line: #E6DFD4; --hw-line-2: #EFEAE1; --hw-mute: #6F625A; --hw-mute-2: #B3A798;
  --hw-accent: #B5602B; --hw-accent-2: #8A4519; --hw-accent-soft: #F7E9DE;
  --hw-ok: #3E7A4A; --hw-ok-soft: #E6F1E7; --hw-warn: #B07A1E; --hw-warn-soft: #FBF0DB; --hw-bad: #B03A2E; --hw-bad-soft: #F9E5E2; --hw-info: #3D6A8F; --hw-info-soft: #E4EDF5;
  --hw-font: 'Inter', system-ui, -apple-system, sans-serif; --hw-mono: 'JetBrains Mono', ui-monospace, monospace; --hw-display: 'Caveat', cursive;
  --hw-r: 6px; --hw-r-lg: 10px;
}
.dark {
  --hw-paper: #17110C; --hw-paper-2: #221A12; --hw-cream: #2A2117; --hw-cream-2: #2A2117; --hw-line: #4A3C2C; --hw-line-2: #362B1F;
  --hw-mute: #B4A48F; --hw-mute-2: #7d6f60; --hw-text: #F2E8DA; --hw-text-2: #CDBBA4; --hw-ink: #F2E8DA; --hw-ink-2: #CDBBA4; --hw-accent-soft: #3a2619;
  --hw-ok-soft: #1f3324; --hw-warn-soft: #3a2e14; --hw-bad-soft: #3b1c18; --hw-info-soft: #1b2a38;
}

html, body, .fi-body, .fi-layout { font-family: var(--hw-font) !important; color: var(--hw-text); background: var(--hw-paper) !important; font-size: 13.5px; -webkit-font-smoothing: antialiased; }
.fi-layout { background: var(--hw-paper) !important; }

/* ---------- Sidebar (hell) ---------- */
.fi-sidebar { background: var(--hw-paper-2) !important; border-right: 1px solid var(--hw-line) !important; box-shadow: none !important; }
.fi-sidebar-header { background: var(--hw-paper-2) !important; border-bottom: 1px solid var(--hw-line-2) !important; box-shadow: none !important; height: 3.5rem !important; padding: 0 1.125rem !important; }
.fi-sidebar-header .fi-logo, .fi-sidebar-header img.fi-logo { display: none !important; }
.hw2-brand { display: flex; align-items: center; gap: .625rem; }
.hw2-brand-eagle { width: 32px; height: 32px; object-fit: contain; }
.hw2-brand-text b { display: block; font-size: 12px; letter-spacing: .08em; line-height: 1; color: var(--hw-text); font-weight: 700; }
.hw2-brand-text i { display: block; font-family: var(--hw-display); font-style: normal; font-size: 17px; color: var(--hw-accent); line-height: 1; margin-top: 1px; font-weight: 600; }
.fi-sidebar-nav { padding: .75rem .625rem !important; gap: .125rem !important; }
.fi-sidebar-group { gap: .125rem !important; }
.fi-sidebar-group-label, .fi-sidebar-group-button { color: var(--hw-mute) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; padding: .625rem .625rem .2rem !important; }
.fi-sidebar-group-collapse-button { color: var(--hw-mute) !important; }
.fi-sidebar-item-button, .fi-sidebar-item a.fi-sidebar-item-button { color: var(--hw-ink-2) !important; border-radius: var(--hw-r) !important; padding: .3rem .625rem !important; gap: .625rem !important; font-size: 12.5px !important; position: relative; background: transparent !important; }
.fi-sidebar-item-button:hover, .fi-sidebar-item a.fi-sidebar-item-button:hover { background: var(--hw-cream) !important; color: var(--hw-text) !important; }
.fi-sidebar-item-icon { width: 1.05rem !important; height: 1.05rem !important; color: var(--hw-ink-2) !important; opacity: .6; }
.fi-sidebar-item-button:hover .fi-sidebar-item-icon { opacity: .9; }
.fi-sidebar-item-label { font-size: 12.5px !important; font-weight: 500 !important; color: inherit !important; }
.fi-sidebar-item-active .fi-sidebar-item-button, .fi-sidebar-item.fi-active > a.fi-sidebar-item-button { background: var(--hw-accent-soft) !important; color: var(--hw-accent-2) !important; font-weight: 600 !important; }
.fi-sidebar-item-active .fi-sidebar-item-button::before, .fi-sidebar-item.fi-active > a.fi-sidebar-item-button::before { content: ''; position: absolute; left: 0; top: 7px; bottom: 7px; width: 3px; border-radius: 2px; background: var(--hw-accent); }
.fi-sidebar-item-active .fi-sidebar-item-icon, .fi-sidebar-item.fi-active > a .fi-sidebar-item-icon { color: var(--hw-accent-2) !important; opacity: .95; }
.fi-sidebar-item-active .fi-sidebar-item-label { font-weight: 600 !important; }
.fi-sidebar-item .fi-badge, .fi-sidebar-item-badge { margin-left: auto; background: var(--hw-accent) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; padding: 1px 6px !important; border-radius: 999px !important; box-shadow: none !important; min-width: 0 !important; }
.hw-version-pill, .fi-sidebar-footer { color: var(--hw-mute-2); }

/* ---------- Topbar ---------- */
.fi-topbar nav { height: 3rem !important; background: var(--hw-paper-2) !important; border-bottom: 1px solid var(--hw-line) !important; box-shadow: none !important; padding: 0 1.5rem !important; }
.fi-topbar .fi-global-search-field .fi-input-wrp { height: 30px !important; width: 260px; background: var(--hw-cream) !important; border: 1px solid var(--hw-line) !important; box-shadow: none !important; border-radius: var(--hw-r) !important; }
.fi-topbar .fi-global-search-field input { font-size: 12px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.fi-topbar .fi-user-menu .fi-avatar, .fi-avatar { background: var(--hw-ink) !important; color: #fff !important; width: 28px !important; height: 28px !important; font-size: 11px !important; font-weight: 700 !important; }
.fi-topbar .fi-icon-btn { color: var(--hw-mute) !important; }

/* ---------- Seitenkopf ---------- */
.fi-main { max-width: none !important; padding: 0 1.5rem !important; }
.fi-page { gap: .875rem !important; }
.fi-page > section, .fi-page-content { gap: .875rem !important; }
.fi-header { align-items: flex-end !important; gap: 1rem !important; }
.fi-breadcrumbs { margin-bottom: .35rem !important; }
.fi-breadcrumbs-item-label { font-size: 12px !important; color: var(--hw-mute) !important; font-weight: 500 !important; }
.fi-breadcrumbs-item:last-child .fi-breadcrumbs-item-label { color: var(--hw-text) !important; font-weight: 600 !important; }
.fi-breadcrumbs-item-separator { width: .9rem !important; height: .9rem !important; color: var(--hw-mute-2) !important; }
.fi-header-heading { font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.01em !important; line-height: 1.15 !important; color: var(--hw-text) !important; font-family: var(--hw-font) !important; }
.fi-header-subheading { font-size: 12px !important; color: var(--hw-mute) !important; margin-top: .25rem !important; }
.fi-header-actions { gap: .5rem !important; }

/* ---------- Buttons ---------- */
.fi-btn { height: 32px !important; padding: 0 .75rem !important; border-radius: var(--hw-r) !important; font-size: 12.5px !important; font-weight: 600 !important; box-shadow: none !important; white-space: nowrap; letter-spacing: 0 !important; text-transform: none !important; }
.fi-btn.fi-btn-size-sm, .fi-btn-size-sm { height: 26px !important; padding: 0 .55rem !important; font-size: 11.5px !important; }
.fi-btn.fi-btn-size-xs { height: 22px !important; padding: 0 .45rem !important; font-size: 11px !important; }
.fi-btn.fi-color-gray, .fi-btn.fi-btn-color-gray, .fi-btn-outlined, .fi-header-actions .fi-btn.fi-color-gray { background: var(--hw-paper-2) !important; color: var(--hw-text) !important; border: 1px solid var(--hw-line) !important; box-shadow: none !important; }
.fi-btn.fi-color-gray:hover, .fi-header-actions .fi-btn.fi-color-gray:hover { background: var(--hw-cream) !important; }
.fi-btn.fi-color-primary, .fi-header-actions .fi-btn.fi-color-primary, .fi-btn.fi-btn-color-primary { background: var(--hw-accent) !important; border: 1px solid var(--hw-accent) !important; color: #fff !important; }
.fi-btn.fi-color-primary:hover, .fi-header-actions .fi-btn.fi-color-primary:hover { background: var(--hw-accent-2) !important; border-color: var(--hw-accent-2) !important; }
.fi-btn.fi-color-success { background: var(--hw-ok) !important; border-color: var(--hw-ok) !important; color: #fff !important; }
.fi-btn.fi-color-warning { background: var(--hw-warn) !important; border-color: var(--hw-warn) !important; color: #fff !important; }
.fi-btn.fi-color-danger { background: var(--hw-bad) !important; border-color: var(--hw-bad) !important; color: #fff !important; }
.fi-btn.fi-color-info { background: var(--hw-info) !important; border-color: var(--hw-info) !important; color: #fff !important; }
.fi-btn .fi-btn-icon { width: 1rem !important; height: 1rem !important; }
.fi-icon-btn { color: var(--hw-mute) !important; }
.hw-cv-btn, .hw-cv-card-head .hw-cv-btn { height: 26px !important; font-size: 11.5px !important; }

/* ---------- Karten / Sections ---------- */
.fi-section, .fi-ta-ctn, .fi-wi-widget > .fi-section, .hw-cv-card, .fi-fo-tabs, .fi-in-section { background: var(--hw-paper-2) !important; border: 1px solid var(--hw-line) !important; border-radius: var(--hw-r-lg) !important; box-shadow: none !important; }
.fi-section-header { padding: .75rem 1rem !important; border-bottom: 1px solid var(--hw-line-2) !important; }
.fi-section-header-heading { font-size: 13px !important; font-weight: 700 !important; color: var(--hw-text) !important; font-family: var(--hw-font) !important; text-transform: none !important; letter-spacing: 0 !important; }
.fi-section-header-description { font-size: 12px !important; color: var(--hw-mute) !important; }
.fi-section-content { padding: 1rem !important; }
.fi-section-content-ctn { border-top: none !important; }
.hw-cv-card { padding: 0 !important; overflow: hidden; }
.hw-cv-card > .hw-cv-card-title:first-child, .hw-cv-card > .hw-cv-card-head:first-child { padding: .75rem 1rem !important; border-bottom: 1px solid var(--hw-line-2) !important; margin: 0 !important; }
.hw-cv-card-title { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--hw-text) !important; }
.hw-cv-card > *:not(.hw-cv-card-title):not(.hw-cv-card-head):not(table):not(.hw-cv-table) { margin-left: 1rem; margin-right: 1rem; }
.hw-cv-card > *:last-child:not(table):not(.hw-cv-table) { margin-bottom: 1rem; }
.hw-cv-card > .hw-cv-card-title + *, .hw-cv-card > .hw-cv-card-head + * { margin-top: .875rem; }
.hw-cv-label, .hw-cv-log-title, .lbl { font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--hw-mute) !important; }
.hw-cv-value { font-size: 13px !important; color: var(--hw-text) !important; }

/* ---------- Tabellen ---------- */
.fi-ta-header-toolbar { padding: .625rem .875rem !important; border-bottom: 1px solid var(--hw-line-2) !important; }
.fi-ta-header-cell { padding: .5rem .875rem !important; background: var(--hw-cream) !important; border-bottom: 1px solid var(--hw-line) !important; }
.fi-ta-header-cell-label { font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--hw-mute) !important; }
.fi-ta-table thead { background: var(--hw-cream) !important; }
.fi-ta-cell { border-bottom: 1px solid var(--hw-line-2) !important; }
.fi-ta-row:last-child .fi-ta-cell { border-bottom: none !important; }
.fi-ta-row:hover .fi-ta-cell, .fi-ta-row:hover { background: #FBF9F5 !important; }
.dark .fi-ta-row:hover .fi-ta-cell, .dark .fi-ta-row:hover { background: var(--hw-cream) !important; }
.fi-ta-text { padding: .5625rem .875rem !important; font-size: 12.5px !important; }
.fi-ta-text-item-label, .fi-ta-text-item { font-size: 12.5px !important; color: var(--hw-text) !important; }
.fi-ta-cell .text-gray-500, .fi-ta-cell .fi-ta-text-item-description { color: var(--hw-mute) !important; font-size: 11.5px !important; }
.fi-ta-cell .font-mono, .fi-ta-text.font-mono, .mono, .fi-ta-cell code, .fi-table-cell-customer-number .fi-ta-text-item-label, .fi-table-cell-number .fi-ta-text-item-label, .fi-table-cell-order-number .fi-ta-text-item-label, .fi-table-cell-article-number .fi-ta-text-item-label, .fi-table-cell-contract-number .fi-ta-text-item-label, .fi-table-cell-invoice-number .fi-ta-text-item-label, .fi-table-cell-treatment-number .fi-ta-text-item-label, .fi-table-cell-quote-number .fi-ta-text-item-label { font-family: var(--hw-mono) !important; font-size: 11.5px !important; color: var(--hw-ink-2) !important; }
.fi-ta-search-field .fi-input-wrp { height: 30px !important; background: var(--hw-cream) !important; border: 1px solid var(--hw-line) !important; box-shadow: none !important; border-radius: var(--hw-r) !important; }
.fi-ta-search-field input { font-size: 12px !important; }
.fi-ta-pagination, .fi-pagination { padding: .625rem .875rem !important; border-top: 1px solid var(--hw-line) !important; }
.fi-pagination-overview { font-size: 12px !important; color: var(--hw-mute) !important; font-weight: 500 !important; }
.fi-pagination-item { min-width: 26px !important; height: 26px !important; border-radius: var(--hw-r) !important; font-size: 12px !important; }
.fi-pagination-item-active, .fi-pagination-item.fi-active { background: var(--hw-ink) !important; color: #fff !important; }
.fi-pagination-item-active .fi-pagination-item-label, .fi-pagination-item.fi-active .fi-pagination-item-label { color: #fff !important; }
.fi-ta-actions .fi-btn.fi-color-primary { background: var(--hw-paper-2) !important; color: var(--hw-text) !important; border: 1px solid var(--hw-line) !important; }
.fi-ta-actions .fi-btn.fi-color-primary:hover { background: var(--hw-cream) !important; }
.fi-ta-empty-state { padding: 2rem !important; }
.hw-cv-table { font-size: 12.5px !important; }
.hw-cv-table th { padding: .5rem .875rem !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--hw-mute) !important; background: var(--hw-cream) !important; border-bottom: 1px solid var(--hw-line) !important; }
.hw-cv-table td { padding: .5625rem .875rem !important; border-bottom: 1px solid var(--hw-line-2) !important; }
.hw-cv-table tbody tr:hover td { background: #FBF9F5 !important; }
.hw-cv-table tr:last-child td { border-bottom: none !important; }

/* ---------- Tabs (Segment) ---------- */
.fi-tabs { display: inline-flex !important; background: var(--hw-cream) !important; border: 1px solid var(--hw-line) !important; border-radius: var(--hw-r) !important; padding: 2px !important; gap: 2px !important; box-shadow: none !important; margin: 0 !important; }
.fi-tabs-item { height: 26px !important; padding: 0 .625rem !important; border-radius: 4px !important; font-size: 12px !important; color: var(--hw-mute) !important; background: transparent !important; }
.fi-tabs-item .fi-tabs-item-label { color: inherit !important; font-size: 12px !important; font-weight: 500 !important; }
.fi-tabs-item-active, .fi-tabs-item.fi-active { background: var(--hw-paper-2) !important; color: var(--hw-text) !important; box-shadow: 0 1px 2px rgba(0,0,0,.06) !important; }
.fi-tabs-item-active .fi-tabs-item-label { font-weight: 600 !important; color: var(--hw-text) !important; }
.fi-tabs-item .fi-badge { background: transparent !important; box-shadow: none !important; color: inherit !important; padding: 0 !important; font-weight: 500 !important; font-size: 12px !important; }
.fi-tabs-item .fi-badge::before { content: '· '; }
.fi-tabs-item-icon { width: .9rem !important; height: .9rem !important; }
/* Kundendetail-Tabs (unterstrichen) */
.hw-cv-tabs { display: flex !important; gap: 2px !important; border-bottom: 1px solid var(--hw-line) !important; background: transparent !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.hw-cv-tab { padding: .5rem .75rem !important; font-size: 12.5px !important; color: var(--hw-mute) !important; border: none !important; border-bottom: 2px solid transparent !important; margin-bottom: -1px !important; background: transparent !important; border-radius: 0 !important; font-weight: 500 !important; }
.hw-cv-tab.active { color: var(--hw-text) !important; font-weight: 600 !important; border-bottom-color: var(--hw-accent) !important; }
.hw-cv-tab-count { font-size: 10px !important; background: var(--hw-line-2) !important; color: var(--hw-ink-2) !important; padding: 1px 6px !important; border-radius: 999px !important; font-weight: 600 !important; margin-left: .25rem; }

/* ---------- Badges → Chips ---------- */
.fi-badge { border-radius: 999px !important; height: 20px !important; padding: 0 .5rem !important; font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .02em !important; box-shadow: none !important; text-transform: none !important; gap: .3rem !important; }
.fi-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.fi-badge.fi-color-success { background: var(--hw-ok-soft) !important; color: var(--hw-ok) !important; }
.fi-badge.fi-color-warning { background: var(--hw-warn-soft) !important; color: var(--hw-warn) !important; }
.fi-badge.fi-color-danger { background: var(--hw-bad-soft) !important; color: var(--hw-bad) !important; }
.fi-badge.fi-color-info { background: var(--hw-info-soft) !important; color: var(--hw-info) !important; }
.fi-badge.fi-color-gray { background: var(--hw-line-2) !important; color: var(--hw-mute) !important; }
.fi-badge.fi-color-primary { background: var(--hw-accent-soft) !important; color: var(--hw-accent-2) !important; }
.fi-badge .fi-badge-icon { display: none !important; }
.hw-cv-pill { border-radius: 999px !important; height: 20px !important; padding: 0 .5rem !important; font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: none !important; display: inline-flex !important; align-items: center; gap: .3rem; border: none !important; background: var(--hw-line-2); }
.hw-cv-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.hw-tag, .tag { display: inline-flex; height: 20px; padding: 0 7px; align-items: center; border-radius: 4px; background: var(--hw-cream); border: 1px solid var(--hw-line); font-size: 10.5px; font-weight: 600; color: var(--hw-ink-2); letter-spacing: .03em; }

/* ---------- Formulare ---------- */
.fi-fo-field-wrp-label, .fi-fo-field-wrp-label .text-sm, .fi-fo-field-wrp-label span { font-size: 12px !important; font-weight: 600 !important; color: var(--hw-ink-2) !important; }
.fi-input-wrp { border-radius: var(--hw-r) !important; box-shadow: none !important; border: 1px solid var(--hw-line) !important; background: var(--hw-paper-2) !important; }
.fi-input-wrp:focus-within { border-color: var(--hw-accent) !important; box-shadow: 0 0 0 2px var(--hw-accent-soft) !important; }
.fi-input, .fi-select-input, .fi-input-wrp input, .fi-input-wrp select, .fi-input-wrp textarea { font-size: 13px !important; }
.fi-fo-field-wrp-helper-text, .fi-fo-field-wrp-hint { font-size: 11.5px !important; color: var(--hw-mute) !important; }
.choices__inner { border-radius: var(--hw-r) !important; }
.fi-fo-repeater-item { border-radius: var(--hw-r-lg) !important; }
.fi-fo-tabs .fi-tabs { display: flex !important; }
.fi-modal-window, .fi-modal-content { background: var(--hw-paper-2) !important; border-radius: var(--hw-r-lg) !important; }
.fi-modal-heading { font-size: 15px !important; font-weight: 700 !important; }
.fi-dropdown-panel { border: 1px solid var(--hw-line) !important; border-radius: var(--hw-r-lg) !important; box-shadow: 0 8px 24px rgba(31,23,18,.08) !important; }
.fi-dropdown-list-item { border-radius: var(--hw-r) !important; font-size: 12.5px !important; }

/* ---------- Widgets / KPIs ---------- */
.fi-wi-stats-overview { gap: .625rem !important; }
.fi-wi-stats-overview-stat { padding: .875rem 1rem !important; border: 1px solid var(--hw-line) !important; border-radius: var(--hw-r-lg) !important; background: var(--hw-paper-2) !important; box-shadow: none !important; border-top-width: 1px !important; }
.fi-wi-stats-overview-stat-label { font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--hw-mute) !important; }
.fi-wi-stats-overview-stat-value { font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.02em !important; margin-top: .35rem !important; color: var(--hw-text) !important; }
.fi-wi-stats-overview-stat-description { font-size: 11.5px !important; color: var(--hw-mute) !important; margin-top: .35rem !important; }
.fi-wi-stats-overview-stat-description-icon { width: .9rem !important; height: .9rem !important; }
.fi-wi-widget .fi-section-header-heading { font-size: 13px !important; }

/* ---------- Rechnungspapier & Auftragsformular an v2 anpassen ---------- */
.hw-paper { border-color: var(--hw-line) !important; box-shadow: 0 8px 24px rgba(31,23,18,.06) !important; }
.hw-of-info { background: var(--hw-accent-soft) !important; color: var(--hw-ink-2) !important; border: 1px solid #ecd6c3; }
.hw-of-info-h { color: var(--hw-accent-2) !important; }
.dark .hw-of-info { border-color: var(--hw-line); }

/* ---------- Kleinkram ---------- */
.fi-no-notification, .fi-notification { border-radius: var(--hw-r-lg) !important; }
a { color: var(--hw-accent); }
::selection { background: var(--hw-accent-soft); }
@media (max-width: 1024px) { .fi-main { padding: 0 1rem !important; } }

/* Nachbesserungen 1 */
.fi-sidebar-header .fi-logo { display: flex !important; }
.fi-sidebar-header img.fi-logo { display: none !important; }
.fi-sidebar-item-icon { width: 1.15rem !important; height: 1.15rem !important; opacity: .8; }
.fi-tabs-item .fi-badge::before { content: '·'; width: auto; height: auto; background: none; border-radius: 0; margin-right: 1px; }

/* ---------- v2-Bausteine (Dashboard, Detailseiten) ---------- */
.hw2-card { background: var(--hw-paper-2); border: 1px solid var(--hw-line); border-radius: var(--hw-r-lg); }
.hw2-card-h { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--hw-line-2); }
.hw2-card-h h3 { margin: 0; font-size: 13px; font-weight: 700; color: var(--hw-text); }
.hw2-more { font-size: 12px; color: var(--hw-accent); font-weight: 600; text-decoration: none; }
.hw2-lbl { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hw-mute); }
.hw2-sub { color: var(--hw-mute); font-size: 11.5px; }
.hw2-mono, .hw2-mono .fi-ta-text-item-label, td.hw2-mono, .hw2-mono * { font-family: var(--hw-mono) !important; font-size: 11.5px !important; color: var(--hw-ink-2) !important; }
.hw2-tagcol .fi-badge { border-radius: 4px !important; background: var(--hw-cream) !important; border: 1px solid var(--hw-line) !important; color: var(--hw-ink-2) !important; height: 20px !important; }
.hw2-tagcol .fi-badge::before { display: none; }
.hw2-tag { display: inline-flex; height: 20px; padding: 0 7px; align-items: center; border-radius: 4px; background: var(--hw-cream); border: 1px solid var(--hw-line); font-size: 10.5px; font-weight: 600; color: var(--hw-ink-2); letter-spacing: .03em; white-space: nowrap; }
.hw2-chip { display: inline-flex; align-items: center; gap: 5px; height: 20px; padding: 0 8px; border-radius: 999px; font-size: 10.5px; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.hw2-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.hw2-chip.ok { background: var(--hw-ok-soft); color: var(--hw-ok); } .hw2-chip.warn { background: var(--hw-warn-soft); color: var(--hw-warn); } .hw2-chip.bad { background: var(--hw-bad-soft); color: var(--hw-bad); }
.hw2-chip.info { background: var(--hw-info-soft); color: var(--hw-info); } .hw2-chip.mute { background: var(--hw-line-2); color: var(--hw-mute); } .hw2-chip.acc { background: var(--hw-accent-soft); color: var(--hw-accent-2); }
.hw2-empty { padding: 1rem; text-align: center; color: var(--hw-mute); font-size: 12.5px; }
/* Handlungsbedarf */
.hw2-alert { border-left: 3px solid var(--hw-bad); display: grid; grid-template-columns: repeat(4, 1fr); }
.hw2-alert-item { padding: 12px 16px; display: flex; gap: 12px; align-items: center; border-right: 1px solid var(--hw-line-2); text-decoration: none; color: inherit; }
.hw2-alert-item:last-child { border-right: none; }
.hw2-alert-item:hover { background: var(--hw-cream); }
.hw2-alert-n { font-size: 22px; font-weight: 700; min-width: 30px; }
.hw2-alert-n.bad { color: var(--hw-bad); } .hw2-alert-n.warn { color: var(--hw-warn); } .hw2-alert-n.info { color: var(--hw-info); } .hw2-alert-n.mute { color: var(--hw-mute-2); }
.hw2-alert-l { font-size: 12.5px; font-weight: 600; }
.hw2-alert-arrow { margin-left: auto; color: var(--hw-mute-2); }
@media (max-width: 900px) { .hw2-alert { grid-template-columns: 1fr 1fr; } .hw2-alert-item:nth-child(2) { border-right: none; } }
/* KPIs */
.hw2-kpi-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hw2-kpi-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hw2-kpi { padding: 14px 16px; text-decoration: none; color: inherit; display: block; }
.hw2-kpi:hover { border-color: var(--hw-mute-2); }
.hw2-kpi .v { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-top: 6px; line-height: 1; color: var(--hw-text); }
.hw2-kpi .d { font-size: 11.5px; color: var(--hw-mute); margin-top: 6px; }
.hw2-kpi.bad .v { color: var(--hw-bad); } .hw2-kpi.warn .v { color: var(--hw-warn); }
@media (max-width: 1100px) { .hw2-kpi-groups { grid-template-columns: 1fr; } }
/* Pipeline / Aktivität */
.hw2-pipe { display: grid; grid-template-columns: repeat(4, 1fr); padding: 12px 16px; gap: 8px; }
.hw2-list { padding: 0 16px 10px; }
.hw2-list-row { display: flex; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--hw-line-2); font-size: 12.5px; text-decoration: none; color: inherit; }
.hw2-list-row:last-child { border-bottom: none; }
.hw2-act-row { display: flex; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--hw-line-2); font-size: 12.5px; text-decoration: none; color: inherit; }
.hw2-act-row:last-child { border-bottom: none; }
/* Widgets ohne Filament-Section-Rahmen */
.fi-wi-widget > .hw2-card { height: 100%; }
/* Rechnungsliste: dezente Zeilenmarkierung statt Vollfarbe */
tr.hw-inv-paid, tr.hw-inv-part, tr.hw-inv-open { background: transparent !important; box-shadow: none !important; }
tr.hw-inv-overdue { background: transparent !important; box-shadow: inset 3px 0 0 var(--hw-bad) !important; }
tr.hw-inv-cancelled { opacity: .6; }
/* Link-Aktionen in Tabellen */
.fi-ta-actions .fi-link, .fi-ta-actions .fi-btn.fi-color-gray.fi-btn-outlined { font-size: 12px !important; font-weight: 600 !important; }
/* Detailseiten: Kopf */
.hw2-head { display: flex; gap: 14px; align-items: center; }
.hw2-avatar { width: 44px; height: 44px; border-radius: 10px; background: var(--hw-accent-soft); color: var(--hw-accent-2); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.hw2-head h1 { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.15; }
.hw2-head-line { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.hw2-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px 20px; padding: 14px 16px; margin: 0; }
.hw2-dl dt { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hw-mute); margin: 0 0 3px; }
.hw2-dl dd { margin: 0; font-size: 13px; }
.hw2-dl .wide { grid-column: 1 / -1; }
.hw2-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 14px; align-items: start; }
.hw2-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (max-width: 1100px) { .hw2-grid { grid-template-columns: 1fr; } }
.hw2-stepper { display: flex; align-items: center; padding: 12px 16px; }
.hw2-step { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.hw2-step-n { width: 20px; height: 20px; border-radius: 50%; background: var(--hw-line); color: var(--hw-mute); display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.hw2-step.done .hw2-step-n { background: var(--hw-ok); color: #fff; } .hw2-step.now .hw2-step-n { background: var(--hw-accent); color: #fff; }
.hw2-step-l { font-size: 12px; font-weight: 500; color: var(--hw-mute); } .hw2-step.done .hw2-step-l { color: var(--hw-text); } .hw2-step.now .hw2-step-l { color: var(--hw-text); font-weight: 700; }
.hw2-step-line { flex: 1; height: 1px; background: var(--hw-line); margin: 0 12px; } .hw2-step-line.done { background: var(--hw-ok); }
.hw2-risk-bars { display: flex; gap: 3px; } .hw2-risk-bars div { flex: 1; height: 5px; border-radius: 3px; background: var(--hw-line); }
.hw2-risk-bars.bad div.on { background: var(--hw-bad); } .hw2-risk-bars.warn div.on { background: var(--hw-warn); } .hw2-risk-bars.ok div.on { background: var(--hw-ok); }
.hw2-dashed { border-style: dashed !important; background: var(--hw-cream) !important; padding: 16px; text-align: center; }
.hw2-pad { padding: 10px 16px 14px; }
.hw2-row { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--hw-line-2); }
.hw2-row:last-child { border-bottom: none; }
.hw2-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--hw-info); margin-top: 5px; flex-shrink: 0; }
.hw-cv-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 14px; align-items: start; }
.hw-cv-main, .hw-cv-sidebar { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (max-width: 1100px) { .hw-cv-grid { grid-template-columns: 1fr; } }

/* Badges: Farben mit höherer Spezifität (altes Theme setzt weiß in Tabellen) */
html body .fi-badge, html body .fi-ta-cell .fi-badge { color: var(--hw-mute) !important; background: var(--hw-line-2) !important; }
html body .fi-badge.fi-color-success, html body .fi-ta-cell .fi-badge.fi-color-success { background: var(--hw-ok-soft) !important; color: var(--hw-ok) !important; }
html body .fi-badge.fi-color-warning, html body .fi-ta-cell .fi-badge.fi-color-warning { background: var(--hw-warn-soft) !important; color: var(--hw-warn) !important; }
html body .fi-badge.fi-color-danger, html body .fi-ta-cell .fi-badge.fi-color-danger { background: var(--hw-bad-soft) !important; color: var(--hw-bad) !important; }
html body .fi-badge.fi-color-info, html body .fi-ta-cell .fi-badge.fi-color-info { background: var(--hw-info-soft) !important; color: var(--hw-info) !important; }
html body .fi-badge.fi-color-primary, html body .fi-ta-cell .fi-badge.fi-color-primary { background: var(--hw-accent-soft) !important; color: var(--hw-accent-2) !important; }
html body .fi-badge.fi-color-gray, html body .fi-ta-cell .fi-badge.fi-color-gray { background: var(--hw-line-2) !important; color: var(--hw-mute) !important; }
html body .hw2-tagcol .fi-badge { background: var(--hw-cream) !important; color: var(--hw-ink-2) !important; }
html body .fi-tabs-item .fi-badge { background: transparent !important; color: inherit !important; }
html body .fi-sidebar-item .fi-badge { background: var(--hw-accent) !important; color: #fff !important; }
html body .fi-badge .fi-badge-label, html body .fi-badge span { color: inherit !important; }

/* Dashboard-Raster: 12 Spalten, Widget-Spannen (Filament liefert die lg:col-span-Klassen nicht für alle Werte) */
@media (min-width: 1024px) {
  .fi-wi.grid, .fi-wi { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
  .fi-wi > .lg\:col-span-5 { grid-column: span 5 / span 5 !important; }
  .fi-wi > .lg\:col-span-7 { grid-column: span 7 / span 7 !important; }
  .fi-wi > .lg\:col-span-8 { grid-column: span 8 / span 8 !important; }
  .fi-wi > .lg\:col-span-4 { grid-column: span 4 / span 4 !important; }
  .fi-wi > .lg\:col-span-6 { grid-column: span 6 / span 6 !important; }
  .fi-wi > .col-span-full { grid-column: 1 / -1 !important; }
}
.fi-wi { gap: 14px !important; }

/* Mobil */
@media (max-width: 640px) {
  .hw2-alert { grid-template-columns: 1fr; } .hw2-alert-item { border-right: none; border-bottom: 1px solid var(--hw-line-2); } .hw2-alert-item:last-child { border-bottom: none; }
  .hw2-kpi-row { grid-template-columns: 1fr 1fr; }
  .hw2-pipe { grid-template-columns: 1fr 1fr; }
  .fi-header { align-items: flex-start !important; }
  .fi-header-actions { flex-wrap: wrap; }
}

/* Adler oben in der Kopfleiste (05.09.2026) */
.hw2-topbrand { display: inline-flex; align-items: center; gap: .5rem; margin-right: 1rem; text-decoration: none; }
.hw2-topbrand-eagle { width: 30px; height: 30px; object-fit: contain; }
.hw2-topbrand-text b { display: block; font-size: 10px; letter-spacing: .08em; line-height: 1; color: var(--hw-text); font-weight: 700; }
.hw2-topbrand-text i { display: block; font-family: var(--hw-display); font-style: normal; font-size: 15px; color: var(--hw-accent); line-height: 1; margin-top: 1px; font-weight: 600; }
@media (max-width: 1023px) { .hw2-topbrand-text { display: none; } }

/* ---------- Zeit-Timer in der Kopfleiste (05.09.2026) ---------- */
.hw-zt { position: relative; margin-left: auto; margin-right: .75rem; display: flex; align-items: center; }
.hw-zt-btn { height: 30px; padding: 0 .75rem; border-radius: var(--hw-r); font-size: 12.5px; font-weight: 600; border: 1px solid var(--hw-line); background: var(--hw-paper-2); color: var(--hw-text); cursor: pointer; white-space: nowrap; }
.hw-zt-start { border-color: var(--hw-ok); color: var(--hw-ok); background: var(--hw-ok-soft); }
.hw-zt-start:hover { background: var(--hw-ok); color: #fff; }
.hw-zt-run { display: flex; align-items: center; gap: .5rem; height: 30px; padding: 0 .5rem 0 .75rem; border-radius: var(--hw-r); background: var(--hw-bad-soft); border: 1px solid #ecc9c4; }
.hw-zt-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--hw-bad); animation: hwztPulse 1.6s infinite; }
@keyframes hwztPulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.hw-zt-clock { font-family: var(--hw-mono); font-weight: 700; font-size: 13px; color: var(--hw-bad); font-variant-numeric: tabular-nums; }
.hw-zt-info { font-size: 12px; color: var(--hw-ink-2); text-decoration: none; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hw-zt-stop { height: 24px; padding: 0 .5rem; font-size: 11.5px; background: var(--hw-bad); border-color: var(--hw-bad); color: #fff; }
.hw-zt-panel { position: absolute; top: 36px; right: 0; width: 380px; background: var(--hw-paper-2); border: 1px solid var(--hw-line); border-radius: var(--hw-r-lg); box-shadow: 0 12px 32px rgba(31,23,18,.12); padding: .75rem; z-index: 60; }
.hw-zt-panel-h { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hw-mute); margin-bottom: .5rem; }
.hw-zt-input { width: 100%; height: 32px; border: 1px solid var(--hw-line); border-radius: var(--hw-r); padding: 0 .6rem; font-size: 13px; margin-bottom: .4rem; background: var(--hw-paper-2); color: var(--hw-text); }
.hw-zt-list { max-height: 300px; overflow: auto; margin-top: .25rem; }
.hw-zt-row { display: grid; grid-template-columns: auto 1fr; gap: 0 .5rem; width: 100%; text-align: left; padding: .45rem .5rem; border: none; border-bottom: 1px solid var(--hw-line-2); background: transparent; cursor: pointer; border-radius: 4px; color: var(--hw-text); }
.hw-zt-row:hover { background: var(--hw-ok-soft); }
.hw-zt-nr { font-family: var(--hw-mono); font-size: 11.5px; color: var(--hw-ink-2); }
.hw-zt-kunde { font-size: 12.5px; font-weight: 600; }
.hw-zt-titel { grid-column: 2; font-size: 11.5px; color: var(--hw-mute); }
.hw-zt-leer { padding: .75rem; font-size: 12.5px; color: var(--hw-mute); text-align: center; }
@media (max-width: 640px) { .hw-zt-info { display: none; } .hw-zt-panel { width: calc(100vw - 2rem); right: -3rem; } }
.hw2-alert { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1200px) { .hw2-alert { grid-template-columns: repeat(3, 1fr); } .hw2-alert-item:nth-child(3n) { border-right: none; } }
@media (max-width: 640px) { .hw2-alert { grid-template-columns: 1fr; } }

/* ---------- Mitarbeiter-Zeiten (Balken ohne JS) ---------- */
.hw-mz-chart { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; padding: 14px 16px 4px; height: 230px; align-items: end; }
.hw-mz-col { display: flex; flex-direction: column; align-items: center; height: 100%; }
.hw-mz-val { font-size: 10.5px; color: var(--hw-mute); height: 14px; font-variant-numeric: tabular-nums; }
.hw-mz-bars { position: relative; flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--hw-line); }
.hw-mz-stack { width: 70%; max-width: 34px; display: flex; flex-direction: column-reverse; height: 100%; }
.hw-mz-seg { width: 100%; }
.hw-mz-seg.abgerechnet { background: var(--hw-ok); border-radius: 3px 3px 0 0; } .hw-mz-seg.offen { background: var(--hw-warn); } .hw-mz-seg.intern { background: var(--hw-mute-2); }
.hw-mz-soll { position: absolute; left: 0; right: 0; height: 0; border-top: 2px dashed var(--hw-accent); opacity: .8; }
.hw-mz-lbl { font-size: 10.5px; color: var(--hw-mute); text-align: center; margin-top: 4px; line-height: 1.2; } .hw-mz-lbl span { font-weight: 700; color: var(--hw-text); } .hw-mz-lbl.now { color: var(--hw-accent); }
.hw-mz-legend { display: flex; gap: 14px; padding: 6px 16px 12px; font-size: 11px; color: var(--hw-mute); flex-wrap: wrap; }
.hw-mz-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.hw-mz-legend i.abgerechnet { background: var(--hw-ok); } .hw-mz-legend i.offen { background: var(--hw-warn); } .hw-mz-legend i.intern { background: var(--hw-mute-2); } .hw-mz-legend i.soll { border-top: 2px dashed var(--hw-accent); height: 0; width: 14px; }
.hw-mz-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 12.5px; }
.hw-mz-rowlbl { min-width: 56px; color: var(--hw-mute); }
.hw-mz-bar { flex: 1; height: 10px; background: var(--hw-line-2); border-radius: 5px; overflow: hidden; } .hw-mz-bar div { height: 100%; background: var(--hw-ok); border-radius: 5px; }
.hw-mz-rowval { min-width: 56px; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) { .hw2-kpi-row[style*="repeat(6"] { grid-template-columns: repeat(3, 1fr) !important; } }

/* ---------- Rechnungspapier: Summenbox (05.09.2026) ---------- */
.hw-paper-summen { background: var(--hw-cream) !important; border: 1px solid var(--hw-line); border-radius: 8px; padding: .75rem 1rem !important; margin-left: auto; width: 100%; max-width: 22rem; }
.hw-paper-summen > .fi-fo-component-ctn { gap: 0 !important; }
.hw-paper-summen .fi-fo-field-wrp { display: block !important; border-bottom: 1px solid var(--hw-line-2) !important; padding: .4rem 0 !important; }
.hw-paper-summen .fi-fo-field-wrp > .grid { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 1rem !important; }
.hw-paper-summen .fi-fo-field-wrp > .grid > * { margin: 0 !important; }
.hw-paper-summen .fi-fo-field-wrp-label, .hw-paper-summen .fi-fo-field-wrp-label span { font-size: 12.5px !important; font-weight: 500 !important; color: var(--hw-mute) !important; text-transform: none !important; letter-spacing: 0 !important; }
.hw-paper-summen .fi-fo-placeholder { text-align: right !important; font-variant-numeric: tabular-nums; font-size: 13.5px !important; white-space: nowrap; }
.hw-paper-summen .hw-paper-brutto { border-bottom: none !important; border-top: 2px solid var(--hw-text) !important; margin-top: .25rem !important; padding-top: .55rem !important; }
.hw-paper-summen .hw-paper-brutto .fi-fo-field-wrp-label, .hw-paper-summen .hw-paper-brutto .fi-fo-field-wrp-label span { color: var(--hw-text) !important; font-weight: 700 !important; font-size: 13.5px !important; }
.hw-paper-summen .hw-paper-brutto .fi-fo-placeholder { font-size: 16px !important; font-weight: 700 !important; }

/* ---------- Rechnungspapier: Storno-Kennzeichnung (05.09.2026) ---------- */
.hw-paper-status { display: flex; align-items: center; gap: 1.25rem; padding: .9rem 1.1rem; border-radius: 8px; margin-bottom: .25rem; }
.hw-paper-status.storniert { background: var(--hw-bad-soft); border: 2px solid var(--hw-bad); color: var(--hw-bad); }
.hw-paper-status.gutschrift { background: var(--hw-warn-soft); border: 2px solid var(--hw-warn); color: #7a5314; }
.hw-paper-stamp { font-family: var(--hw-mono); font-weight: 800; font-size: 1.35rem; letter-spacing: .14em; border: 3px solid currentColor; border-radius: 6px; padding: .3rem .7rem; transform: rotate(-6deg); white-space: nowrap; text-transform: uppercase; }
.hw-paper-status-h { font-weight: 700; font-size: 14px; }
.hw-paper-status-t { font-size: 12.5px; margin-top: 2px; color: var(--hw-ink-2); }
.hw-paper-status a { color: inherit; font-weight: 700; text-decoration: underline; }
.hw-paper.ist-storniert { border-color: var(--hw-bad) !important; box-shadow: 0 0 0 4px var(--hw-bad-soft) !important; }
.hw-paper.ist-storniert .hw-paper-title, .hw-paper.ist-storniert .hw-paper-items { opacity: .6; }
.hw-paper.ist-gutschrift { border-color: var(--hw-warn) !important; }
.hw-paper.ist-gutschrift .hw-paper-title span { color: #7a5314; }
/* Tabellen-Aktionen als Buttons (Rechnungsliste, 05.09.2026) */
.fi-ta-actions { gap: .35rem !important; }
.fi-ta-actions .fi-btn.fi-color-gray { background: var(--hw-paper-2) !important; color: var(--hw-text) !important; border: 1px solid var(--hw-line) !important; }
.fi-ta-actions .fi-btn.fi-color-primary { background: var(--hw-accent) !important; color: #fff !important; border-color: var(--hw-accent) !important; }
/* Rechnungsliste: aufgeklappte Positionen (05.09.2026) */
tr.hw-inv-expand > td { border-bottom: 1px solid var(--hw-line) !important; padding: 0 !important; }
tr.hw-inv-expand .hw-cv-log-tab td, tr.hw-inv-expand .hw-cv-log-tab th { padding: .35rem .6rem !important; border-bottom: 1px dashed var(--hw-line) !important; }
tr.hw-inv-expand .hw-cv-log-tab tfoot td { border-bottom: none !important; }
tr.hw-inv-expand .hw-cv-log-box { padding: .6rem 1rem .8rem 2.6rem; }
tr.hw-inv-expand .hw-cv-log-tab td, tr.hw-inv-expand .hw-cv-log-tab th { padding: .3rem .5rem; }

/* ---------- Plan-Ansicht (05.09.2026) ---------- */
.hw-plan-scroll { overflow: auto; height: calc(100vh - 250px); min-height: 420px; background: var(--hw-cream); padding: .75rem; text-align: center; }
.hw-plan-stage { position: relative; display: inline-block; max-width: none; text-align: left; vertical-align: top; }
.hw-plan-stage img { display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid var(--hw-line); background: #fff; }
@media (max-width: 1024px) { .hw-plan-view .hw2-grid { grid-template-columns: 1fr !important; } .hw-plan-scroll { height: auto; max-height: 70vh; } }
.hw-plan-pin { position: absolute; transform: translate(-50%, -50%); text-decoration: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ring); transition: transform .1s; }
.hw-plan-pin:hover { transform: translate(-50%, -50%) scale(1.15); z-index: 5; }
.hw-plan-pin-dot { width: 26px; height: 26px; border-radius: 50%; background: var(--pin); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(0,0,0,.45); border: 2px solid #fff; white-space: nowrap; padding: 0 3px; min-width: 26px; }
.hw-plan-zoom { display: flex; gap: .25rem; } .hw-plan-zoom button { height: 26px; min-width: 26px; padding: 0 .5rem; border: 1px solid var(--hw-line); border-radius: 6px; background: var(--hw-paper-2); font-size: 12px; font-weight: 700; cursor: pointer; color: var(--hw-text); }
.hw-plan-legend label { display: block; font-size: 12.5px; padding: 2px 0; cursor: pointer; } .hw-plan-legend input { margin-right: .35rem; accent-color: var(--hw-accent); }
.hw-plan-legend-row { display: flex; align-items: center; gap: .5rem; font-size: 12.5px; padding: 2px 0; }
.hw-plan-legend-dot { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; color: #fff; flex-shrink: 0; }
.hw-plan-typ { display: flex; align-items: center; gap: .5rem; width: 100%; text-align: left; padding: .35rem .25rem; border: none; border-bottom: 1px solid var(--hw-line-2); background: transparent; cursor: pointer; font-size: 12.5px; color: var(--hw-text); }
.hw-plan-typ.aus { opacity: .45; text-decoration: line-through; } .hw-plan-typ:hover { background: var(--hw-cream); }
@media print { .fi-sidebar, .fi-topbar, .fi-header-actions, [data-print-hide], .fi-breadcrumbs { display: none !important; } .fi-main { padding: 0 !important; } .hw-plan-scroll { height: auto; max-height: none; overflow: visible; padding: 0; } .hw-plan-stage { width: 100% !important; } .hw-plan-card { border: none !important; } }

/* ---------- Wartungsvertrag: Relation-Manager als ein Block (05.09.2026) ---------- */
.fi-resource-relation-managers { background: var(--hw-paper-2); border: 1px solid var(--hw-line); border-radius: var(--hw-r); overflow: visible; }
.fi-resource-relation-managers > .fi-tabs, .fi-resource-relation-managers > nav.fi-tabs { display: flex !important; flex-wrap: wrap; width: 100%; background: var(--hw-cream) !important; border: 0 !important; border-bottom: 1px solid var(--hw-line) !important; border-radius: var(--hw-r) var(--hw-r) 0 0 !important; padding: .5rem .75rem !important; gap: .25rem !important; }
.fi-resource-relation-managers > .fi-tabs .fi-tabs-item { height: 30px !important; padding: 0 .75rem !important; font-size: 12.5px !important; }
.fi-resource-relation-managers > .fi-tabs .fi-tabs-item-active, .fi-resource-relation-managers > .fi-tabs .fi-tabs-item.fi-active { background: var(--hw-paper-2) !important; border: 1px solid var(--hw-line) !important; }
.fi-resource-relation-managers > .fi-tabs .fi-tabs-item-icon { width: 1rem !important; height: 1rem !important; color: var(--hw-accent) !important; }
.fi-resource-relation-managers .fi-ta-ctn, .fi-resource-relation-managers .fi-section, .fi-resource-relation-managers > div > .fi-resource-relation-manager > .hw2-card { border: 0 !important; border-radius: 0 0 var(--hw-r) var(--hw-r) !important; box-shadow: none !important; }
.fi-resource-relation-managers .fi-ta-header-ctn { overflow: visible; }
.fi-resource-relation-managers .fi-ta-header-toolbar:empty { display: none; }
.fi-resource-relation-managers .fi-ta-filter-indicators { display: none !important; }
.fi-resource-relation-managers .fi-ta-filters-above-content-ctn, .fi-resource-relation-managers .fi-ta-filters { padding: .75rem .875rem !important; border-bottom: 1px solid var(--hw-line-2) !important; }
.fi-ta-header-toolbar .fi-icon-btn { border: 1px solid var(--hw-line); border-radius: 6px; background: var(--hw-paper-2); width: 30px; height: 30px; }
.fi-ta-header-toolbar .fi-icon-btn .fi-badge, .fi-ta-header-toolbar .fi-icon-btn-badge-ctn .fi-badge { background: var(--hw-accent) !important; color: #fff !important; }
.fi-ta-actions .fi-icon-btn.fi-color-danger { color: var(--hw-bad, #B03A2E) !important; }
.fi-ta-actions .fi-btn.fi-color-info { background: #E9F0F7 !important; color: #2F5C8A !important; border: 1px solid #C9DAEA !important; }
.fi-ta-actions .fi-btn.fi-color-success { background: #E8F2EA !important; color: #2F6A3C !important; border: 1px solid #C6DECC !important; }
.fi-ta-actions .fi-btn.fi-color-danger { background: #FBEDEB !important; color: #B03A2E !important; border: 1px solid #EFC9C4 !important; }
.fi-ta-actions .fi-btn.fi-size-sm, .fi-ta-actions .fi-btn { padding: .3rem .6rem !important; font-size: 12px !important; }

/* Auftrag: Hilfsaktionen (Textbaustein / KI) an den Freitextfeldern (05.09.2026) */
.hw-texthilfen > .grid > .flex:first-child { flex-direction: column; align-items: flex-start; gap: .2rem; }
.hw-texthilfen .fi-fo-field-wrp-hint { white-space: nowrap; flex-wrap: nowrap; gap: .75rem; }
.hw-texthilfen .fi-fo-field-wrp-hint .fi-link { font-size: 11.5px; }
.hw-texthilfen .fi-fo-field-wrp-hint .fi-link-icon { width: .9rem; height: .9rem; }
/* Tabellen-Toolbar: Filter-/Spalten-Buttons nicht zusammenquetschen (05.09.2026) */
.fi-ta-header-toolbar .fi-dropdown, .fi-ta-header-toolbar .fi-dropdown-trigger { flex: 0 0 auto !important; width: auto !important; min-width: 30px; }
.fi-ta-header-toolbar .fi-icon-btn { flex: 0 0 auto !important; }
.fi-ta-header-toolbar > div { gap: .5rem; }
.fi-ta-header-toolbar { padding-right: 1.25rem !important; }
.fi-ta-header-toolbar .fi-icon-btn { margin: 0 !important; width: 30px; height: 30px; }
.fi-ta-header-toolbar .fi-icon-btn-badge-ctn { top: 0 !important; transform: translate(-60%, -40%) !important; }
.fi-ta-header-toolbar .fi-icon-btn-badge-ctn .fi-badge { font-size: 10px !important; line-height: 14px !important; min-width: 16px !important; height: 16px !important; padding: 0 4px !important; border-radius: 8px !important; }
.hw-plan-heat { position: absolute; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(176,58,46,.85) 0%, rgba(176,58,46,.35) 55%, rgba(176,58,46,0) 75%); pointer-events: none; }
.hw-plan-pin-offen .hw-plan-pin-dot { box-shadow: 0 0 0 3px #C9A227, 0 1px 4px rgba(0,0,0,.45); }
