/* HERCULESBAU appN v3.08 — Apple Glass + themes + rich text */

:root,
[data-theme="light"] {
    --bg: #eef1f6;
    --surface: rgba(255, 255, 255, 0.62);
    --surface-solid: rgba(255, 255, 255, 0.92);
    --glass: rgba(255, 255, 255, 0.55);
    --glass-border: rgba(255, 255, 255, 0.65);
    --sidebar-bg: rgba(255, 255, 255, 0.58);
    --sidebar-border: rgba(255, 255, 255, 0.72);
    --sidebar-text: rgba(29, 29, 31, 0.88);
    --sidebar-text-muted: rgba(29, 29, 31, 0.52);
    --sidebar-brand-text: #1d1d1f;
    --sidebar-divider: rgba(0, 0, 0, 0.06);
    --sidebar-accent-soft: rgba(52, 199, 89, 0.14);
    --text: #1d1d1f;
    --text-secondary: #6e6e73;
    --border: rgba(0, 0, 0, 0.06);
    --input-muted-bg: rgba(0, 0, 0, 0.04);
    --menu-hover-bg: rgba(0, 0, 0, 0.02);
    --shell-gradient-1: rgba(52, 199, 89, 0.08);
    --shell-gradient-2: rgba(120, 180, 255, 0.07);
    --color-scheme: light;
    --brand: #42c861;
    --brand-bright: #5dd879;
    --brand-dark: #3ab85a;
    --accent: #42c861;
    --accent-hover: #3ab85a;
    --accent-soft: rgba(66, 200, 97, 0.14);
    --success: #42c861;
    --btn-green: #42c861;
    --btn-green-hover: #3ab85a;
    --btn-green-border: #3ab85a;
    --btn-red: #ef4444;
    --btn-red-hover: #dc2626;
    --btn-red-border: #dc2626;
    --danger: #ef4444;
    --hb-btn-radius: 12px;
    --warning: #ff9500;
    --surface-2: rgba(0, 0, 0, 0.06);
    --surface-3: rgba(0, 0, 0, 0.1);
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
    --shadow-glass: 0 8px 32px rgba(0, 0, 0, 0.08);
    --blur: saturate(180%) blur(24px);
    --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --sidebar-width: 268px;
}

[data-theme="dark"] {
    --surface-2: rgba(255, 255, 255, 0.08);
    --surface-3: rgba(255, 255, 255, 0.12);
    --bg: #0f0f12;
    --surface: rgba(28, 28, 32, 0.78);
    --surface-solid: rgba(38, 38, 42, 0.96);
    --glass: rgba(38, 38, 42, 0.72);
    --glass-border: rgba(255, 255, 255, 0.08);
    --sidebar-bg: rgba(18, 18, 22, 0.94);
    --sidebar-border: rgba(255, 255, 255, 0.06);
    --sidebar-text: rgba(255, 255, 255, 0.9);
    --sidebar-text-muted: rgba(255, 255, 255, 0.46);
    --sidebar-brand-text: rgba(255, 255, 255, 0.96);
    --sidebar-divider: rgba(255, 255, 255, 0.08);
    --sidebar-accent-soft: rgba(52, 199, 89, 0.2);
    --text: #f5f5f7;
    --text-secondary: #a1a1a6;
    --border: rgba(255, 255, 255, 0.1);
    --input-muted-bg: rgba(255, 255, 255, 0.06);
    --menu-hover-bg: rgba(255, 255, 255, 0.04);
    --shell-gradient-1: rgba(52, 199, 89, 0.07);
    --shell-gradient-2: rgba(120, 180, 255, 0.05);
    --color-scheme: dark;
    --accent-soft: rgba(52, 199, 89, 0.22);
    --shadow: 0 10px 40px rgba(0, 0, 0, 0.38);
    --shadow-glass: 0 8px 32px rgba(0, 0, 0, 0.42);
}

[data-theme="combined"] {
    --bg: #eef1f6;
    --surface: rgba(255, 255, 255, 0.62);
    --surface-solid: rgba(255, 255, 255, 0.92);
    --glass: rgba(255, 255, 255, 0.55);
    --glass-border: rgba(255, 255, 255, 0.65);
    --sidebar-bg: rgba(18, 18, 22, 0.94);
    --sidebar-border: rgba(255, 255, 255, 0.06);
    --sidebar-text: rgba(255, 255, 255, 0.9);
    --sidebar-text-muted: rgba(255, 255, 255, 0.46);
    --sidebar-brand-text: rgba(255, 255, 255, 0.96);
    --sidebar-divider: rgba(255, 255, 255, 0.08);
    --sidebar-accent-soft: rgba(52, 199, 89, 0.2);
    --text: #1d1d1f;
    --text-secondary: #6e6e73;
    --border: rgba(0, 0, 0, 0.06);
    --input-muted-bg: rgba(0, 0, 0, 0.04);
    --menu-hover-bg: rgba(0, 0, 0, 0.02);
    --shell-gradient-1: rgba(52, 199, 89, 0.08);
    --shell-gradient-2: rgba(120, 180, 255, 0.07);
    --color-scheme: light;
    --accent-soft: rgba(52, 199, 89, 0.14);
    --shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
    --shadow-glass: 0 8px 32px rgba(0, 0, 0, 0.08);
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    font-family: var(--font);
    background:
        radial-gradient(ellipse at 0% 0%, var(--shell-gradient-1), transparent 45%),
        radial-gradient(ellipse at 100% 100%, var(--shell-gradient-2), transparent 40%),
        var(--bg);
    color: var(--text);
    color-scheme: var(--color-scheme);
    -webkit-font-smoothing: antialiased;
    min-height: 100%;
}

a { color: var(--text); text-decoration: none; }
a:hover { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }

.btn, .btn:hover,
.nav-item, .nav-item:hover,
.side-menu, .side-menu:hover,
.calendar-day, .calendar-day:hover,
.calendar-day-list-item, .calendar-day-list-item:hover,
.calendar-pro-day, .calendar-pro-day:hover,
.calendar-pro-chip, .calendar-pro-chip:hover,
.calendar-month-item, .calendar-month-item:hover,
.calendar-picker-day, .calendar-picker-day:hover,
.calendar-picker-nav-btn, .calendar-picker-nav-btn:hover,
.calendar-pro-nav-btn, .calendar-pro-nav-btn:hover,
.calendar-user-link, .calendar-user-link:hover,
.calendar-week-day, .calendar-week-day:hover,
.documents-tree-link, .documents-tree-link:hover,
.kpi-card, .kpi-card:hover,
.user-menu-item, .user-menu-item:hover,
.pagination__link, .pagination__link:hover,
.btn-primary, .btn-primary:hover {
    text-decoration: none;
}

.documents-tree-link.is-active,
.documents-tree-link.is-active:hover,
.documents-tree-link.is-active i,
.documents-tree-link.is-active svg {
    color: #fff !important;
}

::selection {
    background: rgba(45, 168, 45, 0.28);
    color: var(--text);
}

.app-shell {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: var(--sidebar-width);
    background: var(--sidebar-bg);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
    border-right: 1px solid var(--sidebar-border);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.04);
    position: fixed;
    inset: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    z-index: 100;
    transition: transform 0.25s ease;
}

.sidebar-brand {
    padding: 24px 20px 16px;
    border-bottom: 1px solid var(--sidebar-divider);
}

.sidebar-brand h1 {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--sidebar-brand-text);
}

.sidebar-brand p {
    margin: 4px 0 0;
    font-size: 12px;
    color: var(--sidebar-text-muted);
}

.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    padding: 10px 8px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    color: var(--sidebar-text);
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s ease;
    margin-bottom: 3px;
}

.nav-item:hover { background: var(--sidebar-accent-soft); color: var(--sidebar-text); }
.nav-item.active {
    background: var(--accent);
    color: #fff;
    font-weight: 600;
}

.nav-item.active svg {
    color: #fff !important;
    opacity: 1;
}

.nav-item svg { width: 18px; height: 18px; opacity: 0.85; flex-shrink: 0; }

.sidebar-footer {
    padding: 14px 12px 20px;
    border-top: 1px solid var(--sidebar-divider);
}

.main {
    flex: 1;
    margin-left: var(--sidebar-width);
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    background: var(--surface);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
    border-bottom: 1px solid var(--border);
}

.topbar-title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.03em;
    margin: 0;
}

.topbar-spacer { flex: 1; }

.topbar-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.topbar-actions {
    max-width: 100%;
}

.topbar-search-form {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 180px;
    max-width: 280px;
    flex: 1 1 180px;
}

.topbar-search-icon {
    position: absolute;
    left: 12px;
    width: 16px;
    height: 16px;
    color: var(--text-secondary);
    pointer-events: none;
}

.topbar-search-input {
    width: 100%;
    height: 36px;
    padding: 0 14px 0 36px;
    border: 1px solid var(--border) !important;
    border-radius: 980px !important;
    background: var(--surface-solid) !important;
    font-family: var(--font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--text) !important;
    outline: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
    -webkit-appearance: none;
    appearance: none;
}

.topbar-search-input::placeholder {
    color: var(--text-secondary);
    opacity: 1;
}

.topbar-search-input:focus {
    background: var(--surface-solid) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.18) !important;
}

.search-page-form .search-page-input {
    flex: 1;
    min-width: 220px;
    height: 40px;
    padding: 0 16px;
    border: 1px solid var(--border);
    border-radius: 980px;
    background: var(--input-muted-bg);
    font-family: var(--font);
    font-size: 14px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.search-page-form .search-page-input:focus {
    background: var(--surface-solid);
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.15);
}

.topbar-date-wrap {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.topbar-date-input,
.topbar .topbar-date-input,
.topbar input[type="date"]#ndate {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    height: 36px;
    min-width: 148px;
    padding: 0 14px;
    border: 1px solid var(--border) !important;
    border-radius: 980px !important;
    background: var(--surface-solid) !important;
    font-family: var(--font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--text) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    color-scheme: var(--color-scheme);
    cursor: pointer;
    outline: none;
    line-height: 36px;
}

.topbar-date-input:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.18) !important;
}

.topbar-back-btn,
.topbar-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface-solid);
    color: var(--text-secondary);
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s, color 0.15s, background 0.15s;
    flex-shrink: 0;
}

.topbar-back-btn {
    border: 2px solid var(--accent, #42c861);
    color: var(--accent, #42c861);
    box-shadow: 0 0 0 1px rgba(66, 200, 97, 0.14);
}

.topbar-back-btn:hover {
    border-color: var(--accent-hover, #3ab85a);
    color: var(--text);
    background: var(--sidebar-accent-soft, rgba(52, 199, 89, 0.14));
    box-shadow: 0 0 0 3px rgba(66, 200, 97, 0.22);
}

.topbar-filter-btn:hover,
.topbar-filter-btn.is-active {
    border-color: var(--accent);
    color: var(--text);
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.15);
}

.topbar-back-btn svg,
.topbar-back-btn i,
.topbar-filter-btn svg,
.topbar-filter-btn i {
    width: 16px;
    height: 16px;
}

.topbar-filter-btn.is-active {
    background: rgba(45, 168, 45, 0.1);
}

.topbar-filter-btn[hidden] {
    display: none !important;
}

/* Filtre pagină — ascunse până la click pe butonul din topbar */
.legacy-content:not(.page-filters-open) .page-filter-form {
    display: none !important;
}

/* Căutare integrată în pagină (Notizen etc.) — mereu vizibilă */
.legacy-content .calendar-toolbar-filters,
.legacy-content .calendar-toolbar--notes form,
.legacy-content .calendar-page-layout--notes .notes-toolbar,
.legacy-content .mitarbeiter-page__toolbar,
.legacy-content .mitarbeiter-page__toolbar .mitarbeiter-page__search,
.legacy-content .stammdaten-page__toolbar,
.legacy-content .stammdaten-page__search--live,
.legacy-content form.page-search-bar,
.legacy-content .page-toolbar form.page-search-bar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.legacy-content.page-filters-open .page-filter-form {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    padding: 14px 16px;
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

.legacy-content.page-filters-open .page-filter-form.uk-search {
    display: block !important;
}

.legacy-content.page-filters-open form.page-filter-form {
    display: flex !important;
}

.legacy-content .page-filter-form .input,
.legacy-content .page-filter-form input[type="text"],
.legacy-content .page-filter-form input[type="search"] {
    border-radius: 980px !important;
    min-width: 200px;
}

.modal-drag-handle {
    cursor: move !important;
    user-select: none;
}

.floating-modal.is-dragging,
.uk-modal-dialog.is-dragging,
.lager-modal.is-dragging,
.hb-invoice-edit-dialog.is-dragging,
.hb-edit-modal-panel.is-dragging,
.modal-panel.is-dragging,
.bg-white.is-dragging {
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28) !important;
    cursor: grabbing !important;
    user-select: none !important;
}

.hb-invoice-edit-dialog.is-dragging .hb-modal-drag-header,
.hb-edit-modal-panel.is-dragging .hb-modal-drag-header,
.modal-panel.is-dragging .modal-drag-handle {
    cursor: grabbing !important;
}

.topbar-date-input::-webkit-datetime-edit,
.topbar-date-input::-webkit-datetime-edit-fields-wrapper,
.topbar-date-input::-webkit-datetime-edit-text,
.topbar-date-input::-webkit-datetime-edit-month-field,
.topbar-date-input::-webkit-datetime-edit-day-field,
.topbar-date-input::-webkit-datetime-edit-year-field {
    color: var(--text) !important;
    padding: 0;
}

.topbar-date-input::-webkit-calendar-picker-indicator {
    opacity: 0.55;
    cursor: pointer;
    margin-left: 4px;
}

.user-menu {
    position: relative;
}

.user-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 2px solid var(--border);
    border-radius: 50%;
    background: var(--surface-solid);
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.user-menu-trigger:hover,
.user-menu-trigger[aria-expanded="true"] {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.15);
}

.user-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.user-avatar-lg {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
}

.user-menu-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 220px;
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    z-index: 200;
    overflow: hidden;
}

.user-menu-dropdown[hidden] {
    display: none !important;
}

.user-menu-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: var(--menu-hover-bg);
}

.user-menu-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.user-menu-role {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.user-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    font-size: 14px;
    color: var(--text) !important;
    text-decoration: none;
    transition: background 0.15s;
}

.user-menu-item:hover {
    background: rgba(45, 168, 45, 0.08);
    color: var(--text) !important;
}

.user-menu-item i,
.user-menu-item svg {
    width: 16px;
    height: 16px;
    opacity: 0.75;
}

.user-menu-item-danger {
    color: var(--danger) !important;
}

.user-menu-item-danger:hover {
    background: rgba(255, 59, 48, 0.08);
    color: var(--danger) !important;
}

.user-menu-divider {
    height: 1px;
    background: var(--border);
    margin: 4px 0;
}

.search-result-row:hover {
    background: rgba(45, 168, 45, 0.05) !important;
}

.timer-display {
    font-variant-numeric: tabular-nums;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    min-width: 72px;
    text-align: center;
}

.content {
    padding: 24px;
    flex: 1;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border: none;
    border-radius: var(--hb-btn-radius, 12px);
    font-family: inherit;
    font-size: var(--btn-action-font, 13px);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
}

