/**
 * @author Firma: 4Unit Systems Integration GmbH
 *         Adresse: Jahnstraße 36, 34582 Borken (Hessen)
 *         Telefon: 05682 73 48 26
 *         E-Mail: info@4unit.com
 *         Website: https://4unit.com
 *
 * @license Kommerzielle Nutzung nur mit gültiger Lizenz von 4Unit Systems Integration GmbH
 *
 * Die Zustimmungsmaske auf der Website.
 *
 * Nur Systemschriften, keine fremden Quellen, keine Bilddateien. Alle Abstände
 * und Seiten sind logisch angegeben (inline-start/end) – damit die Maske in
 * Arabisch von selbst gespiegelt erscheint, ohne zweites Regelwerk.
 */

.fugd {
    --fugd-ink: #11151c;
    --fugd-ink-2: #3b4350;
    --fugd-muted: #6b7382;
    --fugd-line: #e3e6ec;
    --fugd-bg: #ffffff;
    --fugd-soft: #f6f7f9;
    --fugd-accent: #e2560f;
    --fugd-accent-dark: #be440a;
    --fugd-accent-ink: #ffffff;
    --fugd-radius: 16px;
    --fugd-shadow: 0 2px 6px rgba(17, 21, 28, .06), 0 24px 60px -24px rgba(17, 21, 28, .42);

    position: fixed;
    inset: 0;
    z-index: 999950;
    pointer-events: none;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: var(--fugd-ink);
    -webkit-font-smoothing: antialiased;
}

.fugd[hidden] { display: none; }
.fugd *, .fugd *::before, .fugd *::after { box-sizing: border-box; }

.fugd--dark {
    --fugd-ink: #f4f6f8;
    --fugd-ink-2: #cfd5de;
    --fugd-muted: #a3abb7;
    --fugd-line: #333b47;
    --fugd-bg: #171c24;
    --fugd-soft: #1f2530;
}

.fugd--brand {
    --fugd-bg: var(--fugd-accent);
    --fugd-ink: #ffffff;
    --fugd-ink-2: rgba(255, 255, 255, .88);
    --fugd-muted: rgba(255, 255, 255, .74);
    --fugd-line: rgba(255, 255, 255, .26);
    --fugd-soft: rgba(255, 255, 255, .12);
    --fugd-accent-ink: var(--fugd-accent-dark);
}

/* ------------------------------------------------------------------ */
/* Vorhang                                                             */
/* ------------------------------------------------------------------ */

.fugd__curtain {
    position: fixed;
    inset: 0;
    background: rgba(17, 21, 28, .34);
    pointer-events: auto;
}
.fugd__curtain[hidden] { display: none; }

html.fugd-wall { overflow: hidden; }
html.fugd-offen { overflow: hidden; }

/* ------------------------------------------------------------------ */
/* Leiste                                                              */
/* ------------------------------------------------------------------ */

.fugd__bar {
    position: absolute;
    inset-block-end: clamp(12px, 2vw, 24px);
    inline-size: min(420px, calc(100vw - 24px));
    padding: 20px 22px;
    border: 1px solid var(--fugd-line);
    border-radius: var(--fugd-radius);
    background: var(--fugd-bg);
    box-shadow: var(--fugd-shadow);
    pointer-events: auto;
}
.fugd__bar[hidden] { display: none; }

.fugd--bottom-right .fugd__bar { inset-inline-end: clamp(12px, 2vw, 24px); }
.fugd--bottom-left .fugd__bar { inset-inline-start: clamp(12px, 2vw, 24px); }

.fugd--bottom-bar .fugd__bar {
    inset-inline: 0;
    inset-block-end: 0;
    inline-size: 100%;
    max-inline-size: none;
    border-inline: 0;
    border-block-end: 0;
    border-radius: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    padding: 18px clamp(16px, 4vw, 48px);
}
.fugd--bottom-bar .fugd__title { flex: none; }
.fugd--bottom-bar .fugd__text { flex: 1 1 320px; margin: 0; }
.fugd--bottom-bar .fugd__actions { flex: none; margin: 0; }
.fugd--bottom-bar .fugd__links { flex-basis: 100%; }

.fugd--center .fugd__bar {
    inset-block: 50% auto;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    inline-size: min(520px, calc(100vw - 24px));
}
.fugd--center.fugd--rtl .fugd__bar { transform: translate(50%, -50%); }

