@font-face {
    font-family: "Open Sans";
    src: url("/fonts/open-sans/OpenSans-Variable-LatinExt.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Open Sans";
    src: url("/fonts/open-sans/OpenSans-Variable-Latin.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    /* Ausschließlich Übergangsaliase auf die unveränderte Ledgr.Pro-Baseline. */
    --primary: var(--lp-brand-primary);
    --primary-container: var(--lp-brand-primary);
    --on-primary: var(--lp-surface-raised);
    --surface: var(--lp-surface-raised);
    --surface-container-lowest: var(--lp-surface-raised);
    --surface-container-low: var(--lp-surface-subtle);
    --surface-container: var(--lp-surface-app);
    --on-surface: var(--lp-text-strong);
    --on-surface-variant: var(--lp-text-default);
    --outline: var(--lp-text-faint);
    --outline-variant: var(--lp-border-default);
    --font: var(--lp-font-body);
    --font-display: var(--lp-font-display);
    --eui-color-body: var(--lp-surface-app);
    --eui-color-background-subdued: var(--lp-surface-app);
    --eui-color-empty-shade: var(--lp-surface-raised);
    --eui-color-marken-ink: var(--lp-brand-primary-dark);
    --eui-color-marken-ink-soft: var(--lp-brand-primary);
    --eui-color-marken-surface: var(--lp-surface-app);
    --eui-color-primary: var(--lp-brand-primary);
    --eui-color-link: var(--lp-brand-primary);
    --eui-color-signal: var(--lp-brand-signal);
    --eui-color-signal-strong: var(--lp-brand-signal);
    --eui-color-on-signal: var(--lp-brand-signal-ink);
    --eui-color-text-heading: var(--lp-text-strong);
    --eui-color-text-paragraph: var(--lp-text-default);
    --eui-color-text-subdued: var(--lp-text-muted);
    --eui-border-color: var(--lp-border-default);
    --eui-radius-button: var(--lp-radius-control);
    --eui-radius-card: var(--lp-radius-card);
    --eui-font-family: var(--lp-font-body);
    --eui-font-display: var(--lp-font-display);
}

html {
    background: var(--lp-surface-app);
    color-scheme: light;
    font-family: var(--lp-font-body);
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    background: var(--lp-surface-app) !important;
    color: var(--lp-text-default) !important;
    font-family: var(--lp-font-body) !important;
    line-height: 1.55;
}

:where(h1, h2, h3, h4, h5, h6, .fi-header-heading, .fi-section-header-heading) {
    color: var(--lp-text-strong);
    font-family: var(--lp-font-display) !important;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.2;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 0 !important;
    box-shadow: var(--lp-focus-ring) !important;
}

:where(button, input, select, textarea, .btn, .btn-pill, .fi-btn, .fi-input-wrp) {
    border-radius: var(--lp-radius-control) !important;
}

:where(button, .btn, .btn-pill, .fi-btn, .header-auth a, .header-auth button) {
    min-height: var(--lp-target-min);
}

.lp-numeric,
.fi-ta-text-item-label,
.fi-wi-stats-overview-stat-value {
    font-family: var(--lp-font-numeric) !important;
    font-variant-numeric: tabular-nums;
}

/* Website-Shell */
.site-header {
    min-height: 72px;
    background: var(--lp-surface-raised) !important;
    border-bottom: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

.site-header .container,
.site-footer .container,
main > .container {
    width: min(calc(100% - 32px), var(--lp-content-max));
}

.header-nav a {
    min-height: var(--lp-target-min);
    display: inline-flex;
    align-items: center;
    border-radius: var(--lp-radius-control) !important;
    color: var(--lp-text-default) !important;
    font-weight: 600 !important;
}

.header-nav a:hover {
    background: var(--lp-surface-subtle);
    color: var(--lp-brand-primary-dark) !important;
}

.header-nav a.active {
    background: color-mix(in srgb, var(--lp-brand-primary) 8%, var(--lp-surface-raised));
    color: var(--lp-brand-primary-dark) !important;
    box-shadow: inset 0 -3px 0 var(--lp-brand-primary);
}

.btn-primary,
.btn-fill,
.btn-pill-solid,
.fi-btn.fi-color-primary {
    background: var(--lp-brand-primary-dark) !important;
    border-color: var(--lp-brand-primary-dark) !important;
    color: var(--lp-surface-raised) !important;
    box-shadow: inset 0 -3px 0 var(--lp-brand-signal) !important;
}

.btn-primary:hover,
.btn-fill:hover,
.btn-pill-solid:hover,
.fi-btn.fi-color-primary:hover {
    background: var(--lp-brand-primary) !important;
}

/* Ledgr.Pro-CTA-Hierarchie im dunklen Landing-Hero: Signalfläche zuerst. */
.hero .btn-pill-solid {
    background: var(--lp-brand-signal) !important;
    border-color: var(--lp-brand-signal) !important;
    color: var(--lp-brand-signal-ink) !important;
    box-shadow: none !important;
}

.hero .btn-pill-solid:hover {
    background: var(--lp-brand-signal) !important;
    border-color: var(--lp-brand-signal) !important;
    color: var(--lp-brand-signal-ink) !important;
    filter: brightness(.94);
}

.hero .btn-pill {
    background: var(--lp-surface-raised) !important;
    border-color: var(--lp-surface-raised) !important;
    color: var(--lp-brand-primary-dark) !important;
}

.hero .btn-pill:hover {
    background: var(--lp-surface-subtle) !important;
    border-color: var(--lp-surface-subtle) !important;
    color: var(--lp-brand-primary-dark) !important;
}

:where(.card, .feature-card, .pricing-card, .hero-visual, .fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat) {
    background: var(--lp-surface-raised) !important;
    border: 1px solid var(--lp-border-default) !important;
    border-radius: var(--lp-radius-card) !important;
    box-shadow: none !important;
}

.site-footer {
    background: var(--lp-brand-primary-dark) !important;
    border-top: 4px solid var(--lp-brand-signal) !important;
}

.site-footer .powered-by-creativpixel {
    color: inherit !important;
    text-decoration: none !important;
}

.site-footer .powered-by-creativpixel:hover,
.site-footer .powered-by-creativpixel:focus-visible {
    color: var(--lp-brand-signal) !important;
}

/* Ledgr.Pro 1.1.0: Marketing- und App-Komponenten verwenden dieselben
   semantischen Regeln. Die Legacy-Klassen bleiben aus Kompatibilitätsgründen
   bestehen, erhalten aber keinen abweichenden „Stitch“-Look. */
.btn-pill,
.btn-pill-solid,
.btn-primary,
.btn-secondary,
.btn-fill,
.btn-ghost {
    border-radius: var(--lp-radius-control) !important;
    box-shadow: none !important;
}

.hero .btn-pill,
.hero .btn-pill-solid,
.cta-section .btn-pill,
.cta-section .btn-pill-solid {
    border-radius: var(--lp-radius-control) !important;
}

/* Der Hero bleibt im ersten Viewport handlungsfähig: die Ledgr.Pro-H1 darf
   groß sein, aber ihre drei Nutzenbotschaften dürfen die CTA nicht unter den
   Falz drücken. */
.hero-inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 56px !important;
}

.hero-headline {
    font-size: clamp(2.5rem, 4vw, 3.25rem) !important;
    line-height: 1.08 !important;
}

.section {
    background: var(--lp-surface-app);
}

.section.section-alt {
    background: var(--lp-surface-subtle);
}

.workflow-card,
.feature-card,
.pricing-card,
.calc-wrapper,
.trust-card,
.branch-card,
.faq-item,
.hero-visual {
    border-radius: var(--lp-radius-card) !important;
    border: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

/* Die Fachanwendung ist keine dekorative Marketingkarte: Raised Surface,
   Haarlinie und ruhige Typografie sind im Admin- und Kundenpanel identisch. */
.fi-body,
.fi-simple-layout {
    color: var(--lp-text-default) !important;
    font-family: var(--lp-font-body) !important;
}

.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav,
.fi-topbar nav {
    background: var(--lp-surface-raised) !important;
}

.fi-sidebar {
    border-right: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

.fi-sidebar-item-button,
.fi-sidebar-group-button,
.fi-btn,
.fi-input-wrp,
.fi-select,
.fi-modal-window,
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    border-radius: var(--lp-radius-control) !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-modal-window {
    background: var(--lp-surface-raised) !important;
    border: 1px solid var(--lp-border-default) !important;
    border-radius: var(--lp-radius-card) !important;
    box-shadow: none !important;
}

.fi-btn.fi-color-primary {
    background: var(--lp-brand-primary-dark) !important;
    border-color: var(--lp-brand-primary-dark) !important;
    color: var(--lp-surface-raised) !important;
    box-shadow: inset 0 -3px 0 var(--lp-brand-signal) !important;
}

.fi-btn.fi-color-primary:hover {
    background: var(--lp-brand-primary) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar-item-active > .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background: color-mix(in srgb, var(--lp-brand-primary) 8%, var(--lp-surface-raised)) !important;
    color: var(--lp-brand-primary-dark) !important;
    box-shadow: inset 3px 0 0 var(--lp-brand-primary) !important;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-label,
.fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-icon {
    color: var(--lp-brand-primary-dark) !important;
}

/* Filament-App-Shell */
.fi-body,
.fi-main {
    background: var(--lp-surface-app) !important;
}

.fi-main-ctn {
    max-width: var(--lp-content-max);
}

.fi-topbar nav {
    min-height: 64px !important;
    background: var(--lp-surface-raised) !important;
    border-bottom: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav {
    background: var(--lp-surface-raised) !important;
}

.fi-sidebar {
    border-right: 1px solid var(--lp-border-default) !important;
}

.fi-sidebar-item-button,
.fi-sidebar-group-button {
    min-height: var(--lp-target-min) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar-item-active > .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background: color-mix(in srgb, var(--lp-brand-primary) 8%, var(--lp-surface-raised)) !important;
    color: var(--lp-brand-primary-dark) !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-modal-window {
    overflow: clip;
}

.fi-ta-table {
    font-variant-numeric: tabular-nums;
}

.fi-ta-header-cell {
    color: var(--lp-text-muted) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fi-ta-row {
    min-height: 48px;
}

.fi-input-wrp:focus-within {
    border-color: var(--lp-brand-primary) !important;
    box-shadow: var(--lp-focus-ring) !important;
}

@media (max-width: 767px) {
    .site-header .container,
    .site-footer .container,
    main > .container {
        width: min(calc(100% - 32px), var(--lp-content-max));
    }

    .section {
        padding-block: 48px !important;
    }

    .fi-main {
        padding-inline: 16px !important;
    }

    .fi-ta-ctn {
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
        outline: 2px solid Highlight !important;
        outline-offset: 2px !important;
        box-shadow: none !important;
    }
}

/* Ledgr.Pro Panel Contract: verbindliche Oberfläche für Kunden- und Admin-Panel. */
:where(.fi-body, .fi-body *) {
    font-family: var(--lp-font-body);
}

.fi-body {
    background: var(--lp-surface-app) !important;
    color: var(--lp-text-primary);
}

.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav,
.fi-topbar nav {
    background: var(--lp-surface-raised) !important;
}

.fi-sidebar {
    border-right: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

.fi-topbar nav {
    border-bottom: 1px solid var(--lp-border-default) !important;
    box-shadow: none !important;
}

:where(.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-card, .fi-modal-window) {
    background: var(--lp-surface-raised) !important;
    border: 1px solid var(--lp-border-default) !important;
    border-radius: var(--lp-radius-card) !important;
    box-shadow: none !important;
}

:where(.fi-section-header, .fi-ta-header) {
    border-bottom-color: var(--lp-border-default) !important;
}

:where(.fi-input-wrp, .fi-select, .fi-fo-field-wrp) {
    border-radius: var(--lp-radius-control) !important;
}

:where(.fi-btn, .fi-input, .fi-select, .fi-checkbox-input, .fi-radio-input) {
    min-height: var(--lp-target-min);
}

.fi-btn.fi-color-primary {
    background: var(--lp-brand-primary-dark) !important;
    border-color: var(--lp-brand-primary-dark) !important;
    box-shadow: inset 0 -3px 0 var(--lp-brand-signal) !important;
    color: var(--lp-surface-raised) !important;
}

.fi-btn.fi-color-primary:hover {
    background: var(--lp-brand-primary) !important;
}

.fi-sidebar-item-button,
.fi-sidebar-group-button {
    border-radius: var(--lp-radius-control) !important;
}

.fi-sidebar-item-button:focus-visible,
.fi-btn:focus-visible,
.fi-input-wrp:focus-within,
.fi-select:focus-within {
    outline: none !important;
    box-shadow: var(--lp-focus-ring) !important;
}

.ledgr-panel-alert {
    align-items: center;
    border: 1px solid;
    border-radius: var(--lp-radius-control);
    display: flex;
    gap: .75rem;
    margin-bottom: .75rem;
    min-height: var(--lp-target-min);
    padding: .75rem 1rem;
}

.ledgr-panel-alert--danger {
    background: color-mix(in srgb, var(--lp-danger) 8%, var(--lp-surface-raised));
    border-color: var(--lp-danger);
    color: color-mix(in srgb, var(--lp-danger) 80%, var(--lp-text-primary));
}

.ledgr-panel-alert--warning {
    background: color-mix(in srgb, var(--lp-warning) 10%, var(--lp-surface-raised));
    border-color: var(--lp-warning);
    color: color-mix(in srgb, var(--lp-warning) 75%, var(--lp-text-primary));
}

.ledgr-panel-alert--info {
    background: color-mix(in srgb, var(--lp-brand-primary) 8%, var(--lp-surface-raised));
    border-color: var(--lp-brand-primary);
    color: var(--lp-brand-primary-dark);
}

.ledgr-panel-alert svg {
    flex: 0 0 auto;
    stroke: currentColor !important;
}

.ledgr-panel-alert__text {
    color: inherit;
    font-size: .8125rem;
    line-height: 1.5;
}

.ledgr-panel-alert__link {
    color: inherit !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .15em;
}

.ledgr-balance-chip {
    align-items: center;
    background: var(--lp-surface-brand-soft);
    border: 1px solid var(--lp-border-strong);
    border-radius: var(--lp-radius-control);
    color: var(--lp-brand-primary-dark);
    display: inline-flex;
    font-size: .8rem;
    font-weight: 700;
    gap: .375rem;
    min-height: 36px;
    padding: .25rem .75rem;
}

/* Panel-Rahmen: Sidebar und Arbeitsfläche füllen den Browser ohne Außenrand. */
.pdfpost-skip-link {
    position: fixed !important;
    inset-block-start: 8px !important;
    inset-inline-start: 8px !important;
}

.fi-layout {
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    min-width: 100% !important;
}

.fi-sidebar {
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
}

.fi-main,
.fi-main-ctn {
    width: 100% !important;
    max-width: none !important;
}

/* Mobile-only controls bleiben auf Desktop unsichtbar; kein Overlay über dem Menü. */
.pdfpost-mobile-sidebar-close,
.pdfpost-mobile-dock {
    display: none !important;
}

@media (max-width: 1023px) {
    .pdfpost-mobile-sidebar-close {
        display: flex !important;
    }

    .pdfpost-mobile-dock {
        display: grid !important;
    }
}