.btn-primary,
.btn-success,
.btn-save,
.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel):not(.btn-icon):not(.btn-outline-danger):not(.icon-btn):not(.calendar-picker-nav-btn):not(.topbar-filter-btn):not(.inventar-link-btn) {
    background: var(--btn-green, #42c861);
    color: #fff !important;
    border: 1px solid var(--btn-green-border, #3ab85a);
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28);
}
.btn-primary:hover,
.btn-success:hover,
.btn-save:hover,
.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel):not(.btn-icon):not(.btn-outline-danger):not(.icon-btn):not(.calendar-picker-nav-btn):not(.topbar-filter-btn):not(.inventar-link-btn):hover {
    background: var(--btn-green-hover, #3ab85a);
    color: #fff !important;
    border-color: var(--btn-green-hover, #3ab85a);
}
.legacy-content a.btn-success,
.legacy-content a.btn-success:hover,
.legacy-content a.btn-success:focus-visible {
    color: #fff !important;
}
.legacy-content a.btn-success .stroke-1\.5,
.legacy-content a.btn-success svg {
    color: #fff !important;
    stroke: #fff !important;
}
.angebot-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 8px;
    text-decoration: none !important;
}
.btn-danger { background: var(--btn-red, #ef4444); color: #fff; border: 1px solid var(--btn-red-border, #dc2626); }
.btn-danger:hover { background: var(--btn-red-hover, #dc2626); color: #fff; border-color: var(--btn-red-hover, #dc2626); }
.btn-delete,
.btn-outline-danger {
    background: rgba(254, 226, 226, 0.92);
    color: #dc2626 !important;
    border: 1px solid rgba(239, 68, 68, 0.5);
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.12);
}
.btn-delete:hover,
.btn-outline-danger:hover {
    background: var(--btn-red, #ef4444) !important;
    color: #fff !important;
    border-color: var(--btn-red, #ef4444) !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28);
}
.btn-ghost:not(.btn-cancel) {
    background: var(--btn-green, #42c861);
    color: #fff !important;
    border: 1px solid var(--btn-green-border, #3ab85a);
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22);
}
.btn-ghost:not(.btn-cancel):hover {
    background: var(--btn-green-hover, #3ab85a);
    color: #fff !important;
    border-color: var(--btn-green-hover, #3ab85a);
}
.btn-secondary {
    background: var(--btn-green, #42c861);
    color: #fff !important;
    border: 1px solid var(--btn-green-border, #3ab85a);
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22);
}
.btn-secondary:hover {
    background: var(--btn-green-hover, #3ab85a);
    color: #fff !important;
    border-color: var(--btn-green-hover, #3ab85a);
}

.btn-cancel {
    background: var(--btn-red, #ef4444);
    color: #fff !important;
    border: 1px solid var(--btn-red-border, #dc2626);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22);
}
.btn-cancel:hover {
    background: var(--btn-red-hover, #dc2626);
    color: #fff !important;
    border-color: var(--btn-red-hover, #dc2626);
}

.btn-save:active,
.btn-cancel:active,
.btn-primary:active,
.btn-danger:active {
    transform: scale(0.97) translateY(1px);
}

.btn-save:active,
.btn-primary:active {
    box-shadow: 0 1px 4px rgba(66, 200, 97, 0.35);
}

.btn-cancel:active,
.btn-danger:active {
    box-shadow: 0 1px 4px rgba(239, 68, 68, 0.35);
}

.btn-outline-secondary {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.btn-outline-secondary:hover {
    background: var(--input-muted-bg);
    color: var(--text);
    border-color: var(--border);
}
.btn-sm { padding: 6px 12px; font-size: 12px; }

.input, .select {
    appearance: none;
    border: 1px solid var(--border);
    background: var(--surface-solid);
    border-radius: var(--radius-sm);
    padding: 8px 12px;
    font-family: inherit;
    font-size: 14px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.input:focus, .select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15);
}

.input-search {
    border-radius: 980px;
    padding-left: 36px;
    min-width: 200px;
    background: rgba(0,0,0,0.04);
    border-color: transparent;
}

.input-date {
    border-radius: 980px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text) !important;
    background: var(--surface-solid);
    border: 1px solid var(--border);
    padding: 8px 14px;
    min-width: 148px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    color-scheme: var(--color-scheme);
    font-family: var(--font);
    cursor: pointer;
}

.input-date:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.18);
    outline: none;
}

.input-date::-webkit-datetime-edit,
.input-date::-webkit-datetime-edit-fields-wrapper,
.input-date::-webkit-datetime-edit-text,
.input-date::-webkit-datetime-edit-month-field,
.input-date::-webkit-datetime-edit-day-field,
.input-date::-webkit-datetime-edit-year-field {
    color: var(--text);
    padding: 0 2px;
}

.input-date::-webkit-calendar-picker-indicator {
    opacity: 0.55;
    cursor: pointer;
    filter: none;
}

.select-lang {
    border-radius: 980px;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 28px 7px 12px;
    min-width: 68px;
    background-color: var(--surface-solid);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
    color: var(--text);
}

.select-lang option {
    color: var(--text);
    background: var(--surface-solid);
}

.select-lang option:checked {
    background: var(--accent);
    color: #fff;
}

.legacy-content .box,
.legacy-content .intro-y,
.legacy-content table {
    max-width: 100%;
}

/* Shell content area — fundal curat */
.content.legacy-content {
    background: var(--bg);
}

.sidebar-nav--legacy {
    padding: 8px 6px 16px;
    overflow-x: hidden;
}

.sidebar-nav--legacy .side-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block !important;
}

.sidebar-nav--legacy .side-menu {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
    min-height: 40px;
    line-height: 1.4;
}

.sidebar-nav--legacy .side-menu:hover {
    background: var(--sidebar-accent-soft) !important;
    color: #fff !important;
}

/* Secțiune deschisă (părinte cu submeniu) — rămâne bold alb */
.sidebar-nav--legacy .side-menu--expandable.side-menu--active,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active {
    background: var(--sidebar-accent-soft) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: none;
    border: 1px solid rgba(66, 200, 97, 0.18) !important;
}

.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__icon i,
.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__icon svg,
.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__title,
.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__label,
.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__sub-icon i,
.sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__sub-icon svg,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__icon i,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__icon svg,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__title,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__label,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__sub-icon i,
.sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__sub-icon svg {
    color: #fff !important;
}

/* Pagină curentă (link real) — verde solid, text alb */
.sidebar-nav--legacy .side-menu--active:not(.side-menu--expandable) {
    background: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28);
}

.sidebar-nav--legacy .side-menu--active:not(.side-menu--expandable) .side-menu__icon i,
.sidebar-nav--legacy .side-menu--active:not(.side-menu--expandable) .side-menu__icon svg,
.sidebar-nav--legacy .side-menu--active:not(.side-menu--expandable) .side-menu__title,
.sidebar-nav--legacy .side-menu--active:not(.side-menu--expandable) .side-menu__label {
    color: #fff !important;
}

.sidebar-nav--legacy .side-menu__icon i,
.sidebar-nav--legacy .side-menu__icon svg {
    color: inherit !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
}

.sidebar-nav--legacy .side-nav__divider {
    height: 1px;
    background: var(--sidebar-divider);
    margin: 12px 8px;
    list-style: none;
}

.sidebar-nav--legacy .side-menu__icon {
    width: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sidebar-nav--legacy .side-menu__title {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
    font-weight: inherit;
    color: inherit;
}

.sidebar-nav--legacy .side-menu__title:has(.side-menu__sub-icon) {
    justify-content: space-between;
    flex-wrap: nowrap;
    overflow: hidden;
}

.sidebar-nav--legacy .side-menu__title:not(:has(.side-menu__sub-icon)) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Submeniuri închise — nu se suprapun peste itemii următori */
.sidebar-nav--legacy li > ul.side-menu__sub:not(.side-menu__sub-open) {
    display: none !important;
}

.sidebar-nav--legacy .side-menu__label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: inherit;
    color: inherit;
}

.sidebar-nav--legacy .side-menu__sub-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-left: auto;
}

.sidebar-nav--legacy .side-menu__sub-icon i,
.sidebar-nav--legacy .side-menu__sub-icon svg {
    width: 14px !important;
    height: 14px !important;
    color: inherit !important;
}

/* Submeniuri — text normal, gri; nested expandabile — gri bold */
.sidebar-nav--legacy li > ul.side-menu__sub {
    list-style: none;
    margin: 4px 0 6px;
    padding: 3px 0 3px 12px;
    display: none;
    border-left: 1px solid var(--sidebar-divider);
}

.sidebar-nav--legacy li > ul.side-menu__sub > li {
    margin-bottom: 3px;
}

.sidebar-nav--legacy li > ul.side-menu__sub > li:last-child {
    margin-bottom: 0;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu {
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 400 !important;
    min-height: 36px;
    gap: 8px;
    color: #b8b8b8 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__title,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__label,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__icon i,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__icon svg,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__sub-icon i,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__sub-icon svg {
    color: #b8b8b8 !important;
    font-weight: 400 !important;
}

/* Submeniu care deschide alt submeniu (ex. Vertrieb, Operativ) — gri + bold */
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon),
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] {
    color: #b8b8b8 !important;
    font-weight: 700 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__title,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__label,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__icon i,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__icon svg,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__sub-icon i,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__sub-icon svg,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__title,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__label,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__icon i,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__icon svg,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__sub-icon i,
.sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__sub-icon svg {
    color: #b8b8b8 !important;
    font-weight: 700 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu:hover {
    color: #d4d4d4 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu--active:not(.side-menu--expandable):not([href="javascript:;"]):not(:has(.side-menu__sub-icon)) {
    color: #fff !important;
    font-weight: 700 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub .side-menu--active:not(.side-menu--expandable):not([href="javascript:;"]):not(:has(.side-menu__sub-icon)) .side-menu__title,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu--active:not(.side-menu--expandable):not([href="javascript:;"]):not(:has(.side-menu__sub-icon)) .side-menu__label,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu--active:not(.side-menu--expandable):not([href="javascript:;"]):not(:has(.side-menu__sub-icon)) .side-menu__icon i,
.sidebar-nav--legacy li > ul.side-menu__sub .side-menu--active:not(.side-menu--expandable):not([href="javascript:;"]):not(:has(.side-menu__sub-icon)) .side-menu__icon svg {
    color: #fff !important;
    font-weight: 700 !important;
}

.sidebar-nav--legacy li > ul.side-menu__sub li > ul.side-menu__sub {
    padding-left: 10px;
    margin: 4px 0 2px 4px;
}

.sidebar-nav--legacy li > ul.side-menu__sub-open {
    display: block !important;
}

.sidebar-nav--legacy .side-nav-list > li {
    display: block;
    margin-bottom: 4px;
}

/* Temă light: sidebar deschis — păstrăm contrastul (bold / gri) */
[data-theme="light"] .sidebar-nav--legacy .side-menu {
    color: var(--sidebar-text) !important;
}
[data-theme="light"] .sidebar-nav--legacy .side-menu:hover {
    color: var(--sidebar-text) !important;
}
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__icon i,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__icon svg,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__title,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__label,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__sub-icon i,
[data-theme="light"] .sidebar-nav--legacy .side-menu--expandable.side-menu--active .side-menu__sub-icon svg,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__icon i,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__icon svg,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__title,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__label,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__sub-icon i,
[data-theme="light"] .sidebar-nav--legacy a.side-menu[href="javascript:;"].side-menu--active .side-menu__sub-icon svg {
    color: var(--sidebar-text) !important;
}
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__title,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__label,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__icon svg,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__sub-icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu .side-menu__sub-icon svg {
    color: #6b7280 !important;
    font-weight: 400 !important;
}
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon),
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"],
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__title,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__label,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__icon svg,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__sub-icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub .side-menu:has(.side-menu__sub-icon) .side-menu__sub-icon svg,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__title,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__label,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__icon svg,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__sub-icon i,
[data-theme="light"] .sidebar-nav--legacy li > ul.side-menu__sub a.side-menu[href="javascript:;"] .side-menu__sub-icon svg {
    color: #6b7280 !important;
    font-weight: 700 !important;
}

.sidebar-nav--legacy .rotate-180 {
    transform: rotate(180deg);
}

.card {
    background: var(--surface-solid);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-glass);
    border: 1px solid var(--glass-border);
    overflow: hidden;
    color: var(--text);
}

.card-body { padding: 20px; }

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.kpi-card {
    background: var(--surface-solid);
    border-radius: var(--radius-lg);
    padding: 20px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
    color: inherit;
    display: block;
}

.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    color: inherit;
}

.kpi-label {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.kpi-value {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.kpi-meta {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-secondary);
}

.kpi-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 980px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: var(--success);
    float: right;
}

.kpi-badge.danger { background: var(--danger); }
.kpi-badge.warning { background: var(--warning); }

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 28px 0 14px;
}

.section-header h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
}

/* Dashboard — coloane aliniate (Angebote / Kreditoren) */
.dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    gap: 20px;
    align-items: start;
}

.dashboard-columns__main,
.dashboard-columns__aside {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.dashboard-block {
    margin-bottom: 24px;
}

.dashboard-block:last-child {
    margin-bottom: 0;
}

.dashboard-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    margin: 0 0 14px;
}

.dashboard-block__head--solo {
    justify-content: flex-start;
}

.dashboard-block__head h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.dashboard-columns__main > .dashboard-block:first-child .dashboard-block__head,
.dashboard-columns__aside > .dashboard-block:first-child .dashboard-block__head {
    margin-top: 0;
}

.dashboard-columns .card {
    margin: 0;
}

.dashboard-block--activity {
    margin-bottom: 28px;
}

.activity-log-toolbar {
    padding-bottom: 0;
    border-bottom: 1px solid var(--border);
    margin-bottom: 0;
}

.activity-log-toolbar__form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.activity-log-toolbar__label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.activity-log-toolbar__input {
    max-width: 180px;
}

.activity-log-toolbar .litepicker .reset-button {
    display: none !important;
}

.activity-log-toolbar__meta {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--text-secondary);
}

.activity-log-table-wrap {
    max-height: 420px;
    overflow: auto;
}

.activity-log-table .activity-log-details {
    font-size: 12px;
    color: var(--text-secondary);
    max-width: 280px;
}

.activity-log-route {
    font-size: 12px;
}

.activity-log-empty {
    text-align: center;
    color: var(--text-secondary);
    padding: 24px 12px !important;
}

.activity-log-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    background: var(--surface-2);
    color: var(--text-primary);
}

.activity-log-badge--save { background: rgba(34, 197, 94, 0.15); color: #15803d; }
.activity-log-badge--delete { background: rgba(239, 68, 68, 0.12); color: #b91c1c; }
.activity-log-badge--view { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.activity-log-badge--login_success { background: rgba(34, 197, 94, 0.15); color: #15803d; }
.activity-log-badge--search { background: rgba(148, 163, 184, 0.2); color: var(--text-secondary); }

/* Aktivitätsprotokoll — pagină dedicată */
.activity-log-page {
    max-width: 1200px;
    margin: 0 auto;
}

.activity-log-page__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.activity-log-page__hero-text {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.activity-log-page__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(34, 197, 94, 0.12);
    color: var(--primary);
    flex-shrink: 0;
}

.activity-log-page__title {
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.activity-log-page__subtitle {
    margin: 0;
    font-size: 14px;
    color: var(--text-secondary);
    max-width: 520px;
}

.activity-log-page__date-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--surface-solid);
    border: 1px solid var(--border);
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.activity-log-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.activity-log-stat {
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 16px 18px;
    box-shadow: var(--shadow);
}

.activity-log-stat__label {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.activity-log-stat__value {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
}

.activity-log-stat--accent .activity-log-stat__value {
    color: var(--primary);
}

.activity-log-stat--muted .activity-log-stat__value {
    color: var(--text-secondary);
}

.dashboard-block--activity-pro {
    margin-bottom: 0;
}

.activity-log-card {
    overflow: hidden;
}

.activity-log-toolbar__group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 140px;
}

.activity-log-toolbar__group--today {
    min-width: auto;
}

.activity-log-toolbar__group--today .btn {
    min-width: 72px;
    justify-content: center;
}

.activity-log-toolbar__select {
    min-width: 180px;
    max-width: 240px;
}

.activity-log-toolbar__actions {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
}

.activity-log-toolbar__actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.activity-log-table-wrap--pro {
    max-height: min(68vh, 720px);
}

.activity-log-table tbody tr:nth-child(even) {
    background: rgba(148, 163, 184, 0.04);
}

.activity-log-time {
    font-variant-numeric: tabular-nums;
    font-size: 13px;
    color: var(--text-secondary);
}

.activity-log-user {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.activity-log-user__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.15);
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
}

.activity-log-user__name {
    font-weight: 500;
}

.activity-log-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.activity-log-route-label {
    font-size: 13px;
    font-weight: 500;
}

.activity-log-details--empty {
    color: var(--text-secondary);
}

.activity-log-empty {
    text-align: center;
    color: var(--text-secondary);
    padding: 40px 16px !important;
}

.activity-log-empty__icon {
    display: block;
    margin: 0 auto 10px;
    opacity: 0.45;
}

.activity-log-empty__link {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    color: var(--primary);
}

@media (max-width: 900px) {
    .activity-log-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .activity-log-toolbar__actions {
        margin-left: 0;
        width: 100%;
    }
}

.bestellungen-page__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.bestellungen-page__head--positions {
    align-items: flex-start;
}

.bestellungen-page__head--positions .bestellungen-page__section-title {
    margin-bottom: 0.35rem;
}

.bestellungen-page__head--positions .bestellungen-page__nummer {
    margin: 0.15rem 0 0.35rem;
}

.lieferungen-positions__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 1rem;
}

.lieferungen-positions__actions-end {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-left: auto;
}

.bestellungen-page__head-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.bestellungen-page__head-actions form {
    display: inline-flex;
    align-items: center;
    margin: 0;
    flex: 0 0 auto;
}

.bestellungen-page__head-actions .projekte-filter-btn {
    white-space: nowrap;
}

.stammdaten-table__row--link {
    cursor: pointer;
}

.stammdaten-table__row-title strong {
    color: var(--accent, #16a34a);
}

.stammdaten-table__row--link:hover .stammdaten-table__row-title strong,
.stammdaten-table__row--link:focus-visible .stammdaten-table__row-title strong {
    text-decoration: underline;
}

.stammdaten-table__row--link:hover td,
.stammdaten-table__row--link:focus-visible td {
    background: rgba(22, 163, 74, 0.06);
}

.stammdaten-table__row--link:focus-visible {
    outline: none;
}

.stammdaten-table__row-action {
    color: var(--text-secondary, #64748b);
    width: 2.5rem;
}

.bestellungen-page__nummer {
    margin: 0 0 0.25rem;
    font-size: 1.35rem;
    font-weight: 700;
}

.bestellungen-page__meta {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.bestellungen-page__meta-hint {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    color: #b45309;
}

.btn-danger:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.bestellungen-page__section-title {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.bestellungen-form .lager-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.hb-stock-combobox {
    position: relative;
    width: 100%;
    min-width: 0;
}

.hb-stock-combobox__field {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 12px);
    background: var(--surface-solid, #fff);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hb-stock-combobox__field:focus-within {
    border-color: var(--accent, #0071e3);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.12);
}

.hb-stock-combobox__input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    margin: 0;
    min-height: 42px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--text-primary, #0f172a);
}

.hb-stock-combobox__input:focus {
    outline: none;
}

.hb-stock-combobox__input::placeholder {
    color: var(--text-secondary, #64748b);
}

.hb-stock-combobox__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 2.75rem;
    flex: 0 0 2.75rem;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 0 !important;
    border-left: 1px solid var(--border, #d7dee8) !important;
    border-radius: 0 !important;
    background: transparent;
    color: var(--text-secondary, #64748b);
    cursor: pointer;
    line-height: 0;
}

.hb-stock-combobox__chevron {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    flex-shrink: 0;
}

.hb-stock-combobox__toggle:hover {
    background: var(--bg, #f8fafc);
    color: var(--text-primary, #0f172a);
}

.hb-stock-combobox__portal {
    position: fixed;
    z-index: 12000;
    pointer-events: auto;
}

.hb-stock-combobox__portal[hidden] {
    display: none !important;
}

.hb-stock-combobox__list {
    margin: 0;
    padding: 6px 0;
    width: 100%;
    min-width: 100%;
    max-height: 380px;
    overflow-y: auto;
    overflow-x: hidden;
    list-style: none;
    background: var(--surface-solid, #fff);
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 12px);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18);
}

.hb-stock-combobox__option {
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    line-height: 1.45;
    cursor: pointer;
    color: var(--text-primary, #0f172a);
    white-space: normal;
    word-break: break-word;
}

.hb-stock-combobox__option:hover,
.hb-stock-combobox__option--active {
    background: rgba(22, 163, 74, 0.12);
}

.hb-stock-combobox__empty {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--text-secondary, #64748b);
    background: var(--surface-solid, #fff);
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 12px);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18);
}

.umlagerung-page .umlagerung-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.umlagerung-page .umlagerung-route__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding-bottom: 2px;
    color: var(--text-secondary, #64748b);
}

.umlagerung-page .umlagerung-route__arrow svg {
    width: 1.25rem;
    height: 1.25rem;
}

.umlagerung-page .umlagerung-route__col {
    min-width: 0;
}

.bewegung-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bewegung-form .hb-stock-combobox__toggle {
    display: none;
}

.bewegung-form__section {
    padding: 1.1rem 1.25rem;
    margin-bottom: 0.85rem;
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 12px);
    background: var(--bg, #f8fafc);
}

.bewegung-form--compact .bewegung-form__section {
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
}

.bewegung-form--compact .bewegung-form__section--items {
    padding-bottom: 0.65rem;
}

.bewegung-form__section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.bewegung-form__section-head--compact {
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.bewegung-form__section-head--compact .bewegung-form__section-title {
    margin: 0;
    font-size: 0.9rem;
}

.bewegung-form__compact-row {
    display: grid;
    gap: 0.65rem;
    align-items: end;
}

.bewegung-form__compact-row--article {
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) 88px 72px;
}

.bewegung-form__compact-row--article:has(.bewegung-form__remove-col) {
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) 88px 72px auto;
}

.bewegung-items-table {
    --bewegung-row-h: 40px;
    --bewegung-cols: 88px minmax(0, 1fr) 72px 64px 32px;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
}

.bewegung-items-table__head,
.bewegung-items-table__row {
    display: grid;
    grid-template-columns: var(--bewegung-cols);
    column-gap: 0.5rem;
    align-items: center;
    min-width: 0;
}

.bewegung-items-table__head {
    align-items: end;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--border, #d7dee8);
    margin-bottom: 0.05rem;
}

.bewegung-items-table__head .bewegung-items-table__cell {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary, #64748b);
    line-height: 1.2;
    min-width: 0;
}

.bewegung-items-table__head .bewegung-items-table__cell--qty,
.bewegung-items-table__head .bewegung-items-table__cell--unit {
    text-align: center;
}

.bewegung-items-table__body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.bewegung-items-table__row {
    height: var(--bewegung-row-h);
    min-height: var(--bewegung-row-h);
}

.bewegung-items-table__row > .bewegung-items-table__cell {
    display: flex;
    align-items: center;
    height: var(--bewegung-row-h);
    min-width: 0;
    width: 100%;
}

.bewegung-items-table__cell--type .bewegung-type-toggle--table {
    width: 100%;
    height: var(--bewegung-row-h);
    align-self: stretch;
}

.bewegung-items-table__row .hb-stock-combobox {
    width: 100%;
    height: var(--bewegung-row-h);
    align-self: stretch;
}

.bewegung-items-table__row .hb-stock-combobox__field {
    width: 100%;
    height: var(--bewegung-row-h);
    min-height: var(--bewegung-row-h);
    max-height: var(--bewegung-row-h);
}

.bewegung-items-table__row .hb-stock-combobox__input {
    min-height: 0 !important;
    height: 100%;
    padding: 0 12px;
    line-height: calc(var(--bewegung-row-h) - 2px);
}

.bewegung-items-table__row .input {
    width: 100%;
    height: var(--bewegung-row-h) !important;
    min-height: var(--bewegung-row-h) !important;
    max-height: var(--bewegung-row-h) !important;
    box-sizing: border-box;
    padding-top: 0;
    padding-bottom: 0;
    line-height: calc(var(--bewegung-row-h) - 2px);
}

.bewegung-items-table .bewegung-form--compact .input,
.bewegung-items-table .bewegung-form--compact .hb-stock-combobox__field,
.bewegung-items-table .bewegung-form--compact .hb-stock-combobox__input {
    min-height: var(--bewegung-row-h) !important;
}

.bewegung-items-table__cell--action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    padding: 0;
}

.bewegung-items-table__cell--action .bewegung-form__remove-row {
    margin: 0 !important;
    flex-shrink: 0;
}

.bewegung-form__items-rows {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.bewegung-form__items-toolbar {
    margin-top: 0.55rem;
}

.bewegung-form--compact .bewegung-form__actions {
    padding-left: 1rem;
    padding-right: 1rem;
}

.bewegung-form__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 8.5rem;
    height: 40px;
    padding: 0 1.1rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
    white-space: nowrap;
    box-sizing: border-box;
}

.bewegung-form__btn span {
    line-height: 1;
}

.bewegung-form__remove-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.lager-label--spacer {
    display: block;
    min-height: 1.15rem;
}

.bewegung-form__compact-row--route {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.bewegung-form__compact-row--details {
    grid-template-columns: minmax(132px, 156px) minmax(160px, 220px) minmax(0, 1fr);
}

.bewegung-form__compact-row--details-edit {
    grid-template-columns: minmax(132px, 156px) minmax(120px, 150px) minmax(160px, 200px) minmax(0, 1fr);
}

.bewegung-form--compact .input,
.bewegung-form--compact select.input,
.bewegung-form--compact .hb-stock-combobox__input {
    min-height: 38px;
    font-size: 0.875rem;
}

.bewegung-form--compact .hb-stock-combobox__field {
    min-height: 38px;
}

.bewegung-form input[type="number"]::-webkit-inner-spin-button,
.bewegung-form input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.bewegung-form input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.bewegung-input--qty,
.bewegung-input--unit {
    text-align: center;
}

.bewegung-type-toggle--table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    margin-bottom: 0;
    align-self: stretch;
}

.bewegung-type-toggle--table .bewegung-type-toggle__btn {
    height: 100%;
    min-height: 0;
    padding: 0;
    margin: 0;
}

.bewegung-type-toggle--table .bewegung-type-toggle__btn span {
    display: none;
}

.bewegung-type-toggle--compact {
    margin-bottom: 0;
    gap: 0.4rem;
}

.bewegung-type-toggle--compact .bewegung-type-toggle__btn {
    min-height: 36px;
    padding: 0.35rem 0.5rem;
    font-size: 0.8125rem;
}

.bewegung-form__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    border-radius: 999px;
    background: var(--accent, #16a34a);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
}

.bewegung-form__section-title {
    margin: 0 0 0.2rem;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--text-primary, #0f172a);
}

.bewegung-form__section-desc {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--text-secondary, #64748b);
}

.bewegung-form__details-row {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
    gap: 1rem;
    align-items: end;
}

.bewegung-type-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.bewegung-type-toggle__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 44px;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 12px);
    background: var(--surface-solid, #fff);
    color: var(--text-primary, #0f172a);
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.bewegung-type-toggle__btn:hover {
    border-color: var(--accent, #16a34a);
}

.bewegung-type-toggle__btn--active {
    border-color: var(--accent, #16a34a);
    background: rgba(22, 163, 74, 0.1);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.bewegung-form__item-search {
    margin-bottom: 1rem;
}

.bewegung-form__qty-row {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(90px, 140px);
    gap: 0.85rem;
    max-width: 360px;
}

.bewegung-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
}

.lieferungen-page .umlagerung-route {
    margin-top: 0.15rem;
}

@media (max-width: 768px) {
    .bewegung-form__details-row {
        grid-template-columns: 1fr;
    }

    .bewegung-form__qty-row {
        max-width: none;
        grid-template-columns: 1fr 1fr;
    }

    .bewegung-form__compact-row--article {
        grid-template-columns: 1fr 1fr;
    }

    .bewegung-form__compact-row--article .bewegung-form__type-col {
        grid-column: 1 / -1;
    }

    .bewegung-form__compact-row--article .bewegung-form__stock-col {
        grid-column: 1 / -1;
    }

    .bewegung-form__compact-row--route,
    .bewegung-form__compact-row--details,
    .bewegung-form__compact-row--details-edit {
        grid-template-columns: 1fr;
    }

    .bewegung-items-table {
        display: block;
    }

    .bewegung-items-table__head {
        display: none;
    }

    .bewegung-items-table__body {
        display: block;
    }

    .bewegung-items-table__row {
        grid-template-columns: 88px minmax(0, 1fr) 72px 64px 32px;
        column-gap: 0.45rem;
        row-gap: 0.35rem;
        padding: 0.55rem 0;
        border-bottom: 1px solid var(--border, #e8edf3);
    }

    .bewegung-items-table__cell--stock {
        grid-column: 1 / -1;
    }

    .bewegung-items-table__cell--action {
        justify-self: end;
    }
}

.bestellungen-page .box,
.bestellungen-form > [class*="col-span"] {
    overflow: visible;
}

.calendar-page-layout {
    --calendar-sticky-top: 72px;
    --calendar-layout-min-h: calc(100vh - 200px);
    display: grid;
    grid-template-columns: minmax(248px, 272px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    min-height: var(--calendar-layout-min-h);
}

/* Notizen — grid 2 rânduri: titlu | listă + conținut */
.calendar-page-layout--notes {
    --calendar-notes-height: calc(100vh - var(--calendar-sticky-top) - 32px);
    grid-template-rows: auto minmax(0, 1fr);
    align-items: stretch;
    min-height: var(--calendar-notes-height);
    height: var(--calendar-notes-height);
    max-height: var(--calendar-notes-height);
    overflow: hidden;
}

.calendar-page-layout--notes .calendar-sidebar {
    display: contents;
    position: static;
    top: auto;
    max-height: none;
    height: auto;
    overflow: visible;
}

.calendar-page-layout--notes .calendar-sidebar-top {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
}

.calendar-page-layout--notes .calendar-sidebar-list.card {
    grid-column: 1;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.calendar-page-layout--notes .calendar-sidebar .card-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.calendar-page-layout--notes .calendar-main-column {
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
    height: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Termin Planung — stânga Termine, dreapta calendar + Mitarbeiter */
.calendar-page-layout--planung {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    grid-template-rows: auto;
    align-items: start;
    min-height: var(--calendar-layout-min-h);
}

.calendar-page-layout--planung .calendar-sidebar--right {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: sticky;
    top: var(--calendar-sticky-top);
    max-height: calc(100vh - var(--calendar-sticky-top) - 24px);
    overflow: hidden;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    min-width: 0;
}

.calendar-page-layout--planung .calendar-sidebar-top {
    flex-shrink: 0;
}

.calendar-page-layout--planung .calendar-sidebar-list.card {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.calendar-page-layout--planung .calendar-sidebar .card-body,
.calendar-page-layout--planung .calendar-sidebar-list .card-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.calendar-page-layout--planung .calendar-main-column {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    min-width: 0;
}

.calendar-page-layout--planung .calendar-sidebar-month {
    flex-shrink: 0;
}

.calendar-page-layout--planung .calendar-sidebar-month .card-body {
    overflow: visible;
}

.calendar-page-layout--planung .calendar-sidebar-month-footer {
    margin-top: 14px;
    font-size: 13px;
    color: var(--text-secondary);
}

.calendar-page-layout--planung .calendar-day.has-events:not(.selected):not(.today) {
    font-weight: 600;
    box-shadow: inset 0 -2px 0 rgba(45, 168, 45, 0.55);
}

.calendar-page-layout--notes .calendar-main-top {
    position: static;
    top: auto;
    z-index: 2;
    flex-shrink: 0;
}

.calendar-page-layout--notes .calendar-main-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    gap: 20px;
}

.calendar-page-layout--notes .calendar-panel--table .table-wrap {
    overflow: visible;
}

.calendar-page-layout--notes .calendar-panel--table .data-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.calendar-page-layout--planung .calendar-main-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.calendar-page-layout--planung .calendar-main-top {
    position: static;
    top: auto;
    flex-shrink: 0;
}

.calendar-page-layout--planung .calendar-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.calendar-page-layout--planung .calendar-workspace--day-only {
    grid-template-columns: minmax(0, 1fr);
}

/* Sidebar Mitarbeiter — fallback (mobil / layout simplu) */
.calendar-sidebar {
    position: sticky;
    top: var(--calendar-sticky-top);
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: calc(100vh - var(--calendar-sticky-top) - 24px);
    min-width: 0;
    align-self: stretch;
}

.calendar-main-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.calendar-main-body {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.calendar-main-full {
    width: 100%;
}

.calendar-main-body > .calendar-panel--toolbar,
.calendar-main-body > .calendar-stats-grid,
.calendar-main-body > .calendar-panel-pagination {
    flex-shrink: 0;
}

.calendar-main-body > .calendar-panel--table {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.calendar-main-column > .calendar-main-top,
.calendar-main-body > .calendar-panel,
.calendar-main-body > .calendar-stats-grid,
.calendar-main-body > .card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.calendar-panel {
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: none;
    overflow: hidden;
}

.calendar-panel--table {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.calendar-panel--toolbar {
    padding: 16px 20px;
}

.calendar-panel--toolbar .notes-toolbar {
    margin-bottom: 0;
}

.calendar-panel--table .table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    border-radius: inherit;
}

.calendar-panel--table .data-table {
    margin: 0;
}

.calendar-panel--table .data-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--surface-secondary, #f1f5f9);
    border-bottom: 1px solid var(--border);
    box-shadow: none;
}

.calendar-panel-pagination {
    margin-top: 0;
}

/* —— Termin Planung: toolbar & workspace —— */
.calendar-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px 24px;
    padding: 20px 22px;
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: none;
}

.calendar-toolbar-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text);
    line-height: 1.2;
}

.calendar-toolbar-subtitle {
    margin: 6px 0 0;
    font-size: 14px;
    color: var(--text-secondary);
    font-weight: 500;
}

.calendar-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.calendar-toolbar--notes {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.calendar-toolbar-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px 24px;
    width: 100%;
}

.calendar-toolbar--notes .calendar-toolbar-filters {
    width: 100%;
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.calendar-workspace {
    display: grid;
    grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    min-height: 0;
}

.calendar-workspace-day {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.calendar-workspace-day .calendar-day-panel {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.calendar-workspace-day .calendar-day-panel-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.calendar-workspace-day .calendar-events-list {
    flex: 1 1 auto;
    max-height: none;
}

.calendar-workspace-plan {
    position: sticky;
    top: 88px;
}

.calendar-workspace-day {
    min-width: 0;
}

.calendar-day-panel {
    margin: 0;
    border-radius: var(--radius-lg);
    box-shadow: none;
    overflow: hidden;
}

.calendar-day-panel-header {
    padding: 18px 22px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-solid);
}

.calendar-day-panel-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.02em;
}

.calendar-day-panel-meta {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.calendar-day-panel-body {
    padding: 16px 22px 22px !important;
}

.calendar-day-alert {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.calendar-events-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: min(70vh, 640px);
    overflow-y: auto;
    padding-right: 4px;
}

.calendar-event-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--event-color, var(--accent));
    border-radius: var(--radius-md);
    background: #fff;
}

.calendar-event-card:hover {
    border-color: rgba(45, 168, 45, 0.35);
}

.calendar-event-card.has-conflict {
    border-color: rgba(220, 38, 38, 0.3);
    background: rgba(220, 38, 38, 0.03);
}

.calendar-event-time {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    padding-top: 2px;
}

.calendar-event-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 8px;
}

.calendar-event-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.calendar-event-note {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text);
    word-break: break-word;
}

.calendar-day-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 48px 24px;
    text-align: center;
    color: var(--text-secondary);
}

.calendar-day-empty-icon {
    width: 48px;
    height: 48px;
    opacity: 0.35;
}

.calendar-day-empty p {
    margin: 0;
    font-size: 15px;
}

.calendar-stats-grid--compact {
    margin-bottom: 0;
}

.calendar-sidebar-top .section-header.calendar-sidebar-header {
    margin: 0 0 6px;
}

.calendar-sidebar-top .calendar-sidebar-hint {
    margin: 0;
}

.calendar-sidebar-list.card {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.calendar-main-top {
    position: sticky;
    top: var(--calendar-sticky-top);
    z-index: 4;
    flex-shrink: 0;
}

.calendar-toolbar.calendar-main-top {
    background: var(--surface-solid);
    box-shadow: none;
}

.notes-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.notes-toolbar-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 220px;
    min-width: 200px;
}

.notes-toolbar-search i,
.notes-toolbar-search svg {
    color: var(--text-secondary);
    flex-shrink: 0;
}

.notes-toolbar-limit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    font-size: 13px;
    color: var(--text-secondary);
}

.notes-toolbar-limit select {
    min-width: 84px;
}

.notes-summary {
    font-size: 13px;
    color: var(--text-secondary);
}

.documents-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--text-secondary);
}

.documents-breadcrumb a {
    color: var(--text);
    text-decoration: none;
}

.documents-breadcrumb a:hover {
    text-decoration: underline;
}

.documents-tree {
    list-style: none;
    margin: 6px 0 0 12px;
    padding: 0;
}

.documents-tree-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: var(--radius-sm);
    color: var(--text);
    text-decoration: none;
    font-size: 13px;
}

.documents-tree-link:hover {
    background: rgba(45, 168, 45, 0.1);
    color: var(--text);
}

.documents-tree-link.is-active {
    background: var(--accent);
    color: #fff;
    font-weight: 600;
}

.documents-upload-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 14px 0;
}

.documents-upload-form .input {
    flex: 1 1 220px;
    min-width: 200px;
}

.documents-page .documents-action-btn,
.documents-upload-form .documents-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    border-radius: var(--radius-sm, 8px) !important;
    box-shadow: none !important;
    white-space: nowrap;
    flex-shrink: 0;
}

.documents-upload-form > .btn-primary,
.documents-upload-form .documents-upload-btn {
    align-self: center;
}

.documents-upload-form .documents-file-picker.file-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 360px;
    min-width: 280px;
    height: 36px;
    min-height: 36px;
    padding: 3px 10px 3px 4px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-sm, 8px);
    background: var(--surface-solid, #fff);
    box-sizing: border-box;
}

.documents-upload-form .documents-file-picker .file-picker-name {
    font-size: 13px;
    line-height: 1.3;
    color: var(--text-secondary, #64748b);
}

.documents-upload-form .documents-file-picker .file-picker-btn {
    margin: 0;
    cursor: pointer;
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.documents-upload-form .documents-file-picker .file-picker-btn:hover {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
}

.file-picker {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 360px;
    min-width: 280px;
    min-height: 42px;
    padding: 6px 12px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 8px;
    background: var(--surface, #fff);
    box-sizing: border-box;
}

.file-picker-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.file-picker-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    margin: 0;
    cursor: pointer;
    white-space: nowrap;
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22) !important;
}

.file-picker-btn:hover {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
}

.file-picker-name {
    flex: 1;
    min-width: 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.35;
    word-break: break-word;
    align-self: center;
}

.documents-file-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.documents-file-cell a {
    color: var(--text);
    text-decoration: none;
    word-break: break-word;
}

.documents-file-cell a:hover {
    color: var(--text);
    text-decoration: underline;
}

.documents-inline-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.documents-inline-form .input,
.documents-inline-form .form-control,
.documents-inline-form select {
    flex: 1 1 auto;
    min-width: 0;
    height: 2rem;
    margin: 0;
    vertical-align: middle;
    line-height: 2rem;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

.documents-inline-form input[type="text"] {
    flex: 1 1 140px;
    max-width: 280px;
}

.documents-inline-form select {
    flex: 0 1 160px;
    max-width: 200px;
    text-align: center;
    text-align-last: center;
    -moz-text-align-last: center;
}

.documents-inline-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    vertical-align: middle;
}

.documents-page tr.hb-docs-row-editing > td {
    vertical-align: middle !important;
}

.documents-page tr.hb-docs-row-editing .documents-file-cell {
    width: 100%;
}

.calendar-sidebar-header {
    margin-bottom: 0;
}

.calendar-sidebar .card {
    background: #fff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    border-radius: var(--radius-lg);
    box-shadow: none;
}

.calendar-sidebar .card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #fff !important;
    color: #000 !important;
}

.calendar-sidebar .section-header h2 {
    color: #000 !important;
}

.calendar-user-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    color: #000 !important;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.15s;
}

.calendar-user-link:hover {
    background: rgba(45, 168, 45, 0.1);
    color: #000 !important;
}

.calendar-user-link.is-active {
    background: rgba(45, 168, 45, 0.14);
    color: #000 !important;
    font-weight: 600;
    border-left: 3px solid var(--accent);
    padding-left: 9px;
}

.calendar-sidebar-hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #333 !important;
}

.calendar-user-link-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #000 !important;
}

.calendar-user-link i,
.calendar-user-link svg,
.calendar-user-link.is-active i,
.calendar-user-link.is-active svg {
    color: #000 !important;
}

.calendar-user-badge {
    flex-shrink: 0;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    background: rgba(45, 168, 45, 0.15);
    color: #000 !important;
}

.calendar-user-badge.is-urgent {
    background: rgba(220, 38, 38, 0.15);
    color: #dc2626 !important;
}

.calendar-user-link.is-active .calendar-user-badge {
    background: rgba(45, 168, 45, 0.2);
    color: #000 !important;
}

.calendar-user-link.is-active span:not(.calendar-user-badge.is-urgent),
.calendar-user-link.is-active .calendar-user-link-label {
    color: #000 !important;
}

/* Lista Mitarbeiter — text negru în toate temele */
[data-theme="dark"] .calendar-sidebar .card,
[data-theme="dark"] .calendar-sidebar .card-body,
[data-theme="combined"] .calendar-sidebar .card,
[data-theme="combined"] .calendar-sidebar .card-body {
    background: #fff !important;
    color: #000 !important;
}

[data-theme="dark"] .calendar-sidebar .section-header h2,
[data-theme="combined"] .calendar-sidebar .section-header h2,
[data-theme="dark"] .calendar-user-link,
[data-theme="dark"] .calendar-user-link:hover,
[data-theme="dark"] .calendar-user-link.is-active,
[data-theme="dark"] .calendar-user-link-label,
[data-theme="dark"] .calendar-user-link i,
[data-theme="dark"] .calendar-user-link svg,
[data-theme="combined"] .calendar-user-link,
[data-theme="combined"] .calendar-user-link:hover,
[data-theme="combined"] .calendar-user-link.is-active,
[data-theme="combined"] .calendar-user-link-label,
[data-theme="combined"] .calendar-user-link i,
[data-theme="combined"] .calendar-user-link svg {
    color: #000 !important;
}

[data-theme="dark"] .calendar-sidebar-hint,
[data-theme="combined"] .calendar-sidebar-hint {
    color: #333 !important;
}

[data-theme="dark"] .calendar-user-badge:not(.is-urgent),
[data-theme="combined"] .calendar-user-badge:not(.is-urgent) {
    color: #000 !important;
}

.calendar-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 0;
}

.calendar-main > .calendar-stats-grid {
    margin-bottom: 0;
}

.fuhrpark-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pagination {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
    background: var(--input-muted-bg);
    text-decoration: none;
    transition: background 0.15s;
}

.pagination__link:hover {
    background: rgba(45, 168, 45, 0.12);
    color: var(--text);
    text-decoration: none;
}

.pagination__link--active {
    background: var(--accent) !important;
    color: #fff !important;
}

.calendar-stat-card {
    background: var(--surface-solid);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.calendar-stat-card.is-urgent {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(220, 38, 38, 0.06);
}

.calendar-stat-label {
    font-size: 12px;
    color: var(--text-secondary);
}

.calendar-stat-value {
    font-size: 24px;
    line-height: 1;
    color: var(--text);
}

.calendar-stat-card.is-urgent .calendar-stat-value {
    color: #dc2626;
}

/* —— Termin Planung: calendar picker (mockup style) —— */
.calendar-picker-card {
    margin-bottom: 0;
    padding: 28px 32px 24px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: var(--radius-lg);
    box-shadow: none;
    width: 100%;
    max-width: none;
}

.calendar-picker-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    gap: 12px;
}

.calendar-picker-title {
    margin: 0;
    flex: 1;
    text-align: center;
    font-size: 21px;
    font-weight: 700;
    color: #1d1d1f;
    letter-spacing: -0.02em;
}

.calendar-picker-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: none;
    background: transparent;
    color: #6e6e73;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.15s, color 0.15s;
}

.calendar-picker-nav-btn:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #1d1d1f;
}

.calendar-picker-nav-btn i,
.calendar-picker-nav-btn svg {
    width: 22px;
    height: 22px;
}

.calendar-picker-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    margin-bottom: 14px;
    padding: 0 4px;
}

.calendar-picker-weekdays span {
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: #6e6e73;
}

.calendar-picker-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px 6px;
    margin-bottom: 22px;
}

.calendar-picker-day {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    max-width: 54px;
    min-height: 48px;
    margin: 0 auto;
    width: 100%;
    border: none;
    border-radius: 11px;
    background: transparent;
    font-size: 16px;
    font-weight: 500;
    color: #1d1d1f;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    cursor: default;
    position: relative;
}

a.calendar-picker-day {
    cursor: pointer;
}

.calendar-picker-day.is-outside {
    color: #c7c7cc;
    font-weight: 400;
}

.calendar-picker-day.is-today:not(.is-selected) {
    font-weight: 600;
    color: #1d1d1f;
}

.calendar-picker-day:hover:not(.is-selected):not(.is-outside) {
    background: rgba(66, 200, 97, 0.12);
}

.calendar-picker-day.is-selected,
.calendar-picker-day.is-selected:hover {
    background: #42c861 !important;
    color: #fff !important;
    font-weight: 600;
}

.calendar-picker-day.has-events:not(.is-selected)::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: #42c861;
}

.calendar-picker-day.is-selected.has-events::after {
    background: #fff;
}

.calendar-picker-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    font-size: 15px;
    padding-top: 6px;
}

.calendar-picker-footer-label {
    color: #6e6e73;
    font-weight: 400;
}

.calendar-picker-footer-date {
    color: #1d1d1f;
    font-weight: 700;
}

.calendar-picker-footer-meta {
    color: #6e6e73;
    font-size: 14px;
}

[data-theme="dark"] .calendar-picker-card,
[data-theme="combined"] .calendar-picker-card {
    background: #fff !important;
}

[data-theme="dark"] .calendar-picker-title,
[data-theme="dark"] .calendar-picker-day:not(.is-outside),
[data-theme="combined"] .calendar-picker-title,
[data-theme="combined"] .calendar-picker-day:not(.is-outside) {
    color: #1d1d1f !important;
}

[data-theme="dark"] .calendar-picker-day.is-outside,
[data-theme="combined"] .calendar-picker-day.is-outside {
    color: #c7c7cc !important;
}

/* —— Termin Planung: calendar legacy blocks —— */
.calendar-pro-card {
    margin-bottom: 20px;
    border: 1px solid rgba(34, 160, 74, 0.25);
    box-shadow: 0 2px 14px rgba(45, 168, 45, 0.08);
    background: #fff;
}

.calendar-pro-card .card-body {
    padding: 18px 20px 16px;
    background: #fff;
    color: var(--text);
}

.calendar-pro-block {
    margin-bottom: 18px;
}

.calendar-pro-block:last-of-type {
    margin-bottom: 0;
}

.calendar-pro-section-title {
    display: block;
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text) !important;
}

.calendar-week-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.calendar-week-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 10px 4px 8px;
    border-radius: 12px;
    border: 1px solid rgba(34, 160, 74, 0.2);
    background: rgba(45, 168, 45, 0.06);
    color: var(--text);
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.calendar-week-day:hover {
    background: rgba(45, 168, 45, 0.1);
    border-color: rgba(45, 168, 45, 0.25);
}