.fugd--bar .fugd__bar { border-radius: 4px; }

.fugd__logo-wrap { margin-block-end: 12px; }
.fugd__logo { max-block-size: 44px; inline-size: auto; }

.fugd__title {
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.3;
    color: var(--fugd-ink);
}

.fugd__text {
    margin: 0 0 16px;
    color: var(--fugd-ink-2);
    font-size: 14px;
}

.fugd__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fugd__links {
    margin: 14px 0 0;
    font-size: 12.5px;
    color: var(--fugd-muted);
}
.fugd__links a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.fugd__links a:hover { color: var(--fugd-ink); }
.fugd__links span { margin-inline: 6px; }

/* ------------------------------------------------------------------ */
/* Knöpfe                                                              */
/* ------------------------------------------------------------------ */

.fugd-btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 40px;
    padding: 9px 16px;
    border: 1px solid var(--fugd-line);
    border-radius: 10px;
    background: var(--fugd-soft);
    color: var(--fugd-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 560;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.fugd-btn:hover { background: var(--fugd-bg); border-color: var(--fugd-muted); }
.fugd-btn:focus-visible { outline: 2px solid var(--fugd-accent); outline-offset: 2px; }

.fugd-btn--primary {
    border-color: transparent;
    background: var(--fugd-accent);
    color: var(--fugd-accent-ink);
}
.fugd-btn--primary:hover { background: var(--fugd-accent-dark); color: var(--fugd-accent-ink); }

.fugd-btn--ghost {
    border-color: transparent;
    background: transparent;
    color: var(--fugd-ink-2);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.fugd-btn--ghost:hover { background: transparent; color: var(--fugd-ink); }

.fugd-link {
    appearance: none;
    border: 0;
    padding: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

/* Verweis im Fußbereich, der die Maske erneut öffnet. */
.fugd-reopen,
.fush-consent__reopen {
    appearance: none;
    border: 0;
    padding: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

/* ------------------------------------------------------------------ */
/* Einstellungsblatt                                                   */
/* ------------------------------------------------------------------ */

.fugd__sheet {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: clamp(8px, 3vw, 32px);
    pointer-events: auto;
}
.fugd__sheet[hidden] { display: none; }

.fugd__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 21, 28, .5);
}

.fugd__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    inline-size: min(740px, 100%);
    max-block-size: min(86vh, 860px);
    border-radius: var(--fugd-radius);
    background: var(--fugd-bg);
    box-shadow: var(--fugd-shadow);
    overflow: hidden;
}

.fugd__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-block-end: 1px solid var(--fugd-line);
}
.fugd__panel-head .fugd__title { margin: 0; }

.fugd__close {
    appearance: none;
    flex: none;
    inline-size: 34px;
    block-size: 34px;
    border: 1px solid var(--fugd-line);
    border-radius: 9px;
    background: var(--fugd-soft);
    color: var(--fugd-ink-2);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.fugd__close:hover { background: var(--fugd-bg); color: var(--fugd-ink); }
.fugd__close:focus-visible { outline: 2px solid var(--fugd-accent); outline-offset: 2px; }

.fugd__panel-body {
    flex: 1 1 auto;
    overflow: auto;
    padding: 20px 22px;
    overscroll-behavior: contain;
}

.fugd__lead {
    margin: 0 0 18px;
    color: var(--fugd-muted);
    font-size: 13.5px;
}

.fugd__panel-foot {
    padding: 16px 22px;
    border-block-start: 1px solid var(--fugd-line);
    background: var(--fugd-soft);
}
.fugd__panel-foot .fugd__links { margin: 0 0 12px; }
.fugd__panel-foot .fugd__actions { justify-content: flex-end; }

/* ------------------------------------------------------------------ */
/* Gruppen                                                             */
/* ------------------------------------------------------------------ */

.fugd__group {
    padding-block: 16px;
    border-block-start: 1px solid var(--fugd-line);
}
.fugd__group:first-of-type { padding-block-start: 0; border-block-start: 0; }

.fugd__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.fugd__group-title {
    margin: 0;
    font-size: 15px;
    font-weight: 620;
    color: var(--fugd-ink);
}

.fugd__group-text {
    margin: 6px 0 0;
    color: var(--fugd-ink-2);
    font-size: 13.5px;
}

.fugd__always {
    flex: none;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--fugd-soft);
    color: var(--fugd-muted);
    font-size: 12px;
    font-weight: 560;
}

/* Schalter */
.fugd__switch {
    flex: none;
    position: relative;
    display: inline-block;
    inline-size: 46px;
    block-size: 26px;
    cursor: pointer;
}
.fugd__switch input {
    position: absolute;
    inset: 0;
    opacity: 0;
    margin: 0;
    cursor: pointer;
}
.fugd__slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #c9cdd6;
    transition: background-color .18s ease;
}
.fugd__slider::after {
    content: "";
    position: absolute;
    inset-block-start: 3px;
    inset-inline-start: 3px;
    inline-size: 20px;
    block-size: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(17, 21, 28, .3);
    transition: transform .18s ease;
}
.fugd__switch input:checked + .fugd__slider { background: var(--fugd-accent); }
.fugd__switch input:checked + .fugd__slider::after { transform: translateX(20px); }
.fugd--rtl .fugd__switch input:checked + .fugd__slider::after { transform: translateX(-20px); }
.fugd__switch input:focus-visible + .fugd__slider { outline: 2px solid var(--fugd-accent); outline-offset: 2px; }

/* ------------------------------------------------------------------ */
/* Tabelle                                                             */
/* ------------------------------------------------------------------ */

.fugd__details {
    margin-block-start: 12px;
    font-size: 13px;
}
.fugd__details > summary {
    cursor: pointer;
    color: var(--fugd-muted);
    font-weight: 560;
}
.fugd__details > summary:focus-visible { outline: 2px solid var(--fugd-accent); outline-offset: 2px; }

.fugd__table {
    inline-size: 100%;
    margin-block-start: 12px;
    border-collapse: collapse;
    font-size: 12.5px;
}
.fugd__table th,
.fugd__table td {
    padding: 8px 10px;
    border-block-end: 1px solid var(--fugd-line);
    text-align: start;
    vertical-align: top;
}
.fugd__table th {
    color: var(--fugd-muted);
    font-weight: 600;
    font-size: 11.5px;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.fugd__table code {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    font-size: 12px;
    word-break: break-word;
}

.fugd__tag {
    display: inline-block;
    margin-inline-start: 6px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--fugd-soft);
    color: var(--fugd-muted);
    font-size: 10.5px;
}

/* ------------------------------------------------------------------ */
/* Statuszeile des Kurzbefehls                                         */
/* ------------------------------------------------------------------ */

.fugd-status { margin-block: 16px; }
.fugd-status__line { margin: 0 0 8px; font-weight: 560; }
.fugd-status__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }

/* ------------------------------------------------------------------ */
/* Enge Fenster                                                        */
/* ------------------------------------------------------------------ */

@media (max-width: 600px) {
    .fugd__bar {
        inset-inline: 12px;
        inline-size: auto;
    }
    .fugd--center .fugd__bar,
    .fugd--center.fugd--rtl .fugd__bar {
        inset-inline-start: 12px;
        transform: none;
        inset-block: auto 12px;
    }
    .fugd__actions .fugd-btn { flex: 1 1 100%; }

    .fugd__table thead { display: none; }
    .fugd__table tr {
        display: block;
        padding-block: 8px;
        border-block-end: 1px solid var(--fugd-line);
    }
    .fugd__table td {
        display: flex;
        gap: 10px;
        padding: 3px 0;
        border: 0;
    }
    .fugd__table td::before {
        content: attr(data-label);
        flex: 0 0 38%;
        color: var(--fugd-muted);
        font-size: 11.5px;
        text-transform: uppercase;
        letter-spacing: .03em;
    }
}

/* Wer Bewegung nicht mag, bekommt keine. */
@media (prefers-reduced-motion: reduce) {
    .fugd * { transition: none !important; }
}

/* ------------------------------------------------------------------ */
/* Verweis am Seitenende                                               */
/* ------------------------------------------------------------------ */

.fugd-footerbar {
    padding: 14px 16px;
    border-block-start: 1px solid rgba(17, 21, 28, .1);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    text-align: center;
}
.fugd-footerbar .fugd-reopen {
    color: inherit;
    opacity: .75;
}
.fugd-footerbar .fugd-reopen:hover { opacity: 1; }