.calendar-week-day.today:not(.selected) {
    border-color: rgba(45, 168, 45, 0.4);
    box-shadow: inset 0 0 0 1px rgba(45, 168, 45, 0.2);
}

.calendar-week-day.selected {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    box-shadow: 0 4px 12px rgba(45, 168, 45, 0.35);
}

.calendar-week-day.selected .calendar-week-day-name,
.calendar-week-day.selected .calendar-week-day-num {
    color: #fff !important;
}

.calendar-week-day-name {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text);
}

.calendar-week-day-num {
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    color: var(--text);
}

.calendar-week-day-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
    background: rgba(45, 168, 45, 0.22);
    color: var(--text);
}

.calendar-week-day.selected .calendar-week-day-count {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.calendar-week-day-count.is-empty {
    background: transparent;
    color: var(--text-secondary);
    font-weight: 500;
}

.calendar-page-layout--planung.is-mobile-kal {
    grid-template-columns: 1fr;
}

.calendar-page-layout--planung.is-mobile-kal .calendar-main-column {
    grid-column: 1;
    grid-row: auto;
}

.calendar-pro-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.calendar-pro-month-title {
    margin: 0;
    flex: 1;
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--text);
}

.calendar-pro-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface-solid);
    color: var(--text);
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.calendar-pro-nav-btn:hover {
    background: rgba(45, 168, 45, 0.1);
    border-color: rgba(45, 168, 45, 0.35);
    color: var(--text);
}

.calendar-pro-nav-btn i,
.calendar-pro-nav-btn svg {
    width: 18px;
    height: 18px;
}

.calendar-month-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid rgba(34, 160, 74, 0.2);
    border-radius: 12px;
    background: rgba(45, 168, 45, 0.04);
}

.calendar-month-list li {
    margin: 0;
    border-bottom: 1px solid rgba(34, 160, 74, 0.12);
}

.calendar-month-list li:last-child {
    border-bottom: none;
}

.calendar-month-item {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    color: var(--text) !important;
    text-decoration: none;
    transition: background 0.15s;
}

.calendar-month-item-wd {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text) !important;
}

.calendar-month-item-date {
    font-size: 15px;
    font-weight: 600;
    color: var(--text) !important;
}

.calendar-month-item-badge {
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    background: var(--accent);
    color: #fff !important;
}

.calendar-month-item:hover:not(.is-selected) {
    background: rgba(45, 168, 45, 0.12);
}

.calendar-month-item.is-today:not(.is-selected) {
    background: rgba(45, 168, 45, 0.1);
    box-shadow: inset 3px 0 0 var(--accent);
}

.calendar-month-item.is-selected,
.calendar-month-item.is-selected:hover {
    background: var(--accent) !important;
}

.calendar-month-item.is-selected .calendar-month-item-wd,
.calendar-month-item.is-selected .calendar-month-item-date {
    color: #fff !important;
}

.calendar-month-item.is-selected .calendar-month-item-badge {
    background: #fff !important;
    color: var(--text) !important;
}

[data-theme="dark"] .calendar-pro-card,
[data-theme="dark"] .calendar-pro-card .card-body,
[data-theme="combined"] .calendar-pro-card,
[data-theme="combined"] .calendar-pro-card .card-body {
    background: #fff !important;
}

[data-theme="dark"] .calendar-month-item,
[data-theme="dark"] .calendar-month-item-date,
[data-theme="dark"] .calendar-month-item-wd,
[data-theme="combined"] .calendar-month-item,
[data-theme="combined"] .calendar-month-item-date,
[data-theme="combined"] .calendar-month-item-wd {
    color: var(--text) !important;
}

.calendar-pro-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    background: rgba(45, 168, 45, 0.08);
    border: 1px solid rgba(34, 160, 74, 0.22);
    font-size: 14px;
    color: var(--text);
}

.calendar-pro-footer strong {
    color: var(--text);
}

.calendar-pro-footer-icon {
    width: 18px;
    height: 18px;
    color: var(--text-secondary);
    flex-shrink: 0;
}

.calendar-pro-footer-meta {
    color: var(--text-secondary);
    font-weight: 500;
}

.calendar-timeline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calendar-timeline-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--event-color, var(--accent));
    border-radius: var(--radius-sm);
    background: var(--surface-solid);
}

.calendar-timeline-item.has-conflict {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(220, 38, 38, 0.04);
}

.calendar-timeline-time {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    padding-top: 2px;
}

.calendar-timeline-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.calendar-timeline-text {
    font-size: 14px;
    line-height: 1.45;
    color: var(--text);
}

.calendar-conflict-tag {
    font-size: 11px;
    color: #dc2626;
    font-weight: 600;
}

.calendar-row-conflict {
    background: rgba(220, 38, 38, 0.06) !important;
}

.hiddenM,
.hb-modal-closed,
.modal.hb-modal-closed,
.floating-modal.hb-modal-closed,
.floating-modal.hiddenM,
.legacy-content .floating-modal.hiddenM,
.legacy-content .floating-modal.hb-modal-closed {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.floating-modal:not(.hiddenM):not(.hb-modal-closed),
.legacy-content .floating-modal:not(.hiddenM):not(.hb-modal-closed) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 3000 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    /* Fără overlay întunecat — doar fereastra flotantă */
    background: transparent !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
}

.floating-modal:not(.hiddenM):not(.calendar-modal) > .bg-white,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .modal-panel,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-invoice-edit-dialog,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-edit-modal-panel,
.legacy-content .floating-modal:not(.hiddenM):not(.calendar-modal) > .bg-white,
.legacy-content .floating-modal:not(.hiddenM):not(.calendar-modal) .modal-panel {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: auto !important;
    transform: none !important;
    float: none !important;
    pointer-events: auto !important;
    width: min(920px, calc(100vw - 1.5rem));
    max-width: 920px;
    max-height: calc(100vh - 5rem);
    overflow: auto;
    background: #ffffff !important;
    opacity: 1 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28) !important;
    padding: 18px 20px !important;
    color: #0f172a !important;
    text-align: left !important;
}

/* După drag: poziție liberă (suprascrie left/top: auto !important de mai sus) */
.floating-modal:not(.hiddenM):not(.calendar-modal) > .bg-white.hb-modal-positioned,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .modal-panel.hb-modal-positioned,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-invoice-edit-dialog.hb-modal-positioned,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-edit-modal-panel.hb-modal-positioned,
.legacy-content .floating-modal:not(.hiddenM):not(.calendar-modal) > .bg-white.hb-modal-positioned,
.legacy-content .floating-modal:not(.hiddenM):not(.calendar-modal) .modal-panel.hb-modal-positioned,
.uk-modal-dialog.hb-modal-positioned,
.lager-modal.hb-modal-positioned {
    position: fixed !important;
    top: var(--hb-modal-top, 24px) !important;
    left: var(--hb-modal-left, 24px) !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 3010 !important;
}

/* Doar dialogurile de editare factură/rând — structură fereastră (header/body/footer) */
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-invoice-edit-dialog,
.floating-modal:not(.hiddenM):not(.calendar-modal) > .hb-edit-modal-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: min(400px, calc(100vh - 5.5rem));
}

/* btn-calendar-add / btn-hinzufuegen — același verde ca restul butoanelor (vezi bloc global) */

.calendar-modal:not(.hiddenM),
.floating-modal.calendar-modal:not(.hiddenM) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 3000 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 24px !important;
    transform: none !important;
    background: rgba(0, 0, 0, 0.45) !important;
    overflow: auto !important;
    box-sizing: border-box !important;
}

.calendar-modal:not(.hiddenM) .modal-panel {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: auto !important;
    transform: none !important;
}

/* Toate modalele — același aspect ca Notizen (calendar-modal) */
.legacy-content .floating-modal .modal-header,
.floating-modal .modal-header {
    border-bottom: none !important;
    padding: 0 0 16px !important;
    margin: 0 !important;
}

.legacy-content .floating-modal .modal-body,
.floating-modal .modal-body {
    padding: 0 !important;
}

.legacy-content .floating-modal .modal-footer,
.floating-modal .modal-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.35) !important;
    padding: 12px 0 0 !important;
    margin-top: 12px !important;
}

.floating-modal .modal-header :is(h2, h3, h4, h5, .modal-title),
.floating-modal .modal-panel > :is(h2, h3, h4, h5):first-child,
.floating-modal form > :is(h2, h3, h4, h5):first-child {
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--text) !important;
    text-align: left !important;
}

.floating-modal :is(.form-label, .modal-body label, .aufgabe-modal__field label, label.inline-block, label.block):not(.btn):not(.form-check-label) {
    display: block !important;
    margin: 0 0 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--text-secondary) !important;
    width: 100% !important;
    text-align: left !important;
}

.floating-modal :is(.input, .form-control, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.ck-hidden):not([data-rich-text-init="1"]) {
    appearance: none;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid var(--border) !important;
    background: var(--surface-solid) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 12px !important;
    font-family: var(--font) !important;
    font-size: 14px !important;
    color: var(--text) !important;
    margin: 0 0 12px !important;
    box-shadow: none !important;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

/* CKEditor: textarea sursă trebuie ascunsă (altfel display:block !important o forțează vizibilă) */
.floating-modal textarea.MSword.ck-hidden,
.floating-modal textarea.ck-hidden,
.floating-modal .hb-rich-text-field:has(.ck-editor) > textarea,
.floating-modal .hb-rich-text-field > textarea[data-rich-text-init="1"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

.floating-modal .hb-rich-text-field .ck.ck-editor {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2;
    position: relative;
}

.floating-modal .hb-rich-text-field .ck-editor__editable,
.floating-modal .hb-rich-text-field .ck.ck-content {
    min-height: 140px !important;
    background: #fff !important;
}

/* Fallback / inline RTE — mereu vizibil */
.hb-simple-rte,
.floating-modal .hb-simple-rte,
.floating-modal .hb-rich-text-field .hb-simple-rte {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 5 !important;
    pointer-events: auto !important;
}
.hb-simple-rte-toolbar {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 8px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    pointer-events: auto !important;
}
.hb-simple-rte-toolbar button {
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    color: #0f172a;
    pointer-events: auto !important;
}
.hb-simple-rte-toolbar button:hover {
    background: #e2e8f0;
}
.hb-simple-rte-body {
    min-height: 140px !important;
    padding: 10px 12px !important;
    text-align: left !important;
    outline: none;
    font-size: 14px;
    line-height: 1.45;
    color: #0f172a;
    background: #fff !important;
    pointer-events: auto !important;
    cursor: text;
    user-select: text;
    -webkit-user-select: text;
}
.floating-modal textarea.MSword.ck-hidden,
.floating-modal textarea.ck-hidden[data-rich-text-init="1"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.floating-modal :is(.aufgabe-modal__field, .modal-body > .flex > div, .neue-kunde-row > div) :is(.input, .form-control, select, textarea) {
    margin-bottom: 0 !important;
}

.floating-modal :is(.input, .form-control, select, textarea):not([type="hidden"]):focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(45, 168, 45, 0.18) !important;
}

.floating-modal input[type="color"] {
    height: 42px;
    padding: 4px !important;
}

.floating-modal .aufgabe-modal__field .ck.ck-editor,
.floating-modal .modal-body .ck.ck-editor {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px;
}

.hb-rich-text-field:has(.ck-editor) > textarea,
.hb-rich-text-field > textarea.ck-hidden,
textarea.ck-hidden,
textarea[data-rich-text-init="1"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.hb-rich-text-field:not(:has(.ck-editor)) > textarea {
    min-height: 120px;
}

.floating-modal .hb-rich-text-field .ck.ck-label,
.floating-modal .ck.ck-label {
    display: none !important;
}

.floating-modal:not(.calendar-modal) ul[role="tablist"] {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.floating-modal:not(.calendar-modal) ul[role="tablist"] a {
    font-size: 0.875rem;
}

.floating-modal:not(.calendar-modal) .tab-pane.block,
.floating-modal:not(.calendar-modal) .tab-pane:not(.hidden) {
    min-height: 200px;
}

.floating-modal:not(.calendar-modal) .hb-rich-text-field .ck.ck-editor {
    width: 100% !important;
    margin-top: 0.25rem;
}

.floating-modal:not(.calendar-modal) .ck-editor__editable,
.floating-modal:not(.calendar-modal) .ck.ck-content {
    min-height: 160px !important;
    cursor: text;
    pointer-events: auto !important;
    user-select: text !important;
    -webkit-user-select: text !important;
}

.floating-modal:not(.calendar-modal) .ck.ck-editor,
.floating-modal:not(.calendar-modal) .ck.ck-editor__main {
    pointer-events: auto !important;
}

.hb-invoice-edit-dialog > form,
.hb-edit-modal-panel > form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
}

.hb-invoice-edit-dialog .modal-body,
.hb-edit-modal-panel .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.hb-invoice-edit-dialog .modal-footer,
.hb-edit-modal-panel .modal-footer {
    flex-shrink: 0;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
    gap: 10px;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid rgba(148, 163, 184, 0.35) !important;
    background: transparent;
    box-sizing: border-box;
}

.hb-modal-drag-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
    background: transparent;
    border-radius: 0;
    cursor: move;
    user-select: none;
}

.hb-modal-drag-header__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text, #0f172a);
    min-width: 0;
}

.hb-modal-drag-header__hint {
    display: none;
}

.hb-modal-drag-header__close {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.375rem;
    background: transparent;
    color: #64748b;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.hb-modal-drag-header__close:hover {
    background: rgba(148, 163, 184, 0.18);
    color: #0f172a;
}

.floating-modal .is-dragging .hb-modal-drag-header {
    cursor: grabbing;
}

.hb-row-storno td,
.hb-row-storno td a:not(.icon-action):not(.btn),
.hb-invoice-storno-text {
    color: #dc2626 !important;
}

.hb-row-storno:hover td {
    background-color: rgba(254, 202, 202, 0.35);
}

.legacy-content tr.hb-row-unbezahlt.hover\:bg-slate-300:hover,
.app-shell tr.hb-row-unbezahlt.hover\:bg-slate-300:hover,
tr.hb-row-unbezahlt.hover\:bg-slate-300:hover {
    background-color: #fca5a5 !important;
}

#editNoteModal .hb-invoice-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

#editNoteModal .hb-invoice-edit-row {
    display: grid;
    gap: 0.5rem 0.65rem;
    min-width: 0;
}

#editNoteModal .hb-invoice-edit-row--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

#editNoteModal .hb-invoice-edit-row--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#editNoteModal .hb-invoice-edit-row--compact .hb-field-label {
    margin-bottom: 0.2rem;
    font-size: 0.75rem;
    line-height: 1.2;
}

#editNoteModal .hb-invoice-edit-row--compact .form-control {
    font-size: 0.8125rem;
    padding: 0.3rem 0.45rem;
    min-height: 1.85rem;
}

@media (max-width: 640px) {
    #editNoteModal .hb-invoice-edit-grid {
        grid-template-columns: 1fr;
    }

    #editNoteModal .hb-invoice-edit-row--3,
    #editNoteModal .hb-invoice-edit-row--2 {
        grid-template-columns: 1fr;
    }
}

#editNoteModal .hb-field-full {
    grid-column: 1 / -1;
}

#editNoteModal .hb-field-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 500;
    font-size: 0.875rem;
}

.hb-invoice-text-fields {
    margin-top: 1rem;
}

.hb-invoice-text-fields__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: stretch;
}

.hb-invoice-text-fields .hb-rich-text-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.hb-invoice-text-fields .hb-rich-text-field .hb-field-label {
    margin-bottom: 0.4rem;
}

.hb-invoice-text-fields .hb-rich-text-field .ck.ck-editor {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 260px;
    margin: 0 !important;
    border: 1px solid rgba(148, 163, 184, 0.55);
    border-radius: 0.375rem;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    background: #fff;
}

.hb-invoice-text-fields .hb-rich-text-field .ck.ck-toolbar {
    border: 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35) !important;
    background: #f8fafc !important;
    padding: 0 0.35rem !important;
}

.hb-invoice-text-fields .hb-rich-text-field .ck.ck-toolbar .ck-toolbar__items {
    min-height: 36px;
}

.hb-invoice-text-fields .hb-rich-text-field .ck-editor__main {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.hb-invoice-text-fields .hb-rich-text-field .ck-editor__editable,
.hb-invoice-text-fields .hb-rich-text-field .ck.ck-content {
    flex: 1 1 auto;
    min-height: 220px !important;
    height: auto !important;
    max-height: none !important;
    padding: 12px 14px !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 0.875rem;
    line-height: 1.5;
}

.hb-invoice-text-fields .hb-rich-text-field:not(:has(.ck-editor)) > textarea {
    min-height: 88px;
    height: 96px;
    max-height: 220px;
    resize: vertical;
}

.floating-modal textarea.MSword:not(.ck-hidden):not([data-rich-text-init="1"]),
.floating-modal .hb-invoice-text-fields textarea:not(.ck-hidden),
.floating-modal #edit-headtext:not(.ck-hidden):not([data-rich-text-init="1"]),
.floating-modal #edit-info:not(.ck-hidden):not([data-rich-text-init="1"]) {
    min-height: 88px !important;
    height: 96px;
    max-height: 220px;
    resize: vertical;
}

[data-theme="dark"] .hb-invoice-text-fields .hb-rich-text-field .ck.ck-editor {
    background: var(--surface-solid, #1e293b);
    border-color: rgba(148, 163, 184, 0.25);
}

[data-theme="dark"] .hb-invoice-text-fields .hb-rich-text-field .ck.ck-toolbar {
    background: rgba(15, 23, 42, 0.45) !important;
    border-bottom-color: rgba(148, 163, 184, 0.2) !important;
}

.hb-angebot-zahlung-block .angebot-anzahlung-hint {
    margin-bottom: 0;
}

.angebot-edit-modal .hb-angebot-zahlung-block .flex.gap-4 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: start;
}

.angebot-edit-modal .hb-angebot-zahlung-block .flex.gap-4 > .w-1\/2 {
    width: 100% !important;
    min-width: 0;
}

.angebot-edit-modal .hb-angebot-zahlung-block .flex.gap-4 .form-control {
    width: 100% !important;
}

@media (max-width: 640px) {
    .angebot-edit-modal .hb-angebot-zahlung-block .flex.gap-4 {
        grid-template-columns: 1fr;
    }
}

.hb-invoice-text-fields .hb-rich-text-field + .hb-rich-text-field {
    margin-top: 0.25rem;
}

@media (max-width: 640px) {
    #editNoteModal .hb-invoice-edit-grid {
        grid-template-columns: 1fr;
    }
}

.rechnung-list-pdf {
    text-decoration: none;
}

.rechnung-list-pdf:hover {
    text-decoration: underline;
}

/* UIkit modale — același shell ca Notizen */
.legacy-content .uk-modal-dialog {
    padding: 24px !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25) !important;
}

.legacy-content .uk-modal-header {
    border-bottom: none !important;
    padding: 0 0 16px !important;
    margin: 0 !important;
}

.legacy-content .uk-modal-body {
    padding: 0 !important;
}

.legacy-content .uk-modal-footer {
    border-top: none !important;
    padding: 16px 0 0 !important;
    margin-top: 0 !important;
}

.legacy-content .uk-modal-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.legacy-content .uk-modal-body :is(.input, .form-control, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
}

.modal-panel h2,
.modal-panel h3,
.modal-panel label,
.modal-panel p {
    color: var(--text);
}

/* Aufgaben — modal adăugare/editare */
.aufgabe-modal .modal-panel {
    width: min(800px, calc(100vw - 32px)) !important;
    max-width: 800px !important;
    text-align: left;
}

.aufgabe-modal .aufgabe-modal__body,
.aufgabe-modal .modal-body.aufgabe-modal__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    text-align: left;
}

.aufgabe-modal .aufgabe-modal__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    width: 100%;
}

.aufgabe-modal .aufgabe-modal__field--full {
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .aufgabe-modal .aufgabe-modal__body,
    .aufgabe-modal .modal-body.aufgabe-modal__body {
        grid-template-columns: 1fr;
    }
}

/* Facturi creditor — modal adăugare/editare (fără Tailwind) */
.kreditor-invoice-modal .modal-panel {
    width: min(920px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 40px);
    padding: 24px !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.kreditor-invoice-modal .modal-panel > form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    min-height: 0;
}

.kreditor-invoice-modal .modal-header {
    padding: 0 0 16px !important;
    border-bottom: none !important;
    flex-shrink: 0;
}

.kreditor-invoice-modal .modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
    text-align: left;
}

.kreditor-invoice-modal .modal-body {
    padding: 0 !important;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    text-align: left;
}

.kreditor-invoice-modal .modal-body > .flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px 28px;
    align-items: start;
}

@media (max-width: 768px) {
    .kreditor-invoice-modal .modal-body > .flex {
        grid-template-columns: 1fr;
    }
}

.kreditor-invoice-modal .modal-body > .flex > div {
    width: 100% !important;
    min-width: 0;
}

.kreditor-invoice-modal .modal-body label.inline-block {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 6px !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.kreditor-invoice-modal .modal-body > .flex > div > label.inline-block:first-child,
.kreditor-invoice-modal #add_fahrzeug_field > label:first-child,
.kreditor-invoice-modal #add_projekt_field > label:first-child,
.kreditor-invoice-modal #edit_fahrzeug_field > label:first-child,
.kreditor-invoice-modal #edit_projekt_field > label:first-child {
    margin-top: 0 !important;
}

.kreditor-invoice-modal .modal-body input:not([type="hidden"]),
.kreditor-invoice-modal .modal-body select,
.kreditor-invoice-modal .modal-body textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 2px !important;
}

.kreditor-invoice-modal .modal-body .bg-slate-50,
.kreditor-invoice-modal .modal-body [class*="bg-slate-50"] {
    margin-top: 14px;
    padding: 12px 14px !important;
    border-radius: var(--radius-sm);
    background: var(--input-muted-bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

.kreditor-invoice-modal .modal-body .bg-slate-50 b,
.kreditor-invoice-modal .modal-body [class*="bg-slate-50"] b {
    color: var(--text);
    font-weight: 600;
}

.kreditor-invoice-modal .kreditor-comment-field {
    width: 100%;
    padding-top: 4px;
    border-top: 1px solid var(--border);
}

.kreditor-invoice-modal .kreditor-comment-field label {
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.kreditor-invoice-modal .kreditor-comment-field textarea.input {
    display: block !important;
    width: 100% !important;
    min-height: 84px;
    resize: vertical;
    margin: 0 !important;
}

.kreditor-invoice-modal .modal-footer {
    padding: 16px 0 0 !important;
    border-top: 1px solid var(--border) !important;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-top: 12px !important;
    background: inherit;
}

.kreditor-invoice-modal .modal-footer .btn,
.kreditor-invoice-modal .modal-footer button {
    min-width: 100px;
}

/* Kreditoren — card verde inline (Erstellen) */
.kreditor-fahrzeug-split {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
    width: 100%;
}

.kreditor-fahrzeug-split > div {
    min-width: 0;
}

.kreditor-invoice-modal .kreditor-fahrzeug-split input {
    width: 100% !important;
    max-width: 100% !important;
}

.kreditor-invoice-inline .kreditor-inline-grid {
    margin-bottom: 0.75rem;
    align-items: start;
    grid-auto-flow: dense;
}

.kreditor-invoice-inline .kreditor-bezahlt-slot {
    grid-column: 2;
}

.kreditor-invoice-inline .kreditor-bezahlt-slot[hidden] {
    display: none !important;
}

.kreditor-invoice-inline .kreditor-inline-amount {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.5rem;
    gap: 0.65rem 0.65rem;
    min-width: 0;
    align-items: start;
}

.kreditor-invoice-inline .kreditor-inline-amount > div {
    min-width: 0;
}

.kreditor-invoice-inline .kreditor-inline-amount .form-control {
    width: 100%;
    min-height: 2.15rem;
}

.kreditor-invoice-inline .kreditor-inline-date-slot > div {
    min-width: 0;
}

.kreditor-invoice-inline .kreditor-inline-sum {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.55rem 0.85rem;
    border-radius: var(--radius-sm, 8px);
    background: var(--input-muted-bg, rgba(148, 163, 184, 0.12));
    border: 1px solid var(--border, #e2e8f0);
    font-size: 0.82rem;
    color: var(--text);
    min-height: calc(0.7rem + 0.2rem + 2.15rem);
    box-sizing: border-box;
}

.kreditor-invoice-inline .kreditor-inline-sum b {
    font-weight: 600;
}

.kreditor-invoice-inline .hb-rich-text-field .ck-editor {
    width: 100%;
}

.kreditor-invoice-inline .hb-rich-text-field .ck-editor__editable {
    min-height: 120px;
}

.rechnungen-page tr.hb-kreditor-inline-edit-row > td.hb-kreditor-inline-edit-cell {
    padding: 0.65rem 0.35rem 0.85rem !important;
    vertical-align: top !important;
    background: transparent;
}

.rechnungen-page tr.hb-kreditor-inline-edit-row .kreditor-invoice-inline {
    margin: 0;
}

tr.hb-inline-edit-row > td.hb-inline-edit-cell,
.rechnungen-page tr.hb-inline-edit-row > td.hb-inline-edit-cell {
    padding: 0.65rem 0.35rem 0.85rem !important;
    vertical-align: top !important;
    background: transparent;
}

tr.hb-inline-edit-row .kunden-alle__new-panel,
.hb-inline-edit-host .kunden-alle__new-panel {
    margin: 0;
}

.hb-inline-edit-host {
    margin: 0.5rem 0 0.85rem;
}

.kreditor-invoice-inline .kunden-alle__new-label {
    margin: 0 0 0.2rem;
}

/* Modaluri floating — layout formular generic (fără Tailwind) */
.legacy-content .floating-modal .modal-body > .flex,
.floating-modal .modal-body > .flex {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    align-items: start;
    text-align: left;
    width: 100%;
}

@media (max-width: 768px) {
    .legacy-content .floating-modal .modal-body > .flex,
    .floating-modal .modal-body > .flex {
        grid-template-columns: 1fr;
    }
}

.legacy-content .floating-modal .modal-body > .flex > div,
.floating-modal .modal-body > .flex > div {
    width: 100% !important;
    min-width: 0;
}

.legacy-content .floating-modal .modal-body > .flex .w-1\/2,
.floating-modal .modal-body > .flex .w-1\/2,
.legacy-content .floating-modal .modal-body > .flex [class*="w-1/2"],
.floating-modal .modal-body > .flex [class*="w-1/2"] {
    width: 100% !important;
}

.legacy-content .floating-modal .modal-body.grid,
.floating-modal .modal-body.grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    text-align: left;
}

@media (max-width: 768px) {
    .legacy-content .floating-modal .modal-body.grid,
    .floating-modal .modal-body.grid {
        grid-template-columns: 1fr;
    }
}

.calendar-event-dot {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    margin: 4px auto 0;
}

.table-wrap { overflow-x: auto; }

table.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

table.data-table th {
    text-align: left;
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(0,0,0,0.02);
    border-bottom: 1px solid var(--border);
}

table.data-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

table.data-table tr:hover td { background: rgba(0,0,0,0.015); }
table.data-table tr:last-child td { border-bottom: none; }

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
}

.badge-success { background: rgba(52,199,89,0.15); color: var(--text); }
.badge-danger { background: rgba(255,59,48,0.15); color: #d70015; }
.badge-unbezahlt { background: #fecaca; color: #dc2626; }
.badge-warning { background: rgba(255,149,0,0.15); color: #c93400; }
.badge-muted { background: rgba(0,0,0,0.06); color: var(--text-secondary); }

.hb-row-unbezahlt,
.legacy-content tr.hb-row-unbezahlt,
.app-shell tr.hb-row-unbezahlt,
.legacy-content tr[data-paystatus="Unbezahlt"],
.legacy-content tr[data-paystatus="Unpaid"],
.app-shell tr[data-paystatus="Unbezahlt"],
.app-shell tr[data-paystatus="Unpaid"] {
    background-color: #fecaca !important;
}

.legacy-content tr.hb-row-unbezahlt:hover,
.app-shell tr.hb-row-unbezahlt:hover,
.legacy-content tr[data-paystatus="Unbezahlt"]:hover,
.app-shell tr[data-paystatus="Unbezahlt"]:hover {
    background-color: #fca5a5 !important;
}

.hb-paystatus-unbezahlt,
.legacy-content .hb-paystatus-unbezahlt,
.legacy-content a .hb-paystatus-unbezahlt,
.legacy-content td .hb-paystatus-unbezahlt,
.legacy-content div.hb-paystatus-unbezahlt,
.app-shell .hb-paystatus-unbezahlt,
.app-shell a .hb-paystatus-unbezahlt,
.app-shell td .hb-paystatus-unbezahlt,
.app-shell div.hb-paystatus-unbezahlt {
    color: #dc2626 !important;
}

.hb-row-storno,
.legacy-content tr.hb-row-storno,
.app-shell tr.hb-row-storno {
    background-color: #fff1f2 !important;
    color: #c1121f;
}
.hb-row-storno a,
.legacy-content tr.hb-row-storno a,
.legacy-content tr.hb-row-storno td,
.app-shell tr.hb-row-storno a,
.app-shell tr.hb-row-storno td {
    color: #c1121f !important;
}
.legacy-content tr.hb-row-storno:hover,
.app-shell tr.hb-row-storno:hover {
    background-color: #ffe4e6 !important;
}
.hb-text-storno,
.legacy-content .hb-text-storno {
    color: #c1121f !important;
    font-weight: 600;
}

.badge-bezahlt {
    background: rgba(34, 197, 94, 0.18);
    color: #15803d;
}
.badge-unbezahlt-status {
    background: rgba(249, 115, 22, 0.18);
    color: #c2410c;
}
.badge-storno {
    background: rgba(220, 38, 38, 0.16);
    color: #b91c1c;
}

.text-danger { color: var(--danger); }
.text-success { color: var(--text); }

.icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--text-secondary);
    transition: background 0.15s;
}

.icon-btn:hover:not(:has(> [data-lucide="trash"])):not(:has(> [data-lucide="trash-2"])):not(.danger-btn) { background: rgba(0,0,0,0.06); color: var(--text); }

.calendar-day-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.calendar-day-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 14px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
}

.calendar-day-list-item:last-child {
    border-bottom: none;
}

.calendar-day-list-item:hover {
    background: rgba(45, 168, 45, 0.08);
    color: #000;
}

.calendar-day-list-item.today:not(.selected) {
    font-weight: 600;
}

.calendar-day-list-item.selected,
.calendar-day-list-item.selected:hover {
    background: rgba(45, 168, 45, 0.14);
    color: #000;
    font-weight: 600;
}

.calendar-day-list-date {
    display: flex;
    align-items: center;
    gap: 10px;
}

.calendar-day-list-wd {
    min-width: 28px;
    font-size: 12px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.calendar-day-list-item.selected .calendar-day-list-wd {
    color: #000;
}

.calendar-day-list-count {
    flex-shrink: 0;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    background: rgba(45, 168, 45, 0.15);
    color: #000;
}

.calendar-day-list-item.has-events:not(.selected) .calendar-day-list-count {
    background: rgba(45, 168, 45, 0.2);
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
    font-size: 13px;
}

.calendar-grid .weekday {
    font-weight: 600;
    color: var(--text-secondary);
    padding: 8px 0;
    font-size: 11px;
}

.calendar-day {
    display: block;
    padding: 8px 0;
    border-radius: 8px;
    color: var(--text);
    transition: background 0.15s;
}

.calendar-day:hover:not(.selected) { background: rgba(45, 168, 45, 0.12); color: var(--text); }
.calendar-day.muted { color: var(--text-secondary); opacity: 0.5; }
.calendar-day.today:not(.selected) { background: rgba(50, 176, 50, 0.18); color: var(--text); font-weight: 600; }
.calendar-day.selected,
.calendar-day.selected:hover,
a.calendar-day.selected {
    background: var(--accent) !important;
    color: #ffffff !important;
    font-weight: 600;
}

.calendar-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    font-weight: 600;
}

.form-label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.w-4 { width: 1rem; }
.h-4 { height: 1rem; }
.w-5 { width: 1.25rem; }
.h-5 { height: 1.25rem; }

[data-lucide].w-4,
[data-lucide].h-4 { width: 1rem; height: 1rem; }
[data-lucide].w-5,
[data-lucide].h-5 { width: 1.25rem; height: 1.25rem; }

.alert {
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    margin-bottom: 16px;
}

.alert-success { background: rgba(52,199,89,0.12); color: var(--text); }
.alert-error { background: rgba(255,59,48,0.12); color: #d70015; }

/* Login page */
.login-body {
    min-height: 100vh;
}

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    transition: background 0.35s ease;
}

[data-theme="light"] .login-page {
    background:
        radial-gradient(circle at 12% 18%, #b8e6c8 0%, transparent 42%),
        radial-gradient(circle at 88% 14%, #b8d4f0 0%, transparent 40%),
        radial-gradient(circle at 52% 92%, #f0e6d0 0%, transparent 46%),
        #eef1f6;
}

[data-theme="combined"] .login-page {
    background:
        radial-gradient(circle at 10% 16%, #1a2332 0%, transparent 38%),
        radial-gradient(circle at 86% 18%, #8fd4a8 0%, transparent 36%),
        radial-gradient(circle at 50% 90%, #eef2f8 0%, transparent 44%),
        #dfe6ee;
}

[data-theme="dark"] .login-page {
    background:
        radial-gradient(circle at 14% 16%, #1a3d2e 0%, transparent 44%),
        radial-gradient(circle at 86% 12%, #1e2a4a 0%, transparent 42%),
        radial-gradient(circle at 50% 94%, #2a2238 0%, transparent 48%),
        #0f0f12;
}

.login-card {
    width: 100%;
    max-width: 420px;
    background: var(--surface-solid);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    padding: 36px 32px 28px;
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
}

.login-form {
    margin-bottom: 0;
}

.login-submit {
    width: 100%;
    margin-top: 8px;
    padding: 12px;
}

.login-theme-section {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
    text-align: center;
}

.login-theme-label {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.theme-switcher--login {
    display: inline-flex;
    margin: 0 auto;
}

.login-card h1 {
    margin: 0 0 6px;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.03em;
    text-align: center;
}

.login-card .subtitle {
    text-align: center;
    color: var(--text-secondary);
    font-size: 14px;
    margin-bottom: 28px;
}

.form-group { margin-bottom: 16px; }
.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--text-secondary);
}

.form-group .input, .form-group .select { width: 100%; }

.login-version {
    text-align: center;
    margin-top: 20px;
    font-size: 12px;
    color: var(--text-secondary);
}

.mobile-toggle {
    display: none;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: var(--text);
}

.theme-switcher {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border-radius: 980px;
    background: var(--input-muted-bg);
    border: 1px solid var(--border);
}

.theme-switch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.theme-switch-btn:hover {
    color: var(--text);
    background: var(--menu-hover-bg);
}

.theme-switch-btn.is-active {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 2px 8px rgba(52, 199, 89, 0.28);
}

.theme-switch-btn svg,
.theme-switch-btn [data-lucide] svg,
.theme-switch-btn > i svg {
    width: 16px;
    height: 16px;
}

.theme-options {
    display: grid;
    gap: 10px;
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-solid);
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.theme-option:hover {
    border-color: rgba(52, 199, 89, 0.35);
}

.theme-option.is-active {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(52, 199, 89, 0.14);
}

.theme-option input {
    accent-color: var(--accent);
}

.theme-option-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.theme-option-copy strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.theme-option-copy span {
    font-size: 12px;
    color: var(--text-secondary);
}

[data-theme="dark"] .card,
[data-theme="dark"] .modal-panel,
[data-theme="dark"] .kpi-card {
    color: var(--text);
}

[data-theme="dark"] .section-header h2,
[data-theme="dark"] .topbar-title,
[data-theme="dark"] .calendar-nav,
[data-theme="dark"] .kpi-value,
[data-theme="dark"] table.data-table td {
    color: var(--text);
}

[data-theme="dark"] table.data-table th {
    background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] table.data-table tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .input-search {
    background: var(--input-muted-bg);
    color: var(--text);
    border-color: var(--border);
}

[data-theme="dark"] .input-date,
[data-theme="dark"] .topbar-date-input {
    color-scheme: dark;
}

[data-theme="dark"] .select-lang {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

[data-theme="dark"] .pagination__link {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
}

[data-theme="dark"] .pagination__link:hover {
    background: rgba(52, 199, 89, 0.18);
    color: var(--text);
}

[data-theme="dark"] .badge-success { background: rgba(52, 199, 89, 0.22); color: var(--text); }
[data-theme="dark"] .badge-danger { background: rgba(255, 59, 48, 0.22); color: #ff8a80; }
[data-theme="dark"] .badge-unbezahlt { background: rgba(220, 38, 38, 0.28); color: #f87171; }
[data-theme="dark"] .hb-row-unbezahlt { background-color: rgba(220, 38, 38, 0.22) !important; }
[data-theme="dark"] .hb-paystatus-unbezahlt { color: #f87171 !important; }
[data-theme="dark"] .rechnungen-stat-card--unbezahlt {
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(220, 38, 38, 0.18);
}
[data-theme="dark"] .rechnungen-stat-card--unbezahlt .calendar-stat-value {
    color: #f87171;
}
[data-theme="dark"] .badge-warning { background: rgba(255, 149, 0, 0.22); color: #ffb340; }
[data-theme="dark"] .badge-muted { background: rgba(255, 255, 255, 0.08); color: var(--text-secondary); }
[data-theme="dark"] .alert-success { background: rgba(52, 199, 89, 0.18); color: var(--text); }
[data-theme="dark"] .alert-error { background: rgba(255, 59, 48, 0.18); color: #ff8a80; }
[data-theme="dark"] .icon-btn:hover { background: rgba(255, 255, 255, 0.08); }

[data-theme="dark"] .calendar-user-badge.is-urgent {
    color: #ff8a80;
}

[data-theme="dark"] .calendar-stat-card.is-urgent .calendar-stat-value {
    color: #ff8a80;
}

[data-theme="dark"] .calendar-conflict-tag {
    color: #ff8a80;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--accent);
}

label,
.form-label {
    color: var(--text-secondary);
}

@media (max-width: 1200px) {
    .topbar {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .topbar-title {
        flex: 1 1 auto;
        min-width: 0;
        max-width: calc(100% - 52px);
        font-size: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topbar-spacer {
        display: none;
    }

    .topbar-group.topbar-actions {
        flex: 1 1 100%;
        justify-content: flex-end;
        gap: 8px;
    }

    .topbar-search-form {
        min-width: 140px;
        max-width: 220px;
    }
}

@media (max-width: 1100px) {
    .calendar-workspace {
        grid-template-columns: 1fr;
    }

    .calendar-workspace-plan {
        position: static;
    }

    .calendar-picker-card {
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 1024px) {
    .grid-2 { grid-template-columns: 1fr; }
    .dashboard-columns { grid-template-columns: 1fr; }
    .calendar-page-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .calendar-sidebar {
        position: static;
        max-height: none;
    }
    .calendar-main-top {
        position: static;
    }
    .calendar-panel--table .data-table thead th {
        position: static;
    }

    .calendar-page-layout--notes {
        grid-template-rows: auto;
        height: auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
    }

    .calendar-page-layout--notes .calendar-sidebar {
        display: flex;
        max-height: none;
    }

    .calendar-page-layout--notes .calendar-sidebar-top,
    .calendar-page-layout--notes .calendar-sidebar-list,
    .calendar-page-layout--notes .calendar-main-column {
        grid-column: auto;
        grid-row: auto;
    }

    .calendar-page-layout--notes .calendar-main-body {
        overflow: visible;
    }

    .calendar-page-layout--notes .calendar-sidebar-list.card {
        max-height: min(420px, 55vh);
    }

    .calendar-page-layout--planung {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .calendar-page-layout--planung .calendar-sidebar--right {
        display: flex;
        flex-direction: column;
        position: static;
        max-height: none;
        overflow: visible;
        grid-column: auto;
        grid-row: auto;
        order: -1;
    }

    .calendar-page-layout--planung .calendar-sidebar-top,
    .calendar-page-layout--planung .calendar-sidebar-list,
    .calendar-page-layout--planung .calendar-main-column {
        grid-column: auto;
        grid-row: auto;
    }

    .calendar-page-layout--planung .calendar-sidebar-list.card {
        max-height: min(360px, 50vh);
    }

    .calendar-page-layout--planung .calendar-workspace {
        grid-template-columns: 1fr;
    }

    .calendar-main-body > .calendar-panel--table {
        flex: none;
    }
    .calendar-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fuhrpark-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .calendar-week-strip,
    .calendar-pro-week-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .calendar-month-item {
        grid-template-columns: 32px 1fr auto;
        padding: 10px 12px;
    }

    .calendar-month-item-date { font-size: 14px; }

    .timer-display {
        display: none;
    }
}

@media (max-width: 768px) {
    .sidebar {
        transform: translateX(-100%);
    }
    .sidebar.open { transform: translateX(0); }
    .main { margin-left: 0; }
    .mobile-toggle { display: block; }
    .content { padding: 16px; }
    .topbar { padding: 12px 16px; }
    .input-search { min-width: 140px; }
    .theme-switcher { order: 10; }

    .calendar-toolbar {
        padding: 16px 18px;
    }

    .calendar-toolbar-title {
        font-size: 19px;
    }

    .calendar-toolbar-actions {
        width: 100%;
    }

    .calendar-stats-grid,
    .calendar-stats-grid--compact {
        grid-template-columns: 1fr;
    }

    .calendar-event-card {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .calendar-event-actions {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }

    .calendar-picker-card {
        padding: 22px 20px 18px;
    }
}

/* Creare ofertă (neueAngebot) */
.angebot-neu-page {
    max-width: 100%;
}

.angebot-neu-header {
    margin-bottom: 16px;
}

.angebot-neu-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.angebot-neu-card {
    padding: 22px !important;
}

.angebot-neu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    align-items: start;
}

@media (max-width: 900px) {
    .angebot-neu-grid {
        grid-template-columns: 1fr;
    }
}

.angebot-neu-field--full {
    grid-column: 1 / -1;
}

.angebot-neu-field .form-label {
    display: block;
    margin-bottom: 6px;
}

.angebot-neu-add-kunde {
    margin-top: 8px;
}

.angebot-neu-dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.angebot-neu-actions {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: flex-start;
    clear: both;
}

.angebot-neu-actions--top {
    margin-top: 0;
    margin-bottom: 20px;
    padding-top: 0;
    padding-bottom: 20px;
    border-top: none;
    border-bottom: 1px solid var(--border);
}

#neueAngebotForm .angebot-neu-dates {
    margin-bottom: 4px;
}

.neue-angebot-client-modal .modal-panel {
    width: min(560px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 40px);
    padding: 24px !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.neue-angebot-client-modal .modal-panel > form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    min-height: 0;
}

.neue-angebot-client-modal .modal-header {
    padding: 0 0 16px !important;
    border-bottom: none !important;
}

.neue-angebot-client-modal .modal-title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    text-align: left;
}

.neue-angebot-client-modal .modal-body {
    padding: 0 !important;
    overflow-y: auto;
    flex: 1;
    text-align: left;
}

.neue-angebot-client-modal .modal-body .form-label {
    display: block;
    margin: 12px 0 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}

.neue-angebot-client-modal .modal-body .form-label:first-child {
    margin-top: 0;
}

.neue-angebot-client-modal .neue-kunde-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.neue-angebot-client-modal .modal-footer {
    padding: 16px 0 0 !important;
    border-top: none !important;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.angebot-neu-field .ck-editor {
    width: 100% !important;
}

.angebot-edit-modal .modal-panel {
    width: min(720px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 40px);
    padding: 24px !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.angebot-edit-modal .modal-panel > form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    min-height: 0;
}

.angebot-edit-modal .modal-header {
    padding: 0 0 16px !important;
    border-bottom: none !important;
}

.angebot-edit-modal .modal-title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    text-align: left;
}

.angebot-edit-modal .modal-body {
    padding: 0 !important;
    overflow-y: auto;
    flex: 1;
    text-align: left;
}

.angebot-edit-modal .modal-body .flex.gap-4 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.angebot-edit-modal .modal-body .flex.gap-4 > .w-1\/2 {
    width: 100% !important;
}

.angebot-edit-modal .modal-footer {
    padding: 12px 0 0 !important;
    margin: 12px 0 0 !important;
    border-top: 1px solid rgba(148, 163, 184, 0.35) !important;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    background: transparent;
    border-radius: 0;
}

.angebot-edit-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 16px 0 12px;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid var(--border);
}

.angebot-edit-tab {
    appearance: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: -1px;
    padding: 8px 12px;
}

.angebot-edit-tab:hover {
    color: var(--text);
}

.angebot-edit-tab.is-active {
    border-bottom-color: var(--primary, #2563eb);
    color: var(--primary, #2563eb);
}

.angebot-edit-tab-pane {
    display: none;
}

.angebot-edit-tab-pane.is-active {
    display: block;
}

.angebot-edit-modal .angebot-edit-dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Regulă proiect: fără text verde (verde doar pe fundal/butoane) */
.app-shell :is(.text-success, .text-green-500, .uk-text-success):not(.btn):not([class~="bg-primary"]):not([class~="bg-success"]):not(.pagination__link--active),
.legacy-content :is(.text-success, .text-green-500, .uk-text-success, .text-primary):not(.btn):not([class~="bg-primary"]):not([class~="bg-success"]):not(.pagination__link--active):not(.nav-item.active):not(.side-menu--active),
.app-shell a:not(.btn):not(.btn-primary):not(.nav-item):not(.side-menu):not(.calendar-picker-day):not(.pagination__link--active):not([class~="bg-primary"]):not([class~="bg-success"]):not([class*="text-white"]) {
    color: var(--text) !important;
}

.app-shell .badge-success,
.legacy-content .badge-success {
    color: var(--text) !important;
}

/* Butoane verzi permanent — întreg proiectul */
.app-shell :is(
    .btn-primary,
    .btn-success,
    .btn.btn-sm:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    .btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel):not(.btn-outline-danger):not(.icon-btn):not(.calendar-picker-nav-btn):not(.topbar-filter-btn),
    button.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    a.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    input[type="submit"]:not(.btn-danger):not(.btn-cancel),
    input[type="button"]:not(.btn-danger):not(.btn-secondary):not(.btn-cancel),
    [class~="bg-primary"][class*="text-white"],
    [class~="bg-success"][class*="text-white"]
),
.legacy-content :is(
    .btn-primary,
    .btn-success,
    .btn-sm:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    a.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    button.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    input[type="submit"]:not(.btn-danger):not(.btn-cancel),
    input[type="button"]:not(.btn-danger):not(.btn-secondary):not(.btn-cancel),
    .uk-button-primary,
    a[class*="rounded-md"][class~="bg-success"],
    a[class*="rounded-md"][class~="bg-primary"],
    button[class~="bg-success"]:not([class~="bg-danger"]):not([class~="bg-warning"]):not([class*="bg-slate"]),
    button[class~="bg-primary"]:not([class~="bg-danger"]):not([class~="bg-warning"]):not([class*="bg-slate"])
):not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel):not(.btn-icon):not(.btn-delete):not(.btn-outline-danger):not(.icon-action--delete):not([class~="bg-danger"]):not([class~="bg-warning"]):not([class*="bg-slate"]):not(.uk-button-danger):not(.uk-close):not(.uk-modal-close):not(.icon-btn):not(.pagination__link):not(.calendar-picker-nav-btn) {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28) !important;
}

.app-shell :is(
    .btn-primary:hover,
    .btn-success:hover,
    .btn:hover:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    input[type="submit"]:hover:not(.btn-danger):not(.btn-cancel),
    [class~="bg-primary"]:hover:not([class*="bg-slate"]):not([class~="bg-danger"]):not([class~="bg-warning"]),
    [class~="bg-success"]:hover:not([class*="bg-slate"])
),
.legacy-content :is(
    .btn:hover:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel),
    .btn-primary:hover,
    .btn-success:hover,
    .uk-button-primary:hover,
    [class~="bg-primary"]:hover:not([class*="bg-slate"]):not([class~="bg-danger"]):not([class~="bg-warning"]),
    [class~="bg-success"]:hover:not([class*="bg-slate"]),
    input[type="submit"]:hover:not(.btn-danger):not(.btn-cancel)
):not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-cancel):not(.btn-icon):not(.btn-delete):not(.btn-outline-danger):not(.icon-action--delete):not([class~="bg-danger"]):not([class~="bg-warning"]):not([class*="bg-slate"]):not(.uk-button-danger) {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.app-shell .btn :is(i, svg),
.app-shell .btn-primary :is(i, svg),
.legacy-content :is(.btn-primary, .btn-success, button[class~="bg-success"], button[class~="bg-primary"], a[class~="bg-success"], a[class~="bg-primary"]) :is(i, svg, .stroke-1\.5) {
    color: #fff !important;
    stroke: #fff !important;
}

/* Regulă proiect: în butoane verzi — tot alb (text, +, ‹›, iconițe Lucide) */
:is(.app-shell, .legacy-content) :is(
    .projekte-filter-btn:not(.projekte-filter-btn--new),
    .btn-primary,
    .btn-success,
    .btn-save,
    .btn-secondary,
    input[type="submit"]:not(.btn-danger):not(.btn-cancel),
    input[type="button"]:not(.btn-danger):not(.btn-secondary):not(.btn-cancel),
    button[class~="bg-success"],
    button[class~="bg-primary"],
    a[class~="bg-success"],
    a[class~="bg-primary"]
),
:is(.app-shell, .legacy-content) :is(.projekte-filter-btn:not(.projekte-filter-btn--new)):is(:hover, :focus, :focus-visible, :active),
:is(.app-shell, .legacy-content) .projekte-filter-btn--active {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

:is(.app-shell, .legacy-content) :is(
    .projekte-filter-btn:not(.projekte-filter-btn--new),
    .btn-primary,
    .btn-success,
    .btn-save,
    .btn-secondary,
    input[type="submit"]:not(.btn-danger):not(.btn-cancel),
    input[type="button"]:not(.btn-danger):not(.btn-secondary):not(.btn-cancel),
    button[class~="bg-success"],
    button[class~="bg-primary"],
    a[class~="bg-success"],
    a[class~="bg-primary"]
) :is(i, svg, [data-lucide], .stroke-1\.5, .text-primary, .text-success, .text-green-500) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    stroke: #fff !important;
}

:is(.app-shell, .legacy-content) :is(
    .projekte-filter-btn:not(.projekte-filter-btn--new),
    .btn-primary,
    .btn-success,
    .btn-save,
    .btn-secondary
) :is(i, svg, [data-lucide]) :is(path, line, polyline, circle, rect, polygon) {
    stroke: #fff !important;
}

/* Secundar — verde; Anulează — roșu */
.app-shell .btn-secondary,
.legacy-content .btn-secondary {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22) !important;
}

.app-shell .btn-secondary:hover,
.legacy-content .btn-secondary:hover {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
}

.app-shell .btn-cancel,
.app-shell .btn-ghost.btn-cancel,
.legacy-content .btn-cancel,
.legacy-content .btn-ghost.btn-cancel {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22) !important;
}

.app-shell .btn-cancel:hover,
.legacy-content .btn-cancel:hover {
    background: var(--btn-red-hover, #dc2626) !important;
    background-color: var(--btn-red-hover, #dc2626) !important;
    color: #fff !important;
}

.app-shell .btn-ghost:not(.btn-cancel),
.legacy-content .btn-ghost:not(.btn-cancel) {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22) !important;
}

.app-shell .btn-ghost:not(.btn-cancel):hover,
.legacy-content .btn-ghost:not(.btn-cancel):hover {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
}

/* Ștergere / pericol — roșu */
.app-shell :is(.btn-danger, [class~="bg-danger"], button[class~="bg-danger"], a[class~="bg-danger"]),
.legacy-content :is(.btn-danger, [class~="bg-danger"], button[class~="bg-danger"], a[class~="bg-danger"]) {
    background: var(--danger) !important;
    background-color: var(--danger) !important;
    border-color: var(--danger) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Avertisment / duplicare (doar butoane) — roșu */
.app-shell :is(a, button, .btn)[class~="bg-warning"],
.legacy-content :is(a, button, .btn)[class~="bg-warning"] {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Linkuri/butoane bg-slate-* → verde (stil unitar) */
.app-shell :is(a, button)[class~="bg-slate-200"],
.app-shell :is(a, button)[class~="bg-slate-300"],
.app-shell :is(a, button)[class~="bg-slate-500"],
.legacy-content :is(a, button)[class~="bg-slate-200"],
.legacy-content :is(a, button)[class~="bg-slate-300"],
.legacy-content :is(a, button)[class~="bg-slate-500"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    border-radius: var(--hb-btn-radius, 12px) !important;
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(66, 200, 97, 0.2) !important;
}

.app-shell :is(a, button)[class~="bg-slate-200"]:hover,
.app-shell :is(a, button)[class~="bg-slate-300"]:hover,
.app-shell :is(a, button)[class~="bg-slate-500"]:hover,
.legacy-content :is(a, button)[class~="bg-slate-200"]:hover,
.legacy-content :is(a, button)[class~="bg-slate-300"]:hover,
.legacy-content :is(a, button)[class~="bg-slate-500"]:hover {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    color: #fff !important;
}

/* Paginare — pagină curentă verde, rest verde deschis */
.app-shell :is(a, span).btn-sm[class~="bg-slate-200"],
.app-shell :is(a, span)[class~="bg-slate-200"]:not([class~="bg-success"]),
.legacy-content :is(a, span).btn-sm[class~="bg-slate-200"],
.legacy-content :is(a, span)[class~="bg-slate-200"]:not([class~="bg-success"]) {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-radius: var(--hb-btn-radius, 12px) !important;
}

.app-shell :is(a, span)[class~="bg-success"],
.legacy-content :is(a, span)[class~="bg-success"] {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-radius: var(--hb-btn-radius, 12px) !important;
}

/* Inventar: Materialien, Werkzeuge, Bestellungen, Lager-Übersicht */
.inventar-page .box {
    background: var(--surface-solid) !important;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.inventar-page .event {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.inventar-page .event:hover {
    background: var(--menu-hover-bg) !important;
}

.inventar-page .event.inventar-cat-active {
    background: var(--accent-soft) !important;
}

.inventar-page .event a {
    color: var(--text) !important;
    text-decoration: none;
    font-weight: 500;
}

.inventar-page .event.inventar-cat-active a {
    color: var(--text) !important;
    font-weight: 600;
}

.inventar-page .inventar-link-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--text) !important;
    -webkit-text-fill-color: var(--text) !important;
    padding: 0 !important;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.inventar-page .inventar-link-btn:hover {
    text-decoration: underline;
    background: transparent !important;
}

.inventar-page .btn-cancel,
.inventar-page .modal-footer .btn-ghost.btn-cancel {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22) !important;
}

.inventar-page .modal-footer .btn-ghost:not(.btn-cancel) {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22) !important;
}

.inventar-page .modal-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.inventar-page thead.bg-slate-100,
.inventar-page tr.hover\:bg-slate-50:hover,
.inventar-page .hover\:bg-slate-100:hover {
    background-color: var(--menu-hover-bg) !important;
}

.inventar-page .pagination-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--text) !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.inventar-page .pagination-pill--active {
    background: var(--btn-green, #42c861) !important;
    color: #fff !important;
}

/* Lager — același shell ca Statistik / Finanz */
.lager-module-page .lager-page--embedded {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.lager-module-page .lager-page--embedded::before,
.lager-module-page .lager-page--embedded::after {
    display: none !important;
}

.lager-module-page .lager-box {
    background: var(--card-bg, #fff) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius, 12px) !important;
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
    backdrop-filter: none !important;
}

.lager-module-page .lager-stat,
.lager-module-page .lager-page .lager-stat-number {
    color: var(--text) !important;
}

.lager-module-page .lager-btn-primary,
.lager-module-page .lager-page a.lager-pill-active,
.lager-module-page .lager-page .lager-tab-active,
.lager-module-page .lager-page button.lager-btn-primary {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.lager-module-page .lager-page a.lager-pill:not(.lager-pill-active) {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--text) !important;
    -webkit-text-fill-color: currentColor !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}

/* Lager Übersicht — păstrează stilul local al tab-urilor (ascuns: toolbar projekte-filter-btn) */
.lager-module-page .lager-tabs {
    display: none !important;
}

.legacy-content .lager-page .lager-tab:not(.lager-tab-active) {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}

.legacy-content .lager-page .lager-btn:not(.lager-btn-primary):not(.lager-btn-danger):not(.lager-btn-soft):not(.lager-quick-btn--active) {
    background: #fff !important;
    color: var(--text) !important;
}

.legacy-content .lager-page .lager-btn-soft:not(.lager-quick-btn--active) {
    background: var(--accent-soft) !important;
    color: var(--text) !important;
    border-color: rgba(66, 200, 97, 0.25) !important;
}

.legacy-content .lager-page .lager-mini .lager-btn:not(.lager-quick-btn--active),
.lager-module-page .lager-mini .lager-btn:not(.lager-quick-btn--active) {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--text) !important;
    -webkit-text-fill-color: currentColor !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}

.legacy-content .lager-page .lager-mini .lager-btn.lager-quick-btn--active,
.lager-module-page .lager-mini .lager-btn.lager-quick-btn--active,
.legacy-content .lager-page .lager-btn.lager-quick-btn--active {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28) !important;
}

/* === Speichern / Abbrechen — identice ca formă, culori fixe în tot proiectul === */
:root {
    --btn-action-radius: 12px;
    --btn-action-py: 8px;
    --btn-action-px: 20px;
    --btn-action-min-h: 36px;
    --btn-action-font: 13px;
}

.app-shell .btn-save:not(.btn-create),
.legacy-content .btn-save:not(.btn-create),
.app-shell .btn.btn-save:not(.btn-create),
.legacy-content .btn.btn-save:not(.btn-create),
.app-shell .modal-footer > :is(button, input)[type="submit"]:not(.btn-danger):not(.btn-delete):not(.btn-create):not(.uk-button-danger),
.legacy-content .modal-footer > :is(button, input)[type="submit"]:not(.btn-danger):not(.btn-delete):not(.btn-create):not(.uk-button-danger),
.legacy-content .floating-modal .modal-footer > :is(button, input)[type="submit"]:not(.btn-danger):not(.btn-delete):not(.btn-create) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: var(--btn-action-min-h) !important;
    padding: var(--btn-action-py) var(--btn-action-px) !important;
    border-radius: var(--btn-action-radius) !important;
    font-family: var(--font) !important;
    font-size: var(--btn-action-font) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.22) !important;
}

.app-shell .btn-save:hover,
.legacy-content .btn-save:hover,
.app-shell .modal-footer > :is(button, input)[type="submit"]:not(.btn-danger):not(.btn-delete):hover,
.legacy-content .modal-footer > :is(button, input)[type="submit"]:not(.btn-danger):not(.btn-delete):hover {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
}

.app-shell .btn-cancel,
.legacy-content .btn-cancel,
.app-shell .btn.btn-cancel,
.legacy-content .btn.btn-cancel,
.app-shell .modal-footer > button[type="button"][data-tw-dismiss]:not(.btn-danger):not(.uk-close),
.legacy-content .modal-footer > button[type="button"][data-tw-dismiss]:not(.btn-danger):not(.uk-close),
.floating-modal .btn-cancel,
.floating-modal .btn.btn-cancel,
.floating-modal .modal-footer .btn-cancel,
.floating-modal button[data-tw-dismiss="modal"]:not(.btn-danger):not(.uk-close):not(.uk-button-danger),
.legacy-content .floating-modal button[data-tw-dismiss="modal"]:not(.btn-danger):not(.uk-close):not(.uk-button-danger),
.legacy-content .uk-button.uk-button-default.uk-modal-close,
.legacy-content button.uk-modal-close.uk-button-default {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: var(--btn-action-min-h) !important;
    padding: var(--btn-action-py) var(--btn-action-px) !important;
    border-radius: var(--btn-action-radius) !important;
    font-family: var(--font) !important;
    font-size: var(--btn-action-font) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22) !important;
}

.floating-modal .btn-cancel:hover,
.floating-modal .btn.btn-cancel:hover,
.floating-modal button[data-tw-dismiss="modal"]:not(.btn-danger):hover,
.app-shell .btn-cancel:hover,
.legacy-content .btn-cancel:hover,
.legacy-content .uk-button.uk-button-default.uk-modal-close:hover,
.legacy-content button.uk-modal-close.uk-button-default:hover {
    background: var(--btn-red-hover, #dc2626) !important;
    background-color: var(--btn-red-hover, #dc2626) !important;
    border-color: var(--btn-red-hover, #dc2626) !important;
    color: #fff !important;
}

/* Modale: închidere cu bg-danger rămas → roșu */
.legacy-content .modal-footer > button[type="button"][data-tw-dismiss].bg-danger:not(.btn-delete),
.legacy-content .floating-modal button[data-tw-dismiss="modal"].bg-danger:not(.btn-delete),
.legacy-content .modal-footer button.rounded-md.bg-danger[data-tw-dismiss]:not(.btn-delete) {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border-color: var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22) !important;
}

.legacy-content .modal-footer :is(button, input)[type="submit"].bg-success,
.legacy-content .modal-footer button.bg-success[type="submit"],
.legacy-content .floating-modal :is(button, input)[type="submit"].bg-success {
    border-radius: var(--btn-action-radius) !important;
    min-height: var(--btn-action-min-h) !important;
    padding: var(--btn-action-py) var(--btn-action-px) !important;
}

/* Modale: acțiuni la dreapta — Speichern, Abbrechen, Löschen (cel mai din dreapta) */
.modal-footer,
.floating-modal .modal-footer,
.legacy-content .uk-modal-footer,
.floating-modal .modal-panel form > div:last-child:has(.btn-cancel, .btn-save, .btn-danger, .btn-delete, [data-tw-dismiss="modal"]),
.floating-modal .modal-panel > div:last-child:has(.btn-cancel, .btn-save, .btn-danger, .btn-delete, [data-tw-dismiss="modal"]) {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end !important;
    gap: 8px;
}

.legacy-content .modal-footer.flex.justify-center,
.legacy-content .modal-footer.justify-center,
.legacy-content .modal-footer.flex.justify-between,
.legacy-content .modal-footer.justify-between,
.modal-footer.flex.justify-center,
.modal-footer.justify-center,
.modal-footer.flex.justify-between,
.modal-footer.justify-between {
    justify-content: flex-end !important;
}

.modal-footer .btn-save,
.modal-footer .btn-success,
.modal-footer .btn-primary[type="submit"],
.modal-footer > :is(button, input)[type="submit"]:not(.btn-cancel):not(.btn-danger),
.floating-modal .btn-save,
.floating-modal .btn-success,
.floating-modal > :is(button, input)[type="submit"]:not(.btn-cancel):not(.btn-danger),
.floating-modal .modal-panel form > div:last-child .btn-save,
.floating-modal .modal-panel form > div:last-child [type="submit"]:not(.btn-cancel) {
    order: 1;
}

.modal-footer .btn-cancel,
.modal-footer .btn.btn-cancel,
.modal-footer > button[type="button"][data-tw-dismiss="modal"],
.modal-footer [data-tw-dismiss="modal"]:not([type="submit"]),
.floating-modal .btn-cancel,
.floating-modal .btn.btn-cancel,
.floating-modal button[data-tw-dismiss="modal"]:not(.btn-save),
.floating-modal .modal-panel form > div:last-child .btn-cancel,
.floating-modal .modal-panel form > div:last-child [data-tw-dismiss="modal"] {
    order: 2;
}

.modal-footer :is(.btn-danger, .btn-delete, a.btn-danger):not(.btn-cancel),
.modal-footer > :is(button, input)[type="submit"].btn-danger:not(.btn-cancel),
.modal-footer > :is(button, input)[type="submit"].bg-danger:not(.btn-cancel),
.modal-footer > button.bg-danger.border-danger[type="submit"],
.floating-modal .modal-footer :is(.btn-danger, .btn-delete, a.btn-danger):not(.btn-cancel),
.floating-modal .modal-panel form > div:last-child :is(.btn-danger, .btn-delete, a.btn-danger):not(.btn-cancel),
.floating-modal .modal-panel form > div:last-child > :is(button, input)[type="submit"].btn-danger:not(.btn-cancel),
.floating-modal .modal-panel form > div:last-child > :is(button, input)[type="submit"].bg-danger:not(.btn-cancel),
.floating-modal .modal-panel form > div:last-child > button.bg-danger.border-danger[type="submit"] {
    order: 3;
    margin-right: 0;
    margin-left: 0;
}

/* Speichern / Abbrechen + butoane principale — colțuri rotunjite uniform */
.btn-save,
.btn-cancel,
.btn-primary,
.btn-danger.btn,
.btn-sm.btn {
    border-radius: var(--btn-action-radius, 12px) !important;
}

.btn-save,
.btn-primary,
.btn-danger.btn {
    gap: 8px;
}

.btn-save :is(i, svg),
.btn-primary :is(i, svg),
.btn-cancel :is(i, svg) {
    flex-shrink: 0;
}

/* Apăsare — modale (inclusiv floating pe body) */
.floating-modal .btn-save,
.floating-modal .btn-cancel,
.floating-modal .modal-footer > :is(button, input):not(:disabled),
.app-shell .modal-footer .btn-save,
.app-shell .modal-footer .btn-cancel,
.app-shell .modal-footer > :is(button, input):not(:disabled),
.legacy-content .modal-footer .btn-save,
.legacy-content .modal-footer .btn-cancel,
.legacy-content .modal-footer > :is(button, input):not(:disabled),
.legacy-content .floating-modal .modal-footer > :is(button, input):not(:disabled) {
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.15s ease, border-color 0.15s ease !important;
    -webkit-tap-highlight-color: transparent;
}

.floating-modal .btn-save:active,
.app-shell .modal-footer > :is(button, input)[type="submit"]:active:not(:disabled),
.legacy-content .modal-footer > :is(button, input)[type="submit"]:active:not(:disabled),
.legacy-content .floating-modal .modal-footer > :is(button, input)[type="submit"]:active:not(:disabled) {
    transform: scale(0.97) translateY(1px) !important;
    box-shadow: 0 1px 4px rgba(66, 200, 97, 0.4) !important;
}

#kostenstelleModal #kostenstelleCancelBtn,
#kostenstelleModal .btn-cancel {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.22) !important;
}

#kostenstelleModal #kostenstelleCancelBtn:hover,
#kostenstelleModal .btn-cancel:hover {
    background: var(--btn-red-hover, #dc2626) !important;
    background-color: var(--btn-red-hover, #dc2626) !important;
    border-color: var(--btn-red-hover, #dc2626) !important;
}

#kostenstelleModal #kostenstelleCancelBtn:active,
#kostenstelleModal .btn-cancel:active {
    transform: scale(0.97) translateY(1px) !important;
    box-shadow: 0 1px 4px rgba(239, 68, 68, 0.4) !important;
}

.floating-modal .btn-cancel:active,
.floating-modal button[data-tw-dismiss="modal"]:active:not(:disabled),
.app-shell .modal-footer > button[type="button"][data-tw-dismiss]:active:not(:disabled),
.legacy-content .modal-footer > button[type="button"][data-tw-dismiss]:active:not(:disabled),
.legacy-content .floating-modal button[data-tw-dismiss="modal"]:active:not(:disabled) {
    transform: scale(0.97) translateY(1px) !important;
    box-shadow: 0 1px 4px rgba(239, 68, 68, 0.4) !important;
}

/* Icon + text (Bearbeiten la capul documentului) */
.btn-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

/* Angebot: bandă între două linii — butoane centrate vertical pe mijloc */
.angebot-between-lines {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 12px 0;
    min-height: 0;
    box-sizing: border-box;
    border-top: none;
    border-bottom: none;
    clear: both;
}

.angebot-between-lines .btn,
.angebot-between-lines .btn-with-icon {
    margin: 0 !important;
}

.angebot-header-edit {
    margin-top: 0.75rem;
}

.angebot-page-footer {
    margin-top: 0;
    padding-top: 14px;
    border-top: none;
}

/* === Toolbar pagină — Adaugă stânga, filtre, căutare dreapta (ca Plantafel) === */
.page-toolbar,
.legacy-content .box > .page-toolbar,
.legacy-content .box > .flex.flex-wrap.gap-2,
.legacy-content .flex.flex-wrap.gap-2.mb-6,
.aufgaben-page .box > .flex.flex-wrap.gap-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.page-toolbar > .projekte-filter-btn--new,
.page-toolbar > .btn-toolbar-add,
.page-toolbar > .btn.btn-save,
.legacy-content .flex.flex-wrap.gap-2 > .projekte-filter-btn--new,
.legacy-content .flex.flex-wrap.gap-2 > .btn.btn-save,
.legacy-content .flex.flex-wrap.gap-2 > button.btn-save {
    order: -10;
}

.stammdaten-page__toolbar .stammdaten-page__actions {
    display: contents;
}

.stammdaten-page__toolbar .projekte-filter-btn--new,
.stammdaten-page__toolbar .btn-toolbar-add {
    order: -10;
}

.stammdaten-page__toolbar .stammdaten-page__limit {
    order: -5;
}

.stammdaten-page__toolbar .stammdaten-page__search {
    order: 20;
    margin-left: auto;
    flex: 0 1 22rem;
}

.mitarbeiter-page__toolbar .projekte-filter-btn--new {
    order: -10;
}

.mitarbeiter-page__toolbar .mitarbeiter-page__search {
    order: 20;
    margin-left: auto;
    flex: 0 1 22rem;
}

/* Kunden Alle — Neu inline (toate câmpurile) */
.kunden-alle__new-panel {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border: 2px solid var(--btn-green, #42c861);
    border-radius: 12px;
    background: rgba(66, 200, 97, 0.06);
}

.kunden-alle__new-panel[hidden] {
    display: none !important;
}

.kunden-alle__new-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
    margin-bottom: 0.75rem;
}

.kunden-alle__new-panel-grid__full {
    grid-column: 1 / -1;
}

.kunden-alle__new-panel-grid__triple {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

.kunden-alle__new-panel-grid__address {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

.kunden-alle__new-label {
    display: block;
    margin: 0 0 0.2rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.kunden-alle__new-panel .form-control {
    width: 100%;
    min-height: 2.15rem;
}

.kunden-alle__new-inline-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    width: 100%;
}

/* Kunden profil Team — Geburtsdatum + Position + Kontakt pe un rând */
.kunden-profil-team-panel__row5 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

#editKundenTeamModal .kunden-profil-team-panel__row5 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

@media (max-width: 900px) {
    .kunden-profil-team-panel__row5,
    #editKundenTeamModal .kunden-profil-team-panel__row5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .kunden-alle__new-panel-grid,
    .kunden-alle__new-panel-grid__triple,
    .kunden-alle__new-panel-grid__address,
    .kunden-profil-team-panel__row5,
    #editKundenTeamModal .kunden-profil-team-panel__row5 {
        grid-template-columns: minmax(0, 1fr);
    }
}

.section-header .page-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.section-header .page-toolbar-actions > .projekte-filter-btn--new,
.section-header .page-toolbar-actions > .btn.btn-save:first-child,
.section-header .page-toolbar-actions > button:has([data-lucide="plus"]) {
    order: -10;
}

.calendar-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.calendar-toolbar-actions > .btn-save,
.calendar-toolbar-actions > .btn.btn-save {
    order: -10;
}

/* Projekte/alle — filtre: verde unitar (Adaugă = același verde ca Plantafel) */
.projekte-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: var(--btn-action-min-h, 36px);
    padding: var(--btn-action-py, 8px) var(--btn-action-px, 16px);
    font-size: var(--btn-action-font, 13px);
    font-weight: 600;
    line-height: 1.25;
    border-radius: var(--hb-btn-radius, 12px);
    border: 1px solid var(--btn-green-border, #3ab85a);
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.rechnungen-page__toolbar-nav .projekte-filter-btn,
.rechnungen-page__toolbar-nav .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active),
:is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn,
:is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active),
.page-toolbar .projekte-filter-btn,
.page-toolbar .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active),
:is(.app-shell, .legacy-content) .rechnungen-page__toolbar-nav .projekte-filter-btn,
:is(.app-shell, .legacy-content) .rechnungen-page__toolbar-nav .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active),
:is(.app-shell, .legacy-content) :is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn,
:is(.app-shell, .legacy-content) :is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active),
:is(.app-shell, .legacy-content) .page-toolbar .projekte-filter-btn,
:is(.app-shell, .legacy-content) .page-toolbar .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active) {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

.rechnungen-page__toolbar-nav .projekte-filter-btn--new,
.rechnungen-page__toolbar-nav .projekte-filter-btn--new:is(:hover, :focus, :focus-visible, :active),
:is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn--new,
:is(.angebot-list__toolbar, .aufgaben-page__toolbar) .rechnungen-page__toolbar-nav .projekte-filter-btn--new:is(:hover, :focus, :focus-visible, :active),
.page-toolbar .projekte-filter-btn--new,
.page-toolbar .projekte-filter-btn--new:is(:hover, :focus, :focus-visible, :active) {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.aufgaben-page__toolbar .rechnungen-page__toolbar-nav .projekte-filter-btn--active,
.page-toolbar .projekte-filter-btn--active {
    background: #248a42 !important;
    background-color: #248a42 !important;
    background-image: none !important;
    border: 1px solid #166530 !important;
    box-shadow: none !important;
    filter: none !important;
}

.projekte-filter-btn:hover {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
}

.projekte-filter-btn--active {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Navigare lună: ‹ Jul / Sep › */
.projekte-filter-btn--month-nav {
    background: #58cc75 !important;
    background-color: #58cc75 !important;
    background-image: none !important;
    border: 1px solid #48bf68 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: none !important;
    filter: none !important;
    font-weight: 600 !important;
}

.projekte-filter-btn--month-nav:hover,
.projekte-filter-btn--month-nav:focus-visible {
    background: #52c76f !important;
    background-color: #52c76f !important;
    background-image: none !important;
    border-color: #42ba62 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: none !important;
    filter: none !important;
}

.projekte-filter-btn--month-nav :is(i, svg, [data-lucide], .stroke-1\.5) {
    opacity: 0.92;
}

/* Heute + luna curentă — aceleași culori, flat fără umbră */
.projekte-filter-btn--today,
.rechnungen-page__toolbar-nav .projekte-filter-btn--active {
    background: #248a42 !important;
    background-color: #248a42 !important;
    background-image: none !important;
    border: 1px solid #166530 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    letter-spacing: normal;
    box-shadow: none !important;
    filter: none !important;
}

.projekte-filter-btn--today:hover,
.projekte-filter-btn--today:focus-visible,
.rechnungen-page__toolbar-nav .projekte-filter-btn--active:hover,
.rechnungen-page__toolbar-nav .projekte-filter-btn--active:focus-visible {
    background: #2d9a4a !important;
    background-color: #2d9a4a !important;
    background-image: none !important;
    border-color: #186832 !important;
    box-shadow: none !important;
    filter: none !important;
}

[data-theme="dark"] .projekte-filter-btn--today,
[data-theme="dark"] .rechnungen-page__toolbar-nav .projekte-filter-btn--active {
    background: #2d9448 !important;
    background-color: #2d9448 !important;
    background-image: none !important;
    border-color: #155628 !important;
    box-shadow: none !important;
    filter: none !important;
}

[data-theme="dark"] .projekte-filter-btn--month-nav {
    background: #4aad66 !important;
    background-color: #4aad66 !important;
    background-image: none !important;
    border-color: #3d9658 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: none !important;
    filter: none !important;
}

[data-theme="dark"] .projekte-filter-btn--month-nav:hover,
[data-theme="dark"] .projekte-filter-btn--month-nav:focus-visible {
    background: #55ba72 !important;
    background-color: #55ba72 !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
}

.projekte-filter-btn--new,
.btn-toolbar-add,
.btn-create,
.projekte-filter-btn--new:hover,
.btn-toolbar-add:hover,
.btn-create:hover,
.projekte-filter-btn--new:focus,
.btn-toolbar-add:focus,
.btn-create:focus,
.projekte-filter-btn--new:focus-visible,
.btn-toolbar-add:focus-visible,
.btn-create:focus-visible,
.projekte-filter-btn--new:active,
.btn-toolbar-add:active,
.btn-create:active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: var(--btn-action-min-h, 36px);
    padding: var(--btn-action-py, 8px) var(--btn-action-px, 16px);
    font-size: var(--btn-action-font, 13px);
    font-weight: 600;
    line-height: 1.25;
    border-radius: var(--hb-btn-radius, 12px);
    text-decoration: none;
    cursor: pointer;
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    border-color: var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28) !important;
}

.projekte-filter-btn--new :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-toolbar-add :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-create :is(i, svg, [data-lucide], .stroke-1\.5),
.projekte-filter-btn--new:hover :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-toolbar-add:hover :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-create:hover :is(i, svg, [data-lucide], .stroke-1\.5),
.projekte-filter-btn--new:focus :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-toolbar-add:focus :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-create:focus :is(i, svg, [data-lucide], .stroke-1\.5),
.projekte-filter-btn--new:active :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-toolbar-add:active :is(i, svg, [data-lucide], .stroke-1\.5),
.btn-create:active :is(i, svg, [data-lucide], .stroke-1\.5) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    stroke: #fff !important;
}

.projekte-filter-btn:not(.projekte-filter-btn--new) :is(i, svg, [data-lucide], .stroke-1\.5),
.projekte-filter-btn--active :is(i, svg, [data-lucide], .stroke-1\.5) {
    color: #fff !important;
    stroke: #fff !important;
}

/* Plantafel / pagini vechi: butoane nav ca projekte-filter-btn */
.legacy-content .box .page-toolbar > .projekte-filter-btn,
.legacy-content .box .page-toolbar > .projekte-filter-btn:is(:hover, :focus, :focus-visible, :active) {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

.legacy-content .box .flex.flex-wrap.gap-2 > a.bg-success,
.legacy-content .box .flex.flex-wrap.gap-2 > span.bg-success,
.legacy-content .box .flex.flex-wrap.gap-2 > a.bg-slate-300,
.legacy-content .box .page-toolbar > a.bg-success,
.legacy-content .box .page-toolbar > span.bg-success,
.legacy-content .box .page-toolbar > a.bg-slate-300 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: var(--btn-action-min-h, 36px);
    padding: var(--btn-action-py, 8px) var(--btn-action-px, 16px);
    font-size: var(--btn-action-font, 13px);
    font-weight: 600;
    line-height: 1.25;
    border-radius: var(--hb-btn-radius, 12px);
    text-decoration: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 1px solid var(--btn-green-border, #3ab85a);
    background: var(--btn-green-hover, #3ab85a) !important;
    box-shadow: 0 2px 6px rgba(66, 200, 97, 0.2);
}

.legacy-content .box .flex.flex-wrap.gap-2 > span.bg-success,
.legacy-content .box .page-toolbar > span.bg-success {
    background: var(--btn-green, #42c861) !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28);
    cursor: default;
}

.legacy-content .box .flex.flex-wrap.gap-2 > a.bg-slate-300,
.legacy-content .box .page-toolbar > a.bg-slate-300 {
    background: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    opacity: 0.92;
}

.legacy-content .box .flex.flex-wrap.gap-2 > a.bg-slate-300:hover,
.legacy-content .box .page-toolbar > a.bg-slate-300:hover {
    background: var(--btn-green, #42c861) !important;
    opacity: 1;
}

/* Stil unitar — toate butoanele acționabile din app */
.app-shell :is(.btn, button.btn, a.btn, input[type="submit"].btn, input[type="button"].btn),
.legacy-content :is(.btn, button.btn, a.btn) {
    border-radius: var(--hb-btn-radius, 12px) !important;
    font-weight: 600 !important;
    min-height: var(--btn-action-min-h, 36px);
}

.app-shell .btn-danger:hover,
.legacy-content .btn-danger:hover,
.app-shell [class~="bg-danger"]:hover,
.legacy-content [class~="bg-danger"]:hover {
    background: var(--btn-red-hover, #dc2626) !important;
    background-color: var(--btn-red-hover, #dc2626) !important;
    border-color: var(--btn-red-hover, #dc2626) !important;
    color: #fff !important;
}

/* Übersichtsbericht / Finanz — carduri fără umbră / fără colț decorativ */
.legacy-content .statistik-page .box,
.legacy-content .statistik-page .statistik-card,
.legacy-content .finanz-page .box,
.legacy-content .finanz-page .finanz-card,
.legacy-content .statistik-page .uk-card,
.legacy-content .statistik-page .uk-card-default,
.legacy-content .statistik-page .uk-card-body {
    box-shadow: none !important;
    filter: none !important;
}

.legacy-content .statistik-page .statistik-card::before,
.legacy-content .statistik-page .statistik-card::after,
.legacy-content .statistik-page .box::before,
.legacy-content .statistik-page .box::after,
.legacy-content .statistik-page .relative::before,
.legacy-content .statistik-page .relative::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}

.statistik-page .projekte-filter-btn,
.statistik-page button.projekte-filter-btn,
.finanz-page .projekte-filter-btn:not(.projekte-filter-btn--new),
.finanz-page button.projekte-filter-btn:not(.projekte-filter-btn--new) {
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.statistik-page button.projekte-filter-btn,
.statistik-page .statistik-more-menu__trigger {
    cursor: pointer;
    font-family: inherit;
}

/* Mitarbeiter — listă carduri */
.mitarbeiter-page {
    padding: 1.25rem 1.5rem 2rem;
}

.mitarbeiter-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1.5rem;
}

.mitarbeiter-page__search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 32rem;
}

.mitarbeiter-page__search-field {
    position: relative;
    flex: 1 1 12rem;
    min-width: 0;
}

.mitarbeiter-page__search-input {
    width: 100%;
    min-width: 0;
    min-height: var(--btn-action-min-h, 36px);
}

.mitarbeiter-search-suggest,
.live-search-suggest {
    position: absolute;
    z-index: 60;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
    background: var(--surface-solid, #fff);
    border: 1px solid var(--border);
    border-radius: var(--hb-btn-radius, 12px);
    box-shadow: var(--shadow, 0 12px 32px rgba(0, 0, 0, 0.12));
}

.mitarbeiter-search-suggest__item,
.live-search-suggest__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    cursor: pointer;
    text-align: left;
}

.mitarbeiter-search-suggest__item:hover,
.live-search-suggest__item:hover {
    background: rgba(15, 23, 42, 0.04);
}

.mitarbeiter-search-suggest__item.is-active,
.live-search-suggest__item.is-active {
    background: rgba(15, 23, 42, 0.06);
}

.mitarbeiter-search-suggest__item.is-selected,
.live-search-suggest__item.is-selected {
    background: rgba(66, 200, 97, 0.14);
}

.mitarbeiter-search-suggest__name,
.live-search-suggest__name {
    font-size: 14px;
    font-weight: 400;
    color: var(--text);
}

.mitarbeiter-search-suggest__item.is-selected .mitarbeiter-search-suggest__name,
.live-search-suggest__item.is-selected .live-search-suggest__name {
    font-weight: 700;
}

.mitarbeiter-search-suggest__sub,
.live-search-suggest__sub {
    font-size: 12px;
    color: var(--text-secondary, var(--muted));
}

.stammdaten-page__search--live {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 32rem;
}

.stammdaten-page__search-field {
    position: relative;
    flex: 1 1 12rem;
    min-width: 0;
}

/* Căutare listă: lupă în câmp (stânga), ca topbar */
.page-search-bar,
.stammdaten-page__search.page-search-bar,
.stammdaten-page__search--live {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.page-search-bar__submit {
    flex-shrink: 0;
}

/* Ascunde submit doar pe liste live explicite (Kunden/Mitarbeiter) */
form[data-hb-hide-search-submit="1"] .page-search-bar__submit {
    display: none !important;
}

/* Orice formular cu buton Căutare în markup — rămâne vizibil */
.legacy-content form.page-search-bar:has(.page-search-bar__submit):not([data-hb-hide-search-submit="1"]) .page-search-bar__submit,
.legacy-content form:has(.page-search-bar__submit):not([data-hb-hide-search-submit="1"]) .page-search-bar__submit {
    display: inline-flex !important;
    flex-shrink: 0;
}

.hb-search-input-wrap {
    position: relative;
    flex: 1 1 12rem;
    min-width: 0;
    width: auto;
}

.topbar-search-form {
    position: relative;
}

.hb-kunden-picker-wrap {
    position: relative;
}

.hb-search-suggest-portal {
    position: fixed;
    inset: 0;
    z-index: 13050;
    pointer-events: none;
}

.hb-search-suggest-portal .live-search-suggest {
    pointer-events: auto;
    max-height: min(65vh, 520px);
    overflow-y: auto;
}

.hb-select-search-native {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.hb-select-search-input {
    margin-bottom: 0;
}

.hb-search-input-wrap__icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: var(--text-secondary);
    pointer-events: none;
}

.hb-search-input-wrap__icon svg {
    width: 1rem;
    height: 1rem;
}

.hb-search-input-wrap__input,
.page-search-bar__input.hb-search-input-wrap__input,
.stammdaten-page__search-input,
.mitarbeiter-page__search-input,
.page-search-bar .hb-search-input-wrap input[type="search"] {
    width: 100%;
    min-height: var(--btn-action-min-h, 36px);
    padding: 8px 12px 8px 2.35rem !important;
    border-radius: 980px;
}

.hb-search-input-wrap__input:focus,
.page-search-bar .hb-search-input-wrap input[type="search"]:focus {
    border-color: var(--btn-green-border, #3ab85a);
    box-shadow: 0 0 0 3px rgba(66, 200, 97, 0.15);
}

.stammdaten-page__search--live .stammdaten-page__search-input {
    width: 100%;
}

.stammdaten-page__empty.hidden {
    display: none;
}

.mitarbeiter-page__empty.hidden {
    display: none;
}

.mitarbeiter-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.mitarbeiter-terminated {
    margin-top: 1.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    background: var(--surface-2, #f8fafc);
    overflow: hidden;
}

.mitarbeiter-terminated__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    font-weight: 600;
    color: var(--text, #0f172a);
}

.mitarbeiter-terminated__summary::-webkit-details-marker {
    display: none;
}

.mitarbeiter-terminated__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.mitarbeiter-terminated__count {
    font-weight: 500;
    color: var(--text-secondary, #64748b);
}

.mitarbeiter-terminated__chevron {
    flex-shrink: 0;
    color: var(--text-secondary, #64748b);
    transition: transform 0.18s ease;
}

.mitarbeiter-terminated[open] .mitarbeiter-terminated__chevron {
    transform: rotate(180deg);
}

.mitarbeiter-terminated__grid {
    padding: 0 1rem 1rem;
}

.mitarbeiter-terminated .mitarbeiter-card {
    opacity: 0.92;
}

.mitarbeiter-terminated .mitarbeiter-card__avatar {
    border-color: rgba(148, 163, 184, 0.45);
}

/* Butoane egale: Bearbeitung / Vorschau PDF / Rechnung Erstellen */
.hb-invoice-top-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.4rem;
}

.hb-invoice-top-actions__btn,
a.hb-invoice-top-actions__btn,
button.hb-invoice-top-actions__btn,
.legacy-content .hb-invoice-top-actions__btn,
.legacy-content a.hb-invoice-top-actions__btn,
.app-shell .hb-invoice-top-actions__btn,
.app-shell a.hb-invoice-top-actions__btn {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 9.75rem;
    height: 2.1rem;
    padding: 0 0.75rem !important;
    margin: 0 !important;
    border-radius: var(--hb-btn-radius, 12px) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    color: #fff !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(66, 200, 97, 0.22);
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.hb-invoice-top-actions__btn:hover,
.hb-invoice-top-actions__btn:focus,
.hb-invoice-top-actions__btn:focus-visible,
.hb-invoice-top-actions__btn:visited,
.hb-invoice-top-actions__btn:active,
a.hb-invoice-top-actions__btn:hover,
a.hb-invoice-top-actions__btn:focus,
a.hb-invoice-top-actions__btn:visited,
a.hb-invoice-top-actions__btn:active,
.legacy-content a.hb-invoice-top-actions__btn:hover,
.legacy-content a.hb-invoice-top-actions__btn:visited,
.app-shell a.hb-invoice-top-actions__btn:hover,
.app-shell a.hb-invoice-top-actions__btn:visited {
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.hb-invoice-top-actions__btn:active {
    transform: scale(0.97) translateY(1px);
}

.hb-invoice-top-actions__btn :is(i, svg, [data-lucide]),
a.hb-invoice-top-actions__btn :is(i, svg, [data-lucide]),
.legacy-content .hb-invoice-top-actions__btn :is(i, svg, [data-lucide]),
.app-shell .hb-invoice-top-actions__btn :is(i, svg, [data-lucide]) {
    width: 0.9rem !important;
    height: 0.9rem !important;
    flex-shrink: 0;
    color: #fff !important;
    stroke: #fff !important;
    fill: none !important;
}

@media (min-width: 900px) {
    .mitarbeiter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .mitarbeiter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mitarbeiter-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.15rem 1.2rem;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}

.mitarbeiter-card__head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem 1rem;
}

.mitarbeiter-card__avatar {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(66, 200, 97, 0.2);
    background: var(--surface-2, #f4f5f7);
}

.mitarbeiter-card__identity {
    min-width: 0;
}

.mitarbeiter-card__name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    text-decoration: none;
    line-height: 1.3;
}

.mitarbeiter-card__name:hover {
    color: var(--btn-green, #42c861);
}

.mitarbeiter-card__role {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.mitarbeiter-card__status {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 999px;
    white-space: nowrap;
}

.mitarbeiter-card__status--active {
    background: rgba(66, 200, 97, 0.12);
    color: #15803d;
}

.mitarbeiter-card__status--inactive {
    background: rgba(239, 68, 68, 0.1);
    color: #b91c1c;
}

.mitarbeiter-card__meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.mitarbeiter-card__meta li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--text-secondary);
}

.mitarbeiter-card__meta li span {
    min-width: 0;
    word-break: break-word;
}

.mitarbeiter-card__contract-row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0.4rem;
}

.mitarbeiter-card__progress {
    height: 6px;
    border-radius: 999px;
    background: var(--surface-2, rgba(0, 0, 0, 0.06));
    overflow: hidden;
}

.mitarbeiter-card__progress-bar {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--btn-green-hover, #3ab85a), var(--btn-green, #42c861));
}

.mitarbeiter-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.25rem;
}

.mitarbeiter-card__actions .projekte-filter-btn {
    justify-content: center;
    width: 100%;
    min-height: 36px;
    font-size: 12px;
    padding: 8px 10px;
}

.mitarbeiter-page__empty {
    margin: 2rem 0;
    text-align: center;
    color: var(--text-secondary);
    font-size: 0.9375rem;
}

/* Stammdaten — listări (Kunden, Lieferanten, Kostenstellen, …) */
.stammdaten-page {
    padding: 1.25rem 1.5rem 2rem;
}

@media (min-width: 640px) {
    .stammdaten-page {
        padding: 2rem;
    }
}

.stammdaten-page__header {
    margin-bottom: 1.25rem;
}

.stammdaten-page__header--detail {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
}

.stammdaten-page__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: var(--btn-action-min-h, 36px);
    padding: var(--btn-action-py, 8px) var(--btn-action-px, 14px);
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--hb-btn-radius, 12px);
    background: var(--surface, #fff);
    color: var(--text-primary, #0f172a);
    font-size: var(--btn-action-font, 13px);
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.stammdaten-page__back:hover {
    background: var(--surface-2, #f1f5f9);
    border-color: var(--border-strong, #cbd5e1);
    color: var(--text-primary, #0f172a);
    text-decoration: none;
}

.stammdaten-page__header--detail .stammdaten-page__title {
    width: 100%;
}

.stammdaten-page__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.stammdaten-page__panel {
    padding: 1.25rem 1.35rem;
}

.stammdaten-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 0.75rem;
    margin-bottom: 1.25rem;
}

.stammdaten-page__search {
    flex: 1 1 12rem;
    min-width: 0;
    max-width: 22rem;
}

.stammdaten-page__search:not(.stammdaten-page__search--live) .hb-search-input-wrap {
    width: 100%;
}

.stammdaten-page__search-input {
    width: 100%;
    min-height: 36px;
    padding: 8px 12px;
    font: inherit;
    font-size: 13px;
    border: 1px solid var(--border);
    border-radius: var(--hb-btn-radius, 12px);
    background: var(--surface-solid, #fff);
    color: var(--text);
}

.stammdaten-page__search-input:focus {
    outline: none;
    border-color: var(--btn-green-border, #3ab85a);
    box-shadow: 0 0 0 3px rgba(66, 200, 97, 0.15);
}

.stammdaten-page__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.stammdaten-page__limit {
    min-height: 36px;
    padding: 8px 10px;
    font: inherit;
    font-size: 13px;
    border: 1px solid var(--border);
    border-radius: var(--hb-btn-radius, 12px);
    background: var(--surface-solid, #fff);
    color: var(--text);
}

.stammdaten-page__table-wrap {
    margin-top: 0.25rem;
}

.stammdaten-page__pagination {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
}

.stammdaten-table tbody tr.stammdaten-table__group td {
    background: var(--surface-2, rgba(0, 0, 0, 0.06));
    font-weight: 700;
}

.stammdaten-table tbody tr.stammdaten-table__sub td:first-child {
    padding-left: 1.75rem;
}

.stammdaten-table__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    color: var(--primary, #2563eb);
    text-decoration: none;
}

.stammdaten-table__link:hover {
    text-decoration: underline;
}

.stammdaten-page__empty {
    text-align: center;
    color: var(--text-secondary);
    padding: 1.25rem 0;
    font-style: italic;
}

/* Wochen Auswertung */
.wochen-auswertung__panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.wochen-auswertung__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}

.wochen-auswertung__nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary, #2563eb);
    text-decoration: none;
}

.wochen-auswertung__nav-btn:hover {
    text-decoration: underline;
}

.wochen-auswertung__nav-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    text-align: center;
    min-width: 0;
}

.wochen-auswertung__kw {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
}

.wochen-auswertung__range {
    font-size: 0.875rem;
    color: var(--text-secondary, #64748b);
}

.wochen-auswertung__today {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--primary, #2563eb);
}

.wochen-auswertung__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 640px) {
    .wochen-auswertung__stats {
        grid-template-columns: 1fr;
    }
}

.wochen-auswertung__stat {
    background: var(--surface-secondary, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 0.65rem;
    padding: 0.75rem 1rem;
    text-align: center;
}

.wochen-auswertung__stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-primary, #0f172a);
}

.wochen-auswertung__stat-label {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}

.wochen-auswertung__toolbar {
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.wochen-auswertung__hint {
    margin: 0;
    flex: 1 1 12rem;
    font-size: 0.8125rem;
    color: var(--text-secondary, #64748b);
}

.wochen-auswertung__plantafel-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.wochen-auswertung__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    font-style: normal;
}

.wochen-auswertung__empty-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
}

.wochen-auswertung__table-wrap {
    overflow-x: auto;
}

.wochen-auswertung__table {
    table-layout: fixed;
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.wochen-auswertung__th-employee,
.wochen-auswertung__td-employee {
    width: 10rem;
    min-width: 8rem;
    font-weight: 700;
    vertical-align: top;
    white-space: nowrap;
}

.wochen-auswertung__table th:not(.wochen-auswertung__th-employee),
.wochen-auswertung__table td:not(.wochen-auswertung__td-employee) {
    width: calc((100% - 10rem) / 7);
}

.wochen-auswertung__th--weekend,
.wochen-auswertung__td-day--weekend {
    background: rgba(255, 250, 205, 0.45);
}

.wochen-auswertung__th--today,
.wochen-auswertung__td-day--today {
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.35);
}

.wochen-auswertung__td-day {
    vertical-align: top;
    padding: 0.35rem;
    min-height: 2.5rem;
}

.wochen-auswertung__chip {
    display: block;
    margin-bottom: 0.25rem;
    padding: 0.2rem 0.35rem;
    border-radius: 0.25rem;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wochen-auswertung__projects {
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, #e2e8f0);
}

.wochen-auswertung__projects-title {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
}

.wochen-auswertung__projects-list {
    margin: 0;
    padding: 0 0 0 1.1rem;
    columns: 2;
    gap: 0.35rem 1.5rem;
    font-size: 0.8125rem;
    color: var(--text-secondary, #475569);
}

@media (max-width: 640px) {
    .wochen-auswertung__projects-list {
        columns: 1;
    }
}

/* Leistungen — categorii în sidebar */
.leistungen-page__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 0.5rem;
}

@media (min-width: 1024px) {
    .leistungen-page__layout {
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    }
}

.leistungen-page__sidebar {
    padding: 1rem 1.1rem;
}

.leistungen-page__sidebar-title {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.leistungen-page__cat-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.leistungen-page__cat-item {
    position: relative;
}

.leistungen-page__cat-link {
    display: block;
    padding: 0.5rem 2rem 0.5rem 0.65rem;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
    text-decoration: none;
    transition: background 0.15s ease;
}

.leistungen-page__cat-link:hover,
.leistungen-page__cat-link--active {
    background: var(--surface-2, rgba(0, 0, 0, 0.06));
}

.leistungen-page__cat-edit {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
}

.leistungen-page__cat-edit:hover {
    background: var(--surface-2, rgba(0, 0, 0, 0.08));
    color: var(--text);
}

.leistungen-page__cat-item.is-editing {
    padding: 0.2rem 0;
}

.leistungen-page__cat-inline {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
}

.leistungen-page__cat-inline-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2rem;
    padding: 0.3rem 0.5rem;
    font-size: 13px;
}

.leistungen-page__cat-inline-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    flex-shrink: 0;
}

.leistungen-page__cat-new {
    margin: 0 0 0.65rem;
}

.leistungen-page__cat-new .leistungen-page__cat-inline {
    padding: 0.15rem 0;
}

.leistungen-page tr.hb-row-editing td {
    vertical-align: top !important;
    background: var(--surface-2, rgba(66, 200, 97, 0.06));
}

.leistungen-page tr.hb-row-editing .hb-leist-top {
    vertical-align: top !important;
    padding-top: 0.5rem;
}

.leistungen-page tr.hb-row-editing .hb-inline-field-label {
    display: block;
    margin: 0.25rem 0 0.15rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-align: left;
}

.leistungen-page tr.hb-row-editing .form-control {
    min-width: 0;
    width: 100%;
}

.leistungen-page tr.hb-row-editing .hb-leist-info {
    min-height: 7rem;
    height: 7rem;
    resize: vertical;
    line-height: 1.45;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell {
    overflow: visible;
    min-width: 28rem;
    width: 52%;
}

.leistungen-page tr.hb-row-editing .hb-leist-name {
    margin-bottom: 0.65rem !important;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: none;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar {
    flex-wrap: wrap !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar__items {
    flex-wrap: wrap !important;
    flex-grow: 1;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar .ck-toolbar__grouped-dropdown {
    display: none !important;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor__main > .ck-editor__editable,
.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor__editable {
    min-height: 7rem !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.leistungen-page tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor__main {
    border-radius: 0 !important;
}

.leistungen-page tr.hb-row-editing .hb-inline-price-cell,
.leistungen-page tr.hb-row-editing .hb-inline-qty-cell {
    min-width: 6.5rem;
    max-width: 8rem;
    width: 1%;
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
    white-space: nowrap;
}

.leistungen-page tr.hb-row-editing .hb-inline-price-cell .form-control,
.leistungen-page tr.hb-row-editing .hb-inline-qty-cell .form-control {
    min-width: 5.75rem;
    padding-left: 0.45rem;
    padding-right: 0.35rem;
    box-sizing: border-box;
}

.leistungen-page tr.hb-row-editing .hb-inline-price-cell input[type="number"],
.leistungen-page tr.hb-row-editing .hb-inline-qty-cell input[type="number"] {
    min-width: 6.25rem;
    padding-right: 0.25rem;
}

.leistungen-page tr.hb-row-editing .hb-leist-actions {
    padding-left: 0.35rem !important;
    padding-right: 0.5rem !important;
    width: 1%;
    white-space: nowrap;
    vertical-align: top !important;
}

.leistungen-page tr.hb-row-editing .hb-leist-actions__btns {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    /* coboară la nivelul inputului Arbeitszeit (sub etichetă) */
    margin-top: calc(0.25rem + 0.875rem + 0.15rem);
    min-height: 2.25rem;
}

.leistungen-page tr.hb-row-editing.hb-leist-new-row,
.leistungen-page tr.hb-leist-new-row.hb-row-editing {
    box-shadow: inset 0 0 0 1px rgba(66, 200, 97, 0.35);
}

/* Neu: casetă inline DEASUPRA tabelului — același layout ca Bearbeiten */
.hb-leist-new-panel {
    display: none !important;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 1rem;
    padding: 0.5rem 0.35rem;
    border: 2px solid var(--btn-green, #42c861);
    border-radius: 12px;
    background: rgba(66, 200, 97, 0.06);
    box-shadow: 0 1px 4px rgba(66, 200, 97, 0.18);
    overflow-x: auto;
}

.hb-leist-new-panel.is-open {
    display: block !important;
}

.hb-leist-new-panel__table {
    margin: 0;
    background: transparent;
}

.hb-leist-new-panel__table tr.hb-row-editing td {
    vertical-align: top !important;
    background: transparent;
}

.hb-leist-new-panel .hb-leist-info,
.hb-leist-new-panel .ck.ck-editor__main > .ck-editor__editable {
    min-height: 7rem !important;
}

.hb-leist-new-panel .ck.ck-editor {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: none;
}

.hb-leist-new-panel .ck.ck-toolbar {
    flex-wrap: wrap !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hb-leist-new-panel .ck.ck-editor__main,
.hb-leist-new-panel .ck.ck-editor__editable {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hb-leist-new-panel .ck.ck-toolbar .ck-toolbar__grouped-dropdown {
    display: none !important;
}

/* Kategorien-Modal: deschidere sus, nu centru */
.floating-modal.hb-leistungen-modal-top:not(.hiddenM):not(.hb-modal-closed),
.legacy-content .floating-modal.hb-leistungen-modal-top:not(.hiddenM):not(.hb-modal-closed) {
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: 1.25rem !important;
}

.floating-modal.hb-leistungen-modal-top:not(.hiddenM):not(.calendar-modal) > .bg-white,
.legacy-content .floating-modal.hb-leistungen-modal-top:not(.hiddenM):not(.calendar-modal) > .bg-white {
    margin-top: 0 !important;
    margin-bottom: auto !important;
}

.mitarbeiter-profil-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 0.85rem;
    padding: 0;
    min-height: 2.75rem;
}

.mitarbeiter-profil-header h2 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
}

.mitarbeiter-profil-photo__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    align-items: stretch;
}

.mitarbeiter-profil-photo__actions :is(label, button).mitarbeiter-profil-photo__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
    margin: 0;
    padding: 8px 10px;
    box-sizing: border-box;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
}

.mitarbeiter-profil-photo__actions .mitarbeiter-profil-photo__btn:only-child {
    grid-column: 1 / -1;
}

/* Profil entitate (Kunden + Mitarbeiter) — grid 4/8 fără Tailwind */
.entity-profil-form {
    margin-top: 1.5rem;
}

.entity-profil-grid {
    display: grid;
    gap: 1.5rem;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
    .entity-profil-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    }
}

.entity-profil-grid__side,
.entity-profil-grid__main {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.entity-profil-grid__side > .box,
.entity-profil-grid__main > .box {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.entity-profil-grid__side > .box + .box {
    margin-top: 1.5rem;
}

.kunden-profil-nav {
    display: none;
}

.kunden-profil-top {
    margin: 0.85rem 0 1.25rem;
    padding-top: 0;
}

.kunden-profil-top .mitarbeiter-profil-header {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.kunden-profil-top__name {
    color: inherit;
    text-decoration: none;
    letter-spacing: -0.01em;
}

.kunden-profil-top__name:hover {
    color: var(--accent, #42c861);
}

.kunden-profil-card,
:is(.app-shell, .legacy-content) .box.kunden-profil-card {
    padding: 0 !important;
    overflow: visible;
    border: none !important;
    outline: none !important;
    border-radius: 14px;
    background: var(--surface-solid, #fff);
    box-shadow: none !important;
    filter: none !important;
}

.kunden-profil-card__body {
    padding: 1.35rem 1.4rem 1.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: var(--surface-solid, #fff);
    border-radius: 0 0 14px 14px;
    position: relative;
    z-index: 1;
}

.kunden-profil-general {
    margin-top: 0;
    padding-top: 0.75rem;
}

.kunden-profil-list-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem 0.85rem;
    margin: 0 0 1rem;
}

.kunden-profil-year-nav {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.kunden-profil-team-head {
    gap: 1.15rem;
}

.kunden-profil-team-neu {
    gap: 0.2rem !important;
}

/* Mitarbeiter profil — Löschen mereu roșu */
.mitarbeiter-profil-shell a.mitarbeiter-profil-delete-btn.btn-danger,
:is(.app-shell, .legacy-content) .mitarbeiter-profil-shell a.mitarbeiter-profil-delete-btn {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    border: 1px solid #dc2626 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.mitarbeiter-profil-shell a.mitarbeiter-profil-delete-btn:hover,
:is(.app-shell, .legacy-content) .mitarbeiter-profil-shell a.mitarbeiter-profil-delete-btn:hover {
    background: #dc2626 !important;
    background-color: #dc2626 !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}

/* Taburi tip fișier — look pro */
.kunden-profil-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.15rem;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding: 1rem 0.85rem 0;
    margin: 0;
    border-bottom: none;
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.9) 100%);
    border-radius: 14px 14px 0 0;
}

.kunden-profil-tabs__btn,
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn,
.kunden-profil-tabs__btn:visited {
    box-sizing: border-box;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 0;
    height: 2.45rem;
    padding: 0 1.05rem;
    margin-bottom: -1px;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 11px 11px 0 0;
    background: transparent;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: none;
    position: relative;
    z-index: 0;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.kunden-profil-tabs__btn:hover,
.kunden-profil-tabs__btn:focus,
.kunden-profil-tabs__btn:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.06);
    border-bottom-color: transparent;
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    text-decoration: none !important;
}

.kunden-profil-tabs__btn.is-active,
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn.is-active {
    z-index: 2;
    background: var(--btn-green, #42c861);
    border-color: var(--btn-green-border, #3ab85a);
    border-bottom-color: var(--btn-green, #42c861);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: none;
}

.kunden-profil-tabs__btn.is-active::before,
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn.is-active::before,
.kunden-profil-tabs__btn.is-active::after,
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn.is-active::after {
    content: none;
    display: none;
}

.kunden-profil-tabs__btn :is(i, svg, span, [data-lucide]),
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn :is(i, svg, span, [data-lucide]) {
    width: auto;
    height: auto;
    flex-shrink: 0;
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    stroke: currentColor !important;
    opacity: 0.88;
}

.kunden-profil-tabs__btn.is-active :is(i, svg, span, [data-lucide]),
:is(.app-shell, .legacy-content) .kunden-profil-tabs__btn.is-active :is(i, svg, span, [data-lucide]) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    stroke: #fff !important;
    opacity: 1;
}

.kunden-profil-tabs__btn :is(i, svg, [data-lucide]) {
    width: 0.9rem;
    height: 0.9rem;
}

/* Poză profil kunden — compactă, centrată, ușor de folosit */
.kunden-profil-photo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 0.25rem 0.35rem;
    max-width: 11rem;
    margin: 0;
}

.kunden-profil-photo > label {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.2;
}

.kunden-profil-photo__img {
    display: block;
    width: 6.5rem;
    height: 6.5rem;
    max-width: 6.5rem;
    object-fit: cover;
    margin: 0;
    border-radius: 50%;
    border: 2px solid var(--border, rgba(0, 0, 0, 0.08));
    box-shadow: none;
    background: var(--surface-2, #f1f5f9);
}

.kunden-profil-photo .mitarbeiter-profil-photo__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.35rem;
}

.kunden-profil-photo .mitarbeiter-profil-photo__actions :is(label, button).mitarbeiter-profil-photo__btn {
    width: 100%;
    height: 2.1rem;
    min-height: 2.1rem;
    max-height: 2.1rem;
    font-size: 0.75rem;
    padding: 0 0.5rem;
    border-radius: var(--hb-btn-radius, 10px);
}

@media (min-width: 1024px) {
    .entity-profil-grid:has(.kunden-profil-photo) {
        grid-template-columns: 11.25rem minmax(0, 1fr);
        gap: 1.25rem;
        align-items: start;
    }
}

@media (max-width: 1023px) {
    .kunden-profil-photo {
        max-width: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 0.75rem 1rem;
        padding: 0.25rem 0;
    }

    .kunden-profil-photo > label {
        flex: 1 1 100%;
        text-align: left;
    }

    .kunden-profil-photo .mitarbeiter-profil-photo__actions {
        flex: 1 1 auto;
        min-width: 8rem;
        max-width: 12rem;
    }
}

@media (max-width: 720px) {
    .kunden-profil-tabs__btn span {
        font-size: 0.75rem;
    }
}

.entity-profil-fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
    .entity-profil-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.entity-profil-fields__full {
    grid-column: 1 / -1;
}

.entity-profil-fields label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.375rem;
}

.entity-profil-fields :is(input, select, textarea, .form-control) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.entity-profil-fields .ck.ck-editor {
    width: 100% !important;
    max-width: 100% !important;
}

/* Übersichtsbericht / Finanzwesen — layout */
.statistik-page,
.finanz-page {
    padding: 2.15rem 1.25rem 1.5rem;
}

@media (min-width: 640px) {
    .statistik-page,
    .finanz-page {
        padding: 2.35rem 1.5rem 1.75rem;
    }
}

.statistik-page__header--compact {
    margin-bottom: 0.75rem;
}

.statistik-page__export-btn {
    flex-shrink: 0;
}

.statistik-page__filter-bar {
    margin-bottom: 1rem;
    overflow: visible !important;
    position: relative;
    z-index: 40;
}

.statistik-filter-groups {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.25rem;
    overflow: visible;
}

.statistik-filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.statistik-filter-group__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.statistik-page .projekte-filter-btn--sm {
    padding: 0.35rem 0.65rem;
    font-size: 0.8125rem;
}

.statistik-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.statistik-more-menu {
    position: relative;
    margin-left: 0;
    z-index: 50;
}

.statistik-more-menu__trigger {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
}

.statistik-more-menu__panel {
    display: none;
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    z-index: 9999;
    min-width: 14rem;
    padding: 0.35rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}

.statistik-more-menu.is-open .statistik-more-menu__panel {
    display: block;
}

.statistik-more-menu__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    color: #334155;
    text-decoration: none;
}

.statistik-more-menu__link:hover {
    background: #f8fafc;
    color: rgb(66, 200, 97);
}

@media print {
    .statistik-print-source--hidden {
        display: none !important;
    }

    .statistik-print-snapshot {
        display: block !important;
        max-width: 100%;
        margin-bottom: 0.5rem;
    }
}

.statistik-trend-grid--4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.5rem, 0.9vw, 0.85rem);
    margin-bottom: 1rem;
    width: 100%;
}

.statistik-trend-grid--4 .statistik-trend-card {
    padding: clamp(1rem, 1.6vw, 1.35rem) clamp(0.85rem, 1.3vw, 1.15rem) !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.statistik-trend-grid--4 .statistik-trend-card__top {
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
    gap: 0.4rem;
}

.statistik-trend-grid--4 .statistik-trend-card__icon {
    width: clamp(2rem, 2.6vw, 2.5rem);
    height: clamp(2rem, 2.6vw, 2.5rem);
    flex-shrink: 0;
}

.statistik-trend-grid--4 .statistik-trend-card__icon .w-5 {
    width: clamp(1.05rem, 1.4vw, 1.35rem) !important;
    height: clamp(1.05rem, 1.4vw, 1.35rem) !important;
}

.statistik-trend-grid--4 .statistik-trend-card__badge {
    font-size: clamp(0.6875rem, 0.9vw, 0.8125rem);
    padding: 0.15rem 0.45rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.statistik-trend-grid--4 .statistik-trend-card__label {
    font-size: clamp(0.6875rem, 0.95vw, 0.8125rem);
    margin-bottom: clamp(0.3rem, 0.6vw, 0.45rem);
    line-height: 1.35;
    letter-spacing: 0.04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.statistik-trend-grid--4 .statistik-trend-card__value {
    font-size: clamp(1.1rem, 1.75vw, 1.5rem);
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.statistik-trend-grid--4 .statistik-trend {
    margin-top: auto;
    padding-top: clamp(0.35rem, 0.7vw, 0.55rem);
    margin-right: 0;
    font-size: clamp(0.6875rem, 0.9vw, 0.8125rem);
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.statistik-trend-grid--4 .statistik-trend .w-4 {
    width: clamp(0.85rem, 1.1vw, 1rem) !important;
    height: clamp(0.85rem, 1.1vw, 1rem) !important;
    flex-shrink: 0;
}

.statistik-trend-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.statistik-trend-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
}

.statistik-trend-card__icon--primary { color: rgb(66, 200, 97); background: rgba(66, 200, 97, 0.12); }
.statistik-trend-card__icon--success { color: #16a34a; background: rgba(22, 163, 74, 0.12); }
.statistik-trend-card__icon--finance { color: #0f766e; background: rgba(15, 118, 110, 0.12); }
.statistik-trend-card__icon--rate { color: #7c3aed; background: rgba(124, 58, 237, 0.12); }

.statistik-trend-card__badge {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
}

.statistik-trend-card__badge--up {
    color: #15803d;
    background: rgba(22, 163, 74, 0.12);
}

.statistik-trend-card__badge--down {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.1);
}

.statistik-insights {
    margin-bottom: 1rem;
}

.statistik-monthly-table {
    margin-bottom: 1rem;
}

.statistik-monthly-table__title,
.statistik-top-clients__title,
.statistik-pipeline__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.statistik-monthly-table__wrap {
    overflow-x: auto;
}

.statistik-monthly-table__grid {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.statistik-monthly-table__grid th,
.statistik-monthly-table__grid td {
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid #e2e8f0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.statistik-monthly-table__grid thead th,
.statistik-monthly-table__grid tbody th[scope="row"] {
    text-align: left;
}

.statistik-monthly-table__grid thead th {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
    background: #f8fafc;
}

.statistik-monthly-table__row--active {
    background: rgba(66, 200, 97, 0.08);
}

.statistik-monthly-table__month-link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.statistik-monthly-table__month-link:hover {
    color: rgb(66, 200, 97);
}

.statistik-extra-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

@media (min-width: 900px) {
    .statistik-extra-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.statistik-top-clients__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.statistik-top-clients__item {
    display: grid;
    grid-template-columns: 1.5rem 1fr auto;
    gap: 0.5rem;
    align-items: center;
    font-size: 0.875rem;
}

.statistik-top-clients__rank {
    font-weight: 700;
    color: #94a3b8;
}

.statistik-top-clients__name {
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.statistik-top-clients__meta {
    color: #64748b;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.statistik-pipeline__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.statistik-pipeline__stat {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.statistik-pipeline__label {
    font-size: 0.75rem;
    color: #64748b;
}

.statistik-pipeline__stat strong {
    font-size: 1rem;
    color: #0f172a;
}

.statistik-pipeline__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.statistik-insights__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.statistik-insights__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.statistik-insights__item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #334155;
}

.statistik-insights__item--up { color: #15803d; }
.statistik-insights__item--down { color: #b91c1c; }
.statistik-insights__item--warn { color: #c2410c; }

.statistik-donut-panel__body {
    display: flex;
    align-items: center;
    min-height: 220px;
}

.statistik-donut-panel__chart {
    flex: 1;
    min-height: 220px;
}

.statistik-charts-section {
    margin-bottom: 1.25rem;
}

.finanz-page__header,
.statistik-page__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-top: 0.35rem;
    margin-bottom: 1rem;
    padding-top: 0.5rem;
}

.statistik-page__title,
.finanz-page__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.statistik-page__toolbar,
.finanz-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.75rem;
}

.statistik-page__toolbar.rechnungen-page__toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}

.statistik-page__subtitle {
    margin: 0.25rem 0 0;
    width: 100%;
    font-size: 0.875rem;
    color: #64748b;
}

.statistik-page__toolbar-sep {
    display: inline-block;
    width: 1px;
    height: 1.25rem;
    margin: 0 0.35rem;
    background: #e2e8f0;
    align-self: center;
    flex-shrink: 0;
}

.statistik-section,
.finanz-section {
    margin-bottom: 1.25rem;
}

.statistik-section__title,
.finanz-section__title {
    margin: 0 0 1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.statistik-kpi-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.statistik-kpi-grid--1 {
    max-width: 22rem;
}

@media (min-width: 640px) {
    .statistik-kpi-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .statistik-kpi-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .statistik-kpi-grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1280px) {
    .statistik-kpi-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .statistik-kpi-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

.statistik-kpi-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 12px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.statistik-kpi-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.statistik-kpi-link .statistik-card {
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.statistik-panel {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.statistik-panel__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.statistik-panel__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
}

.statistik-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

.statistik-charts-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.statistik-charts-section__head .statistik-section__title {
    margin-bottom: 0;
}

.statistik-trend-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.statistik-trend-grid.statistik-trend-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.5rem, 0.9vw, 0.85rem);
    margin-bottom: 1rem;
    width: 100%;
}

@media (min-width: 768px) {
    .statistik-trend-grid:not(.statistik-trend-grid--4) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.statistik-trend-card__label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.35rem;
}

.statistik-trend-card__value {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    color: #0f172a;
}

.statistik-trend {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.5rem;
    margin-right: 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.statistik-trend--up {
    color: #15803d;
}

.statistik-trend--down {
    color: #b91c1c;
}

.statistik-charts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 960px) {
    .statistik-charts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .statistik-charts-grid__wide {
        grid-column: 1 / -1;
    }
}

.finanz-panel {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.finanz-panel__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.finanz-panel__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
}

.finanz-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

.statistik-page .statistik-panel .box,
.finanz-page .finanz-panel .box {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.statistik-page .statistik-panel > .pt-5,
.finanz-page .finanz-panel > .pt-5 {
    padding-top: 0 !important;
}

.legacy-content .finanz-page .box,
.legacy-content .finanz-page .statistik-card,
.legacy-content .finanz-page .finanz-card {
    box-shadow: none !important;
    filter: none !important;
}

.legacy-content .finanz-page .statistik-card::before,
.legacy-content .finanz-page .statistik-card::after,
.legacy-content .finanz-page .finanz-card::before,
.legacy-content .finanz-page .finanz-card::after,
.legacy-content .finanz-page .box::before,
.legacy-content .finanz-page .box::after,
.legacy-content .finanz-page .relative::before,
.legacy-content .finanz-page .relative::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}

.finanz-page .projekte-filter-btn:not(.projekte-filter-btn--new),
.finanz-page button.projekte-filter-btn:not(.projekte-filter-btn--new) {
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Butoane toolbar gri (border + shadow-sm) → verde */
.legacy-content :is(a, button).inline-flex.border.shadow-sm,
.legacy-content :is(a, button)[class*="border"][class*="shadow-sm"][class*="rounded-md"],
.legacy-content :is(a, button).transition.duration-200.border.shadow-sm {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: var(--hb-btn-radius, 12px) !important;
    background: var(--btn-green-hover, #3ab85a) !important;
    background-color: var(--btn-green-hover, #3ab85a) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(66, 200, 97, 0.2) !important;
}

.legacy-content :is(a, button).inline-flex.border.shadow-sm:hover,
.legacy-content :is(a, button)[class*="border"][class*="shadow-sm"][class*="rounded-md"]:hover {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    color: #fff !important;
}

.legacy-content :is(a, button).bg-danger.text-white,
.legacy-content :is(a, button).bg-danger {
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    color: #fff !important;
}

/* Creare / principal — verde (nu roșu) exceptând ștergere explicită */
.legacy-content :is(a, button).bg-danger:not(.btn-delete):not([title*="öschen"]):not([title*="Delete"]):not(.icon-action--delete) {
    background: var(--btn-green, #42c861) !important;
    background-color: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
}

/* Aufgaben / Sarcini — același aranjament ca Projekte (filtre + Adaugă, apoi căutare) */
.legacy-content .aufgaben-page .flex.flex-wrap.gap-2 {
    align-items: center;
}

/* Aufgaben — layout aliniat la Projekte */
.legacy-content .aufgaben-page .aufgaben-card {
    padding: 20px !important;
    box-shadow: none !important;
}

.legacy-content .aufgaben-page .uk-section {
    padding: 0 !important;
}

.legacy-content .aufgaben-page .table-report th,
.legacy-content .aufgaben-page .table-report td {
    vertical-align: middle;
}

.projekte-filter-sep {
    display: inline-flex;
    align-items: center;
    padding: 0 4px;
    color: var(--text-secondary, #94a3b8);
    font-weight: 400;
}

/* Rechnungen — toolbar: butoane lună + căutare + filtru pe un singur rând */
.legacy-content .rechnungen-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    width: 100%;
    min-width: 0;
}

.legacy-content .rechnungen-page__toolbar-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    flex: 0 1 auto;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.legacy-content .rechnungen-page__toolbar-nav .projekte-filter-btn {
    white-space: nowrap;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

.legacy-content .rechnungen-page__toolbar-search {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 18rem;
    min-width: min(100%, 18rem);
    max-width: 100%;
    margin-left: auto;
    justify-content: flex-end;
}

.legacy-content .rechnungen-page__toolbar-search .page-search-bar {
    flex: 1 1 auto;
    min-width: 10rem;
    max-width: 28rem;
    width: auto;
    margin: 0;
    position: relative;
}

.legacy-content .rechnungen-page__toolbar-search .hb-search-input-wrap,
.legacy-content .stammdaten-page__search .hb-search-input-wrap,
.legacy-content .mitarbeiter-page__search .hb-search-input-wrap,
.legacy-content .page-search-bar .hb-search-input-wrap,
.legacy-content .topbar-search-form {
    overflow: visible;
    position: relative;
}

.legacy-content .rechnungen-page__toolbar-search .live-search-suggest,
.legacy-content .stammdaten-page__search .live-search-suggest,
.legacy-content .mitarbeiter-page__search .live-search-suggest,
.legacy-content .page-search-bar .live-search-suggest,
.legacy-content .modal-body .live-search-suggest,
.topbar-search-form .live-search-suggest {
    z-index: 120;
}

.legacy-content .rechnungen-page__toolbar-search .page-search-bar__submit,
.legacy-content .aufgaben-page__toolbar .page-search-bar__submit,
.legacy-content .calendar-page-layout--notes .page-search-bar__submit,
.legacy-content .notes-toolbar-search .page-search-bar__submit {
    display: inline-flex !important;
    flex-shrink: 0;
}

.legacy-content .aufgaben-page__toolbar button.projekte-filter-btn {
    flex-shrink: 0;
}

.legacy-content .angebot-list__offer-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    vertical-align: middle;
    text-decoration: none;
}

.legacy-content .angebot-list__offer-link .status-badge,
.legacy-content .angebot-list__offer-link span .status-badge {
    vertical-align: middle;
}

.angebot-totals-block p {
    margin-bottom: 0.35rem;
}

.angebot-rabatt-btn-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    padding-top: 4px;
    clear: both;
}

.rechnungen-totals-summary.calendar-stats-grid {
    margin-bottom: 1rem;
}

.rechnungen-stat-card .calendar-stat-value {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.rechnungen-stat-meta {
    display: block;
    font-size: 12px;
    line-height: 1.45;
    color: var(--text-secondary);
}

.rechnungen-stat-card--unbezahlt {
    border-color: rgba(220, 38, 38, 0.35);
    background: #fecaca;
}

.rechnungen-stat-card--unbezahlt .calendar-stat-value {
    color: #dc2626;
}

.rechnungen-stat-card--bezahlt {
    border-color: rgba(66, 200, 97, 0.28);
    background: rgba(66, 200, 97, 0.06);
}

.rechnungen-stat-card--bezahlt .calendar-stat-value {
    color: #15803d;
}

.rechnungen-stat-card--gesamt .calendar-stat-value {
    color: var(--text);
}

/* Statistik / Auswertung — Kreditoren */
.reporting-page .reporting-kpi-grid {
    margin-bottom: 1.5rem;
}

.reporting-panel {
    margin-bottom: 0;
}

.reporting-period {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-left: auto;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    color: var(--text-secondary, #64748b);
    background: rgba(148, 163, 184, 0.12);
    border-radius: 999px;
}

.reporting-period__sep {
    opacity: 0.5;
}

.reporting-filters {
    margin-bottom: 1.25rem;
}

.reporting-filters__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    align-items: end;
}

@media (max-width: 1100px) {
    .reporting-filters__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .reporting-filters__grid {
        grid-template-columns: 1fr;
    }
}

.reporting-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.reporting-field__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary, #64748b);
}

.reporting-field__input {
    width: 100%;
    min-height: 38px;
}

.reporting-field--search {
    grid-column: 1 / -1;
}

@media (min-width: 1101px) {
    .reporting-field--search {
        grid-column: auto;
    }
}

.reporting-search-row {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0;
}

.reporting-search-row__input {
    flex: 1;
    min-width: 0;
}

.reporting-search-row__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    min-height: 38px;
    padding-inline: 1rem;
}

.reporting-table-wrap {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 12px;
    overflow: hidden;
}

.reporting-table thead th {
    background: #f8fafc;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.reporting-table tbody td {
    padding: 0.65rem 1rem;
    vertical-align: middle;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
    font-size: 0.875rem;
}

.reporting-table tbody tr:last-child td {
    border-bottom: none;
}

.reporting-row--overdue {
    background: rgba(220, 38, 38, 0.06);
}

.reporting-row--due-soon {
    background: rgba(249, 115, 22, 0.08);
}

.reporting-cell-invoice {
    min-width: 11rem;
}

.reporting-invoice-no {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
}

.reporting-invoice-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-top: 0.25rem;
}

.reporting-invoice-meta__date {
    font-size: 0.75rem;
    color: var(--text-secondary, #64748b);
}

.reporting-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.reporting-badge--paid {
    color: #15803d;
    background: rgba(66, 200, 97, 0.15);
}

.reporting-badge--open {
    color: #b45309;
    background: rgba(249, 115, 22, 0.14);
}

.reporting-row--overdue .reporting-badge--open {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.12);
}

.reporting-cell-creditor {
    font-weight: 500;
}

.reporting-cell-amount {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.reporting-empty {
    text-align: center;
    padding: 2.5rem 1rem !important;
    color: var(--text-secondary, #94a3b8);
}

.reporting-option--group {
    font-weight: 700;
}

.reporting-invoice-no__icon {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--primary, #3ab85a);
    flex-shrink: 0;
}

.reporting-info-btn {
    font-size: 0.6875rem;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}

.reporting-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
    font-size: 0.875rem;
}

.reporting-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0 0.5rem;
    border-radius: 8px;
    border: 1px solid var(--border, #e2e8f0);
    color: var(--text);
    text-decoration: none;
}

.reporting-pagination__link:hover {
    background: rgba(58, 184, 90, 0.08);
    border-color: #3ab85a;
}

.reporting-pagination__info {
    color: var(--text-secondary, #64748b);
}

/* Finanz Statistik — grafice Chart.js */
.finanz-stats-page .statistik-kpi-link--static {
    cursor: default;
    text-decoration: none;
    color: inherit;
}

.finanz-stats-charts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 900px) {
    .finanz-stats-charts-grid {
        grid-template-columns: 1fr;
    }
}

.finanz-stats-chart-panel__title {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text, #0f172a);
}

.finanz-stats-chart-wrap {
    position: relative;
    width: 100%;
    height: 14rem;
    min-height: 14rem;
}

.finanz-stats-chart-wrap--bar {
    height: 18rem;
    min-height: 18rem;
}

.finanz-stats-chart-wrap .chart {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.finanz-stats-legend {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    font-size: 0.8125rem;
    color: var(--text-secondary, #64748b);
}

.finanz-stats-legend__dot {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    margin-right: 0.35rem;
    vertical-align: middle;
}

.finanz-stats-legend__dot--paid {
    background: rgba(66, 200, 97, 0.9);
}

.finanz-stats-legend__dot--open {
    background: rgba(249, 115, 22, 0.85);
}

.finanz-stats-ranking {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.finanz-stats-ranking__row {
    display: grid;
    grid-template-columns: 1.75rem 1fr auto;
    gap: 0.35rem 0.75rem;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    font-size: 0.875rem;
}

.finanz-stats-ranking__row:last-child {
    border-bottom: none;
}

.finanz-stats-ranking__pos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: rgba(148, 163, 184, 0.2);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-secondary, #64748b);
}

.finanz-stats-ranking__name {
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finanz-stats-ranking__meta {
    grid-column: 2;
    font-size: 0.75rem;
    color: var(--text-secondary, #94a3b8);
}

.finanz-stats-ranking__amount {
    grid-column: 3;
    grid-row: 1 / span 2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finanz-stats-empty {
    margin: 1rem 0 0;
    color: var(--text-secondary, #94a3b8);
    font-size: 0.875rem;
}

.finanz-stats-lists-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.finanz-stats-list-panel {
    min-width: 0;
}

.finanz-stats-lists-grid .finanz-stats-list-panel:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 36rem;
}

@media (max-width: 1100px) {
    .finanz-stats-lists-grid {
        grid-template-columns: 1fr;
    }

    .finanz-stats-lists-grid .finanz-stats-list-panel:last-child:nth-child(odd) {
        grid-column: auto;
        max-width: none;
    }
}

.finanz-stats-table-wrap {
    overflow-x: auto;
}

.finanz-stats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.finanz-stats-table th {
    text-align: left;
    padding: 0.5rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #64748b);
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.finanz-stats-table td {
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    vertical-align: middle;
}

.finanz-stats-table tbody tr:last-child td {
    border-bottom: none;
}

.finanz-stats-table a {
    color: var(--primary, #3ab85a);
    text-decoration: none;
    font-weight: 600;
}

.finanz-stats-table a:hover {
    text-decoration: underline;
}

.finanz-stats-creditor-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.finanz-stats-creditor-list__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    font-size: 0.875rem;
}

.finanz-stats-creditor-list__row:last-child {
    border-bottom: none;
}

.finanz-stats-creditor-list__name {
    font-weight: 500;
}

.finanz-stats-creditor-list__date {
    font-size: 0.75rem;
    color: var(--text-secondary, #94a3b8);
    margin-top: 0.15rem;
}

/* Celulă tabel: text stânga, buton info aliniat vertical la dreapta */
.legacy-content .cell-info-td {
    text-align: left !important;
    min-width: 7.5rem;
    vertical-align: middle !important;
}

.rechnungen-page .table-report > :is(thead, tbody) > tr > :is(th, td),
.legacy-content .rechnungen-page .table-report > :is(thead, tbody) > tr > :is(th, td) {
    vertical-align: top !important;
}

.legacy-content .rechnungen-page .cell-info-td {
    vertical-align: top !important;
}

.legacy-content .rechnungen-page .cell-info-toggle {
    align-items: start;
}

.legacy-content .rechnungen-page .cell-info-toggle__btn {
    align-self: start;
}

.rechnungen-page .table-report tbody td:last-child {
    white-space: nowrap;
}

.rechnungen-page .hb-invoice-nr-row {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    max-width: 100%;
    line-height: 1.25;
}

.rechnungen-page .hb-invoice-nr-row > svg,
.rechnungen-page .hb-invoice-nr-row > i {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    display: block;
}

.rechnungen-page .hb-invoice-nr-row > span {
    min-width: 0;
    word-break: break-word;
}

.legacy-content .cell-info-toggle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1.75rem;
    align-items: center;
    column-gap: 0.4rem;
    row-gap: 0.2rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.legacy-content .cell-info-toggle__text {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    word-break: break-word;
    text-align: left;
}

.legacy-content .cell-info-toggle__btn {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 6px;
    background: rgba(37, 99, 235, 0.12);
    color: #2563eb;
    font-size: 0.875rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.legacy-content .cell-info-toggle__btn:hover {
    background: rgba(37, 99, 235, 0.22);
}

.legacy-content .cell-info-toggle__extra {
    grid-column: 1 / -1;
    grid-row: 2;
    display: block;
    padding-top: 0.15rem;
    text-align: left;
}

.legacy-content .cell-info-toggle__extra.hidden {
    display: none;
}

/* Acțiuni în tabele — iconuri discrete, spațiu între ele */
.row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}

.row-actions > a:not(.btn-danger):not(.icon-action--delete):not(:has(> [data-lucide="trash"])):not(:has(> [data-lucide="trash-2"])),
.row-actions > button:not(.btn-danger):not(.icon-action--delete):not(:has(> [data-lucide="trash"])):not(:has(> [data-lucide="trash-2"])) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 4px;
    margin: 0;
    border: none;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    color: var(--text);
    text-decoration: none;
    vertical-align: middle;
    line-height: 1;
    box-shadow: none !important;
    min-width: auto !important;
    min-height: auto !important;
}

.row-actions > button:not(.btn-danger):not(.icon-action--delete):not(:has(> [data-lucide="trash"])):not(:has(> [data-lucide="trash-2"])):hover,
.row-actions > a:not(.btn-danger):not(.icon-action--delete):not(:has(> [data-lucide="trash"])):not(:has(> [data-lucide="trash-2"])):hover {
    background: rgba(0, 0, 0, 0.06);
}

.row-actions :is(i, svg) {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.row-actions--cols3 {
    display: inline-grid;
    grid-template-columns: 2rem 2rem 2rem;
    gap: 8px;
    justify-content: end;
    align-items: center;
}

.row-actions--cols3 > .group-toggle-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    height: 2rem;
    margin-left: -2.6rem;
    padding: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    background: transparent;
    border: none;
    box-shadow: none;
}

.row-actions--cols3 > .group-toggle-actions .group-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0;
    border: 1px solid rgba(100, 116, 139, 0.38) !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #64748b !important;
    cursor: pointer;
    line-height: 1;
    box-sizing: border-box !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.row-actions--cols3 > .group-toggle-actions .group-toggle-btn:hover {
    background: transparent !important;
    border-color: rgba(100, 116, 139, 0.65) !important;
    color: #334155 !important;
    transform: none;
}

.row-actions--cols3 > .group-toggle-actions .group-toggle-btn :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
    stroke: currentColor !important;
    stroke-width: 2.25;
    pointer-events: none;
}

.row-actions--cols3 > .group-toggle-actions .group-toggle-sep {
    color: #94a3b8;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    user-select: none;
    padding: 0 1px;
    flex-shrink: 0;
}

.row-actions > .icon-action--copy {
    color: #64748b;
    border: 1px solid rgba(100, 116, 139, 0.22);
    background: rgba(248, 250, 252, 0.95);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.row-actions > .icon-action--copy:hover {
    color: #2563eb;
    background: #eff6ff;
    border-color: #93c5fd;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.18);
    transform: none;
}

.group-toggle-actions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.group-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    color: var(--text-secondary);
    cursor: pointer;
    border-radius: 4px;
    line-height: 1;
}

.group-toggle-btn:hover {
    color: var(--text);
    background: rgba(0, 0, 0, 0.06);
}

.group-toggle-btn :is(i, svg) {
    width: 1rem;
    height: 1rem;
    pointer-events: none;
}


/* === Iconițe acțiune tabele: print + delete (profesional) === */
.table-cell-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
    vertical-align: middle;
}

.icon-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0;
    margin: 0;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface-solid, #fff);
    color: var(--text-secondary);
    text-decoration: none;
    cursor: pointer;
    vertical-align: middle;
    line-height: 1;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
    font: inherit;
    appearance: none;
    -webkit-appearance: none;
}

.icon-action :is(i, svg) {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    pointer-events: none;
}

.icon-action:hover {
    transform: translateY(-1px);
}

.icon-action:focus-visible {
    outline: 2px solid rgba(66, 200, 97, 0.45);
    outline-offset: 2px;
}

.icon-action--print {
    color: #64748b;
    border-color: rgba(100, 116, 139, 0.22);
    background: rgba(248, 250, 252, 0.95);
}

.icon-action--print:hover {
    color: #2563eb;
    background: #eff6ff;
    border-color: #93c5fd;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.18);
}

/* Buton editare — verde, colțuri rotunde, creion închis (standard app) */
.icon-action--edit,
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]):not(.btn-with-icon):not(.btn-primary),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]):not(.btn-with-icon):not(.btn-primary),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]):not(.btn-with-icon):not(.btn-primary),
.legacy-content td :is(a, button).openEditModal:has(> [data-lucide]):not(.btn-with-icon):not(.btn-primary),
.legacy-content td :is(a, button).openEditArticolModal:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).openEditArticolModal:has(> [data-lucide="file-edit"]),
.legacy-content td .icon-btn:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn-secondary:has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button).btn-secondary:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn-save:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button)[uk-icon="file-edit"],
.legacy-content td a.uk-icon-button[uk-icon="file-edit"] {
    color: #1e293b !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    background: var(--btn-green, #42c861) !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28) !important;
    border-radius: 12px !important;
}

.icon-action--edit:hover,
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]):hover,
.legacy-content td :is(a, button):has(> [data-lucide="edit"]):hover,
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]):hover,
.legacy-content td :is(a, button).openEditModal:has(> [data-lucide]):hover,
.legacy-content td :is(a, button).openEditArticolModal:has(> [data-lucide]):hover,
.legacy-content td .icon-btn:has(> [data-lucide="pencil"]):hover,
.legacy-content td :is(a, button).btn-secondary:has(> [data-lucide="file-edit"]):hover,
.legacy-content td :is(a, button).btn-secondary:has(> [data-lucide="pencil"]):hover,
.legacy-content td :is(a, button).btn-save:has(> [data-lucide="pencil"]):hover,
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="pencil"]):hover,
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="file-edit"]):hover,
.legacy-content td :is(a, button)[uk-icon="file-edit"]:hover,
.legacy-content td a.uk-icon-button[uk-icon="file-edit"]:hover {
    color: #1e293b !important;
    background: var(--btn-green-hover, #3ab85a) !important;
    border-color: var(--btn-green-hover, #3ab85a) !important;
    box-shadow: 0 3px 10px rgba(66, 200, 97, 0.35) !important;
}

.icon-action--edit :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]) :is(i, svg),
.legacy-content td .icon-btn:has(> [data-lucide="pencil"]) :is(i, svg),
.legacy-content td :is(a, button)[uk-icon="file-edit"] :is(i, svg),
.legacy-content td a.uk-icon-button[uk-icon="file-edit"] :is(i, svg) {
    stroke: #1e293b !important;
    color: #1e293b !important;
}

.icon-action--edit:hover :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]):hover :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]):hover :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]):hover :is(i, svg) {
    stroke: #1e293b !important;
    color: #1e293b !important;
}

.icon-action--delete {
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, 0.5);
    background: rgba(254, 226, 226, 0.92);
}

.icon-action--delete:hover {
    color: #fff;
    background: #ef4444;
    border-color: #ef4444;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28);
}

.icon-action--delete:hover :is(i, svg) {
    stroke: #fff !important;
    color: #fff !important;
}

.icon-action--delete :is(i, svg) {
    stroke: #dc2626;
    color: #dc2626;
}

[data-theme="dark"] .icon-action {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .icon-action--print {
    color: #94a3b8;
    background: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .icon-action--print:hover {
    color: #93c5fd;
    background: rgba(37, 99, 235, 0.18);
    border-color: rgba(147, 197, 253, 0.35);
}

[data-theme="dark"] .icon-action--edit,
[data-theme="dark"] .legacy-content td :is(a, button):has(> [data-lucide="pencil"]),
[data-theme="dark"] .legacy-content td :is(a, button):has(> [data-lucide="file-edit"]) {
    color: #1e293b !important;
    background: var(--btn-green, #42c861) !important;
    border-color: var(--btn-green-border, #3ab85a) !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.32) !important;
}

.legacy-content .group-toggle-actions :is(a, button),
.legacy-content .group-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    min-width: 1.5rem !important;
    min-height: 1.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 4px !important;
}

/* Standard absolut global pentru iconite redactare + stergere */
.legacy-content :is(a, button).action-icon-btn,
.legacy-content :is(a, button).bewegung-form__remove-row,
.legacy-content :is(a, button)[data-bewegung-remove-row],
.legacy-content .row-actions > :is(a, button),
.legacy-content .table-cell-actions > :is(a, button),
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]),
.legacy-content td :is(a, button)[uk-icon="file-edit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    padding: 0 !important;
    margin: 0 0 0 6px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .12s ease;
}

.legacy-content :is(a, button).action-icon-btn:first-child,
.legacy-content .row-actions > :is(a, button):first-child,
.legacy-content .table-cell-actions > :is(a, button):first-child,
.legacy-content td :is(a, button):has(> [data-lucide]):first-child {
    margin-left: 0 !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]),
.legacy-content td :is(a, button).btn-danger:has(> [data-lucide="trash"]),
.legacy-content .icon-action--delete {
    color: #dc2626 !important;
    border: 1px solid rgba(239, 68, 68, 0.5) !important;
    background: rgba(254, 226, 226, 0.92) !important;
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.12) !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="trash"]):hover,
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]):hover,
.legacy-content .icon-action--delete:hover {
    color: #ffffff !important;
    border-color: #ef4444 !important;
    background: #ef4444 !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="pencil"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="trash"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]) :is(i, svg),
.legacy-content td :is(a, button)[uk-icon="file-edit"] :is(i, svg),
.legacy-content .icon-action :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    pointer-events: none;
}

[data-theme="dark"] .icon-action--delete {
    color: #ff6b6b;
    background: rgba(255, 59, 48, 0.14);
    border-color: rgba(255, 59, 48, 0.35);
}

.row-actions > .icon-action--delete,
.row-actions > .icon-action--print {
    box-shadow: none;
}

/* Fallback: linkuri cu icon print/trash fără clasă explicită în celule tabel */
td:not(.no-print) > a:has(> [data-lucide="printer"]):not([class*="bg-"]):not(.btn-save):not(.btn-primary),
td[style*="text-align"] > a:has(> [data-lucide="printer"]):not([class*="bg-"]):not(.btn-save) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    margin-right: 4px;
    border-radius: 10px;
    border: 1px solid rgba(100, 116, 139, 0.22);
    background: rgba(248, 250, 252, 0.95);
    color: #64748b;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.12s;
}

td:not(.no-print) > a:has(> [data-lucide="printer"]):not([class*="bg-"]):hover,
td[style*="text-align"] > a:has(> [data-lucide="printer"]):not([class*="bg-"]):hover {
    color: #2563eb;
    background: #eff6ff;
    border-color: #93c5fd;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.18);
    transform: translateY(-1px);
}

td > a.btn-danger:has(> [data-lucide="trash"]),
td > a:has(> [data-lucide="trash"]):not(.btn-save):not([class*="bg-success"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0 !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 59, 48, 0.28) !important;
    background: rgba(255, 59, 48, 0.08) !important;
    color: #e5484d !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
}

td > a.btn-danger:has(> [data-lucide="trash"]):hover,
td > a:has(> [data-lucide="trash"]):not(.btn-save):hover {
    color: #fff !important;
    background: var(--danger) !important;
    border-color: var(--danger) !important;
    box-shadow: 0 2px 8px rgba(255, 59, 48, 0.32) !important;
    transform: translateY(-1px);
}

/* Standardizare globala: iconite edit + delete in liste/tabele */
.legacy-content td:has(:is(a, button)[data-lucide], :is(a, button) [data-lucide="pencil"], :is(a, button) [data-lucide="trash"]),
.legacy-content td[style*="text-align"]:has(:is(a, button) [data-lucide="pencil"], :is(a, button) [data-lucide="trash"]) {
    white-space: nowrap;
}

.legacy-content td form:has(> :is(a, button):has(> [data-lucide="trash"]), > :is(a, button):has(> [data-lucide="trash-2"])),
.legacy-content td form:has(> .btn-danger),
.legacy-content td .row-actions form {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.legacy-content td :is(a, button).openEditModal:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button):has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button)[uk-icon="file-edit"],
.legacy-content td :is(a, button).btn-danger:has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    padding: 0 !important;
    margin: 0 0 0 6px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

.legacy-content td :is(a, button).btn-danger:has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash"]),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]) {
    color: #dc2626 !important;
    border: 1px solid rgba(239, 68, 68, 0.5) !important;
    background: rgba(254, 226, 226, 0.92) !important;
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.12) !important;
}

.legacy-content td :is(a, button).btn-danger:has(> [data-lucide="trash"]):hover,
.legacy-content td :is(a, button):has(> [data-lucide="trash"]):hover,
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]):hover {
    color: #ffffff !important;
    border-color: #ef4444 !important;
    background: #ef4444 !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="pencil"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="edit"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="file-edit"]) :is(i, svg),
.legacy-content td :is(a, button).btn-secondary:has(> [data-lucide]) :is(i, svg),
.legacy-content td :is(a, button)[uk-icon="file-edit"] :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    stroke: #334155 !important;
    color: #334155 !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="trash"]) :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]) :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    stroke: #dc2626 !important;
    color: #dc2626 !important;
}

.legacy-content td :is(a, button):has(> [data-lucide="trash"]):hover :is(i, svg),
.legacy-content td :is(a, button):has(> [data-lucide="trash-2"]):hover :is(i, svg) {
    stroke: #fff !important;
    color: #fff !important;
}

/* Icon edit în tabele — dimensiune pătrată (culoarea: blocul global de mai sus) */
.legacy-content td :is(a, button).btn.btn-secondary:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn.btn-secondary:has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="file-edit"]),
.legacy-content td :is(a, button).btn.btn-sm:has(> [data-lucide="pencil"]),
.legacy-content td :is(a, button).btn-save:has(> [data-lucide="pencil"]) {
    padding: 0 !important;
    min-width: 2rem !important;
    width: 2rem !important;
    height: 2rem !important;
}

.legacy-content .row-actions,
.legacy-content td.text-right > .row-actions,
.legacy-content td[style*="text-align: right"] > .row-actions,
.legacy-content td.angebot-actions-cell > .row-actions,
.legacy-content td.hb-actions-cell > .row-actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    vertical-align: bottom;
}

.legacy-content td:has(> .row-actions),
.legacy-content td:has(> .table-cell-actions),
.legacy-content td:has(> .icon-action),
.legacy-content td.angebot-actions-cell,
.legacy-content td.hb-actions-cell {
    vertical-align: bottom !important;
}

.legacy-content td[style*="text-align: right"],
.legacy-content td.text-right {
    text-align: right;
    white-space: nowrap;
}

.legacy-content td[style*="text-align: right"] > :is(a, button).icon-action,
.legacy-content td[style*="text-align: right"] > :is(a, button):has(> [data-lucide]),
.legacy-content td.text-right > :is(a, button).icon-action,
.legacy-content td.text-right > :is(a, button):has(> [data-lucide]) {
    margin-left: 6px;
}

.legacy-content td[style*="text-align: right"] > :is(a, button):first-child,
.legacy-content td.text-right > :is(a, button):first-child,
.legacy-content td[style*="text-align: right"] > .row-actions > :is(a, button):first-child,
.legacy-content td.text-right > .row-actions > :is(a, button):first-child {
    margin-left: 0;
}

/* Buton mic inline lângă text (ex. Rabatt edit) */
.action-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 4px;
    margin-left: 6px;
    vertical-align: middle;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 4px;
}

.action-inline:hover {
    background: rgba(0, 0, 0, 0.06);
}

/* Bară butoane sub tabel */
.action-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
}

.action-bar form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
}

/* Angebot: 4 butoane sub tabel — în banda between-lines */
.angebot-pos-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.angebot-pos-toolbar .angebot-toolbar-form,
.angebot-pos-toolbar .angebot-toolbar-group-form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.angebot-pos-toolbar .angebot-toolbar-btn {
    min-width: 10.5rem;
    justify-content: center;
    margin: 0;
}

.angebot-pos-toolbar .angebot-group-input {
    min-width: 10rem;
    max-width: 14rem;
}

/* ===== Pagină proiect (projekt.php) — statistici full-width, apoi conținut + meniu ===== */
.legacy-content .projekt-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.legacy-content .projekt-page__header {
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.legacy-content .projekt-page__back {
    flex-shrink: 0;
}

.legacy-content .projekte-menu-panel__top {
    margin: 0 0 0.875rem;
}

.legacy-content .projekt-page__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
}

/* Statistici — bandă completă deasupra meniului */
.legacy-content .projekt-page > .box.projekt-stats-panel {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible !important;
    padding: 1.25rem !important;
    margin: 0 0 1.5rem !important;
}

.legacy-content .projekt-page > .box.projekt-stats-panel > .projekt-stats-grid {
    width: 100% !important;
}

/* 4 carduri egale pe tot panoul */
.legacy-content .projekt-stats-grid {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    align-items: stretch;
    box-sizing: border-box;
}

@media (min-width: 640px) {
    .legacy-content .projekt-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .legacy-content .projekt-stats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.legacy-content .projekt-page__columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    width: 100%;
    min-width: 0;
    align-items: start;
}

.legacy-content .projekt-page__columns > .projekt-page__main > .box:first-child,
.legacy-content .projekt-page__columns > .projekt-page__main > .intro-y.box:first-child {
    margin-top: 0;
}

.legacy-content .projekt-page__columns > .projekt-page__sidebar > .projekt-page__panel {
    margin-top: 0;
}

/* compat: layout vechi projekt-layout — doar wrapperul exterior cu sidebar */
.legacy-content > .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar),
.legacy-content .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    width: 100%;
    min-width: 0;
    align-items: start;
}

.legacy-content .projekt-page__main,
.legacy-content .projekt-page__sidebar,
.legacy-content .projekt-layout__main {
    min-width: 0;
}

.legacy-content .projekt-layout > .projekt-layout__main > .projekt-layout.grid {
    display: block !important;
    width: 100%;
    min-width: 0;
}

.legacy-content .projekt-layout > .projekt-layout__main[class*="col-span"] {
    grid-column: 1 !important;
    width: auto !important;
    max-width: none !important;
}

.legacy-content .projekt-page__panel {
    padding: 1.25rem !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.legacy-content .projekt-page__section--lead {
    margin-top: 0;
}

.legacy-content .projekt-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0 0 1.25rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid var(--border);
}

.legacy-content .projekt-panel-head__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
    flex: 1 1 12rem;
    min-width: 0;
}

.legacy-content .projekt-panel-head__action {
    flex-shrink: 0;
    margin-left: auto;
}

.legacy-content .projekt-basisdaten-form {
    margin: 0;
}

@media (min-width: 1024px) {
    .legacy-content .projekt-page__columns,
    .legacy-content > .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar),
    .legacy-content .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar) {
        grid-template-columns: minmax(0, 1fr) minmax(248px, 288px);
        align-items: start;
    }

    .legacy-content .projekt-page__columns > .projekt-page__main,
    .legacy-content .projekt-layout > .projekt-layout__main {
        grid-column: 1;
        grid-row: 1;
    }

    .legacy-content .projekt-layout__sidebar,
    .legacy-content .projekt-page__sidebar {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        justify-self: stretch;
        width: 100%;
        max-width: 288px;
        position: sticky;
        top: calc(var(--calendar-sticky-top, 72px) + 8px);
        z-index: 2;
    }

    .legacy-content .projekt-page__sidebar > .projekt-page__panel,
    .legacy-content .projekt-page__section--lead > .projekt-page__panel {
        margin-top: 0 !important;
    }
}

.legacy-content .projekt-stat-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    min-height: 100%;
}

.legacy-content .projekt-stat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 2.25rem;
    margin: 0 0 0.5rem;
}

.legacy-content .projekt-stat-title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.legacy-content .projekt-stat-card__action {
    margin-top: auto;
    padding-top: 0.75rem;
    width: auto;
    max-width: 100%;
    align-self: center;
    justify-content: center;
    flex-shrink: 0;
}

.legacy-content .projekt-stat-card {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    align-items: stretch;
    min-height: 20rem;
    height: 100%;
    margin: 0 !important;
    padding: 1rem !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible !important;
    background: var(--surface-solid, #fff) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow) !important;
}

.legacy-content .projekt-stat-chart-wrap {
    position: relative;
    flex: 0 0 11.5rem;
    width: 100%;
    height: 11.5rem;
    min-height: 11.5rem;
    max-height: 11.5rem;
    margin: 0 0 0.75rem;
}

.legacy-content .projekt-stat-chart-wrap--empty {
    visibility: hidden;
    pointer-events: none;
}

.legacy-content .projekt-stat-chart-wrap .chart {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 11.5rem !important;
    max-height: 11.5rem !important;
}

.legacy-content .projekt-stat-legend {
    list-style: none;
    margin: 0 !important;
    padding: 0;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    font-size: 0.8125rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.legacy-content .projekt-stat-legend__row {
    display: grid;
    grid-template-columns: 0.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    min-height: 1.25rem;
}

.legacy-content .projekt-stat-dot {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    flex-shrink: 0;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.legacy-content .projekt-stat-dot--primary {
    background: var(--accent, #3b82f6) !important;
}

.legacy-content .projekt-stat-dot--danger {
    background: var(--danger, #ef4444) !important;
}

.legacy-content .projekt-stat-dot--pending {
    background: #f59e0b !important;
}

.legacy-content .projekt-stat-dot--warning {
    background: #eab308 !important;
}

.legacy-content .projekt-stat-legend__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary, #64748b);
}

.legacy-content .projekt-stat-legend__value {
    font-weight: 600;
    color: var(--text);
    text-align: right;
    white-space: nowrap;
}

.legacy-content .projekt-stat-legend--placeholder .projekt-stat-legend__label {
    color: var(--text-muted, #94a3b8);
}

.legacy-content .projekt-page__section {
    margin-bottom: 1.5rem;
}

.legacy-content .projekt-page__section > .intro-y.block.h-10,
.legacy-content .projekt-page__section > .intro-y.flex.h-10,
.legacy-content .projekt-layout .intro-y.block.h-10,
.legacy-content .projekt-layout .intro-y.flex.h-10 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.legacy-content .projekt-layout .intro-y.block.h-10 .projekte-filter-btn,
.legacy-content .projekt-layout .intro-y.flex.h-10 .projekte-filter-btn {
    margin-left: auto;
}

.legacy-content .projekte-menu-panel {
    padding: 1.25rem !important;
    box-shadow: none !important;
}

.legacy-content .projekte-menu-panel__title {
    margin: 0 0 0.875rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid var(--border);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
}

.legacy-content .projekte-menu-nav {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.legacy-content .projekte-menu-nav__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.3;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.legacy-content .projekte-menu-nav__link:hover {
    background: rgba(66, 200, 97, 0.1) !important;
    color: var(--text);
}

.legacy-content .projekte-menu-nav__link.is-active {
    background: var(--btn-green, #42c861) !important;
    border: 1px solid var(--btn-green-border, #3ab85a) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 200, 97, 0.28);
    font-weight: 600;
}

.legacy-content .projekte-menu-nav__link.is-active :is(i, svg) {
    stroke: #fff !important;
    color: #fff !important;
}

.legacy-content .projekt-page__sidebar {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.legacy-content .projekt-page__sidebar > .projekte-timeline-card {
    margin-top: 1.25rem !important;
}

.legacy-content .projekte-timeline-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.875rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
}

.legacy-content .projekte-timeline-card__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text);
}

.legacy-content .projekte-timeline-card__all {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary, #147a5c);
    text-decoration: none;
}

.legacy-content .projekte-timeline-card__all:hover {
    text-decoration: underline;
}

.legacy-content .projekte-timeline-card__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.legacy-content .projekte-timeline-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.legacy-content .projekte-timeline-card__item {
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: var(--input-muted-bg, #f8fafc);
    border: 1px solid var(--border);
}

.legacy-content .projekte-timeline-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.35rem;
}

.legacy-content .projekte-timeline-card__who {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text);
}

.legacy-content .projekte-timeline-card__when {
    font-size: 0.6875rem;
    color: var(--text-secondary);
}

.legacy-content .projekte-timeline-card__text {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--text);
    white-space: pre-wrap;
    word-break: break-word;
}

.legacy-content .projekt-page .projekte-filter-btn,
.legacy-content .projekt-layout .projekte-filter-btn,
.legacy-content .projekt-page .btn-save,
.legacy-content .projekt-layout .btn-save,
.legacy-content .projekt-page .btn-danger,
.legacy-content .projekt-layout .btn-danger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.legacy-content .projekt-page .flex.justify-between.mt-6,
.legacy-content .projekt-layout .flex.justify-between.mt-6 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

@media (max-width: 1023px) {
    .legacy-content .projekt-page__columns,
    .legacy-content > .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar),
    .legacy-content .projekt-layout.grid.grid-cols-12.gap-6:has(> .projekt-page__sidebar) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .legacy-content .projekt-layout__sidebar,
    .legacy-content .projekt-page__sidebar {
        order: 2;
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: none !important;
        position: static !important;
        justify-self: stretch;
    }

    .legacy-content .projekt-page__columns > .projekt-page__main,
    .legacy-content .projekt-layout > .projekt-layout__main {
        order: 1;
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

/* Galerie Bilder — grid dedicat, fără Tailwind Midone */
.legacy-content .hb-projekt-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    min-width: 0;
}

@media (min-width: 768px) {
    .legacy-content .hb-projekt-media-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .legacy-content .hb-projekt-media-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.legacy-content .hb-projekt-media-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem 1rem;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.legacy-content .hb-projekt-media-card {
    position: relative;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, 8px);
    overflow: hidden;
    background: var(--input-muted-bg, #f8fafc);
    min-width: 0;
}

.legacy-content .hb-projekt-media-card img {
    display: block;
    width: 100%;
    height: 10rem;
    object-fit: cover;
}

.legacy-content .hb-projekt-media-video {
    display: block;
    width: 100%;
    height: 10rem;
    object-fit: cover;
    background: #0f172a;
}

.legacy-content .hb-projekt-media-badge {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.82);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    pointer-events: none;
}

.legacy-content .hb-projekt-media-check {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.7rem;
    cursor: pointer;
}

.legacy-content .hb-projekt-media-meta {
    padding: 0.5rem 0.6rem;
    border-top: 1px solid var(--border);
    background: #fff;
}

.legacy-content .hb-projekt-media-name {
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--text);
}

.legacy-content .hb-projekt-media-sub {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.25rem;
    font-size: 0.65rem;
    color: var(--text-secondary);
}

/* Erstellen — roșu aprins constant (fără schimbare la hover/focus) */
:is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create),
:is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create):is(:hover, :focus, :focus-visible, :active) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--btn-red, #ef4444) !important;
    background-color: var(--btn-red, #ef4444) !important;
    border: 1px solid var(--btn-red-border, #dc2626) !important;
    border-color: var(--btn-red-border, #dc2626) !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28) !important;
}

:is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create) :is(i, svg, [data-lucide], .stroke-1\.5),
:is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create):is(:hover, :focus, :focus-visible, :active) :is(i, svg, [data-lucide], .stroke-1\.5) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    stroke: #fff !important;
}

[data-theme="dark"] :is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(.projekte-filter-btn--new, .btn-toolbar-add, .btn-create):is(:hover, :focus, :focus-visible, :active) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--btn-red, #ef4444) !important;
    border-color: var(--btn-red-border, #dc2626) !important;
}

/* Butoane ștergere — roșu peste tot (icon, ×, text) */
:is(.app-shell, .legacy-content) :is(button, a).icon-action--delete,
:is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row],
:is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row,
:is(.app-shell, .legacy-content) :is(button, a).danger-btn,
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]),
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-primary):not(.btn-save):not([class*="bg-success"]),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-primary):not(.btn-save):not([class*="bg-success"]),
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"],
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger {
    color: #dc2626 !important;
    border: 1px solid rgba(239, 68, 68, 0.5) !important;
    background: rgba(254, 226, 226, 0.92) !important;
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.12) !important;
}

:is(.app-shell, .legacy-content) :is(button, a).btn-danger:not(.btn-cancel) {
    color: #fff !important;
    background: var(--btn-red, #ef4444) !important;
    border-color: var(--btn-red-border, #dc2626) !important;
}

:is(.app-shell, .legacy-content) :is(button, a).icon-action--delete :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row] :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).danger-btn :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]) :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]) :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-danger) :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-danger) :is(i, svg),
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"] :is(i, svg),
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger :is(i, svg) {
    stroke: #dc2626 !important;
    color: #dc2626 !important;
}

:is(.app-shell, .legacy-content) :is(button, a).icon-action--delete:hover,
:is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row]:hover,
:is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row:hover,
:is(.app-shell, .legacy-content) :is(button, a).danger-btn:hover,
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]):hover,
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]):hover,
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-danger):not(.btn-primary):hover,
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-danger):not(.btn-primary):hover,
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"]:hover,
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger:hover {
    color: #fff !important;
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28) !important;
}

:is(.app-shell, .legacy-content) :is(button, a).icon-action--delete:hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row]:hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row:hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).danger-btn:hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]):hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]):hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-danger):hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-danger):hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"]:hover :is(i, svg),
:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger:hover :is(i, svg) {
    stroke: #fff !important;
    color: #fff !important;
}

[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-action--delete,
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row],
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row,
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).danger-btn,
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-danger),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-danger),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"],
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger {
    color: #f87171 !important;
    border-color: rgba(248, 113, 113, 0.45) !important;
    background: rgba(127, 29, 29, 0.35) !important;
}

:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger {
    background: var(--btn-red, #ef4444) !important;
    color: #fff !important;
    border-color: var(--btn-red-border, #dc2626) !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.28) !important;
}

:is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger :is(i, svg) {
    stroke: #fff !important;
    color: #fff !important;
}

/* Angebot — tabel poziții full width */
.legacy-content .angebot-positions-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.legacy-content .angebot-positions-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.legacy-content .angebot-positions-table thead th {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--border, #cbd5e1) !important;
    font-weight: 600;
    background: transparent !important;
}

.legacy-content .angebot-positions-table thead th:nth-child(1) { width: 5%; }
.legacy-content .angebot-positions-table thead th:nth-child(2) { width: 38%; }
.legacy-content .angebot-positions-table thead th:nth-child(3) { width: 12%; }
.legacy-content .angebot-positions-table thead th:nth-child(4) { width: 12%; }
.legacy-content .angebot-positions-table thead th:nth-child(5) { width: 13%; }
.legacy-content .angebot-positions-table thead th.angebot-actions-cell { width: 14%; }

.legacy-content .angebot-positions-table thead th:nth-child(3),
.legacy-content .angebot-positions-table thead th:nth-child(4),
.legacy-content .angebot-positions-table thead th:nth-child(5),
.legacy-content .angebot-positions-table thead th.angebot-actions-cell {
    text-align: right !important;
}

.legacy-content .angebot-positions-table tbody td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    border-bottom: none !important;
    line-height: 1.45;
}

.legacy-content .angebot-positions-table tbody tr.dnd-row {
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.legacy-content .angebot-positions-table tbody tr.angebot-group-row td {
    background: #eceff3 !important;
}

.legacy-content .angebot-positions-table tbody td:nth-child(1) {
    text-align: center !important;
    white-space: nowrap;
}

.legacy-content .angebot-positions-table .drag-handle {
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}

.legacy-content .angebot-positions-table .drag-handle:active {
    cursor: grabbing;
}

#mainContent.hb-ajax-loading {
    opacity: 0.72;
    transition: opacity 0.15s ease;
    pointer-events: none;
}

/* Overlay gri neutru + spinner în timpul generării PDF / AJAX */
.hb-ajax-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    pointer-events: none;
}

.hb-ajax-loading-overlay[hidden] {
    display: none !important;
}

.hb-ajax-loading-spinner {
    width: 28px;
    height: 28px;
    box-sizing: border-box;
    border: 2px solid rgba(0, 0, 0, 0.14);
    border-top-color: rgba(0, 0, 0, 0.55);
    border-radius: 50%;
    animation: hb-ajax-spin 0.65s linear infinite;
    box-shadow: none;
}

@keyframes hb-ajax-spin {
    to { transform: rotate(360deg); }
}

.legacy-content .angebot-positions-table tbody td:nth-child(2) {
    word-break: break-word;
}

.legacy-content .angebot-positions-table tbody td:nth-child(2) small {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-secondary, #64748b);
    font-size: 0.92em;
    line-height: 1.4;
}

.legacy-content .angebot-positions-table tbody td:nth-child(3),
.legacy-content .angebot-positions-table tbody td:nth-child(4),
.legacy-content .angebot-positions-table tbody td:nth-child(5) {
    text-align: right !important;
    white-space: nowrap;
}

.legacy-content .angebot-positions-table th.angebot-actions-cell,
.legacy-content .angebot-positions-table td.angebot-actions-cell {
    display: table-cell !important;
    padding: 10px 16px 10px 8px !important;
    text-align: right !important;
    vertical-align: bottom !important;
    white-space: nowrap !important;
}

.legacy-content .angebot-positions-table td.angebot-actions-cell > .row-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: 0 !important;
}

.legacy-content .angebot-positions-table .row-actions--cols3 {
    display: inline-flex !important;
    gap: 5px !important;
}

.legacy-content .angebot-positions-table .row-actions--cols3 > .group-toggle-actions {
    margin-left: 0 !important;
    gap: 3px !important;
    height: auto !important;
}

.legacy-content .angebot-positions-table .group-toggle-btn {
    width: 1.625rem !important;
    height: 1.625rem !important;
    min-width: 1.625rem !important;
    min-height: 1.625rem !important;
}

.legacy-content .angebot-positions-table .group-toggle-sep {
    padding: 0 1px !important;
    font-size: 0.75rem !important;
}

.legacy-content .angebot-positions-table .row-actions > :is(a, button) {
    width: 1.875rem !important;
    height: 1.875rem !important;
    min-width: 1.875rem !important;
    min-height: 1.875rem !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
}

.legacy-content .angebot-positions-table .row-actions > :is(a, button) :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
}

.legacy-content .angebot-positions-table .row-actions > :is(a, button):hover,
.legacy-content .angebot-positions-table .row-actions > :is(a, button):focus-visible {
    box-shadow: none !important;
    transform: none !important;
    text-decoration: none !important;
}

[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-action--delete :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a)[data-bewegung-remove-row] :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).bewegung-form__remove-row :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).danger-btn :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash"]) :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a).icon-btn:has(> [data-lucide="trash-2"]) :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash"]):not(.btn-danger) :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(button, a):has(> [data-lucide="trash-2"]):not(.btn-danger) :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(a, button).uk-icon-button[uk-icon="trash"] :is(i, svg),
[data-theme="dark"] :is(.app-shell, .legacy-content) :is(a, button).uk-icon-button.uk-button-danger :is(i, svg) {
    stroke: #f87171 !important;
    color: #f87171 !important;
}

/* OCR — Kreditoren Rechnungen */
.hb-ocr-panel {
    margin-bottom: 1rem;
    padding: 12px 14px;
    border: 1px dashed var(--border, #d1d5db);
    border-radius: 10px;
    background: rgba(66, 200, 97, 0.06);
}

.hb-ocr-panel__head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.hb-ocr-panel__title {
    font-weight: 600;
    font-size: 0.9rem;
}

.hb-ocr-panel__hint {
    font-size: 0.78rem;
    color: var(--text-secondary, #64748b);
    line-height: 1.35;
}

.hb-ocr-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.hb-ocr-panel__file-btn {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.hb-ocr-panel__status {
    margin-top: 8px;
    font-size: 0.8rem;
    color: var(--text-secondary, #64748b);
}

.hb-ocr-panel__status--error {
    color: #dc2626;
}

.hb-ocr-panel__preview {
    margin-top: 10px;
}

.hb-ocr-panel__preview summary {
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--text-secondary, #64748b);
    margin-bottom: 6px;
}

.hb-ocr-raw-text {
    width: 100%;
    min-height: 5rem;
    resize: vertical;
}

.hb-time-spin {
    position: relative;
    width: 100%;
    margin-bottom: 12px;
}

.hb-time-spin input[type="time"] {
    display: block;
    width: 100%;
    min-width: 0;
    margin-bottom: 0 !important;
    padding-right: 30px !important;
    border-radius: var(--radius-sm) !important;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

.hb-time-spin input[type="time"]::-webkit-inner-spin-button,
.hb-time-spin input[type="time"]::-webkit-outer-spin-button,
.hb-time-spin input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

.hb-time-spin__arrows {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 16px;
    height: 28px;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    pointer-events: none;
}

.hb-time-spin__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
    -webkit-user-select: none;
    transition: color 0.15s, background 0.15s;
}

.hb-time-spin__btn + .hb-time-spin__btn {
    border-top: none;
    margin-top: 1px;
}

.hb-time-spin__btn:hover {
    color: #475569;
}

.hb-time-spin__btn:active {
    color: #0f172a;
}

.hb-time-spin__icon,
.hb-time-spin__icon svg {
    width: 11px !important;
    height: 11px !important;
    stroke-width: 1.5;
}


/* SHARED DOC INLINE EDIT (Angebot/Rechnung/Vorschau) */
#hbAngebotEditMode,
#hbRechnungEditMode,
#hbVorschauEditMode,
#hbAbnahmeEditMode {
    display: none !important;
}
#hbAngebotEditMode.is-editing,
#hbRechnungEditMode.is-editing,
#hbVorschauEditMode.is-editing,
#hbAbnahmeEditMode.is-editing {
    display: block !important;
    padding-bottom: 72px;
}
#hbAngebotViewMode.is-editing-hidden,
#hbRechnungViewMode.is-editing-hidden,
#hbVorschauViewMode.is-editing-hidden,
#hbAbnahmeViewMode.is-editing-hidden {
    display: none !important;
}
body:has(#hbVorschauCard.is-editing) #hbVorschauInfoView,
body:has(#hbRechnungCard.is-editing) #hbRechnungInfoView,
#hbVorschauCard.is-editing #hbVorschauInfoView,
#hbRechnungCard.is-editing #hbRechnungInfoView,
#hbVorschauInfoView[hidden],
#hbRechnungInfoView[hidden] {
    display: none !important;
}
.legacy-content #hbAngebotCard.is-editing .hb-only-view,
.legacy-content #hbRechnungCard.is-editing .hb-only-view,
.legacy-content #hbVorschauCard.is-editing .hb-only-view,
.legacy-content #hbAbnahmeCard.is-editing .hb-only-view,
#hbAngebotCard.is-editing .hb-only-view,
#hbRechnungCard.is-editing .hb-only-view,
#hbVorschauCard.is-editing .hb-only-view,
#hbAbnahmeCard.is-editing .hb-only-view {
    display: none !important;
}
.legacy-content #hbAngebotCard .hb-only-edit,
.legacy-content #hbRechnungCard .hb-only-edit,
.legacy-content #hbVorschauCard .hb-only-edit,
.legacy-content #hbAbnahmeCard .hb-only-edit,
#hbAngebotCard .hb-only-edit,
#hbRechnungCard .hb-only-edit,
#hbVorschauCard .hb-only-edit,
#hbAbnahmeCard .hb-only-edit {
    display: none !important;
}
.legacy-content #hbAngebotCard.is-editing .hb-footer-edit-block.hb-only-edit,
.legacy-content #hbRechnungCard.is-editing .hb-footer-edit-block.hb-only-edit,
.legacy-content #hbVorschauCard.is-editing .hb-footer-edit-block.hb-only-edit,
#hbAngebotCard.is-editing .hb-footer-edit-block.hb-only-edit,
#hbRechnungCard.is-editing .hb-footer-edit-block.hb-only-edit,
#hbVorschauCard.is-editing .hb-footer-edit-block.hb-only-edit {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
}
.hb-modal-menge-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
@media (max-width: 640px) {
    .hb-modal-menge-row {
        grid-template-columns: 1fr;
    }
}
.hb-angebot-edit-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid rgba(22, 163, 74, 0.35);
    border-radius: 12px;
    background: rgba(240, 253, 244, 0.97);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.14);
    position: fixed;
    left: 0;
    bottom: 5px;
    width: 100%;
    max-width: none;
    z-index: 1200;
    box-sizing: border-box;
}
.hb-angebot-edit-bar__title { font-weight: 700; font-size: 14px; color: #166534; }
.hb-angebot-edit-bar__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.hb-angebot-edit-bar .btn-save,
#hbAngebotInlineSave,
#hbRechnungInlineSave,
#hbVorschauInlineSave,
#hbAbnahmeInlineSave {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.hb-angebot-edit-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}
.hb-angebot-edit-row textarea.form-control {
    min-height: 4.5rem;
    resize: vertical;
    line-height: 1.45;
}

#hbAbnahmeEditMode .hb-abnahme-edit-row--projekt {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}
#hbAbnahmeEditMode .hb-abnahme-edit-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
#hbAbnahmeEditMode .hb-abnahme-edit-side__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}
#hbAbnahmeEditMode .hb-abnahme-edit-row--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
    #hbAbnahmeEditMode .hb-abnahme-edit-row--projekt {
        grid-template-columns: 1fr;
    }
    #hbAbnahmeEditMode .hb-abnahme-edit-row--4 {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 640px) {
    #hbAbnahmeEditMode .hb-abnahme-edit-side__top {
        grid-template-columns: 1fr;
    }
    #hbAbnahmeEditMode .hb-abnahme-edit-row--4 {
        grid-template-columns: 1fr;
    }
}

#hbAbnahmeEditMode .hb-angebot-edit-row label.mt-3 {
    display: block;
    margin-top: 0.75rem;
}

/* Inline row edit: Menge above Einheit (Angebot + Abnahme) */
.angebot-positions-wrap:has(tr.hb-row-editing) {
    overflow: visible;
}
.angebot-positions-table tr.hb-row-editing td.hb-inline-desc-cell {
    overflow: visible;
    min-width: 0;
}
tr.hb-row-editing .hb-inline-qty-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
}
tr.hb-row-editing .hb-inline-field-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: #64748b;
    text-align: left;
    line-height: 1.2;
}
tr.hb-row-editing .hb-inline-qty-cell {
    vertical-align: top;
    min-width: 110px;
    max-width: 140px;
}
tr.hb-row-editing .hb-inline-qty,
tr.hb-row-editing .hb-inline-sku,
tr.hb-row-editing .hb-inline-price {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
tr.hb-row-editing .hb-inline-sku {
    display: block !important;
    appearance: auto;
    -webkit-appearance: menulist;
    height: auto !important;
    min-height: 34px;
}
/* CKEditor: toolbar complet (fără meniul „…” / overflow) */
tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor,
.hb-footer-edit-block .ck.ck-editor,
.hb-angebot-inline-edit .ck.ck-editor,
.hb-doc-inline-edit .ck.ck-editor {
    width: 100%;
    max-width: 100%;
}
tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar,
.hb-footer-edit-block .ck.ck-toolbar,
.hb-angebot-inline-edit .ck.ck-toolbar,
.hb-doc-inline-edit .ck.ck-toolbar {
    flex-wrap: wrap !important;
}
tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar__items,
.hb-footer-edit-block .ck.ck-toolbar__items,
.hb-angebot-inline-edit .ck.ck-toolbar__items,
.hb-doc-inline-edit .ck.ck-toolbar__items {
    flex-wrap: wrap !important;
    flex-grow: 1;
}
tr.hb-row-editing .hb-inline-desc-cell .ck.ck-toolbar .ck-toolbar__grouped-dropdown,
.hb-footer-edit-block .ck.ck-toolbar .ck-toolbar__grouped-dropdown,
.hb-angebot-inline-edit .ck.ck-toolbar .ck-toolbar__grouped-dropdown,
.hb-doc-inline-edit .ck.ck-toolbar .ck-toolbar__grouped-dropdown {
    display: none !important;
}
tr.hb-row-editing .hb-inline-desc-cell .ck.ck-editor__main > .ck-editor__editable {
    min-height: 100px !important;
}
.hb-angebot-edit-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hb-angebot-edit-row--kunde-addr { grid-template-columns: minmax(0, 1fr) minmax(0, 0.5fr) minmax(0, 0.5fr); }
.hb-angebot-edit-row--bv { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hb-angebot-edit-row label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 12px;
    color: #64748b;
}
.hb-angebot-kunde-label-row {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}
.hb-angebot-edit-row .hb-angebot-kunde-label-row > label,
.hb-angebot-edit-row .hb-angebot-kunde-label-row .hb-angebot-sync-kunden-label {
    display: inline-flex !important;
    margin-bottom: 0 !important;
}
.hb-angebot-sync-kunden-label {
    align-items: center;
    gap: 6px;
    font-weight: 500 !important;
    font-size: 12px !important;
    color: #475569 !important;
    cursor: pointer;
}
.hb-angebot-sync-kunden-check { margin: 0; }
.hb-angebot-inline-form .form-control,
.hb-angebot-inline-form select,
.hb-angebot-inline-form textarea {
    width: 100%;
}
@media (max-width: 768px) {
    .hb-angebot-edit-row,
    .hb-angebot-edit-row--2,
    .hb-angebot-edit-row--kunde-addr,
    .hb-angebot-edit-row--bv {
        grid-template-columns: 1fr;
    }
}

/* SHARED POSITIONS TABLE (Angebot/Rechnung/Vorschau) — identic cu <style> din angebot.php,
   mutat aici ca sa se aplice si pe facturi. Trebuie sa ramana la finalul fisierului
   pentru a bate regulile .angebot-positions-table de mai sus (vertical-align: bottom). */
.legacy-content .angebot-positions-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}
.legacy-content .angebot-positions-table thead th {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--border, #cbd5e1) !important;
    font-weight: 600;
    background: transparent !important;
}
.legacy-content .angebot-positions-table thead th:nth-child(1) { width: 5%; }
.legacy-content .angebot-positions-table thead th:nth-child(2) { width: 38%; }
.legacy-content .angebot-positions-table thead th:nth-child(3) { width: 12%; }
.legacy-content .angebot-positions-table thead th:nth-child(4) { width: 12%; }
.legacy-content .angebot-positions-table thead th:nth-child(5) { width: 13%; }
.legacy-content .angebot-positions-table thead th.angebot-actions-cell { width: 14%; }
.legacy-content .angebot-positions-table thead th:nth-child(3),
.legacy-content .angebot-positions-table thead th:nth-child(4),
.legacy-content .angebot-positions-table thead th:nth-child(5),
.legacy-content .angebot-positions-table thead th.angebot-actions-cell {
    text-align: right !important;
}
.legacy-content .angebot-positions-table tbody td {
    padding: 10px 12px !important;
    vertical-align: top !important;
    border-bottom: none !important;
    line-height: 1.45;
}
.legacy-content .angebot-positions-table tbody tr.dnd-row {
    border-bottom: 1px solid var(--border, #e2e8f0);
}
.legacy-content .angebot-positions-table tbody tr.angebot-group-row td {
    background: #eceff3 !important;
}
.legacy-content .angebot-positions-table tbody td:nth-child(1) {
    text-align: center !important;
    white-space: nowrap;
}
.legacy-content .angebot-positions-table .drag-handle {
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}
.legacy-content .angebot-positions-table .drag-handle:active {
    cursor: grabbing;
}
.legacy-content .angebot-positions-table tbody td:nth-child(2) {
    word-break: break-word;
}
.legacy-content .angebot-positions-table tbody td:nth-child(2) small {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-secondary, #64748b);
    font-size: 0.92em;
    line-height: 1.4;
}
.legacy-content .angebot-positions-table tbody td:nth-child(3),
.legacy-content .angebot-positions-table tbody td:nth-child(4),
.legacy-content .angebot-positions-table tbody td:nth-child(5) {
    text-align: right !important;
    white-space: nowrap;
}
.legacy-content .angebot-positions-table th.angebot-actions-cell,
.legacy-content .angebot-positions-table td.angebot-actions-cell {
    display: table-cell !important;
    padding: 10px 16px 10px 8px !important;
    text-align: right !important;
    vertical-align: top !important;
    white-space: nowrap !important;
}
.legacy-content .angebot-positions-table td.angebot-actions-cell > .row-actions {
    display: inline-flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: 0 !important;
}
.legacy-content .angebot-positions-table .row-actions--cols3,
.legacy-content .angebot-positions-table .row-actions--cols4 {
    display: inline-flex !important;
    gap: 5px !important;
}
.legacy-content .angebot-positions-table .group-toggle-btn {
    width: 1.625rem !important;
    height: 1.625rem !important;
    min-width: 1.625rem !important;
    min-height: 1.625rem !important;
}
.legacy-content .angebot-positions-table .row-actions > :is(a, button) {
    width: 1.875rem !important;
    height: 1.875rem !important;
    min-width: 1.875rem !important;
    min-height: 1.875rem !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
}
.legacy-content .angebot-positions-table .row-actions > :is(a, button) :is(i, svg) {
    width: 1rem !important;
    height: 1rem !important;
}
.legacy-content .angebot-positions-table .row-actions > :is(a, button):hover,
.legacy-content .angebot-positions-table .row-actions > :is(a, button):focus-visible {
    box-shadow: none !important;
    transform: none !important;
    text-decoration: none !important;
}

/* Footer legal: mic si gri (identic cu .angebot-page-footer din angebot.php) */
.legacy-content .print-content footer.angebot-page-footer,
.legacy-content footer.angebot-page-footer,
footer.angebot-page-footer {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 32px auto 0 !important;
    padding: 14px 12px 0 !important;
    border-top: 1px solid var(--border, #e2e8f0) !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    color: #94a3b8 !important;
    text-align: center !important;
    float: none !important;
}

/* Butoane +Leistungen/+Materialien/+Gruppe — beat rule legacy .print-content .no-print */
.legacy-content .print-content .hb-vorschau-pos-actions.no-print,
#hbRechnungCard .hb-vorschau-pos-actions.no-print,
#hbVorschauCard .hb-vorschau-pos-actions.no-print {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
}

/* Rabatt inline + bloc Fusstext, partajate cu Rechnung/Vorschau */
.hb-rabatt-inline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}
.hb-rabatt-inline input {
    width: 120px;
    text-align: right;
}
#hbRechnungCard.is-editing .hb-rabatt-inline.hb-only-edit,
#hbVorschauCard.is-editing .hb-rabatt-inline.hb-only-edit {
    display: flex !important;
    width: 100% !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: none !important;
    margin: 8px 0 !important;
}
.hb-footer-edit-block {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fafafa;
}

/* Coloana de acțiuni nu se tipărește (regulile de mai sus au !important) */
@media print {
    .legacy-content .angebot-positions-table th.angebot-actions-cell,
    .legacy-content .angebot-positions-table td.angebot-actions-cell,
    .legacy-content .angebot-positions-table .row-actions {
        display: none !important;
    }
    .legacy-content footer.angebot-page-footer {
        border-top: none !important;
    }
}

/* Doc positions: panou inline add Leistung/Material (sub butoane, ca Leistungen Neu) */
.hb-doc-add-panel,
.legacy-content .print-content .hb-doc-add-panel,
.legacy-content .print-content .hb-doc-add-panel.no-print {
    display: none !important;
    width: 100%;
    box-sizing: border-box;
    margin: 0.75rem 0 1rem;
    padding: 0.85rem 1rem 1rem;
    border: 2px solid var(--btn-green, #42c861);
    border-radius: 12px;
    background: rgba(66, 200, 97, 0.06);
    box-shadow: 0 1px 4px rgba(66, 200, 97, 0.16);
    float: none !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    position: relative !important;
    z-index: 2;
}

.hb-doc-add-panel.is-open,
.legacy-content .print-content .hb-doc-add-panel.is-open,
.legacy-content .print-content .hb-doc-add-panel.no-print.is-open {
    display: block !important;
}

.hb-doc-add-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.hb-doc-add-panel__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.hb-doc-add-panel__menge {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem 1rem;
}

.hb-doc-add-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.hb-doc-add-panel .ck.ck-editor__main > .ck-editor__editable {
    min-height: 6rem !important;
}

@media (max-width: 768px) {
    .hb-doc-add-panel__grid,
    .hb-doc-add-panel__menge {
        grid-template-columns: 1fr;
    }
}

/* Debitoren Rechnung — taburi + header titlu stânga / butoane dreapta */
#hbRzTabsCard {
    margin-top: 2.25rem;
    margin-bottom: 0;
    padding-top: 0.65rem;
    overflow: visible;
}
#hbRzTabsCard .kunden-profil-tabs {
    border-radius: 14px 14px 0 0;
}
#hbRzDocHeader.hb-rz-doc-header,
.hb-rz-doc-header#hbRzDocHeader {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 2.25rem !important;
    margin-bottom: 0.85rem;
    padding: 1.35rem 1.15rem 1.1rem 1.15rem;
}

/* Spațiu de sus — peste tot (același ritm ca pe Rechnung) */
:is(.app-shell, .legacy-content) .intro-y.mt-8:not(.h-10):not(.block.h-10):not(.flex.h-10) {
    margin-top: 2.25rem !important;
    padding-top: 1.35rem !important;
    padding-bottom: 1.1rem;
    margin-bottom: 0.85rem;
    box-sizing: border-box;
}
#hbRzDocHeader > h2 {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.35;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#hbRzDocHeader .hb-rz-doc-header__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin: 0;
    margin-left: auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}
#hbRzPanelZahlung[hidden] {
    display: none !important;
}
#hbRzAllgemeinBlock[hidden],
#hbRzDocHeader[hidden] {
    display: none !important;
}
#hbRzPanelZahlung.hb-rz-zahlung-panel,
.hb-rz-zahlung-panel#hbRzPanelZahlung {
    margin-top: 2rem !important;
    margin-bottom: 1.25rem;
    padding-top: 0.85rem;
}
.hb-rz-zahlung {
    clear: both;
    width: 100%;
    max-width: 100%;
    padding-top: 0.35rem;
}
.hb-rz-zahlung__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0.35rem 0 1.75rem;
    width: 100%;
}
.hb-rz-zahlung__card {
    flex: 1 1 160px;
    min-width: 140px;
    padding: 1.15rem 1.15rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    position: static;
    float: none;
}
.hb-rz-zahlung__label {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    margin-bottom: 0.45rem;
}
.hb-rz-zahlung__value {
    display: block;
    font-size: 1rem;
}
.hb-rz-zahlung__table {
    margin-bottom: 1rem;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}
.legacy-content .hb-rz-zahlung__table > thead > tr > th,
.legacy-content .hb-rz-zahlung__table > tbody > tr > td,
.hb-rz-zahlung__table > thead > tr > th,
.hb-rz-zahlung__table > tbody > tr > td {
    vertical-align: middle !important;
    box-sizing: border-box;
}
.legacy-content .hb-rz-zahlung__table > thead > tr > th.hb-rz-zahlung__col-datum,
.legacy-content .hb-rz-zahlung__table > tbody > tr > td.hb-rz-zahlung__col-datum,
.hb-rz-zahlung__table .hb-rz-zahlung__col-datum {
    width: 22%;
    text-align: left !important;
}
.legacy-content .hb-rz-zahlung__table > thead > tr > th.hb-rz-zahlung__col-betrag,
.legacy-content .hb-rz-zahlung__table > tbody > tr > td.hb-rz-zahlung__col-betrag,
.hb-rz-zahlung__table .hb-rz-zahlung__col-betrag {
    width: 30%;
    text-align: left !important;
}
.legacy-content .hb-rz-zahlung__table > thead > tr > th.hb-rz-zahlung__col-mwst,
.legacy-content .hb-rz-zahlung__table > tbody > tr > td.hb-rz-zahlung__col-mwst,
.hb-rz-zahlung__table .hb-rz-zahlung__col-mwst {
    width: 18%;
    text-align: left !important;
}
.legacy-content .hb-rz-zahlung__table > thead > tr > th.hb-rz-zahlung__col-actions,
.legacy-content .hb-rz-zahlung__table > tbody > tr > td.hb-rz-zahlung__col-actions,
.hb-rz-zahlung__table .hb-rz-zahlung__col-actions {
    width: 30%;
    text-align: right !important;
    white-space: nowrap;
}
.hb-rz-zahlung__table .table-cell-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}
.hb-rz-zahlung__table .table-cell-actions form.inline {
    display: inline;
    margin: 0;
}
.hb-rz-zahlung__editing .form-control {
    width: 100%;
    max-width: 11rem;
}
.hb-rz-zahlung__form-title {
    font-weight: 600;
    margin-bottom: 0.75rem;
}
.hb-rz-zahlung__form-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    width: 100%;
}
.hb-rz-zahlung__form-grid > div {
    flex: 1 1 160px;
    min-width: 140px;
    position: static;
    float: none;
}
.hb-rz-zahlung__form-grid label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.85rem;
}
@media (max-width: 640px) {
    .hb-rz-zahlung__summary,
    .hb-rz-zahlung__form-grid {
        flex-direction: column;
    }
}

