/* /Components/AccountMenu.razor.rz.scp.css */
.fcc-account[b-sbiiniw0dh] {
    position: relative;
}

.fcc-account-button[b-sbiiniw0dh] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 9px;
    border: 0;
    border-radius: 14px;
    color: white;
    background: transparent;
    cursor: pointer;
    transition: background .15s ease;
}

    .fcc-account-button:hover[b-sbiiniw0dh] {
        background: rgba(255, 255, 255, .10);
    }

.fcc-account-avatar[b-sbiiniw0dh],
.fcc-menu-avatar[b-sbiiniw0dh] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    background: rgba(0, 80, 94, .18);
    border: 1px solid rgba(255, 255, 255, .35);
    font-weight: 800;
}

.fcc-account-avatar[b-sbiiniw0dh] {
    width: 31px;
    height: 31px;
    font-size: 12px;
}

.fcc-account-name[b-sbiiniw0dh] {
    font-size: 13px;
    font-weight: 800;
}

.fcc-account-arrow[b-sbiiniw0dh] {
    margin-left: 2px;
    font-size: 12px;
    opacity: .75;
    transition: transform .15s ease;
}

    .fcc-account-arrow.open[b-sbiiniw0dh] {
        transform: rotate(180deg);
    }

.fcc-account-menu[b-sbiiniw0dh] {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 9999;
    width: 280px;
    padding: 9px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(24, 163, 161, .18);
    box-shadow: 0 20px 55px rgba(1, 62, 87, .20);
    backdrop-filter: blur(18px);
}

.fcc-account-menu-header[b-sbiiniw0dh] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
}

.fcc-menu-avatar[b-sbiiniw0dh] {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: #013e57;
    background: rgba(24, 163, 161, .12);
    border: 1px solid rgba(24, 163, 161, .22);
}

.fcc-account-menu-header div[b-sbiiniw0dh] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.fcc-account-menu-header strong[b-sbiiniw0dh] {
    color: #013e57;
    font-size: 14px;
}

.fcc-account-menu-header small[b-sbiiniw0dh] {
    margin-top: 2px;
    color: #718492;
    font-size: 11px;
}

.fcc-account-divider[b-sbiiniw0dh] {
    height: 1px;
    margin: 5px 7px;
    background: rgba(1, 62, 87, .08);
}

.fcc-account-menu-item[b-sbiiniw0dh] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 0;
    border-radius: 13px;
    text-align: left;
    text-decoration: none;
    color: #102f46;
    background: transparent;
    cursor: pointer;
    transition: background .13s ease;
}

    .fcc-account-menu-item:hover[b-sbiiniw0dh] {
        background: rgba(24, 163, 161, .09);
    }

    .fcc-account-menu-item > span[b-sbiiniw0dh] {
        width: 25px;
        text-align: center;
        font-size: 16px;
    }

    .fcc-account-menu-item div[b-sbiiniw0dh] {
        display: flex;
        flex-direction: column;
    }

    .fcc-account-menu-item strong[b-sbiiniw0dh] {
        font-size: 12px;
    }

    .fcc-account-menu-item small[b-sbiiniw0dh] {
        margin-top: 2px;
        color: #80919c;
        font-size: 10px;
    }

.fcc-account-menu form[b-sbiiniw0dh] {
    margin: 0;
}

.fcc-account-menu-item.logout[b-sbiiniw0dh] {
    color: #a54d4d;
}

    .fcc-account-menu-item.logout:hover[b-sbiiniw0dh] {
        background: rgba(188, 69, 69, .08);
    }


/* FCC 1.5.3 account outside-click */
.fcc-account-button[b-sbiiniw0dh] {
    position: relative;
    z-index: 10000;
}

.fcc-account-backdrop[b-sbiiniw0dh] {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: transparent;
    cursor: default;
}

.fcc-account-menu[b-sbiiniw0dh] {
    z-index: 10001;
}
/* /Components/Kalender.razor.rz.scp.css */
.calendar-page[b-z6aamrunq2] {
    width: 100%;
    max-width: 100%;
    padding: 28px;
    background: #f5f8fb;
    min-height: 100vh;
    box-sizing: border-box;
}


.calendar-page-header[b-z6aamrunq2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}


    .calendar-page-header h1[b-z6aamrunq2] {
        margin: 0;
        color: #013e57;
        font-size: 34px;
    }


    .calendar-page-header p[b-z6aamrunq2] {
        margin: 6px 0 0;
        color: #69818c;
        font-size: 15px;
    }


.fcc-primary-button[b-z6aamrunq2],
.fcc-secondary-button[b-z6aamrunq2] {
    min-height: 44px;
    padding: 0 18px;
    border: none;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}


.fcc-primary-button[b-z6aamrunq2] {
    background: #18a3a1;
    color: white;
}


    .fcc-primary-button:hover[b-z6aamrunq2] {
        background: #138d8b;
    }


.fcc-secondary-button[b-z6aamrunq2] {
    background: #eaf1f3;
    color: #365467;
}


    .fcc-secondary-button:hover[b-z6aamrunq2] {
        background: #dde8eb;
    }


/* =========================================================
   STATISTIK
   ========================================================= */

.calendar-stats[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}


.calendar-stat-card[b-z6aamrunq2] {
    background: white;
    border-radius: 17px;
    padding: 18px 20px;
    border-left: 5px solid #18a3a1;
    box-shadow: 0 7px 24px rgba(0, 40, 60, .065);
}


    .calendar-stat-card span[b-z6aamrunq2] {
        display: block;
        color: #617b86;
        font-size: 13px;
        margin-bottom: 7px;
    }


    .calendar-stat-card strong[b-z6aamrunq2] {
        display: block;
        color: #013e57;
        font-size: 28px;
    }


    .calendar-stat-card small[b-z6aamrunq2] {
        display: block;
        margin-top: 5px;
        color: #91a1a8;
    }


/* =========================================================
   FORMULAR
   ========================================================= */

.appointment-form-panel[b-z6aamrunq2] {
    margin-bottom: 22px;
    background: white;
    border: 1px solid #dbe7ea;
    border-radius: 19px;
    overflow: hidden;
    box-shadow: 0 14px 38px rgba(0, 40, 60, .09);
}


.appointment-form-header[b-z6aamrunq2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 20px 22px;
    border-bottom: 1px solid #e6eef1;
}


    .appointment-form-header h2[b-z6aamrunq2] {
        margin: 0;
        color: #013e57;
        font-size: 21px;
    }


    .appointment-form-header p[b-z6aamrunq2] {
        margin: 4px 0 0;
        color: #7b9099;
        font-size: 13px;
    }


.appointment-form-close[b-z6aamrunq2] {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #69818c;
    font-size: 26px;
    cursor: pointer;
}


    .appointment-form-close:hover[b-z6aamrunq2] {
        background: #eef5f6;
    }


.appointment-alert[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 18px 22px 0;
    padding: 13px 15px;
    border-radius: 12px;
}


    .appointment-alert.error[b-z6aamrunq2] {
        background: #fff2f0;
        border: 1px solid #efcdc7;
        color: #93483e;
    }


    .appointment-alert strong[b-z6aamrunq2] {
        font-size: 13px;
    }


    .appointment-alert span[b-z6aamrunq2] {
        font-size: 12px;
    }


.appointment-form-grid[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 22px;
}


.appointment-field[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}


    .appointment-field.full[b-z6aamrunq2],
    .appointment-reminder.full[b-z6aamrunq2] {
        grid-column: 1 / -1;
    }


    .appointment-field label[b-z6aamrunq2],
    .appointment-reminder-date label[b-z6aamrunq2] {
        color: #365467;
        font-size: 13px;
        font-weight: 700;
    }


        .appointment-field label span[b-z6aamrunq2] {
            margin-left: 4px;
            color: #9aabb2;
            font-size: 11px;
            font-weight: 400;
        }


    .appointment-field input[b-z6aamrunq2],
    .appointment-field select[b-z6aamrunq2],
    .appointment-field textarea[b-z6aamrunq2],
    .appointment-reminder-date input[b-z6aamrunq2] {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d4e0e5;
        border-radius: 10px;
        background: white;
        color: #173b4c;
        padding: 11px 12px;
        outline: none;
        font: inherit;
    }


    .appointment-field textarea[b-z6aamrunq2] {
        min-height: 115px;
        resize: vertical;
    }


        .appointment-field input:focus[b-z6aamrunq2],
        .appointment-field select:focus[b-z6aamrunq2],
        .appointment-field textarea:focus[b-z6aamrunq2],
        .appointment-reminder-date input:focus[b-z6aamrunq2] {
            border-color: #18a3a1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, .10);
        }


    .appointment-field .validation-message[b-z6aamrunq2] {
        color: #a24d42;
        font-size: 11px;
    }


.appointment-reminder[b-z6aamrunq2] {
    padding: 15px 16px;
    border-radius: 12px;
    background: #f5fafa;
    border: 1px solid #dce9e9;
}


.appointment-checkbox[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #365467;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}


    .appointment-checkbox input[b-z6aamrunq2] {
        width: 17px;
        height: 17px;
        accent-color: #18a3a1;
    }


.appointment-reminder-date[b-z6aamrunq2] {
    margin-top: 13px;
    max-width: 320px;
}


    .appointment-reminder-date label[b-z6aamrunq2] {
        display: block;
        margin-bottom: 7px;
    }


.appointment-form-actions[b-z6aamrunq2] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 17px 22px;
    border-top: 1px solid #e6eef1;
    background: #fafcfd;
}


/* =========================================================
   KALENDER
   ========================================================= */

.calendar-panel[b-z6aamrunq2] {
    background: white;
    border: 1px solid #e0e9ec;
    border-radius: 19px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0, 40, 60, .065);
}


.calendar-toolbar[b-z6aamrunq2] {
    min-height: 72px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    padding: 0 20px;
    border-bottom: 1px solid #e2eaed;
}


.calendar-navigation[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    gap: 7px;
}


.calendar-nav-button[b-z6aamrunq2] {
    width: 39px;
    height: 39px;
    border: 1px solid #d5e1e5;
    border-radius: 10px;
    background: white;
    color: #013e57;
    font-size: 25px;
    cursor: pointer;
}


    .calendar-nav-button:hover[b-z6aamrunq2] {
        background: #eef7f7;
        border-color: #18a3a1;
    }


.calendar-today-button[b-z6aamrunq2] {
    height: 39px;
    padding: 0 14px;
    border: 1px solid #d5e1e5;
    border-radius: 10px;
    background: white;
    color: #365467;
    font-weight: 700;
    cursor: pointer;
}


    .calendar-today-button:hover[b-z6aamrunq2] {
        background: #eef7f7;
    }


.calendar-month-title[b-z6aamrunq2] {
    color: #013e57;
    font-size: 20px;
    font-weight: 800;
    text-transform: capitalize;
}


.calendar-legend[b-z6aamrunq2] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 13px;
    color: #70868f;
    font-size: 11px;
}


    .calendar-legend span[b-z6aamrunq2] {
        display: flex;
        align-items: center;
        gap: 5px;
    }


.legend-dot[b-z6aamrunq2] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}


    .legend-dot.einsatz[b-z6aamrunq2] {
        background: #18a3a1;
    }


    .legend-dot.besichtigung[b-z6aamrunq2] {
        background: #013e57;
    }


    .legend-dot.sonstig[b-z6aamrunq2] {
        background: #8799a1;
    }


.calendar-weekdays[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: #f7fafb;
    border-bottom: 1px solid #e2eaed;
}


    .calendar-weekdays div[b-z6aamrunq2] {
        padding: 11px;
        text-align: center;
        color: #6d838c;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }


.calendar-grid[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}


.calendar-day[b-z6aamrunq2] {
    min-width: 0;
    min-height: 142px;
    padding: 9px;
    border-right: 1px solid #e8eef0;
    border-bottom: 1px solid #e8eef0;
    background: white;
    cursor: pointer;
    transition: background .12s ease;
}


    .calendar-day:nth-child(7n)[b-z6aamrunq2] {
        border-right: none;
    }


    .calendar-day:hover[b-z6aamrunq2] {
        background: #f5fbfb;
    }


    .calendar-day.weekend[b-z6aamrunq2] {
        background: #fbfcfd;
    }


        .calendar-day.weekend:hover[b-z6aamrunq2] {
            background: #f4fafa;
        }


    .calendar-day.outside-month[b-z6aamrunq2] {
        background: #fafbfc;
    }


        .calendar-day.outside-month .calendar-day-number[b-z6aamrunq2] {
            color: #b5c1c5;
        }


    .calendar-day.today[b-z6aamrunq2] {
        box-shadow: inset 0 0 0 2px rgba(24, 163, 161, .65);
    }


.calendar-day-head[b-z6aamrunq2] {
    min-height: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
}


.calendar-day-number[b-z6aamrunq2] {
    width: 27px;
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #365467;
    font-size: 12px;
    font-weight: 800;
}


.calendar-day.today .calendar-day-number[b-z6aamrunq2] {
    border-radius: 50%;
    background: #18a3a1;
    color: white;
}


.calendar-today-marker[b-z6aamrunq2] {
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(24, 163, 161, .10);
    color: #118886;
    font-size: 9px;
    font-weight: 800;
}


.calendar-day-events[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
}


.calendar-event[b-z6aamrunq2] {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 6px;
    border: none;
    border-radius: 6px;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
}


    .calendar-event.einsatz[b-z6aamrunq2] {
        background: rgba(24, 163, 161, .14);
        color: #0c7573;
    }


    .calendar-event.besichtigung[b-z6aamrunq2] {
        background: rgba(1, 62, 87, .12);
        color: #013e57;
    }


    .calendar-event.erinnerung[b-z6aamrunq2] {
        background: #fff5d9;
        color: #846a18;
    }


    .calendar-event.intern[b-z6aamrunq2] {
        background: #eeeaf7;
        color: #675788;
    }


    .calendar-event.sonstig[b-z6aamrunq2] {
        background: #edf2f4;
        color: #5a7079;
    }


    .calendar-event:hover[b-z6aamrunq2] {
        filter: brightness(.96);
    }


.calendar-event-time[b-z6aamrunq2] {
    flex: 0 0 auto;
    font-size: 9px;
    font-weight: 800;
}


.calendar-event-title[b-z6aamrunq2] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 700;
}


.calendar-more-events[b-z6aamrunq2] {
    padding: 2px 5px;
    color: #78909a;
    font-size: 9px;
    font-weight: 700;
}


.calendar-loading[b-z6aamrunq2] {
    padding: 80px 20px;
    text-align: center;
    color: #78909a;
}


/* =========================================================
   NÄCHSTE TERMINE
   ========================================================= */

.upcoming-panel[b-z6aamrunq2] {
    margin-top: 22px;
    background: white;
    border: 1px solid #e0e9ec;
    border-radius: 19px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0, 40, 60, .055);
}


.upcoming-header[b-z6aamrunq2] {
    padding: 19px 21px;
    border-bottom: 1px solid #e5edef;
}


    .upcoming-header h2[b-z6aamrunq2] {
        margin: 0;
        color: #013e57;
        font-size: 20px;
    }


    .upcoming-header p[b-z6aamrunq2] {
        margin: 4px 0 0;
        color: #82949b;
        font-size: 12px;
    }


.upcoming-list[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
}


.upcoming-row[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 14px 20px;
    border-bottom: 1px solid #edf1f3;
}


    .upcoming-row:last-child[b-z6aamrunq2] {
        border-bottom: none;
    }


.upcoming-date[b-z6aamrunq2] {
    width: 52px;
    height: 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eef8f8;
}


    .upcoming-date strong[b-z6aamrunq2] {
        color: #013e57;
        font-size: 20px;
        line-height: 1;
    }


    .upcoming-date span[b-z6aamrunq2] {
        margin-top: 3px;
        color: #18a3a1;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }


.upcoming-info[b-z6aamrunq2] {
    min-width: 0;
}


.upcoming-title-line[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 5px;
}


    .upcoming-title-line > strong[b-z6aamrunq2] {
        min-width: 0;
        color: #173b4c;
        font-size: 14px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


.upcoming-meta[b-z6aamrunq2] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 13px;
    color: #71868e;
    font-size: 11px;
}


.appointment-status[b-z6aamrunq2] {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}


    .appointment-status.planned[b-z6aamrunq2] {
        background: #edf2f4;
        color: #617780;
    }


    .appointment-status.confirmed[b-z6aamrunq2] {
        background: rgba(24, 163, 161, .13);
        color: #117a78;
    }


    .appointment-status.done[b-z6aamrunq2] {
        background: #e8f3ea;
        color: #477451;
    }


    .appointment-status.cancelled[b-z6aamrunq2] {
        background: #f9e9e7;
        color: #9a5046;
    }


.upcoming-actions[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    gap: 7px;
}


.upcoming-edit[b-z6aamrunq2],
.upcoming-delete[b-z6aamrunq2] {
    min-height: 34px;
    padding: 0 11px;
    border: none;
    border-radius: 8px;
    background: #edf3f5;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}


.upcoming-edit[b-z6aamrunq2] {
    color: #365467;
}


.upcoming-delete[b-z6aamrunq2] {
    color: #a34e43;
}


.upcoming-edit:hover[b-z6aamrunq2] {
    background: #dfeaec;
}


.upcoming-delete:hover[b-z6aamrunq2] {
    background: #f8e8e5;
}


.calendar-empty[b-z6aamrunq2] {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #81949c;
}


.calendar-empty-icon[b-z6aamrunq2] {
    font-size: 30px;
    margin-bottom: 5px;
}


.calendar-empty strong[b-z6aamrunq2] {
    color: #365467;
}


/* =========================================================
   LÖSCHDIALOG
   ========================================================= */

.calendar-delete-overlay[b-z6aamrunq2] {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 34, 52, .46);
    backdrop-filter: blur(5px);
}


.calendar-delete-dialog[b-z6aamrunq2] {
    width: min(430px, 100%);
    padding: 25px;
    border-radius: 18px;
    background: white;
    box-shadow: 0 30px 90px rgba(0, 30, 50, .30);
    text-align: center;
}


.calendar-delete-icon[b-z6aamrunq2] {
    width: 48px;
    height: 48px;
    margin: 0 auto 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff0ed;
    color: #a74e43;
    font-size: 23px;
    font-weight: 900;
}


.calendar-delete-dialog h2[b-z6aamrunq2] {
    margin: 0;
    color: #013e57;
    font-size: 20px;
}


.calendar-delete-dialog p[b-z6aamrunq2] {
    margin: 13px 0 22px;
    color: #667e88;
    font-size: 13px;
    line-height: 1.55;
}


    .calendar-delete-dialog p strong[b-z6aamrunq2] {
        color: #365467;
    }


.calendar-delete-actions[b-z6aamrunq2] {
    display: flex;
    justify-content: center;
    gap: 9px;
}


.calendar-danger-button[b-z6aamrunq2] {
    min-height: 44px;
    padding: 0 17px;
    border: none;
    border-radius: 10px;
    background: #b85448;
    color: white;
    font-weight: 700;
    cursor: pointer;
}


    .calendar-danger-button:hover[b-z6aamrunq2] {
        background: #a2483e;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .calendar-stats[b-z6aamrunq2] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .calendar-toolbar[b-z6aamrunq2] {
        grid-template-columns: 1fr auto;
    }


    .calendar-legend[b-z6aamrunq2] {
        display: none;
    }


    .calendar-day[b-z6aamrunq2] {
        min-height: 120px;
    }
}


@media (max-width: 720px) {

    .calendar-page[b-z6aamrunq2] {
        padding: 12px 7px 20px;
    }


    .calendar-page-header[b-z6aamrunq2] {
        align-items: flex-start;
    }


        .calendar-page-header h1[b-z6aamrunq2] {
            font-size: 27px;
        }


        .calendar-page-header p[b-z6aamrunq2] {
            font-size: 13px;
        }


    .calendar-stats[b-z6aamrunq2] {
        gap: 9px;
    }


    .calendar-stat-card[b-z6aamrunq2] {
        padding: 13px;
        border-radius: 14px;
    }


        .calendar-stat-card strong[b-z6aamrunq2] {
            font-size: 23px;
        }


    .appointment-form-grid[b-z6aamrunq2] {
        grid-template-columns: 1fr;
        padding: 16px;
    }


    .appointment-field.full[b-z6aamrunq2],
    .appointment-reminder.full[b-z6aamrunq2] {
        grid-column: auto;
    }


    .appointment-form-header[b-z6aamrunq2] {
        padding: 16px;
    }


    .appointment-form-actions[b-z6aamrunq2] {
        padding: 14px 16px;
    }


    .calendar-toolbar[b-z6aamrunq2] {
        min-height: auto;
        grid-template-columns: 1fr;
        padding: 14px;
        gap: 12px;
    }


    .calendar-navigation[b-z6aamrunq2] {
        justify-content: center;
    }


    .calendar-month-title[b-z6aamrunq2] {
        text-align: center;
        grid-row: 1;
    }


    .calendar-weekdays div[b-z6aamrunq2] {
        padding: 8px 2px;
        font-size: 9px;
    }


    .calendar-day[b-z6aamrunq2] {
        min-height: 85px;
        padding: 4px;
    }


    .calendar-day-number[b-z6aamrunq2] {
        width: 22px;
        height: 22px;
        font-size: 10px;
    }


    .calendar-today-marker[b-z6aamrunq2] {
        display: none;
    }


    .calendar-event[b-z6aamrunq2] {
        padding: 3px 4px;
    }


    .calendar-event-time[b-z6aamrunq2] {
        display: none;
    }


    .calendar-event-title[b-z6aamrunq2] {
        font-size: 8px;
    }


    .upcoming-row[b-z6aamrunq2] {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }


    .upcoming-date[b-z6aamrunq2] {
        width: 44px;
        height: 44px;
    }


    .upcoming-actions[b-z6aamrunq2] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}


@media (max-width: 430px) {

    .calendar-page-header[b-z6aamrunq2] {
        flex-direction: column;
    }


        .calendar-page-header .fcc-primary-button[b-z6aamrunq2] {
            width: 100%;
        }


    .calendar-stats[b-z6aamrunq2] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .calendar-stat-card span[b-z6aamrunq2] {
        font-size: 11px;
    }


    .calendar-stat-card small[b-z6aamrunq2] {
        font-size: 9px;
    }


    .calendar-day[b-z6aamrunq2] {
        min-height: 72px;
    }


    .calendar-event-title[b-z6aamrunq2] {
        font-size: 7px;
    }


    .appointment-form-actions[b-z6aamrunq2] {
        flex-direction: column-reverse;
    }


        .appointment-form-actions button[b-z6aamrunq2] {
            width: 100%;
        }


    .calendar-delete-actions[b-z6aamrunq2] {
        flex-direction: column-reverse;
    }


        .calendar-delete-actions button[b-z6aamrunq2] {
            width: 100%;
        }
}
/* =========================================================
   FCC TERMIN MODAL
   ========================================================= */

.appointment-modal-overlay[b-z6aamrunq2] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 35, 52, 0.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}


.appointment-modal[b-z6aamrunq2] {
    width: min(1000px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(24, 163, 161, 0.25);
    border-radius: 20px;
    overflow-y: auto;
    box-shadow: 0 30px 80px rgba(0, 35, 52, 0.28), 0 8px 24px rgba(0, 35, 52, 0.12);
}


    .appointment-modal .appointment-form-header[b-z6aamrunq2] {
        position: sticky;
        top: 0;
        z-index: 5;
        flex: 0 0 auto;
        background: #ffffff;
        border-bottom: 1px solid rgba(0, 62, 87, 0.10);
    }


    .appointment-modal .appointment-form-grid[b-z6aamrunq2] {
        flex: 1 1 auto;
    }


    .appointment-modal .appointment-form-actions[b-z6aamrunq2] {
        position: sticky;
        bottom: 0;
        z-index: 5;
        background: #ffffff;
        border-top: 1px solid rgba(0, 62, 87, 0.10);
    }


/* Overlay selbst anklickbar, Modal bleibt eigenständig */

.appointment-modal-overlay[b-z6aamrunq2] {
    animation: appointmentOverlayOpen-b-z6aamrunq2 .15s ease-out;
}


.appointment-modal[b-z6aamrunq2] {
    animation: appointmentModalOpen-b-z6aamrunq2 .18s ease-out;
}


@keyframes appointmentOverlayOpen-b-z6aamrunq2 {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


@keyframes appointmentModalOpen-b-z6aamrunq2 {

    from {
        opacity: 0;
        transform: translateY(12px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 720px) {

    .appointment-modal-overlay[b-z6aamrunq2] {
        padding: 10px;
        align-items: flex-end;
    }


    .appointment-modal[b-z6aamrunq2] {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 18px 18px 0 0;
    }
}


/* =========================================================
   SCHWEBENDER TERMIN BUTTON
   ========================================================= */

.calendar-floating-add[b-z6aamrunq2] {
    position: fixed;
    right: 32px;
    bottom: 28px;
    z-index: 7000;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border: none;
    border-radius: 999px;
    background: #18a3a1;
    color: white;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 32px rgba(0, 60, 80, .22), 0 3px 9px rgba(0, 60, 80, .12);
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}

    .calendar-floating-add:hover[b-z6aamrunq2] {
        background: #138e8c;
        transform: translateY(-2px);
        box-shadow: 0 16px 38px rgba(0, 60, 80, .26), 0 4px 12px rgba(0, 60, 80, .15);
    }

.calendar-floating-plus[b-z6aamrunq2] {
    font-size: 23px;
    line-height: 1;
}

.calendar-floating-text[b-z6aamrunq2] {
    white-space: nowrap;
}


/* =========================================================
   TAGESÜBERSICHT + TERMINDETAILS
   ========================================================= */

.calendar-day-modal-overlay[b-z6aamrunq2],
.calendar-detail-overlay[b-z6aamrunq2] {
    position: fixed;
    inset: 0;
    z-index: 11000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 35, 52, .48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.calendar-day-modal[b-z6aamrunq2],
.calendar-detail-modal[b-z6aamrunq2] {
    width: min(760px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: white;
    border: 1px solid rgba(24, 163, 161, .20);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(0, 35, 52, .28), 0 8px 24px rgba(0, 35, 52, .12);
    animation: appointmentModalOpen-b-z6aamrunq2 .18s ease-out;
}

.calendar-day-modal-header[b-z6aamrunq2],
.calendar-detail-header[b-z6aamrunq2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid #e4ecef;
    background: white;
}

    .calendar-day-modal-header h2[b-z6aamrunq2],
    .calendar-detail-header h2[b-z6aamrunq2] {
        margin: 4px 0 0;
        color: #013e57;
        font-size: 23px;
    }

.calendar-day-modal-date[b-z6aamrunq2],
.calendar-detail-type[b-z6aamrunq2] {
    color: #18a3a1;
    font-size: 12px;
    font-weight: 800;
}

.calendar-modal-close[b-z6aamrunq2] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;
    background: #eef4f5;
    color: #58727d;
    font-size: 25px;
    cursor: pointer;
}

    .calendar-modal-close:hover[b-z6aamrunq2] {
        background: #e0ebed;
    }

.calendar-day-modal-body[b-z6aamrunq2],
.calendar-detail-body[b-z6aamrunq2] {
    padding: 20px 24px;
    overflow-y: auto;
}

.calendar-day-appointment-list[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calendar-day-appointment[b-z6aamrunq2] {
    width: 100%;
    display: grid;
    grid-template-columns: 85px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 15px;
    padding: 15px;
    border: 1px solid #dfeaec;
    border-radius: 13px;
    background: #ffffff;
    text-align: left;
    cursor: pointer;
    transition: border-color .13s ease, background .13s ease, transform .13s ease;
}

    .calendar-day-appointment:hover[b-z6aamrunq2] {
        border-color: #18a3a1;
        background: #f5fbfb;
        transform: translateY(-1px);
    }

.calendar-day-appointment-time[b-z6aamrunq2] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .calendar-day-appointment-time strong[b-z6aamrunq2] {
        color: #013e57;
        font-size: 17px;
    }

    .calendar-day-appointment-time span[b-z6aamrunq2] {
        color: #85979e;
        font-size: 10px;
    }

.calendar-day-appointment-main[b-z6aamrunq2] {
    min-width: 0;
}

.calendar-day-appointment-title[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

    .calendar-day-appointment-title > strong[b-z6aamrunq2] {
        color: #173b4c;
        font-size: 14px;
    }

.calendar-day-appointment-meta[b-z6aamrunq2] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: 5px;
    color: #70868f;
    font-size: 11px;
}

.calendar-day-appointment-arrow[b-z6aamrunq2] {
    color: #18a3a1;
    font-size: 25px;
    text-align: right;
}

.calendar-day-modal-footer[b-z6aamrunq2],
.calendar-detail-footer[b-z6aamrunq2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid #e4ecef;
    background: #fafcfd;
}

.calendar-day-empty[b-z6aamrunq2] {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    color: #82949b;
}

.calendar-day-empty-icon[b-z6aamrunq2] {
    margin-bottom: 5px;
    font-size: 32px;
}

.calendar-day-empty strong[b-z6aamrunq2] {
    color: #365467;
    font-size: 15px;
}


/* =========================================================
   TERMIN DETAILS
   ========================================================= */

.calendar-detail-status-row[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.calendar-detail-reminder[b-z6aamrunq2] {
    padding: 5px 9px;
    border-radius: 999px;
    background: #fff5d9;
    color: #846a18;
    font-size: 10px;
    font-weight: 800;
}

.calendar-detail-grid[b-z6aamrunq2] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.calendar-detail-item[b-z6aamrunq2] {
    padding: 13px 14px;
    border-radius: 11px;
    background: #f5f9fa;
    border: 1px solid #e5edef;
}

    .calendar-detail-item span[b-z6aamrunq2] {
        display: block;
        margin-bottom: 4px;
        color: #83969e;
        font-size: 10px;
        font-weight: 700;
    }

    .calendar-detail-item strong[b-z6aamrunq2] {
        display: block;
        color: #274b5a;
        font-size: 13px;
    }

.calendar-detail-description[b-z6aamrunq2] {
    margin-top: 16px;
    padding: 15px;
    border-radius: 12px;
    background: #f5f9fa;
    border: 1px solid #e5edef;
}

    .calendar-detail-description > span[b-z6aamrunq2] {
        color: #758a93;
        font-size: 10px;
        font-weight: 800;
    }

    .calendar-detail-description p[b-z6aamrunq2] {
        margin: 8px 0 0;
        color: #365467;
        font-size: 13px;
        line-height: 1.55;
        white-space: pre-wrap;
    }

.calendar-detail-footer-right[b-z6aamrunq2] {
    display: flex;
    align-items: center;
    gap: 9px;
}


/* =========================================================
   MOBILE: TAGESÜBERSICHT / DETAILS / FLOATING BUTTON
   ========================================================= */

@media (max-width: 720px) {

    .calendar-floating-add[b-z6aamrunq2] {
        right: 16px;
        bottom: 16px;
    }

    .calendar-day-modal-overlay[b-z6aamrunq2],
    .calendar-detail-overlay[b-z6aamrunq2] {
        padding: 10px;
        align-items: flex-end;
    }

    .calendar-day-modal[b-z6aamrunq2],
    .calendar-detail-modal[b-z6aamrunq2] {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 18px 18px 0 0;
    }

    .calendar-detail-grid[b-z6aamrunq2] {
        grid-template-columns: 1fr;
    }

    .calendar-day-appointment[b-z6aamrunq2] {
        grid-template-columns: 65px minmax(0, 1fr) 20px;
        gap: 10px;
        padding: 12px;
    }

    .calendar-day-modal-header[b-z6aamrunq2],
    .calendar-detail-header[b-z6aamrunq2],
    .calendar-day-modal-body[b-z6aamrunq2],
    .calendar-detail-body[b-z6aamrunq2],
    .calendar-day-modal-footer[b-z6aamrunq2],
    .calendar-detail-footer[b-z6aamrunq2] {
        padding-left: 16px;
        padding-right: 16px;
    }

    .calendar-day-modal-footer[b-z6aamrunq2],
    .calendar-detail-footer[b-z6aamrunq2] {
        flex-direction: column-reverse;
    }

        .calendar-day-modal-footer button[b-z6aamrunq2],
        .calendar-detail-footer > button[b-z6aamrunq2],
        .calendar-detail-footer-right[b-z6aamrunq2],
        .calendar-detail-footer-right button[b-z6aamrunq2] {
            width: 100%;
        }
}

@media (max-width: 430px) {

    .calendar-floating-add[b-z6aamrunq2] {
        width: 52px;
        height: 52px;
        padding: 0;
    }

    .calendar-floating-text[b-z6aamrunq2] {
        display: none;
    }
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.fcc-login-layout[b-0z5ab903bt] {
    position: fixed;
    inset: 0;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 100dvh;
    overflow: hidden;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.fcc-layout[b-u96jt51smn] {
    display: flex;
    min-height: 100vh;
    background: var(--fcc-background);
}

.fcc-sidebar[b-u96jt51smn] {
    position: fixed;
    inset: 0 auto 0 0;
    width: 230px;
    height: 100vh;
    overflow-y: auto;
    background: linear-gradient(180deg, #00465f 0%, #00283c 100%);
    z-index: 100;
}

.fcc-main[b-u96jt51smn] {
    width: calc(100% - 230px);
    min-width: 0;
    margin-left: 230px;
}

.fcc-header[b-u96jt51smn] {
    position: sticky;
    top: 0;
    z-index: 9000;
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 34px;
    color: white;
    background: linear-gradient(90deg, #18a3a1 0%, #00aaaa 100%);
    box-shadow: 0 5px 20px rgba(0, 40, 60, .12);
}

.fcc-header-left[b-u96jt51smn] {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.fcc-header-actions[b-u96jt51smn] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fcc-header-title[b-u96jt51smn] {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.3px;
}

.fcc-header-title-mobile[b-u96jt51smn] {
    display: none;
}

.fcc-content[b-u96jt51smn] {
    padding: 30px;
}

.mobile-menu-button[b-u96jt51smn],
.mobile-sidebar-close[b-u96jt51smn],
.mobile-menu-backdrop[b-u96jt51smn] {
    display: none;
}

#blazor-error-ui[b-u96jt51smn] {
    display: none;
}


/* =========================================================
   GLOBALER + BUTTON
   ========================================================= */

.fcc-create-button[b-u96jt51smn] {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 2px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 14px;
    color: white;
    background: rgba(255,255,255,.14);
    box-shadow: 0 7px 18px rgba(0,70,82,.14);
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, transform .16s ease;
}

    .fcc-create-button:hover[b-u96jt51smn],
    .fcc-create-button.open[b-u96jt51smn] {
        background: rgba(255,255,255,.24);
        transform: translateY(-1px);
    }

.fcc-document-menu-backdrop[b-u96jt51smn] {
    position: fixed;
    inset: 0;
    z-index: 19990;
    border: none;
    background: rgba(0,27,41,.15);
}

.fcc-create-menu[b-u96jt51smn] {
    position: fixed;
    top: 74px;
    right: 82px;
    z-index: 20000;
    width: 290px;
    padding: 8px;
    border: 1px solid #dde8eb;
    border-radius: 18px;
    background: white;
    box-shadow: 0 22px 55px rgba(0,40,60,.22);
    animation: fccCreateMenuIn-b-u96jt51smn .14s ease-out;
}

@keyframes fccCreateMenuIn-b-u96jt51smn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.fcc-create-menu-head[b-u96jt51smn] {
    display: flex;
    flex-direction: column;
    padding: 10px 12px 11px;
    border-bottom: 1px solid #edf2f4;
}

    .fcc-create-menu-head strong[b-u96jt51smn] {
        color: #00283c;
        font-size: 14px;
    }

    .fcc-create-menu-head span[b-u96jt51smn] {
        margin-top: 2px;
        color: #82939a;
        font-size: 11px;
    }

.fcc-create-menu-item[b-u96jt51smn] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 10px;
    border: none;
    border-radius: 12px;
    text-align: left;
    background: transparent;
    cursor: pointer;
}

    .fcc-create-menu-item:hover[b-u96jt51smn] {
        background: #f1f7f8;
    }

.fcc-create-menu-icon[b-u96jt51smn] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: white;
    background: #18a3a1;
    font-size: 15px;
    font-weight: 800;
}

.fcc-create-menu-text[b-u96jt51smn] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

    .fcc-create-menu-text strong[b-u96jt51smn] {
        color: #00283c;
        font-size: 13px;
    }

    .fcc-create-menu-text small[b-u96jt51smn] {
        margin-top: 2px;
        color: #71838d;
        font-size: 11px;
    }


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) and (min-width: 851px) {

    .fcc-sidebar[b-u96jt51smn] {
        width: 210px;
    }

    .fcc-main[b-u96jt51smn] {
        width: calc(100% - 210px);
        margin-left: 210px;
    }

    .fcc-header[b-u96jt51smn] {
        padding: 0 24px;
    }

    .fcc-content[b-u96jt51smn] {
        padding: 24px;
    }

    .fcc-create-menu[b-u96jt51smn] {
        right: 72px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 850px) {

    .fcc-layout[b-u96jt51smn] {
        display: block;
        min-height: 100dvh;
    }

    .fcc-sidebar[b-u96jt51smn] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(82vw, 310px);
        height: 100dvh;
        z-index: 20000 !important;
        transform: translateX(-105%);
        transition: transform .22s ease;
        overflow-y: auto;
        background: linear-gradient(180deg, #00465f 0%, #00283c 100%);
        box-shadow: 18px 0 50px rgba(1,62,87,.25);
        pointer-events: auto;
        isolation: isolate;
    }

        .fcc-sidebar.mobile-open[b-u96jt51smn] {
            transform: translateX(0);
        }

    .mobile-sidebar-top[b-u96jt51smn] {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 20010;
    }

    .mobile-sidebar-close[b-u96jt51smn] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 1px solid rgba(255,255,255,.20);
        border-radius: 50%;
        color: white;
        background: rgba(255,255,255,.12);
        font-size: 27px;
        line-height: 1;
        cursor: pointer;
    }

    .mobile-menu-backdrop[b-u96jt51smn] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 15000 !important;
        width: 100vw;
        height: 100dvh;
        border: 0;
        margin: 0;
        padding: 0;
        background: rgba(0,27,41,.48);
    }

    .fcc-main[b-u96jt51smn] {
        width: 100%;
        margin-left: 0;
    }

    .fcc-header[b-u96jt51smn] {
        width: 100%;
        height: 66px;
        min-height: 66px;
        padding: max(8px, env(safe-area-inset-top)) 12px 8px;
        gap: 10px;
    }

    .fcc-header-left[b-u96jt51smn] {
        flex: 1 1 auto;
        min-width: 0;
        gap: 10px;
    }

    .fcc-header-actions[b-u96jt51smn] {
        gap: 7px;
    }

    .mobile-menu-button[b-u96jt51smn] {
        display: flex;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: 13px;
        background: rgba(255,255,255,.09);
        cursor: pointer;
    }

        .mobile-menu-button span[b-u96jt51smn] {
            width: 18px;
            height: 2px;
            border-radius: 999px;
            background: white;
        }

    .fcc-header-title[b-u96jt51smn] {
        min-width: 0;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: 16px;
        flex: 1 1 auto;
    }

    .fcc-create-button[b-u96jt51smn] {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        font-size: 28px;
    }

    .fcc-create-menu[b-u96jt51smn] {
        top: auto;
        left: 12px;
        right: 12px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        width: auto;
        border-radius: 20px;
    }

    .fcc-document-menu-backdrop[b-u96jt51smn] {
        background: rgba(0,27,41,.38);
    }

    .fcc-content[b-u96jt51smn] {
        width: 100%;
        max-width: 100%;
        padding: 10px 12px calc(80px + env(safe-area-inset-bottom));
        overflow-x: hidden;
    }

    .fcc-account-name[b-u96jt51smn] {
        display: none;
    }

    .fcc-account-button[b-u96jt51smn] {
        padding: 4px;
    }

    .fcc-account-menu[b-u96jt51smn] {
        position: fixed !important;
        top: 72px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        z-index: 25000 !important;
    }

    img[b-u96jt51smn],
    table[b-u96jt51smn],
    input[b-u96jt51smn],
    select[b-u96jt51smn],
    textarea[b-u96jt51smn],
    button[b-u96jt51smn] {
        max-width: 100%;
    }

    input[b-u96jt51smn],
    select[b-u96jt51smn],
    textarea[b-u96jt51smn] {
        box-sizing: border-box;
    }
}


/* =========================================================
   IPHONE
   ========================================================= */

@media (max-width: 480px) {

    .fcc-header[b-u96jt51smn] {
        padding-left: 9px;
        padding-right: 9px;
    }

    .fcc-header-title[b-u96jt51smn] {
        font-size: 15px;
    }

    .fcc-content[b-u96jt51smn] {
        padding: 8px 10px calc(76px + env(safe-area-inset-bottom));
    }

    .fcc-sidebar[b-u96jt51smn] {
        width: min(82vw, 310px);
    }
}

/* FCC 1.3.1 */
.fcc-title-stack[b-u96jt51smn]{display:flex;align-items:center;gap:10px;min-width:0}.fcc-version-badge[b-u96jt51smn]{font-size:11px;font-weight:800;letter-spacing:.04em;color:#eaffff;background:rgba(1,62,87,.22);border:1px solid rgba(255,255,255,.28);padding:4px 8px;border-radius:999px;white-space:nowrap}.fcc-upload-button[b-u96jt51smn]{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);color:white;display:grid;place-items:center;cursor:pointer}.fcc-upload-button:hover[b-u96jt51smn]{background:rgba(255,255,255,.2)}.fcc-upload-button svg[b-u96jt51smn]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.fcc-version-badge[b-u96jt51smn]{display:none}.fcc-upload-button[b-u96jt51smn],.fcc-create-button[b-u96jt51smn]{width:42px!important;height:42px!important;min-width:42px!important}.fcc-header-actions[b-u96jt51smn]{gap:7px!important}}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.fcc-brand[b-o10y7gghs9] {
    padding: 22px 18px 20px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

    .fcc-brand img[b-o10y7gghs9] {
        width: 112px;
        height: 112px;
        object-fit: cover;
        display: block;
        margin: 0 auto 14px;
        border-radius: 20px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
    }

    .fcc-brand strong[b-o10y7gghs9] {
        display: block;
        color: white;
        font-size: 17px;
        font-weight: 800;
    }

    .fcc-brand span[b-o10y7gghs9] {
        display: block;
        margin-top: 4px;
        color: #9fd4d4;
        font-size: 12px;
    }

.fcc-navigation[b-o10y7gghs9] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px 10px;
}

[b-o10y7gghs9] .fcc-nav-link {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 48px;
    padding: 10px 14px;
    color: #f2fbfc;
    text-decoration: none;
    border-radius: 12px;
    transition: background-color .18s ease, transform .18s ease, color .18s ease;
}

    [b-o10y7gghs9] .fcc-nav-link svg {
        width: 23px;
        height: 23px;
        flex: 0 0 23px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    [b-o10y7gghs9] .fcc-nav-link span {
        font-size: 14px;
        font-weight: 600;
    }

    [b-o10y7gghs9] .fcc-nav-link:hover {
        color: white;
        background: rgba(255, 255, 255, .09);
        transform: translateX(2px);
    }

    [b-o10y7gghs9] .fcc-nav-link.active {
        color: white;
        background: linear-gradient(90deg, #18a3a1, #00b8b8);
        box-shadow: 0 8px 18px rgba(0, 170, 170, .22);
    }

@media (max-width: 850px) {
    .fcc-brand img[b-o10y7gghs9] {
        width: 90px;
        height: 90px;
    }

    [b-o10y7gghs9] .fcc-nav-link {
        padding: 10px;
    }
}

.fcc-nav-group[b-o10y7gghs9]{width:100%;border:0;background:transparent;font:inherit;cursor:pointer;text-align:left}.fcc-nav-chevron[b-o10y7gghs9]{margin-left:auto;font-style:normal;font-size:18px;transition:transform .18s}.fcc-nav-chevron.open[b-o10y7gghs9]{transform:rotate(180deg)}.fcc-subnav[b-o10y7gghs9]{display:grid;gap:3px;margin:-1px 0 5px 47px;padding-left:11px;border-left:1px solid rgba(159,212,212,.35)}[b-o10y7gghs9] .fcc-subnav a{color:#c8e7e8;text-decoration:none;padding:7px 9px;border-radius:8px;font-size:13px}[b-o10y7gghs9] .fcc-subnav a.active{color:white;background:rgba(24,163,161,.24)}[b-o10y7gghs9] .fcc-nav-link em{margin-left:auto;font-style:normal;font-size:9px;font-weight:800;background:#18a3a1;color:white;padding:3px 6px;border-radius:999px}

/* FCC 1.4.2 navigation polish */
.fcc-navigation[b-o10y7gghs9]{min-width:0;overflow-x:hidden}
[b-o10y7gghs9] .fcc-subnav a,
.fcc-subnav-group[b-o10y7gghs9]{
    color:#d8f0f0 !important;
    opacity:1 !important;
    width:100%;
    min-width:0;
    min-height:38px;
    display:flex;
    align-items:center;
    gap:8px;
    box-sizing:border-box;
    text-decoration:none;
    border:0;
    border-radius:9px;
    background:transparent;
    padding:8px 10px;
    font:inherit;
    font-size:13px;
    line-height:1.25;
    text-align:left;
    cursor:pointer;
    white-space:normal;
    overflow-wrap:anywhere;
    transition:background-color .15s ease,color .15s ease,transform .15s ease;
}
[b-o10y7gghs9] .fcc-subnav a:hover,
.fcc-subnav-group:hover[b-o10y7gghs9]{
    color:#fff !important;
    background:rgba(24,163,161,.28) !important;
}
[b-o10y7gghs9] .fcc-subnav a.active{
    color:#fff !important;
    background:rgba(24,163,161,.38) !important;
}
.fcc-subnav-group span[b-o10y7gghs9]{color:inherit !important;opacity:1 !important;min-width:0;flex:1}
.fcc-subnav-level2[b-o10y7gghs9]{margin-left:8px !important;padding-left:8px !important}
.fcc-subnav-level2::deep a[b-o10y7gghs9]{font-size:12.5px;padding-left:9px}
.fcc-nav-chevron[b-o10y7gghs9]{flex:0 0 auto;color:#c9eeee}

@media (max-width:700px){
    .fcc-navigation[b-o10y7gghs9]{overflow-x:hidden}
    .fcc-subnav[b-o10y7gghs9]{margin-left:20px !important;padding-left:8px !important;max-width:calc(100% - 20px)}
    .fcc-subnav-level2[b-o10y7gghs9]{margin-left:6px !important;max-width:calc(100% - 6px)}
    [b-o10y7gghs9] .fcc-subnav a,.fcc-subnav-group[b-o10y7gghs9]{min-height:44px;font-size:13px;padding:10px 9px}
    .fcc-subnav-level2::deep a[b-o10y7gghs9]{font-size:12.5px}
}

/* =========================================================
   FCC 1.4.3 – navigation readability + predictable chevrons
   ========================================================= */

/* Never rotate the disclosure symbol. Closed = ›, open = ⌄ is rendered in Razor. */
.fcc-nav-chevron[b-o10y7gghs9],
.fcc-nav-chevron.open[b-o10y7gghs9] {
    transform: none !important;
    rotate: none !important;
    transition: color .15s ease, opacity .15s ease !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    min-width:20px;
    font-size:20px;
    line-height:1;
    font-weight:700;
    color:#d6f3f2 !important;
    opacity:.92;
}
.fcc-nav-group:hover .fcc-nav-chevron[b-o10y7gghs9],
.fcc-subnav-group:hover .fcc-nav-chevron[b-o10y7gghs9] {
    color:#fff !important;
    opacity:1;
}

/* First nested level: visually a real navigation item, not helper text. */
[b-o10y7gghs9] .fcc-subnav > a,
.fcc-subnav > .fcc-subnav-group[b-o10y7gghs9] {
    min-height:44px !important;
    padding:10px 12px !important;
    font-size:15.5px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    border-radius:10px !important;
    color:#e7f6f6 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* Give first-level subnav slightly more usable width and less excessive indent. */
.fcc-subnav[b-o10y7gghs9] {
    margin-left:16px !important;
    padding-left:10px !important;
    max-width:calc(100% - 16px) !important;
    border-left:1px solid rgba(116,222,219,.28) !important;
}

/* Hover state: unmistakably interactive, while remaining calm. */
[b-o10y7gghs9] .fcc-subnav > a:hover,
.fcc-subnav > .fcc-subnav-group:hover[b-o10y7gghs9] {
    background:rgba(24,163,161,.24) !important;
    color:#fff !important;
}

[b-o10y7gghs9] .fcc-subnav > a.active {
    background:rgba(24,163,161,.38) !important;
    color:#fff !important;
    box-shadow:inset 3px 0 0 rgba(89,225,221,.95);
}

/* Second nested level remains subordinate, but is still comfortably readable. */
.fcc-subnav-level2[b-o10y7gghs9] {
    margin-left:9px !important;
    padding-left:9px !important;
    max-width:calc(100% - 9px) !important;
}
.fcc-subnav-level2::deep a[b-o10y7gghs9] {
    min-height:40px !important;
    padding:9px 10px !important;
    font-size:14.25px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
}
.fcc-subnav-level2::deep a:hover[b-o10y7gghs9] {
    background:rgba(24,163,161,.20) !important;
    color:#fff !important;
}
.fcc-subnav-level2::deep a.active[b-o10y7gghs9] {
    background:rgba(24,163,161,.32) !important;
    color:#fff !important;
}

/* Prevent Personalverwaltung from wrapping awkwardly on normal desktop sidebar widths. */
.fcc-subnav-group span[b-o10y7gghs9] {
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

@media (max-width:700px) {
    /* Mobile: larger tap targets and readable hierarchy without horizontal overflow. */
    .fcc-subnav[b-o10y7gghs9] {
        margin-left:10px !important;
        padding-left:8px !important;
        max-width:calc(100% - 10px) !important;
    }
    [b-o10y7gghs9] .fcc-subnav > a,
    .fcc-subnav > .fcc-subnav-group[b-o10y7gghs9] {
        min-height:48px !important;
        padding:11px 10px !important;
        font-size:15.5px !important;
    }
    .fcc-subnav-level2[b-o10y7gghs9] {
        margin-left:5px !important;
        padding-left:7px !important;
        max-width:calc(100% - 5px) !important;
    }
    .fcc-subnav-level2::deep a[b-o10y7gghs9] {
        min-height:46px !important;
        padding:10px 9px !important;
        font-size:14.5px !important;
    }
    .fcc-nav-chevron[b-o10y7gghs9] {
        font-size:21px !important;
        width:22px;
        min-width:22px;
    }
}

/* =========================================================
   FCC 1.4.4 – hierarchy correction
   Subnavigation must NEVER visually outrank main navigation.
   ========================================================= */

/* Main nested level: readable, but visibly subordinate. */
[b-o10y7gghs9] .fcc-subnav > a,
.fcc-subnav > .fcc-subnav-group[b-o10y7gghs9] {
    min-height:40px !important;
    padding:8px 10px !important;
    font-size:14px !important;
    line-height:1.3 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    color:rgba(237,250,250,.90) !important;
    border-radius:9px !important;
}

/* Nested navigation should feel lighter than the parent group. */
.fcc-subnav[b-o10y7gghs9] {
    margin-left:16px !important;
    padding-left:10px !important;
    border-left:1px solid rgba(116,222,219,.24) !important;
}

/* Personalverwaltung is a submenu trigger, but not a new main category. */
.fcc-subnav > .fcc-subnav-group[b-o10y7gghs9] {
    font-size:14px !important;
    font-weight:500 !important;
}

/* Second level is deliberately quieter. */
.fcc-subnav-level2::deep a[b-o10y7gghs9] {
    min-height:38px !important;
    padding:7px 9px !important;
    font-size:13.25px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
    color:rgba(229,246,246,.84) !important;
}

/* Hover remains obvious without making nested items look like main buttons. */
[b-o10y7gghs9] .fcc-subnav > a:hover,
.fcc-subnav > .fcc-subnav-group:hover[b-o10y7gghs9] {
    background:rgba(24,163,161,.18) !important;
    color:#fff !important;
}

.fcc-subnav-level2::deep a:hover[b-o10y7gghs9] {
    background:rgba(24,163,161,.14) !important;
    color:#fff !important;
}

/* Active subitem: clear location marker, still subordinate. */
[b-o10y7gghs9] .fcc-subnav > a.active {
    background:rgba(24,163,161,.24) !important;
    color:#fff !important;
    box-shadow:inset 2px 0 0 rgba(89,225,221,.85) !important;
    font-weight:600 !important;
}

.fcc-subnav-level2::deep a.active[b-o10y7gghs9] {
    background:rgba(24,163,161,.20) !important;
    color:#fff !important;
    font-weight:500 !important;
}

/* Disclosure chevron inside subnavigation stays modest. */
.fcc-subnav .fcc-nav-chevron[b-o10y7gghs9] {
    font-size:17px !important;
    width:18px !important;
    min-width:18px !important;
    opacity:.85 !important;
}

/* Keep long names legible. Prefer fitting over oversized typography. */
.fcc-subnav-group span[b-o10y7gghs9] {
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

@media (max-width:700px) {
    /* Mobile keeps generous touch targets, but hierarchy remains typographic. */
    [b-o10y7gghs9] .fcc-subnav > a,
    .fcc-subnav > .fcc-subnav-group[b-o10y7gghs9] {
        min-height:46px !important;
        padding:10px 10px !important;
        font-size:14.5px !important;
        font-weight:500 !important;
    }

    .fcc-subnav-level2::deep a[b-o10y7gghs9] {
        min-height:44px !important;
        padding:9px 9px !important;
        font-size:13.5px !important;
        font-weight:400 !important;
    }

    .fcc-subnav .fcc-nav-chevron[b-o10y7gghs9] {
        font-size:18px !important;
    }
}
/* /Components/Layout/PortalLayout.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – GRUNDLAYOUT
   Mobil zuerst, damit die Oberfläche bereits ab 375px sauber
   funktioniert und erst auf größeren Breiten erweitert wird.
   ========================================================= */

.portal-shell[b-jdv7btlbg2] {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(24, 163, 161, .07),
            transparent 300px
        ),
        #f3f7fa;
    color: #062b45;
    font-family: Inter, Lato, Arial, sans-serif;
}


/* =========================================================
   MOBILER KOPFBEREICH
   ========================================================= */

.portal-mobilkopf[b-jdv7btlbg2] {
    position: sticky;
    top: 0;
    z-index: 30;

    display: flex;
    align-items: center;
    gap: 12px;

    width: 100%;
    min-width: 0;
    min-height: 64px;

    padding:
        max(10px, env(safe-area-inset-top))
        14px
        10px;

    box-sizing: border-box;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #062b45 0%,
            #07394d 65%,
            #07566a 100%
        );

    box-shadow:
        0 4px 18px
        rgba(4, 33, 47, .14);
}


/* Der Menüknopf bleibt groß genug für eine sichere Bedienung
   mit dem Finger. */
.portal-menuknopf[b-jdv7btlbg2] {
    display: flex;
    flex: 0 0 46px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;

    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;

    padding: 0 11px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(255, 255, 255, .18);

    border-radius: 13px;

    background:
        rgba(255, 255, 255, .08);

    cursor: pointer;

    transition:
        background .16s ease,
        border-color .16s ease,
        transform .16s ease;
}


.portal-menuknopf:hover[b-jdv7btlbg2] {
    background:
        rgba(255, 255, 255, .13);

    border-color:
        rgba(255, 255, 255, .28);
}


.portal-menuknopf:active[b-jdv7btlbg2] {
    transform: scale(.97);
}


.portal-menuknopf span[b-jdv7btlbg2] {
    display: block;

    width: 100%;
    height: 2px;

    border-radius: 999px;

    background: #ffffff;
}


.portal-mobilmarke[b-jdv7btlbg2] {
    display: flex;
    align-items: center;
    gap: 9px;

    min-width: 0;
    min-height: 44px;

    color: inherit;

    text-decoration: none;

    font-size: 15px;
    font-weight: 750;
}


.portal-mobilmarke img[b-jdv7btlbg2] {
    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    object-fit: contain;

    padding: 3px;

    box-sizing: border-box;

    border-radius: 10px;

    background: #ffffff;
}


.portal-mobilmarke span[b-jdv7btlbg2],
.portal-mobilmarke strong[b-jdv7btlbg2] {
    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   VERSTECKTER MENÜSCHALTER
   ========================================================= */

/* Der Schalter verwaltet ausschließlich den Zustand der
   mobilen Seitenschublade und bleibt selbst unsichtbar. */
.portal-menue-schalter[b-jdv7btlbg2] {
    position: absolute;

    width: 1px;
    height: 1px;

    margin: -1px;
    padding: 0;

    overflow: hidden;

    clip: rect(0 0 0 0);

    border: 0;

    opacity: 0;

    pointer-events: none;
}


/* =========================================================
   MOBILE SEITENSCHUBLADE
   ========================================================= */

.portal-seite[b-jdv7btlbg2] {
    position: fixed;
    inset:
        0
        auto
        0
        0;

    z-index: 50;

    display: flex;
    flex-direction: column;

    width: min(286px, 86vw);
    max-width: 286px;
    height: 100dvh;

    padding:
        max(22px, env(safe-area-inset-top))
        16px
        max(20px, env(safe-area-inset-bottom));

    box-sizing: border-box;

    overflow-y: auto;
    overscroll-behavior: contain;

    color: #ffffff;

    background:
        linear-gradient(
            165deg,
            #062b45 0%,
            #05283a 52%,
            #04212f 100%
        );

    box-shadow:
        18px 0 45px
        rgba(4, 33, 47, .22);

    transform: translateX(-105%);

    transition:
        transform .22s ease;
}


.portal-menue-schalter:checked ~ .portal-seite[b-jdv7btlbg2] {
    transform: translateX(0);
}


.portal-menue-schalter:not(:checked) ~ .portal-seite[b-jdv7btlbg2] {
    transform: translateX(-105%);
}


/* =========================================================
   MARKE IN DER SEITENLEISTE
   ========================================================= */

.portal-marke[b-jdv7btlbg2] {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 0;
    min-height: 56px;

    padding: 0 7px 22px;

    color: inherit;

    text-decoration: none;
}


.portal-marke img[b-jdv7btlbg2] {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    object-fit: contain;

    padding: 4px;

    box-sizing: border-box;

    border-radius: 14px;

    background: #ffffff;

    box-shadow:
        0 7px 18px
        rgba(0, 0, 0, .11);
}


.portal-marke span[b-jdv7btlbg2] {
    display: flex;
    flex-direction: column;

    min-width: 0;

    line-height: 1.25;
}


.portal-marke strong[b-jdv7btlbg2] {
    overflow: hidden;

    color: #ffffff;

    font-size: 17px;
    font-weight: 800;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.portal-marke small[b-jdv7btlbg2] {
    margin-top: 3px;

    overflow: hidden;

    color:
        rgba(255, 255, 255, .58);

    font-size: 11px;
    font-weight: 500;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.portal-nav[b-jdv7btlbg2] {
    display: flex;
    flex-direction: column;
    gap: 4px;

    width: 100%;
}


/* ::deep ist erforderlich, weil die Verweise von einer
   untergeordneten Komponente ausgegeben werden. */
.portal-nav[b-jdv7btlbg2]  a {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    min-width: 0;
    min-height: 46px;

    padding: 10px 13px;

    box-sizing: border-box;

    border-radius: 12px;

    color:
        rgba(255, 255, 255, .75);

    text-decoration: none;

    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;

    transition:
        color .15s ease,
        background .15s ease,
        transform .15s ease;
}


.portal-nav[b-jdv7btlbg2]  a:hover {
    color: #ffffff;

    background:
        rgba(255, 255, 255, .07);
}


.portal-nav[b-jdv7btlbg2]  a:active {
    transform: scale(.985);
}


.portal-nav[b-jdv7btlbg2]  a.active {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #139594 100%
        );

    box-shadow:
        0 7px 18px
        rgba(24, 163, 161, .20);
}


.portal-nav-trenner[b-jdv7btlbg2] {
    width: calc(100% - 22px);
    height: 1px;

    margin: 14px 11px;

    background:
        rgba(255, 255, 255, .11);
}


/* =========================================================
   ABMELDEN
   ========================================================= */

.portal-abmelden[b-jdv7btlbg2] {
    margin-top: auto;
    padding-top: 22px;
}


.portal-abmelden button[b-jdv7btlbg2] {
    width: 100%;
    min-height: 46px;

    padding: 10px 14px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(255, 255, 255, .16);

    border-radius: 12px;

    color: #ffffff;

    background:
        rgba(255, 255, 255, .07);

    font: inherit;
    font-size: 14px;
    font-weight: 650;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease;
}


.portal-abmelden button:hover[b-jdv7btlbg2] {
    background:
        rgba(255, 255, 255, .12);

    border-color:
        rgba(255, 255, 255, .25);
}


/* =========================================================
   HINTERGRUNDSCHATTEN DER MOBILEN SCHUBLADE
   ========================================================= */

.portal-schatten[b-jdv7btlbg2] {
    display: none;
}


.portal-menue-schalter:checked ~ .portal-schatten[b-jdv7btlbg2] {
    position: fixed;
    inset: 0;

    z-index: 40;

    display: block;

    background:
        rgba(4, 33, 47, .48);

    backdrop-filter: blur(2px);

    cursor: pointer;
}


/* =========================================================
   INHALTSBEREICH
   ========================================================= */

.portal-inhalt[b-jdv7btlbg2] {
    display: flex;
    flex: 1;
    flex-direction: column;

    width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


.portal-main[b-jdv7btlbg2] {
    flex: 1;

    width: 100%;
    max-width: 100%;

    margin: 0 auto;
    padding:
        20px
        14px
        32px;

    box-sizing: border-box;
}


/* =========================================================
   FUSSZEILE
   ========================================================= */

.portal-foot[b-jdv7btlbg2] {
    display: flex;
    flex-direction: column;
    gap: 5px;

    width: 100%;

    padding:
        15px
        14px
        max(18px, env(safe-area-inset-bottom));

    box-sizing: border-box;

    border-top:
        1px solid #e1eaee;

    color: #81939c;

    background:
        rgba(255, 255, 255, .50);

    font-size: 12px;
    line-height: 1.5;
}


/* =========================================================
   KLEINE TABLETS UND GROSSE TELEFONE
   ========================================================= */

@media (min-width: 600px) {

    .portal-main[b-jdv7btlbg2] {
        padding:
            26px
            22px
            38px;
    }


    .portal-foot[b-jdv7btlbg2] {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;

        gap: 16px;

        padding:
            17px
            22px;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-shell[b-jdv7btlbg2] {
        flex-direction: row;

        min-height: 100vh;

        overflow: visible;
    }


    .portal-mobilkopf[b-jdv7btlbg2] {
        display: none;
    }


    .portal-menue-schalter[b-jdv7btlbg2] {
        display: none;
    }


    .portal-schatten[b-jdv7btlbg2] {
        display: none !important;
    }


    .portal-seite[b-jdv7btlbg2] {
        position: sticky;
        inset: auto;

        top: 0;

        z-index: 10;

        width: 244px;
        max-width: none;
        height: 100vh;

        flex: 0 0 244px;

        padding:
            26px
            18px
            22px;

        overflow-y: auto;

        transform: none !important;

        box-shadow:
            8px 0 28px
            rgba(4, 33, 47, .06);
    }


    .portal-marke[b-jdv7btlbg2] {
        padding-bottom: 26px;
    }


    .portal-main[b-jdv7btlbg2] {
        width: 100%;
        max-width: 1180px;

        padding:
            34px
            30px
            48px;
    }


    .portal-foot[b-jdv7btlbg2] {
        padding:
            17px
            30px;

        font-size: 12px;
    }
}


/* =========================================================
   GROSSE DESKTOPS
   ========================================================= */

@media (min-width: 1280px) {

    .portal-seite[b-jdv7btlbg2] {
        width: 258px;
        flex-basis: 258px;

        padding-left: 20px;
        padding-right: 20px;
    }


    .portal-main[b-jdv7btlbg2] {
        max-width: 1260px;

        padding:
            38px
            36px
            54px;
    }
}


/* =========================================================
   ZUGÄNGLICHKEIT
   ========================================================= */

.portal-menuknopf:focus-visible[b-jdv7btlbg2],
.portal-abmelden button:focus-visible[b-jdv7btlbg2],
.portal-marke:focus-visible[b-jdv7btlbg2],
.portal-mobilmarke:focus-visible[b-jdv7btlbg2],
.portal-nav[b-jdv7btlbg2]  a:focus-visible {
    outline:
        3px solid
        rgba(24, 163, 161, .45);

    outline-offset: 3px;
}


/* Bewegungen werden reduziert, wenn das Betriebssystem dies
   ausdrücklich vorgibt. */
@media (prefers-reduced-motion: reduce) {

    .portal-seite[b-jdv7btlbg2],
    .portal-menuknopf[b-jdv7btlbg2],
    .portal-nav[b-jdv7btlbg2]  a,
    .portal-abmelden button[b-jdv7btlbg2] {
        transition: none;
    }
}
/* /Components/Layout/PortalLoginLayout.razor.rz.scp.css */
.portal-login-shell[b-aa4py0yk79] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(150deg, #00465f 0%, #00283c 100%);
    font-family: Inter, Lato, Arial, sans-serif;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-sykvkncs2v],
.components-reconnect-repeated-attempt-visible[b-sykvkncs2v],
.components-reconnect-failed-visible[b-sykvkncs2v],
.components-pause-visible[b-sykvkncs2v],
.components-resume-failed-visible[b-sykvkncs2v],
.components-rejoining-animation[b-sykvkncs2v] {
    display: none;
}


/* =========================================================
   SICHTBARKEIT JE NACH BLAZOR-STATUS
   ========================================================= */

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-retrying[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-failed[b-sykvkncs2v],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-sykvkncs2v] {
    display: block;
}


/* =========================================================
   MODAL
   ========================================================= */

#components-reconnect-modal[b-sykvkncs2v] {
    width: min(92vw, 430px);
    margin: 18vh auto;
    padding: 0;
    border: 0;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(1, 62, 87, .28), 0 8px 24px rgba(0, 0, 0, .10);
    overflow: hidden;
    opacity: 0;
    transition: opacity .35s ease;
    animation: components-reconnect-modal-fadeOutOpacity-b-sykvkncs2v .3s both;
}

    #components-reconnect-modal[open][b-sykvkncs2v] {
        animation: components-reconnect-modal-slideUp-b-sykvkncs2v .55s cubic-bezier(.05, .89, .25, 1.02), components-reconnect-modal-fadeInOpacity-b-sykvkncs2v .3s ease-in-out;
        animation-fill-mode: both;
    }


    /* =========================================================
   BACKDROP
   ========================================================= */

    #components-reconnect-modal[b-sykvkncs2v]::backdrop {
        background: rgba(0, 25, 38, .52);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        animation: components-reconnect-modal-fadeInOpacity-b-sykvkncs2v .25s ease-in-out;
    }


/* =========================================================
   CONTAINER
   ========================================================= */

.components-reconnect-container[b-sykvkncs2v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 28px 28px 26px;
    text-align: center;
    background: radial-gradient( circle at top, rgba(24, 163, 161, .08), transparent 48% ), #ffffff;
}


/* =========================================================
   FUNKELFRITZE LOGO
   ========================================================= */

.fcc-reconnect-logo[b-sykvkncs2v] {
    width: 150px;
    max-width: 72%;
    height: auto;
    display: block;
    margin: 0 auto 2px;
    border-radius: 18px;
    object-fit: contain;
}


/* =========================================================
   TITEL
   ========================================================= */

.fcc-reconnect-title[b-sykvkncs2v] {
    margin-top: 2px;
    color: #013e57;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.6px;
}


/* =========================================================
   TEXTE
   ========================================================= */

#components-reconnect-modal p[b-sykvkncs2v] {
    margin: 0;
    text-align: center;
}

.fcc-reconnect-main[b-sykvkncs2v] {
    color: #013e57;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
}

.fcc-reconnect-sub[b-sykvkncs2v] {
    max-width: 320px;
    color: #718492;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}


/* =========================================================
   LADEANIMATION
   ========================================================= */

.components-rejoining-animation[b-sykvkncs2v] {
    position: relative;
    width: 58px;
    height: 58px;
    margin: 2px 0 1px;
}

    .components-rejoining-animation div[b-sykvkncs2v] {
        position: absolute;
        border: 3px solid #18a3a1;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-sykvkncs2v 1.45s cubic-bezier(0, .2, .8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-sykvkncs2v] {
            animation-delay: -.48s;
        }


/* =========================================================
   BUTTONS
   ========================================================= */

#components-reconnect-modal button[b-sykvkncs2v] {
    min-width: 180px;
    min-height: 46px;
    margin-top: 4px;
    padding: 11px 22px;
    border: 0;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient( 90deg, #18a3a1 0%, #00aaaa 100% );
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(24, 163, 161, .22);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

    #components-reconnect-modal button:hover[b-sykvkncs2v] {
        transform: translateY(-1px);
        box-shadow: 0 11px 26px rgba(24, 163, 161, .30);
        filter: brightness(1.03);
    }

    #components-reconnect-modal button:active[b-sykvkncs2v] {
        transform: translateY(0);
        box-shadow: 0 5px 14px rgba(24, 163, 161, .18);
    }

    #components-reconnect-modal button:focus-visible[b-sykvkncs2v] {
        outline: 3px solid rgba(24, 163, 161, .25);
        outline-offset: 3px;
    }


/* =========================================================
   ANIMATIONEN
   ========================================================= */

@keyframes components-reconnect-modal-slideUp-b-sykvkncs2v {

    0% {
        transform: translateY(28px) scale(.96);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}


@keyframes components-reconnect-modal-fadeInOpacity-b-sykvkncs2v {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


@keyframes components-reconnect-modal-fadeOutOpacity-b-sykvkncs2v {

    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


@keyframes components-rejoining-animation-b-sykvkncs2v {

    0% {
        top: 29px;
        left: 29px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 29px;
        left: 29px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0;
        left: 0;
        width: 58px;
        height: 58px;
        opacity: 0;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    #components-reconnect-modal[b-sykvkncs2v] {
        width: calc(100vw - 28px);
        margin: 15vh auto;
        border-radius: 22px;
    }

    .components-reconnect-container[b-sykvkncs2v] {
        padding: 24px 20px 22px;
    }

    .fcc-reconnect-logo[b-sykvkncs2v] {
        width: 135px;
    }

    .fcc-reconnect-title[b-sykvkncs2v] {
        font-size: 27px;
    }

    .fcc-reconnect-main[b-sykvkncs2v] {
        font-size: 17px;
    }

    .fcc-reconnect-sub[b-sykvkncs2v] {
        font-size: 13px;
    }
}
/* /Components/Pages/Anliegen.razor.rz.scp.css */
.anliegen-kopf[b-vtc5v3ozf2] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

    .anliegen-kopf h1[b-vtc5v3ozf2] {
        margin: 2px 0 4px;
        font-size: 26px;
        color: #062b45;
    }

    .anliegen-kopf p[b-vtc5v3ozf2] {
        margin: 0;
        color: #8a9aa1;
        font-size: 14px;
    }

.anliegen-kicker[b-vtc5v3ozf2] {
    display: block;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    color: #18a3a1;
    margin-bottom: 10px;
}

.anliegen-filter[b-vtc5v3ozf2] {
    display: flex;
    gap: 6px;
}

    .anliegen-filter button[b-vtc5v3ozf2] {
        border: 1px solid #dbe6ea;
        background: #ffffff;
        color: #43606d;
        border-radius: 999px;
        padding: 9px 18px;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        min-height: 40px;
    }

        .anliegen-filter button.active[b-vtc5v3ozf2] {
            background: #18a3a1;
            border-color: #18a3a1;
            color: #ffffff;
        }

/* Zwei Spalten am Schreibtisch. Auf dem Telefon wird daraus eine
   Ansicht: entweder Liste oder Detail, nie beides gequetscht. */
.anliegen-raster[b-vtc5v3ozf2] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 18px;
    align-items: start;
}

.anliegen-liste[b-vtc5v3ozf2] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.anliegen-zeile[b-vtc5v3ozf2] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: left;
    background: #ffffff;
    border: 1px solid #e6eef1;
    border-radius: 14px;
    padding: 13px 15px;
    cursor: pointer;
    font-family: inherit;
}

    .anliegen-zeile:hover[b-vtc5v3ozf2] {
        border-color: #18a3a1;
    }

    .anliegen-zeile.aktiv[b-vtc5v3ozf2] {
        border-color: #18a3a1;
        box-shadow: 0 0 0 2px rgba(24, 163, 161, .15);
    }

    .anliegen-zeile.ungelesen[b-vtc5v3ozf2] {
        background: #f6fbfb;
    }

    .anliegen-zeile strong[b-vtc5v3ozf2] {
        color: #062b45;
        font-size: 14px;
        line-height: 1.35;
    }

    .anliegen-zeile small[b-vtc5v3ozf2] {
        color: #8a9aa1;
        font-size: 12px;
    }

.anliegen-zeile-kopf[b-vtc5v3ozf2] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.anliegen-art[b-vtc5v3ozf2] {
    background: #eaf5f5;
    color: #0e6f6d;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 700;
}

    .anliegen-art.dringend[b-vtc5v3ozf2] {
        background: #fbe9e7;
        color: #a8352b;
    }

.anliegen-status[b-vtc5v3ozf2] {
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 700;
}

    .anliegen-status.offen[b-vtc5v3ozf2] {
        background: #eef2f4;
        color: #43606d;
    }

    .anliegen-status.wartet[b-vtc5v3ozf2] {
        background: #fdf3e3;
        color: #91621a;
    }

    .anliegen-status.erledigt[b-vtc5v3ozf2] {
        background: #e9f4ec;
        color: #2c6b41;
    }

.anliegen-punkt[b-vtc5v3ozf2] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #18a3a1;
    margin-left: auto;
}

.anliegen-detail[b-vtc5v3ozf2] {
    background: #ffffff;
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, .07);
}

.anliegen-detail-kopf h2[b-vtc5v3ozf2] {
    margin: 0 0 4px;
    font-size: 20px;
    color: #062b45;
}

.anliegen-detail-meta[b-vtc5v3ozf2] {
    margin: 0 0 14px;
    color: #8a9aa1;
    font-size: 13px;
}

/* Zurück zur Liste ist nur auf dem Telefon nötig - am Schreibtisch
   steht die Liste ohnehin daneben. */
.anliegen-zurueck[b-vtc5v3ozf2] {
    display: none;
    background: none;
    border: none;
    color: #18a3a1;
    font-size: 13px;
    font-weight: 700;
    padding: 0 0 10px;
    cursor: pointer;
    font-family: inherit;
}

.anliegen-schalter[b-vtc5v3ozf2] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf2f4;
}

    .anliegen-schalter label[b-vtc5v3ozf2] {
        display: flex;
        flex-direction: column;
        gap: 5px;
        font-size: 12px;
        font-weight: 600;
        color: #43606d;
    }

    .anliegen-schalter select[b-vtc5v3ozf2] {
        border: 1px solid #d9e5ea;
        border-radius: 10px;
        padding: 9px 12px;
        font-size: 14px;
        font-family: inherit;
        color: #062b45;
        background: #ffffff;
        min-height: 40px;
    }

/* Endgültige Aktionen sitzen rechts aussen, abgesetzt von den
   alltäglichen Schaltern daneben. */
.anliegen-endaktionen[b-vtc5v3ozf2] {
    display: flex;
    align-items: flex-end;
    gap: 8px;

    margin-left: auto;
}

.anliegen-aufbewahrung[b-vtc5v3ozf2] {
    margin: -8px 0 18px;
    color: #8a9aa1;
    font-size: 12px;
    line-height: 1.55;
}

.anliegen-protokoll[b-vtc5v3ozf2] {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d9e5ea;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px 15px;
    color: #0c7775;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    min-height: 40px;
}

    .anliegen-protokoll:hover[b-vtc5v3ozf2] {
        border-color: #18a3a1;
        background: #f5fbfb;
    }

.anliegen-ablehnen[b-vtc5v3ozf2],
.anliegen-loeschen[b-vtc5v3ozf2] {
    border: 1px solid #e6cfcb;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px 15px;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    min-height: 40px;
}

.anliegen-ablehnen[b-vtc5v3ozf2] {
    color: #91621a;
    border-color: #ecdcbe;
}

    .anliegen-ablehnen:hover:not(:disabled)[b-vtc5v3ozf2] {
        background: #fdf7ec;
    }

.anliegen-loeschen[b-vtc5v3ozf2] {
    color: #a8352b;
}

    .anliegen-loeschen:hover:not(:disabled)[b-vtc5v3ozf2] {
        background: #fdf3f2;
    }

    .anliegen-ablehnen:disabled[b-vtc5v3ozf2],
    .anliegen-loeschen:disabled[b-vtc5v3ozf2] {
        opacity: .5;
        cursor: default;
    }

/* Nachfrage vor einem endgültigen Schritt. */
.anliegen-nachfrage[b-vtc5v3ozf2] {
    margin-top: 14px;
    padding: 15px 17px;
    border: 1px solid #ecdcbe;
    border-radius: 13px;
    background: #fdf9f1;
}

    .anliegen-nachfrage.anliegen-nachfrage-warnung[b-vtc5v3ozf2] {
        border-color: #f0d9d6;
        background: #fdf5f4;
    }

    .anliegen-nachfrage strong[b-vtc5v3ozf2] {
        display: block;
        margin-bottom: 5px;
        color: #062b45;
        font-size: 15px;
    }

    .anliegen-nachfrage p[b-vtc5v3ozf2] {
        margin: 0 0 12px;
        color: #5c7079;
        font-size: 13px;
        line-height: 1.55;
    }

    .anliegen-nachfrage textarea[b-vtc5v3ozf2] {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #e0d6c4;
        border-radius: 11px;
        padding: 11px 13px;
        font-size: 15px;
        font-family: inherit;
        line-height: 1.5;
        resize: vertical;
        color: #062b45;
        margin-bottom: 12px;
        background: #ffffff;
    }

.anliegen-nachfrage-aktionen[b-vtc5v3ozf2] {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.anliegen-block[b-vtc5v3ozf2] {
    padding-top: 18px;
}

.anliegen-daten[b-vtc5v3ozf2] {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .anliegen-daten li[b-vtc5v3ozf2] {
        display: flex;
        gap: 10px;
        font-size: 14px;
    }

    .anliegen-daten span[b-vtc5v3ozf2] {
        color: #8a9aa1;
        min-width: 110px;
    }

    .anliegen-daten strong[b-vtc5v3ozf2] {
        color: #062b45;
        font-weight: 600;
    }

.anliegen-termin[b-vtc5v3ozf2] {
    background: #f8fbfc;
    border: 1px solid #e6eef1;
    border-radius: 14px;
    padding: 16px 18px;
    margin-top: 18px;
}

/* Ergebnis des Generators - deutlich als Rechnung gekennzeichnet,
   nicht als Zusage. */
.anliegen-schaetzung[b-vtc5v3ozf2] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #f2fafa;
    border: 1px solid #d7ecec;
    border-radius: 12px;
    padding: 13px 15px;
    margin-bottom: 12px;
}

    .anliegen-schaetzung .anliegen-kicker[b-vtc5v3ozf2] {
        margin-bottom: 4px;
    }

    .anliegen-schaetzung strong[b-vtc5v3ozf2] {
        font-size: 17px;
        color: #062b45;
    }

    .anliegen-schaetzung small[b-vtc5v3ozf2] {
        color: #5c7079;
        font-size: 12px;
    }

    .anliegen-schaetzung.leer[b-vtc5v3ozf2] {
        background: #fdf9f0;
        border-color: #f0e4cd;
        color: #91621a;
        font-size: 13px;
        line-height: 1.5;
    }

        .anliegen-schaetzung.leer a[b-vtc5v3ozf2] {
            color: #91621a;
            font-weight: 700;
            margin-left: 6px;
        }

.anliegen-zustimmung[b-vtc5v3ozf2] {
    background: #e9f4ec;
    color: #2c6b41;
    border-radius: 10px;
    padding: 10px 13px;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
}

.anliegen-erledigt[b-vtc5v3ozf2] {
    color: #2c6b41;
    font-size: 14px;
}

    .anliegen-erledigt a[b-vtc5v3ozf2] {
        color: #18a3a1;
        margin-left: 8px;
    }

.anliegen-terminfelder[b-vtc5v3ozf2] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

    .anliegen-terminfelder label[b-vtc5v3ozf2] {
        display: flex;
        flex-direction: column;
        gap: 5px;
        font-size: 12px;
        font-weight: 600;
        color: #43606d;
    }

    .anliegen-terminfelder input[b-vtc5v3ozf2],
    .anliegen-terminfelder select[b-vtc5v3ozf2] {
        border: 1px solid #d9e5ea;
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 15px;
        font-family: inherit;
        color: #062b45;
        background: #ffffff;
        min-height: 42px;
    }

.anliegen-terminaktionen[b-vtc5v3ozf2] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.anliegen-sekundaer[b-vtc5v3ozf2] {
    background: #ffffff;
    border: 1px solid #d9e5ea;
    color: #43606d;
    border-radius: 999px;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    min-height: 44px;
}

.anliegen-verlauf[b-vtc5v3ozf2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .anliegen-verlauf li[b-vtc5v3ozf2] {
        display: flex;
        flex-direction: column;
        gap: 4px;
        border-radius: 14px;
        padding: 12px 15px;
        max-width: 82%;
    }

        /* Der Kunde links, wir rechts - gespiegelt zur Kundenansicht,
           weil hier die eigene Seite die des Betriebs ist. */
        .anliegen-verlauf li.kunde[b-vtc5v3ozf2] {
            align-self: flex-start;
            background: #f4f7f9;
        }

        .anliegen-verlauf li.betrieb[b-vtc5v3ozf2] {
            align-self: flex-end;
            background: #eaf5f5;
        }

        .anliegen-verlauf li.hinweis[b-vtc5v3ozf2] {
            align-self: stretch;
            max-width: none;
            background: transparent;
            border: 1px dashed #dbe6ea;
            color: #5c7079;
        }

.anliegen-verlauf-kopf[b-vtc5v3ozf2] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

    .anliegen-verlauf-kopf strong[b-vtc5v3ozf2] {
        font-size: 13px;
        color: #062b45;
    }

    .anliegen-verlauf-kopf small[b-vtc5v3ozf2] {
        font-size: 11px;
        color: #8a9aa1;
    }

.anliegen-verlauf-text[b-vtc5v3ozf2] {
    font-size: 14px;
    line-height: 1.55;
    color: #23414f;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.anliegen-block textarea[b-vtc5v3ozf2] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d9e5ea;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    color: #062b45;
    margin-bottom: 12px;
}

.anliegen-meldung[b-vtc5v3ozf2] {
    background: #eef7f7;
    border-radius: 10px;
    padding: 10px 13px;
    margin-bottom: 12px;
    color: #235a63;
    font-size: 13px;
}

.anliegen-leer[b-vtc5v3ozf2] {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px 24px;
    color: #8a9aa1;
    font-size: 14px;
}

@media (max-width: 900px) {

    .anliegen-raster[b-vtc5v3ozf2] {
        grid-template-columns: 1fr;
    }

    .anliegen-liste[b-vtc5v3ozf2] {
        max-height: none;
    }

        /* Ist etwas ausgewählt, tritt die Liste auf dem Telefon
           zurück - sonst müsste man an ihr vorbeiscrollen. */
        .anliegen-liste.mit-auswahl[b-vtc5v3ozf2] {
            display: none;
        }

    .anliegen-zurueck[b-vtc5v3ozf2] {
        display: block;
    }

    .anliegen-detail[b-vtc5v3ozf2] {
        padding: 18px 16px;
    }

    .anliegen-verlauf li[b-vtc5v3ozf2] {
        max-width: 100%;
    }

    .anliegen-terminfelder label[b-vtc5v3ozf2],
    .anliegen-terminfelder input[b-vtc5v3ozf2],
    .anliegen-terminfelder select[b-vtc5v3ozf2] {
        width: 100%;
    }

    .anliegen-terminaktionen button[b-vtc5v3ozf2] {
        width: 100%;
    }
}
/* /Components/Pages/AusgabenKategorienPanel.razor.rz.scp.css */
.ausgaben-panel[b-zsawsqqghz] {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px 28px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, 0.07);
    margin-bottom: 24px;
}

.ausgaben-head span[b-zsawsqqghz] {
    display: block;
    font-size: 11px;
    letter-spacing: 0.09em;
    font-weight: 700;
    color: #18a3a1;
    margin-bottom: 6px;
}

.ausgaben-head h2[b-zsawsqqghz] {
    margin: 0 0 6px;
    font-size: 20px;
    color: #062b45;
}

.ausgaben-head p[b-zsawsqqghz] {
    margin: 0 0 18px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.5;
}

.ausgaben-tabelle[b-zsawsqqghz] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

    .ausgaben-tabelle th[b-zsawsqqghz] {
        text-align: left;
        font-size: 11px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #8a9aa1;
        font-weight: 700;
        padding: 0 10px 8px 0;
        border-bottom: 1px solid #edf2f4;
    }

    .ausgaben-tabelle td[b-zsawsqqghz] {
        padding: 9px 10px 9px 0;
        border-bottom: 1px solid #f4f8f9;
        color: #234;
    }

    .ausgaben-tabelle tr.aus td[b-zsawsqqghz] {
        color: #a9b6bc;
        text-decoration: line-through;
    }

        .ausgaben-tabelle tr.aus td:first-child[b-zsawsqqghz] {
            text-decoration: none;
        }

    .ausgaben-tabelle .right[b-zsawsqqghz] {
        text-align: right;
        white-space: nowrap;
    }

    .ausgaben-tabelle tfoot td[b-zsawsqqghz] {
        border-bottom: none;
        border-top: 2px solid #edf2f4;
        padding-top: 12px;
        color: #062b45;
    }

.ausgaben-actions[b-zsawsqqghz] {
    margin-top: 18px;
}

.ausgaben-hinweis[b-zsawsqqghz] {
    margin-top: 14px;
    background: #f3f7fa;
    border-radius: 12px;
    padding: 14px 16px;
    color: #43606d;
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 600px) {

    .ausgaben-panel[b-zsawsqqghz] {
        padding: 20px 14px;
    }

    .ausgaben-tabelle[b-zsawsqqghz] {
        font-size: 13px;
    }

        /* Auf schmalen Displays ist die Beleganzahl die am ehesten
           verzichtbare Spalte - Summe und Kategorie bleiben. */
        .ausgaben-tabelle th:nth-child(3)[b-zsawsqqghz],
        .ausgaben-tabelle td:nth-child(3)[b-zsawsqqghz] {
            display: none;
        }

    .ausgaben-actions button[b-zsawsqqghz] {
        width: 100%;
    }
}
/* /Components/Pages/Belege.razor.rz.scp.css */
.receipts-page[b-0rtmt931wn]{max-width:1180px;margin:auto}.receipts-head[b-0rtmt931wn]{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:20px}.receipts-head span[b-0rtmt931wn],.modal-head span[b-0rtmt931wn]{font-size:11px;font-weight:900;letter-spacing:.09em;color:#18a3a1}.receipts-head h1[b-0rtmt931wn]{margin:5px 0 2px;color:#013e57}.receipts-head p[b-0rtmt931wn]{margin:0;color:#71838d}.primary[b-0rtmt931wn]{background:#18a3a1!important;color:#fff!important;border:0!important}.receipts-head button[b-0rtmt931wn],.modal-actions button[b-0rtmt931wn]{padding:12px 16px;border-radius:12px;border:1px solid #d7e4e6;font-weight:800;cursor:pointer}.receipt-tools[b-0rtmt931wn]{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-bottom:14px}.receipt-search[b-0rtmt931wn]{display:flex;align-items:center;border:1px solid #cbdcdf;border-radius:14px;background:#fff;padding:0 13px}.receipt-search input[b-0rtmt931wn]{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;padding:13px 8px}.receipt-card[b-0rtmt931wn]{background:white;border:1px solid #dce7e9;border-radius:18px;overflow:hidden}.receipt-table[b-0rtmt931wn]{overflow:auto}.receipt-table table[b-0rtmt931wn]{width:100%;border-collapse:collapse}.receipt-table th[b-0rtmt931wn],.receipt-table td[b-0rtmt931wn]{padding:14px;border-bottom:1px solid #edf2f3;text-align:left;white-space:nowrap}.receipt-table td small[b-0rtmt931wn]{display:block;color:#7b8d92}.right[b-0rtmt931wn]{text-align:right!important}.pill[b-0rtmt931wn]{background:#e8f7f6;color:#087f7e;padding:5px 8px;border-radius:999px;font-size:12px}.empty[b-0rtmt931wn]{padding:34px;text-align:center;color:#71838d}.receipt-overlay[b-0rtmt931wn]{position:fixed;inset:0;background:rgba(1,35,48,.55);z-index:3000;display:grid;place-items:center;padding:18px}.receipt-modal[b-0rtmt931wn]{width:min(720px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:20px;padding:22px}.modal-head[b-0rtmt931wn]{display:flex;justify-content:space-between}.modal-head h2[b-0rtmt931wn]{margin:4px 0 18px}.modal-head button[b-0rtmt931wn]{border:0;background:transparent;font-size:26px}.form-grid[b-0rtmt931wn]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label[b-0rtmt931wn]{display:grid;gap:6px;font-weight:700;color:#244e5e}.form-grid .wide[b-0rtmt931wn]{grid-column:1/-1}.form-grid input[b-0rtmt931wn],.form-grid select[b-0rtmt931wn]{width:100%;min-width:0}.check[b-0rtmt931wn]{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input[b-0rtmt931wn]{width:auto!important}.upload[b-0rtmt931wn]{border:1px dashed #9bcaca;padding:15px;border-radius:12px}.message[b-0rtmt931wn]{color:#b3261e}.modal-actions[b-0rtmt931wn]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:700px){.receipts-head[b-0rtmt931wn]{align-items:stretch;flex-direction:column}.receipt-tools[b-0rtmt931wn],.form-grid[b-0rtmt931wn]{grid-template-columns:1fr}.receipt-tools select[b-0rtmt931wn]{width:100%}.receipt-modal[b-0rtmt931wn]{padding:16px}.receipt-table table[b-0rtmt931wn]{min-width:760px}}
/* /Components/Pages/Dokumente.razor.rz.scp.css */
.docs-page[b-xobpnhg6xl] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.docs-head[b-xobpnhg6xl] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.docs-head span[b-xobpnhg6xl] {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .9px;
    color: #18a3a1;
}

.docs-head h1[b-xobpnhg6xl] {
    margin: 3px 0;
    color: #013e57;
    font-size: 28px;
}

.docs-head p[b-xobpnhg6xl] {
    margin: 0;
    color: #71838d;
    font-size: 13px;
}

.docs-head-actions[b-xobpnhg6xl] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.docs-search[b-xobpnhg6xl] {
    width: min(390px, 100%);
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid #d7e6e9;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(0, 40, 60, .04);
}

.docs-search svg[b-xobpnhg6xl] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: #64808c;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.docs-search input[b-xobpnhg6xl] {
    width: 100%;
    min-width: 0;
    height: 42px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #173b4c;
}

.docs-tabs[b-xobpnhg6xl] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.docs-tabs button[b-xobpnhg6xl] {
    border: 1px solid #dce7ea;
    border-radius: 999px;
    padding: 8px 14px;
    background: #fff;
    color: #45606d;
    cursor: pointer;
}

.docs-tabs button.active[b-xobpnhg6xl] {
    border-color: #18a3a1;
    background: #18a3a1;
    color: #fff;
}

.docs-card[b-xobpnhg6xl] {
    overflow: hidden;
    border: 1px solid #e1eaed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(0, 40, 60, .06);
}

.docs-table-wrap[b-xobpnhg6xl] {
    overflow: auto;
}

.docs-card table[b-xobpnhg6xl] {
    width: 100%;
    border-collapse: collapse;
}

.docs-card th[b-xobpnhg6xl],
.docs-card td[b-xobpnhg6xl] {
    padding: 13px 15px;
    border-bottom: 1px solid #edf2f4;
    text-align: left;
    white-space: nowrap;
}

.docs-card th[b-xobpnhg6xl] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #7a8c94;
    background: #f8fbfb;
}

.docs-card td[b-xobpnhg6xl] {
    font-size: 12px;
    color: #294b5a;
}

.right[b-xobpnhg6xl] {
    text-align: right !important;
}

.docs-row td:first-child[b-xobpnhg6xl] {
    white-space: normal;
}

.docs-sub[b-xobpnhg6xl] {
    display: block;
    margin-top: 3px;
    color: #6f858e;
    font-size: 11px;
    white-space: normal;
}

.docs-row.selectable[b-xobpnhg6xl] {
    cursor: pointer;
    transition: transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}

.docs-row.selectable:hover[b-xobpnhg6xl] {
    background: rgba(24, 163, 161, 0.05);
}

.docs-row.selected[b-xobpnhg6xl] {
    background: rgba(24, 163, 161, 0.12);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(1, 62, 87, 0.08);
    position: relative;
}

.fcc-secondary-button.active[b-xobpnhg6xl] {
    background: rgba(24, 163, 161, 0.14);
    border-color: #18a3a1;
    color: #0b6664;
}

.docs-selection-bar[b-xobpnhg6xl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 18px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #cfe6e6;
    box-shadow: 0 8px 22px rgba(0, 40, 60, .06);
    animation: fccSelectionBarIn-b-xobpnhg6xl .14s ease-out;
}

.docs-selection-bar > span[b-xobpnhg6xl] {
    font-weight: 800;
    color: #013e57;
    font-size: 13px;
}

.docs-selection-actions[b-xobpnhg6xl] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.docs-selection-actions button[b-xobpnhg6xl] {
    border: 1px solid #cfdee2;
    background: #fff;
    color: #013e57;
    border-radius: 10px;
    padding: 9px 14px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}

.docs-selection-actions button:hover:not(:disabled)[b-xobpnhg6xl] {
    background: #f2f8f8;
    border-color: #9ed8d7;
}

.docs-selection-actions button:disabled[b-xobpnhg6xl] {
    opacity: .45;
    cursor: not-allowed;
}

.docs-selection-actions button.danger[b-xobpnhg6xl] {
    border-color: #f0d7d4;
    background: #fff7f6;
    color: #b74239;
}

.docs-selection-actions button.danger:hover[b-xobpnhg6xl] {
    background: #ffecea;
}

@keyframes fccSelectionBarIn-b-xobpnhg6xl {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}

.docs-export-wrap[b-xobpnhg6xl] {
    position: relative;
}

.docs-export-panel[b-xobpnhg6xl] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 280px;
    max-width: calc(100vw - 32px);
    padding: 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #cfe6e6;
    box-shadow: 0 12px 28px rgba(0, 40, 60, .12);
    animation: fccSelectionBarIn-b-xobpnhg6xl .12s ease-out;
}

.docs-export-tabs[b-xobpnhg6xl] {
    display: flex;
    gap: 6px;
}

.docs-export-tabs button[b-xobpnhg6xl] {
    flex: 1;
    border: 1px solid #cfdee2 !important;
    background: #f7fafa !important;
    color: #6f818a !important;
    border-radius: 8px !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.docs-export-tabs button.active[b-xobpnhg6xl] {
    background: #eaf7f7 !important;
    border-color: #18a3a1 !important;
    color: #013e57 !important;
}

.docs-export-check[b-xobpnhg6xl] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #173b4c;
    cursor: pointer;
}

.docs-export-hint[b-xobpnhg6xl] {
    margin: 0;
    font-size: 12px;
    color: #6f818a;
}

.docs-export-panel .fcc-primary-button[b-xobpnhg6xl] {
    width: 100%;
    justify-content: center;
}

.status[b-xobpnhg6xl] {
    padding: 5px 8px;
    border-radius: 999px;
    background: #edf8f7;
    color: #087c7a;
    font-size: 10px;
    font-weight: 700;
}

.docs-actions[b-xobpnhg6xl] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.docs-icon[b-xobpnhg6xl] {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dce8eb;
    border-radius: 9px;
    background: #f8fbfb;
    color: #345967;
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}

.docs-icon:hover[b-xobpnhg6xl] {
    transform: translateY(-1px);
    border-color: #9ed8d7;
    background: #eef9f9;
}

.docs-icon svg[b-xobpnhg6xl] {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.docs-icon.pdf[b-xobpnhg6xl] {
    width: auto;
    min-width: 36px;
    padding: 0 8px;
    border-color: #013e57;
    background: #013e57;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
}

.docs-icon.danger[b-xobpnhg6xl] {
    color: #b74239;
    border-color: #f0d7d4;
    background: #fff7f6;
}

.docs-empty[b-xobpnhg6xl] {
    padding: 38px;
    text-align: center;
    color: #7b8d95;
}

.docs-modal-overlay[b-xobpnhg6xl] {
    position: fixed;
    inset: 0;
    z-index: 26000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(0, 35, 49, .48);
    backdrop-filter: blur(5px);
}

.docs-modal[b-xobpnhg6xl] {
    width: min(720px, 100%);
    max-height: calc(100dvh - 44px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 30, 45, .28);
}

.docs-modal-head[b-xobpnhg6xl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px 17px;
    border-bottom: 1px solid #e3ecef;
    background: linear-gradient(90deg, #0f8f92, #18a3a1);
    color: #fff;
}

.docs-modal-head span[b-xobpnhg6xl] {
    display: block;
    margin-bottom: 4px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .8px;
    opacity: .85;
}

.docs-modal-head h2[b-xobpnhg6xl] {
    margin: 0;
    font-size: 21px;
}

.docs-modal-head p[b-xobpnhg6xl] {
    margin: 5px 0 0;
    font-size: 12px;
    opacity: .88;
}

.docs-modal-close[b-xobpnhg6xl] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
}

.docs-modal-body[b-xobpnhg6xl] {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px 22px;
}

.docs-modal-body label[b-xobpnhg6xl] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #365865;
    font-size: 11px;
    font-weight: 700;
}

.docs-modal-body input[b-xobpnhg6xl],
.docs-modal-body textarea[b-xobpnhg6xl] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #b8dcde;
    border-radius: 11px;
    padding: 11px 12px;
    outline: none;
    background: #f5fbfb;
    color: #173b4c;
    font: inherit;
    font-weight: 400;
}

.docs-modal-body textarea[b-xobpnhg6xl] {
    resize: vertical;
    min-height: 170px;
}

.docs-attachment[b-xobpnhg6xl] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dce8eb;
    border-radius: 12px;
    background: #f8fbfb;
}

.docs-attachment svg[b-xobpnhg6xl] {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    fill: none;
    stroke: #18a3a1;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.docs-attachment div[b-xobpnhg6xl] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.docs-attachment strong[b-xobpnhg6xl] {
    color: #173b4c;
    font-size: 11px;
}

.docs-attachment span[b-xobpnhg6xl] {
    overflow: hidden;
    color: #71838d;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.docs-message[b-xobpnhg6xl] {
    padding: 11px 13px;
    border-radius: 10px;
    font-size: 12px;
}

.docs-message.error[b-xobpnhg6xl] {
    background: #fff1ef;
    color: #a83d34;
}

.docs-message.success[b-xobpnhg6xl] {
    background: #eaf8f4;
    color: #19765f;
}

.docs-message.warning[b-xobpnhg6xl] {
    background: #fff7e8;
    color: #8b661e;
}

.docs-modal-footer[b-xobpnhg6xl] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 22px;
    border-top: 1px solid #e3ecef;
    background: #fbfdfd;
}

.docs-modal-footer button[b-xobpnhg6xl] {
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-radius: 10px;
    font-weight: 750;
    cursor: pointer;
}

.docs-modal-footer .secondary[b-xobpnhg6xl] {
    background: #eaf1f3;
    color: #294b5a;
}

.docs-modal-footer .primary[b-xobpnhg6xl] {
    background: #18a3a1;
    color: #fff;
}

.docs-modal-footer .delete[b-xobpnhg6xl] {
    background: #c64b42;
    color: #fff;
}

.docs-modal-footer button:disabled[b-xobpnhg6xl] {
    opacity: .6;
    cursor: wait;
}

@media (max-width: 850px) {
    .docs-head[b-xobpnhg6xl] {
        align-items: stretch;
        flex-direction: column;
    }

    .docs-search[b-xobpnhg6xl] {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .docs-head h1[b-xobpnhg6xl] {
        font-size: 23px;
    }

    .docs-card th[b-xobpnhg6xl],
    .docs-card td[b-xobpnhg6xl] {
        padding: 10px;
    }

    .docs-modal-overlay[b-xobpnhg6xl] {
        padding: 10px;
    }

    .docs-modal[b-xobpnhg6xl] {
        max-height: calc(100dvh - 20px);
        border-radius: 15px;
    }

    .docs-modal-head[b-xobpnhg6xl],
    .docs-modal-body[b-xobpnhg6xl],
    .docs-modal-footer[b-xobpnhg6xl] {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* FCC 1.3.1: exactly one visible search surface */
.docs-search[b-xobpnhg6xl]{background:#fff!important;border:1px solid #b9d7d9!important;box-shadow:none!important;outline:none!important;overflow:hidden}.docs-search:focus-within[b-xobpnhg6xl]{border-color:#18a3a1!important;box-shadow:0 0 0 3px rgba(24,163,161,.12)!important}.docs-search input[b-xobpnhg6xl]{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;-webkit-appearance:none!important;appearance:none!important}.docs-search input:focus[b-xobpnhg6xl]{box-shadow:none!important;border:0!important}
@media(max-width:700px){.docs-head[b-xobpnhg6xl]{display:grid!important;grid-template-columns:1fr!important}.docs-head-actions[b-xobpnhg6xl]{width:100%;flex-direction:column;align-items:stretch}.docs-search[b-xobpnhg6xl]{width:100%!important;max-width:none!important}.docs-tabs[b-xobpnhg6xl]{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:3px}.docs-tabs button[b-xobpnhg6xl]{white-space:nowrap}.docs-card[b-xobpnhg6xl]{overflow:hidden}}

/* PDF-/CSV-Import-Wizard (gleiches Muster wie Kunden.razor.css) */
.close-button[b-xobpnhg6xl] { border: none; background: transparent; font-size: 28px; color: #71838d; cursor: pointer; }

.fcc-validation-alert[b-xobpnhg6xl] { position: relative; margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; background: rgba(24, 163, 161, 0.11); border: 1px solid rgba(24, 163, 161, 0.30); color: #073e3d; }

.csv-import-backdrop[b-xobpnhg6xl] { position:fixed; inset:0; background:rgba(1,38,53,.48); z-index:1090; backdrop-filter:blur(2px); }
.csv-import-modal[b-xobpnhg6xl] { position:fixed; z-index:1100; left:50%; top:50%; transform:translate(-50%,-50%); width:min(940px,calc(100vw - 32px)); max-height:min(820px,calc(100dvh - 40px)); background:#fff; border-radius:22px; box-shadow:0 24px 80px rgba(1,62,87,.28); display:flex; flex-direction:column; overflow:hidden; }
.csv-import-header[b-xobpnhg6xl] { flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; padding:22px 24px 14px; border-bottom:1px solid #e4edef; }
.csv-import-header h2[b-xobpnhg6xl] { margin:3px 0 0; color:#013e57; }
.csv-import-kicker[b-xobpnhg6xl] { color:#18a3a1; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.csv-import-stepper[b-xobpnhg6xl] { flex:0 0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:16px 24px; background:#f8fbfc; border-bottom:1px solid #e4edef; }
.csv-import-step[b-xobpnhg6xl] { display:flex; align-items:center; gap:8px; color:#82949c; min-width:0; }
.csv-import-step span[b-xobpnhg6xl] { width:28px; height:28px; border-radius:50%; background:#e7eef0; display:grid; place-items:center; font-weight:800; flex:0 0 auto; }
.csv-import-step small[b-xobpnhg6xl] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.csv-import-step.active[b-xobpnhg6xl] { color:#013e57; } .csv-import-step.active span[b-xobpnhg6xl],.csv-import-step.done span[b-xobpnhg6xl] { background:#18a3a1; color:white; }
.csv-import-content[b-xobpnhg6xl] { flex:1 1 auto; min-height:0; overflow:auto; padding:22px 24px; overscroll-behavior:contain; }
.csv-import-actions[b-xobpnhg6xl] { flex:0 0 auto; display:flex; justify-content:flex-end; gap:10px; padding:15px 24px calc(15px + env(safe-area-inset-bottom)); border-top:1px solid #e4edef; background:#fff; }

.csv-import-working[b-xobpnhg6xl] { display:block; margin-top:12px; color:#18a3a1; font-weight:700; }
.csv-import-summary[b-xobpnhg6xl] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.csv-import-summary>div[b-xobpnhg6xl] { border:1px solid #dce9eb; background:#f9fcfc; border-radius:14px; padding:14px; }
.csv-import-summary strong[b-xobpnhg6xl] { display:block; color:#013e57; font-size:22px; } .csv-import-summary span[b-xobpnhg6xl] { color:#6a828c; font-size:12px; }

.csv-upload-zone[b-xobpnhg6xl] { border:2px dashed #b8d6da; background:#f7fbfb; border-radius:18px; padding:34px 24px; text-align:center; }
.csv-upload-zone strong[b-xobpnhg6xl] { display:block; color:#013e57; font-size:18px; } .csv-upload-zone p[b-xobpnhg6xl] { color:#617b86; max-width:560px; margin:8px auto 18px; }

.csv-preview-list[b-xobpnhg6xl] { display:grid; gap:8px; }
.csv-preview-card[b-xobpnhg6xl] { display:flex; justify-content:space-between; gap:14px; border:1px solid #dce8eb; border-radius:13px; padding:12px 14px; }
.csv-preview-card.skip[b-xobpnhg6xl] { background:#fafafa; opacity:.76; } .csv-preview-card.ready[b-xobpnhg6xl] { border-left:4px solid #18a3a1; }
.csv-preview-main[b-xobpnhg6xl] { display:flex; flex-direction:column; min-width:0; } .csv-preview-main strong[b-xobpnhg6xl] { color:#013e57; } .csv-preview-main span[b-xobpnhg6xl],.csv-preview-main small[b-xobpnhg6xl] { color:#6f858e; overflow-wrap:anywhere; }
.csv-preview-status[b-xobpnhg6xl] { align-self:center; display:flex; flex-direction:column; align-items:flex-end; gap:6px; color:#7a6161; font-size:12px; text-align:right; } .csv-preview-status label[b-xobpnhg6xl] { color:#166e70; font-weight:700; display:flex; align-items:center; gap:6px; }

.csv-confirm-panel[b-xobpnhg6xl],.csv-import-success[b-xobpnhg6xl] { max-width:620px; margin:30px auto; padding:28px; border-radius:18px; background:#f7fbfb; border:1px solid #d8e9ea; text-align:center; }
.csv-confirm-panel strong[b-xobpnhg6xl],.csv-import-success strong[b-xobpnhg6xl] { display:block; color:#013e57; font-size:20px; } .csv-confirm-panel p[b-xobpnhg6xl],.csv-import-success p[b-xobpnhg6xl] { color:#677f89; }
.csv-confirm-stats[b-xobpnhg6xl] { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; } .csv-confirm-stats span[b-xobpnhg6xl] { background:#fff; border:1px solid #dce8ea; border-radius:999px; padding:7px 11px; font-size:12px; }
.csv-import-success>span[b-xobpnhg6xl] { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#18a3a1; color:#fff; margin:0 auto 14px; font-size:28px; }

@media (max-width:700px) {
  .csv-import-modal[b-xobpnhg6xl] { top:max(10px,env(safe-area-inset-top)); left:10px; right:10px; bottom:10px; width:auto; max-height:none; transform:none; border-radius:18px; }
  .csv-import-header[b-xobpnhg6xl] { padding:17px 16px 12px; }
  .csv-import-stepper[b-xobpnhg6xl] { padding:12px 14px; gap:4px; } .csv-import-step[b-xobpnhg6xl] { justify-content:center; } .csv-import-step small[b-xobpnhg6xl] { display:none; } .csv-import-step.active small[b-xobpnhg6xl] { display:block; font-size:11px; }
  .csv-import-content[b-xobpnhg6xl] { padding:16px; }
  .csv-import-actions[b-xobpnhg6xl] { padding:12px 14px calc(12px + env(safe-area-inset-bottom)); flex-direction:column-reverse; } .csv-import-actions button[b-xobpnhg6xl] { width:100%; min-height:46px; }
  .csv-import-summary[b-xobpnhg6xl] { grid-template-columns:repeat(2,1fr); }
  .csv-preview-card[b-xobpnhg6xl] { flex-direction:column; } .csv-preview-status[b-xobpnhg6xl] { align-self:flex-start; text-align:left; }
}

.angebot-preview-link[b-xobpnhg6xl] {
    display: inline-block;
    margin-top: 4px;
    color: #18a3a1;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.angebot-preview-link:hover[b-xobpnhg6xl] {
    text-decoration: underline;
}

/* Status-Varianten: bezahlt und storniert sollen sich auf einen
   Blick vom neutralen Standardzustand unterscheiden. */
.status.bezahlt[b-xobpnhg6xl] {
    background: #e7f6ec;
    color: #1c7a41;
}

.status.storniert[b-xobpnhg6xl] {
    background: #f0f2f4;
    color: #75838b;
    text-decoration: line-through;
}

.docs-icon.bezahlt[b-xobpnhg6xl] {
    color: #1c7a41;
    border-color: rgba(28, 122, 65, .28);
}

    .docs-icon.bezahlt:hover[b-xobpnhg6xl] {
        background: #e7f6ec;
    }

.docs-feld[b-xobpnhg6xl] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #43606d;
    margin-top: 14px;
}

    .docs-feld input[b-xobpnhg6xl] {
        border: 1px solid #dbe6ea;
        border-radius: 10px;
        padding: 11px 13px;
        font-size: 15px;
        background: #f8fbfc;
        font-weight: 400;
    }
/* /Components/Pages/DokumentStammdatenPanel.razor.rz.scp.css */
.doc-settings-panel[b-glvbs9wzec]{margin-top:22px;padding:22px;background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(0,40,60,.07)}
.doc-settings-head[b-glvbs9wzec]{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.doc-settings-kicker[b-glvbs9wzec]{color:#18a3a1;font-size:10px;font-weight:800;letter-spacing:.7px}
.doc-settings-head h2[b-glvbs9wzec]{margin:3px 0 0;color:#00283c;font-size:22px}
.doc-settings-head p[b-glvbs9wzec]{margin:5px 0 0;color:#71838d;font-size:13px}
.doc-settings-primary[b-glvbs9wzec]{border:0;border-radius:11px;padding:11px 15px;background:#18a3a1;color:#fff;font-weight:700;cursor:pointer}
.doc-settings-tabs[b-glvbs9wzec]{display:flex;gap:8px;margin:20px 0 14px;padding:5px;background:#f0f5f6;border-radius:13px}
.doc-settings-tabs button[b-glvbs9wzec]{flex:0 1 auto;border:0;border-radius:9px;padding:9px 13px;background:transparent;color:#54727a;font-weight:700;cursor:pointer}
.doc-settings-tabs button.active[b-glvbs9wzec]{background:#fff;color:#087c7a;box-shadow:0 3px 10px rgba(0,40,60,.08)}
.doc-settings-message[b-glvbs9wzec]{margin:10px 0;padding:11px 13px;border:1px solid rgba(24,163,161,.25);border-radius:11px;background:rgba(24,163,161,.08);color:#28646c;font-size:12px}
.doc-settings-toolbar[b-glvbs9wzec]{display:flex;gap:10px;margin:14px 0}
.doc-settings-toolbar input[b-glvbs9wzec],.doc-settings-toolbar select[b-glvbs9wzec]{border:1px solid #d5e0e5;border-radius:10px;padding:10px 12px;background:#fff}
.doc-settings-toolbar input[b-glvbs9wzec]{flex:1}
.doc-settings-list[b-glvbs9wzec]{display:flex;flex-direction:column}
.doc-settings-row[b-glvbs9wzec]{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:18px;align-items:center;padding:15px 4px;border-bottom:1px solid #edf2f4}
.doc-settings-list.compact .doc-settings-row[b-glvbs9wzec]{grid-template-columns:minmax(0,1fr) auto}
.doc-settings-main[b-glvbs9wzec]{min-width:0;display:flex;flex-direction:column;gap:4px}
.doc-settings-main strong[b-glvbs9wzec]{color:#00283c}
.doc-settings-main small[b-glvbs9wzec],.doc-settings-main>span[b-glvbs9wzec]{color:#71838d;font-size:11px}
.doc-settings-title-line[b-glvbs9wzec]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.doc-settings-title-line .type[b-glvbs9wzec],.doc-settings-title-line .inactive[b-glvbs9wzec]{padding:4px 7px;border-radius:999px;background:#edf5f6;color:#365f69;font-size:9px;font-weight:800}
.doc-settings-title-line .inactive[b-glvbs9wzec]{background:#f1f3f4;color:#747d82}
.doc-settings-price[b-glvbs9wzec]{display:flex;flex-direction:column;align-items:flex-end}
.doc-settings-price small[b-glvbs9wzec],.doc-settings-price span[b-glvbs9wzec]{color:#81929c;font-size:10px}
.doc-settings-price strong[b-glvbs9wzec]{color:#013e57}
.doc-settings-actions[b-glvbs9wzec]{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.doc-settings-actions button[b-glvbs9wzec]{border:0;border-radius:8px;padding:8px 9px;background:#edf3f5;color:#365467;font-size:10px;font-weight:700;cursor:pointer}
.doc-settings-actions button.danger[b-glvbs9wzec]{background:#fff0ee;color:#b74c42}
.doc-settings-empty[b-glvbs9wzec]{padding:35px 10px;text-align:center;color:#81929c}
.doc-settings-overlay[b-glvbs9wzec]{position:fixed;inset:0;z-index:32000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,40,60,.42);backdrop-filter:blur(5px)}
.doc-settings-dialog[b-glvbs9wzec]{width:min(720px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,40,60,.28)}
.doc-settings-dialog.small[b-glvbs9wzec]{width:min(520px,100%)}
.doc-settings-dialog-head[b-glvbs9wzec]{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 15px;border-bottom:1px solid #e5edef}
.doc-settings-dialog-head span[b-glvbs9wzec]{color:#18a3a1;font-size:9px;font-weight:800;letter-spacing:.7px}
.doc-settings-dialog-head h3[b-glvbs9wzec]{margin:3px 0 0;color:#00283c}
.doc-settings-dialog-head button[b-glvbs9wzec]{width:34px;height:34px;border:0;border-radius:50%;background:#edf3f5;color:#607982;font-size:22px;cursor:pointer}
.doc-settings-form-grid[b-glvbs9wzec]{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:20px 22px}
.doc-settings-form-grid label[b-glvbs9wzec]{display:flex;flex-direction:column;gap:6px;color:#365467;font-size:11px;font-weight:700}
.doc-settings-form-grid label.full[b-glvbs9wzec]{grid-column:1/-1}
.doc-settings-form-grid input[b-glvbs9wzec],.doc-settings-form-grid select[b-glvbs9wzec],.doc-settings-form-grid textarea[b-glvbs9wzec]{width:100%;box-sizing:border-box;border:1px solid #d5e0e5;border-radius:9px;padding:10px 11px;outline:none;background:#fff}
.doc-settings-form-grid textarea[b-glvbs9wzec]{min-height:80px;resize:vertical}
.doc-settings-form-grid textarea.large[b-glvbs9wzec]{min-height:170px}
.doc-settings-form-grid label small[b-glvbs9wzec]{color:#81929c;font-weight:400}
.input-suffix[b-glvbs9wzec]{
    display:flex;
    align-items:center;
    width:100%;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid #d5e0e5;
    border-radius:9px;
    background:#fff;
}
.input-suffix input[b-glvbs9wzec]{
    flex:1 1 auto;
    width:0;
    min-width:0;
    box-sizing:border-box;
    border:0 !important;
    border-radius:0;
    box-shadow:none !important;
    background:transparent;
}
.input-suffix b[b-glvbs9wzec]{
    flex:0 0 auto;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    padding:0 10px;
    border-left:1px solid #e3ebee;
    color:#71838d;
    font-weight:600;
}
.doc-settings-dialog-actions[b-glvbs9wzec]{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid #e5edef;background:#fafcfc}
.doc-settings-dialog-actions button[b-glvbs9wzec]{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer}
.doc-settings-dialog-actions .primary[b-glvbs9wzec]{background:#18a3a1;color:#fff}.doc-settings-dialog-actions .secondary[b-glvbs9wzec]{background:#edf3f5;color:#365467}
@media(max-width:760px){.doc-settings-panel[b-glvbs9wzec]{padding:15px}.doc-settings-head[b-glvbs9wzec]{flex-direction:column}.doc-settings-head .doc-settings-primary[b-glvbs9wzec]{width:100%}.doc-settings-tabs[b-glvbs9wzec]{overflow-x:auto}.doc-settings-tabs button[b-glvbs9wzec]{white-space:nowrap}.doc-settings-row[b-glvbs9wzec],.doc-settings-list.compact .doc-settings-row[b-glvbs9wzec]{grid-template-columns:1fr}.doc-settings-price[b-glvbs9wzec]{align-items:flex-start}.doc-settings-actions[b-glvbs9wzec]{justify-content:flex-start}.doc-settings-toolbar[b-glvbs9wzec]{flex-direction:column}.doc-settings-form-grid[b-glvbs9wzec]{grid-template-columns:1fr}.doc-settings-form-grid label.full[b-glvbs9wzec]{grid-column:auto}.doc-settings-overlay[b-glvbs9wzec]{align-items:flex-end;padding:0}.doc-settings-dialog[b-glvbs9wzec],.doc-settings-dialog.small[b-glvbs9wzec]{width:100%;border-radius:20px 20px 0 0;max-height:94dvh}}

/* Artikel-CSV-Import-Wizard (gleiches Muster wie Kunden.razor.css) */
.doc-settings-head-actions[b-glvbs9wzec] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.close-button[b-glvbs9wzec] { border: none; background: transparent; font-size: 28px; color: #71838d; cursor: pointer; }

.fcc-validation-alert[b-glvbs9wzec] { position: relative; margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; background: rgba(24, 163, 161, 0.11); border: 1px solid rgba(24, 163, 161, 0.30); color: #073e3d; }

.csv-import-backdrop[b-glvbs9wzec] { position:fixed; inset:0; background:rgba(1,38,53,.48); z-index:1090; backdrop-filter:blur(2px); }
.csv-import-modal[b-glvbs9wzec] { position:fixed; z-index:1100; left:50%; top:50%; transform:translate(-50%,-50%); width:min(940px,calc(100vw - 32px)); max-height:min(820px,calc(100dvh - 40px)); background:#fff; border-radius:22px; box-shadow:0 24px 80px rgba(1,62,87,.28); display:flex; flex-direction:column; overflow:hidden; }
.csv-import-header[b-glvbs9wzec] { flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; padding:22px 24px 14px; border-bottom:1px solid #e4edef; }
.csv-import-header h2[b-glvbs9wzec] { margin:3px 0 0; color:#013e57; }
.csv-import-kicker[b-glvbs9wzec] { color:#18a3a1; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.csv-import-stepper[b-glvbs9wzec] { flex:0 0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:16px 24px; background:#f8fbfc; border-bottom:1px solid #e4edef; }
.csv-import-step[b-glvbs9wzec] { display:flex; align-items:center; gap:8px; color:#82949c; min-width:0; }
.csv-import-step span[b-glvbs9wzec] { width:28px; height:28px; border-radius:50%; background:#e7eef0; display:grid; place-items:center; font-weight:800; flex:0 0 auto; }
.csv-import-step small[b-glvbs9wzec] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.csv-import-step.active[b-glvbs9wzec] { color:#013e57; } .csv-import-step.active span[b-glvbs9wzec],.csv-import-step.done span[b-glvbs9wzec] { background:#18a3a1; color:white; }
.csv-import-content[b-glvbs9wzec] { flex:1 1 auto; min-height:0; overflow:auto; padding:22px 24px; overscroll-behavior:contain; }
.csv-import-actions[b-glvbs9wzec] { flex:0 0 auto; display:flex; justify-content:flex-end; gap:10px; padding:15px 24px calc(15px + env(safe-area-inset-bottom)); border-top:1px solid #e4edef; background:#fff; }

.csv-import-working[b-glvbs9wzec] { display:block; margin-top:12px; color:#18a3a1; font-weight:700; }
.csv-import-summary[b-glvbs9wzec] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.csv-import-summary>div[b-glvbs9wzec] { border:1px solid #dce9eb; background:#f9fcfc; border-radius:14px; padding:14px; }
.csv-import-summary strong[b-glvbs9wzec] { display:block; color:#013e57; font-size:22px; } .csv-import-summary span[b-glvbs9wzec] { color:#6a828c; font-size:12px; }

.csv-upload-zone[b-glvbs9wzec] { border:2px dashed #b8d6da; background:#f7fbfb; border-radius:18px; padding:34px 24px; text-align:center; }
.csv-upload-zone strong[b-glvbs9wzec] { display:block; color:#013e57; font-size:18px; } .csv-upload-zone p[b-glvbs9wzec] { color:#617b86; max-width:560px; margin:8px auto 18px; }

.csv-preview-list[b-glvbs9wzec] { display:grid; gap:8px; }
.csv-preview-card[b-glvbs9wzec] { display:flex; justify-content:space-between; gap:14px; border:1px solid #dce8eb; border-radius:13px; padding:12px 14px; }
.csv-preview-card.skip[b-glvbs9wzec] { background:#fafafa; opacity:.76; } .csv-preview-card.ready[b-glvbs9wzec] { border-left:4px solid #18a3a1; }
.csv-preview-main[b-glvbs9wzec] { display:flex; flex-direction:column; min-width:0; } .csv-preview-main strong[b-glvbs9wzec] { color:#013e57; } .csv-preview-main span[b-glvbs9wzec],.csv-preview-main small[b-glvbs9wzec] { color:#6f858e; overflow-wrap:anywhere; }
.csv-preview-status[b-glvbs9wzec] { align-self:center; color:#7a6161; font-size:12px; text-align:right; } .csv-preview-status label[b-glvbs9wzec] { color:#166e70; font-weight:700; }

.csv-confirm-panel[b-glvbs9wzec],.csv-import-success[b-glvbs9wzec] { max-width:620px; margin:30px auto; padding:28px; border-radius:18px; background:#f7fbfb; border:1px solid #d8e9ea; text-align:center; }
.csv-confirm-panel strong[b-glvbs9wzec],.csv-import-success strong[b-glvbs9wzec] { display:block; color:#013e57; font-size:20px; } .csv-confirm-panel p[b-glvbs9wzec],.csv-import-success p[b-glvbs9wzec] { color:#677f89; }
.csv-confirm-stats[b-glvbs9wzec] { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; } .csv-confirm-stats span[b-glvbs9wzec] { background:#fff; border:1px solid #dce8ea; border-radius:999px; padding:7px 11px; font-size:12px; }
.csv-import-success>span[b-glvbs9wzec] { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#18a3a1; color:#fff; margin:0 auto 14px; font-size:28px; }

@media (max-width:700px) {
  .csv-import-modal[b-glvbs9wzec] { top:max(10px,env(safe-area-inset-top)); left:10px; right:10px; bottom:10px; width:auto; max-height:none; transform:none; border-radius:18px; }
  .csv-import-header[b-glvbs9wzec] { padding:17px 16px 12px; }
  .csv-import-stepper[b-glvbs9wzec] { padding:12px 14px; gap:4px; } .csv-import-step[b-glvbs9wzec] { justify-content:center; } .csv-import-step small[b-glvbs9wzec] { display:none; } .csv-import-step.active small[b-glvbs9wzec] { display:block; font-size:11px; }
  .csv-import-content[b-glvbs9wzec] { padding:16px; }
  .csv-import-actions[b-glvbs9wzec] { padding:12px 14px calc(12px + env(safe-area-inset-bottom)); flex-direction:column-reverse; } .csv-import-actions button[b-glvbs9wzec] { width:100%; min-height:46px; }
  .csv-import-summary[b-glvbs9wzec] { grid-template-columns:repeat(2,1fr); }
  .csv-preview-card[b-glvbs9wzec] { flex-direction:column; } .csv-preview-status[b-glvbs9wzec] { align-self:flex-start; text-align:left; }
}
/* /Components/Pages/Einsaetze.razor.rz.scp.css */
.page-header[b-e9cankon02] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

    .page-header h1[b-e9cankon02] {
        margin: 0;
        color: #00283C;
        font-size: 28px;
        font-weight: 700;
    }

    .page-header p[b-e9cankon02] {
        margin: 5px 0 0;
        color: #6b7c86;
    }

    .fcc-primary-button:disabled[b-e9cankon02] {
        opacity: 0.5;
        cursor: not-allowed;
    }


/* STATS */

.einsatz-stats[b-e9cankon02] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.stat-card[b-e9cankon02] {
    background: white;
    border-radius: 12px;
    padding: 20px;
    border-left: 4px solid #18A3A1;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

    .stat-card span[b-e9cankon02] {
        display: block;
        color: #71838d;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .stat-card strong[b-e9cankon02] {
        color: #00283C;
        font-size: 26px;
    }


/* FORMULAR */

.einsatz-form-panel[b-e9cankon02] {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0, 40, 60, 0.08);
}

.form-header[b-e9cankon02] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}

    .form-header h2[b-e9cankon02] {
        margin: 0;
        color: #00283C;
    }

    .form-header p[b-e9cankon02] {
        margin: 5px 0 0;
        color: #71838d;
    }

.close-button[b-e9cankon02] {
    border: none;
    background: transparent;
    font-size: 28px;
    color: #71838d;
    cursor: pointer;
}

.form-section-title[b-e9cankon02] {
    margin: 24px 0 13px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8eef1;
    color: #174e59;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

    .form-section-title:first-of-type[b-e9cankon02] {
        margin-top: 0;
    }

.form-grid[b-e9cankon02] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field[b-e9cankon02] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full-width[b-e9cankon02] {
        grid-column: 1 / -1;
    }

    .form-field label[b-e9cankon02] {
        font-size: 13px;
        font-weight: 700;
        color: #365467;
    }

    .form-field input[b-e9cankon02],
    .form-field select[b-e9cankon02],
    .form-field textarea[b-e9cankon02] {
        width: 100%;
        border: 1px solid #d5e0e5;
        border-radius: 9px;
        padding: 11px 12px;
        outline: none;
        background: white;
    }

    .form-field textarea[b-e9cankon02] {
        min-height: 100px;
        resize: vertical;
    }

        .form-field input:focus[b-e9cankon02],
        .form-field select:focus[b-e9cankon02],
        .form-field textarea:focus[b-e9cankon02] {
            border-color: #18A3A1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10);
        }

[b-e9cankon02] .invalid {
    border-color: rgba(24, 163, 161, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10) !important;
}

[b-e9cankon02] .validation-message {
    display: none !important;
}

.form-actions[b-e9cankon02] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}


/* VALIDIERUNG */

.fcc-validation-alert[b-e9cankon02] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.11);
    border: 1px solid rgba(24, 163, 161, 0.30);
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.08);
    backdrop-filter: blur(8px);
    animation: fccAlertIn-b-e9cankon02 0.22s ease-out;
}

.fcc-validation-symbol[b-e9cankon02] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.18);
    color: #087c7a;
    font-size: 20px;
    font-weight: 800;
}

.fcc-validation-content[b-e9cankon02] {
    flex: 1;
    display: flex;
    flex-direction: column;
    color: #174e59;
}

    .fcc-validation-content strong[b-e9cankon02] {
        color: #087c7a;
        font-size: 15px;
        font-weight: 800;
        margin-bottom: 3px;
    }

    .fcc-validation-content > span[b-e9cankon02] {
        color: #54727a;
        font-size: 13px;
    }

    .fcc-validation-content ul[b-e9cankon02] {
        margin: 9px 0 0;
        padding-left: 18px;
        color: #245f66;
        font-size: 13px;
    }

    .fcc-validation-content li[b-e9cankon02] {
        margin: 3px 0;
    }

.fcc-validation-close[b-e9cankon02] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #388087;
    font-size: 21px;
    cursor: pointer;
}

    .fcc-validation-close:hover[b-e9cankon02] {
        background: rgba(24, 163, 161, 0.10);
    }

.fcc-info-alert[b-e9cankon02] {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
    padding: 15px 17px;
    border-radius: 13px;
    background: rgba(24, 163, 161, 0.08);
    border: 1px solid rgba(24, 163, 161, 0.20);
    color: #496c74;
}

    .fcc-info-alert > div:last-child[b-e9cankon02] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .fcc-info-alert strong[b-e9cankon02] {
        color: #087c7a;
    }

    .fcc-info-alert span[b-e9cankon02] {
        font-size: 13px;
    }

.fcc-info-symbol[b-e9cankon02] {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.14);
    color: #087c7a;
    font-weight: 800;
}

@keyframes fccAlertIn-b-e9cankon02 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* LISTE */

.einsatz-panel[b-e9cankon02] {
    background: white;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

.einsatz-toolbar[b-e9cankon02] {
    display: flex;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8eef1;
}

.einsatz-search[b-e9cankon02],
.einsatz-filter[b-e9cankon02] {
    border: 1px solid #d5e0e5;
    border-radius: 9px;
    padding: 10px 12px;
    outline: none;
    background: white;
}

.einsatz-search[b-e9cankon02] {
    flex: 1;
}

    .einsatz-search:focus[b-e9cankon02],
    .einsatz-filter:focus[b-e9cankon02] {
        border-color: #18A3A1;
    }

.empty-state[b-e9cankon02] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-e9cankon02] {
    font-size: 38px;
    margin-bottom: 12px;
}

.empty-state h2[b-e9cankon02] {
    color: #00283C;
    margin-bottom: 8px;
}

.empty-state p[b-e9cankon02] {
    color: #71838d;
    margin-bottom: 20px;
}


/* TABELLE */

.einsatz-table[b-e9cankon02] {
    margin-top: 8px;
}

.einsatz-table-header[b-e9cankon02],
.einsatz-row[b-e9cankon02] {
    display: grid;
    grid-template-columns: 1fr 1.7fr 1.4fr 1fr 1fr 60px;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
}

.einsatz-table-header[b-e9cankon02] {
    color: #71838d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e8eef1;
}

.einsatz-row[b-e9cankon02] {
    position: relative;
    border-bottom: 1px solid #edf2f4;
}

    .einsatz-row:hover[b-e9cankon02] {
        background: #f8fbfc;
    }

    .einsatz-row.today[b-e9cankon02] {
        background: rgba(24, 163, 161, 0.045);
        box-shadow: inset 3px 0 0 #18A3A1;
    }

        .einsatz-row.today:hover[b-e9cankon02] {
            background: rgba(24, 163, 161, 0.075);
        }

.einsatz-date[b-e9cankon02],
.einsatz-object[b-e9cankon02],
.einsatz-time[b-e9cankon02] {
    display: flex;
    flex-direction: column;
}

    .einsatz-date strong[b-e9cankon02],
    .einsatz-object strong[b-e9cankon02],
    .einsatz-time strong[b-e9cankon02] {
        color: #00283C;
    }

.einsatz-row small[b-e9cankon02] {
    color: #81929c;
    margin-top: 2px;
}

.leistung-badge[b-e9cankon02] {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    background: #edf5f6;
    color: #365f69;
    font-size: 12px;
    font-weight: 700;
}


/* STATUS */

.status-badge[b-e9cankon02] {
    display: inline-block;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.status-geplant[b-e9cankon02] {
    background: #e5f7f3;
    color: #087c6d;
}

.status-arbeit[b-e9cankon02] {
    background: #e9f3f8;
    color: #27647d;
}

.status-erledigt[b-e9cankon02] {
    background: #edf6ed;
    color: #397043;
}

.status-abgesagt[b-e9cankon02] {
    background: #f5f0f0;
    color: #806262;
}


/* AKTIONSMENÜ */

.einsatz-actions[b-e9cankon02] {
    position: relative;
    justify-self: end;
    width: 40px;
    display: flex;
    justify-content: flex-end;
}

.einsatz-menu-button[b-e9cankon02] {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #18A3A1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.92);
    transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
    box-shadow: 0 4px 14px rgba(0, 40, 60, 0.12);
}

.einsatz-row:hover .einsatz-menu-button[b-e9cankon02],
.einsatz-actions.menu-open .einsatz-menu-button[b-e9cankon02] {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.einsatz-menu-button:hover[b-e9cankon02] {
    background: #0f8f8d;
}

.einsatz-menu-button span[b-e9cankon02] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: white;
    display: block;
}

.einsatz-action-menu[b-e9cankon02] {
    position: absolute;
    top: 40px;
    right: 0;
    min-width: 190px;
    padding: 7px;
    background: white;
    border: 1px solid #e3ebef;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.15);
    z-index: 100;
}

.action-menu-item[b-e9cankon02] {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    padding: 10px 12px;
    border-radius: 8px;
    text-align: left;
    font-weight: 600;
    color: #00283C;
    cursor: pointer;
}

    .action-menu-item:hover[b-e9cankon02] {
        background: #f1f7f8;
    }

    .action-menu-item.danger[b-e9cankon02] {
        color: #c0392b;
    }

        .action-menu-item.danger:hover[b-e9cankon02] {
            background: #fff0ee;
        }


/* LÖSCHDIALOG */

.fcc-delete-overlay[b-e9cankon02] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: rgba(0, 40, 60, 0.32);
    backdrop-filter: blur(4px);
}

.fcc-delete-dialog[b-e9cankon02] {
    position: relative;
    width: min(540px, 100%);
    padding: 28px;
    background: white;
    border: 1px solid rgba(24, 163, 161, 0.22);
    border-radius: 20px;
    box-shadow: 0 30px 80px rgba(0, 40, 60, 0.22);
    animation: fccDeleteOpen-b-e9cankon02 0.18s ease-out;
}

@keyframes fccDeleteOpen-b-e9cankon02 {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.fcc-delete-icon[b-e9cankon02] {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.13);
    color: #087c7a;
    font-size: 23px;
    font-weight: 800;
}

.fcc-delete-header[b-e9cankon02] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .fcc-delete-header h2[b-e9cankon02] {
        margin: 0;
        color: #00283C;
        font-size: 22px;
    }

.fcc-delete-x[b-e9cankon02] {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #68818c;
    font-size: 24px;
    cursor: pointer;
}

    .fcc-delete-x:hover[b-e9cankon02] {
        background: #edf4f5;
    }

.fcc-delete-intro[b-e9cankon02] {
    margin: 14px 0 18px;
    color: #526b76;
    line-height: 1.55;
}

    .fcc-delete-intro strong[b-e9cankon02] {
        color: #00283C;
    }

.fcc-delete-warning[b-e9cankon02] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 13px;
    background: rgba(24, 163, 161, 0.10);
    border: 1px solid rgba(24, 163, 161, 0.24);
    color: #3b666b;
}

    .fcc-delete-warning strong[b-e9cankon02] {
        color: #087c7a;
    }

.fcc-delete-details[b-e9cankon02] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

    .fcc-delete-details div[b-e9cankon02] {
        min-width: 0;
        padding: 13px 15px;
        border: 1px solid #e1eaed;
        border-radius: 11px;
        background: #fafcfd;
    }

    .fcc-delete-details span[b-e9cankon02] {
        display: block;
        margin-bottom: 4px;
        color: #82939a;
        font-size: 11px;
    }

    .fcc-delete-details strong[b-e9cankon02] {
        display: block;
        color: #143b4d;
        font-size: 14px;
        word-break: break-word;
    }

.fcc-delete-actions[b-e9cankon02] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.fcc-delete-button[b-e9cankon02] {
    padding: 11px 18px;
    border: none;
    border-radius: 10px;
    background: #18A3A1;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

    .fcc-delete-button:hover[b-e9cankon02] {
        background: #0f8f8d;
    }

    .fcc-delete-button:disabled[b-e9cankon02] {
        opacity: 0.55;
        cursor: not-allowed;
    }


/* RESPONSIVE */

@media (max-width: 1000px) {

    .einsatz-table-header[b-e9cankon02],
    .einsatz-row[b-e9cankon02] {
        grid-template-columns: 1fr 1.5fr 1.3fr 1fr 60px;
    }

        .einsatz-table-header > span:nth-child(4)[b-e9cankon02],
        .einsatz-row > div:nth-child(4)[b-e9cankon02] {
            display: none;
        }
}

@media (max-width: 900px) {

    .einsatz-stats[b-e9cankon02] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {

    .form-grid[b-e9cankon02] {
        grid-template-columns: 1fr;
    }

    .form-field.full-width[b-e9cankon02] {
        grid-column: auto;
    }

    .einsatz-toolbar[b-e9cankon02] {
        flex-direction: column;
    }
}

@media (max-width: 700px) {

    .einsatz-table-header[b-e9cankon02] {
        display: none;
    }

    .einsatz-row[b-e9cankon02] {
        grid-template-columns: 1fr 50px;
        gap: 12px;
        padding: 17px;
    }

        .einsatz-row > div:not(.einsatz-actions)[b-e9cankon02] {
            grid-column: 1;
        }

    .einsatz-actions[b-e9cankon02] {
        grid-column: 2;
        grid-row: 1;
    }

    .einsatz-menu-button[b-e9cankon02] {
        opacity: 1;
        pointer-events: auto;
        transform: scale(1);
    }
}

@media (max-width: 600px) {

    .page-header[b-e9cankon02] {
        align-items: flex-start;
        gap: 15px;
        flex-direction: column;
    }

    .einsatz-stats[b-e9cankon02] {
        grid-template-columns: 1fr;
    }

    .fcc-delete-overlay[b-e9cankon02] {
        padding: 15px;
    }

    .fcc-delete-dialog[b-e9cankon02] {
        padding: 22px;
    }

    .fcc-delete-details[b-e9cankon02] {
        grid-template-columns: 1fr;
    }

    .fcc-delete-actions[b-e9cankon02] {
        flex-direction: column-reverse;
    }

        .fcc-delete-actions button[b-e9cankon02] {
            width: 100%;
        }
}
/* =========================================================
   FCC MOBILE – EINSÄTZE
   ========================================================= */

@media (max-width: 600px) {

    /* Seitenkopf */

    .page-header[b-e9cankon02] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        margin-bottom: 18px;
    }

        .page-header h1[b-e9cankon02] {
            font-size: 27px;
            line-height: 1.1;
        }

        .page-header p[b-e9cankon02] {
            margin-top: 6px;
            font-size: 14px;
            line-height: 1.4;
        }

        .page-header .fcc-primary-button[b-e9cankon02] {
            width: 100%;
            min-height: 46px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
        }


    /* Statistik – 2 x 2 */

    .einsatz-stats[b-e9cankon02] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 16px;
    }

    .stat-card[b-e9cankon02] {
        min-width: 0;
        padding: 15px;
        border-radius: 14px;
    }

        .stat-card span[b-e9cankon02] {
            margin-bottom: 6px;
            font-size: 12px;
        }

        .stat-card strong[b-e9cankon02] {
            font-size: 24px;
        }


    /* Einsatz-Panel */

    .einsatz-panel[b-e9cankon02] {
        padding: 14px;
        border-radius: 15px;
    }


    /* Suche + Filter */

    .einsatz-toolbar[b-e9cankon02] {
        display: flex;
        flex-direction: column;
        gap: 9px;
        padding-bottom: 14px;
    }

    .einsatz-search[b-e9cankon02],
    .einsatz-filter[b-e9cankon02] {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-height: 44px;
        font-size: 16px;
        border-radius: 11px;
    }


    /* Formular */

    .einsatz-form-panel[b-e9cankon02] {
        padding: 16px;
        border-radius: 15px;
    }

    .form-header[b-e9cankon02] {
        gap: 10px;
    }

        .form-header h2[b-e9cankon02] {
            font-size: 21px;
        }

        .form-header p[b-e9cankon02] {
            font-size: 13px;
            line-height: 1.4;
        }

    .form-grid[b-e9cankon02] {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .form-field[b-e9cankon02] {
        min-width: 0;
    }

        .form-field.full-width[b-e9cankon02] {
            grid-column: auto;
        }

        .form-field input[b-e9cankon02],
        .form-field select[b-e9cankon02],
        .form-field textarea[b-e9cankon02] {
            box-sizing: border-box;
            width: 100%;
            max-width: 100%;
            font-size: 16px;
        }

    .form-actions[b-e9cankon02] {
        flex-direction: column-reverse;
        gap: 9px;
    }

        .form-actions button[b-e9cankon02] {
            width: 100%;
            min-height: 45px;
        }


    /* Leerer Zustand */

    .empty-state[b-e9cankon02] {
        padding: 42px 12px;
    }

    .empty-icon[b-e9cankon02] {
        font-size: 34px;
    }

    .empty-state h2[b-e9cankon02] {
        font-size: 20px;
    }

    .empty-state p[b-e9cankon02] {
        font-size: 14px;
        line-height: 1.45;
    }


    /* Einsätze werden auf Mobile zu Karten */

    .einsatz-table-header[b-e9cankon02] {
        display: none;
    }

    .einsatz-table[b-e9cankon02] {
        margin-top: 8px;
    }

    .einsatz-row[b-e9cankon02] {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 42px;
        gap: 10px;
        margin-bottom: 10px;
        padding: 15px;
        border: 1px solid #e7eef1;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 4px 14px rgba(0, 40, 60, .045);
    }

        .einsatz-row > div:not(.einsatz-actions)[b-e9cankon02] {
            grid-column: 1;
            min-width: 0;
        }

    .einsatz-actions[b-e9cankon02] {
        grid-column: 2;
        grid-row: 1;
        width: 38px;
        justify-self: end;
    }

    .einsatz-menu-button[b-e9cankon02] {
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .einsatz-action-menu[b-e9cankon02] {
        position: absolute;
        top: 42px;
        right: 0;
        min-width: 190px;
        z-index: 200;
    }


    /* Löschdialog */

    .fcc-delete-overlay[b-e9cankon02] {
        padding: 12px;
    }

    .fcc-delete-dialog[b-e9cankon02] {
        width: 100%;
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
        padding: 19px;
        border-radius: 17px;
    }

    .fcc-delete-details[b-e9cankon02] {
        grid-template-columns: 1fr;
    }

    .fcc-delete-actions[b-e9cankon02] {
        flex-direction: column-reverse;
    }

        .fcc-delete-actions button[b-e9cankon02] {
            width: 100%;
            min-height: 45px;
        }
}


/* Wirklich kleine Displays */

@media (max-width: 360px) {

    .einsatz-stats[b-e9cankon02] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Einstellungen.razor.rz.scp.css */
.settings-page[b-vswpuzv5vz] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.settings-header[b-vswpuzv5vz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.settings-kicker[b-vswpuzv5vz] {
    display: block;
    margin-bottom: 4px;
    color: #18a3a1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .8px;
}

.settings-header h1[b-vswpuzv5vz] {
    margin: 0;
    color: #00283c;
    font-size: 28px;
    font-weight: 800;
}

.settings-header p[b-vswpuzv5vz] {
    margin: 6px 0 0;
    color: #71838d;
    font-size: 13px;
}

.settings-overview[b-vswpuzv5vz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
    margin-bottom: 26px;
}

/* Die Kacheln sind die Navigation der Seite - deshalb echte Buttons
   statt Deko-Divs. */
.settings-card[b-vswpuzv5vz] {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 16px;
    border: 1px solid #e2ebee;
    border-radius: 15px;
    background: white;
    box-shadow: 0 5px 18px rgba(0, 40, 60, .05);
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: border-color .15s ease, background .15s ease;
}

    .settings-card:hover[b-vswpuzv5vz] {
        border-color: rgba(24, 163, 161, .45);
    }

.settings-card.active[b-vswpuzv5vz] {
    border-color: rgba(24, 163, 161, .55);
    background: rgba(24, 163, 161, .07);
    box-shadow: 0 6px 20px rgba(24, 163, 161, .13);
}

.settings-card-icon[b-vswpuzv5vz] {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: white;
    background: #9fb4bd;
    font-weight: 800;
    transition: background .15s ease;
}

.settings-card.active .settings-card-icon[b-vswpuzv5vz] {
    background: #18a3a1;
}

.settings-card-text[b-vswpuzv5vz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.settings-card strong[b-vswpuzv5vz] {
    color: #013e57;
    font-size: 14px;
}

.settings-card .settings-card-text span[b-vswpuzv5vz] {
    color: #71838d;
    font-size: 11px;
    line-height: 1.35;
}

.settings-body[b-vswpuzv5vz] {
    min-width: 0;
}

@media (max-width: 760px) {

    .settings-overview[b-vswpuzv5vz] {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }

    .settings-card[b-vswpuzv5vz] {
        flex: 0 0 auto;
        padding: 11px 14px;
    }

        .settings-card .settings-card-text span[b-vswpuzv5vz] {
            display: none;
        }

    .settings-header h1[b-vswpuzv5vz] {
        font-size: 24px;
    }
}

.calendar-sync-panel[b-vswpuzv5vz]{margin:22px 0;padding:22px;border:1px solid rgba(24,163,161,.22);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(1,62,87,.06)}
.calendar-sync-head[b-vswpuzv5vz]{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.calendar-sync-head h2[b-vswpuzv5vz]{margin:4px 0 6px;font-size:1.25rem}.calendar-sync-head p[b-vswpuzv5vz]{margin:0;max-width:720px;color:#64748b}.calendar-sync-badge[b-vswpuzv5vz]{white-space:nowrap;background:rgba(24,163,161,.11);color:#087c7a;padding:7px 11px;border-radius:999px;font-weight:700;font-size:.78rem}.calendar-feed-box[b-vswpuzv5vz]{display:grid;gap:10px}.calendar-feed-box label[b-vswpuzv5vz]{font-weight:700}.calendar-feed-box input[b-vswpuzv5vz]{width:100%;min-width:0;padding:12px 14px;border:1px solid #d7e1e5;border-radius:10px;background:#f8fafb}.calendar-sync-actions[b-vswpuzv5vz]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.calendar-feed-box small[b-vswpuzv5vz]{color:#64748b;line-height:1.45}
@media(max-width:700px){.calendar-sync-panel[b-vswpuzv5vz]{padding:16px;margin:16px 0}.calendar-sync-head[b-vswpuzv5vz]{display:block}.calendar-sync-badge[b-vswpuzv5vz]{display:inline-block;margin-top:10px}.calendar-sync-actions[b-vswpuzv5vz]{display:grid;grid-template-columns:1fr}.calendar-sync-actions a[b-vswpuzv5vz],.calendar-sync-actions button[b-vswpuzv5vz]{width:100%;text-align:center;justify-content:center}.calendar-feed-box input[b-vswpuzv5vz]{font-size:12px}}
/* /Components/Pages/Emails.razor.rz.scp.css */
.email-center[b-3143ucdvny]{max-width:1400px;margin:0 auto;padding:28px}.email-head[b-3143ucdvny],.panel-head[b-3143ucdvny]{display:flex;align-items:center;justify-content:space-between;gap:18px}.email-head[b-3143ucdvny]{margin-bottom:22px}.eyebrow[b-3143ucdvny]{display:block;margin-bottom:5px;color:#18a3a1;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.email-head h1[b-3143ucdvny],.email-panel h2[b-3143ucdvny]{margin:0;color:#013e57}.email-head p[b-3143ucdvny]{margin:7px 0 0;color:#667d86}.email-layout[b-3143ucdvny]{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.folders[b-3143ucdvny],.email-panel[b-3143ucdvny]{background:#fff;border:1px solid #dce8ea;border-radius:18px;box-shadow:0 8px 28px rgba(1,62,87,.06)}.folders[b-3143ucdvny]{padding:10px;height:max-content}.folders button[b-3143ucdvny]{width:100%;border:0;background:transparent;border-radius:12px;padding:12px 13px;display:flex;justify-content:space-between;color:#315966;cursor:pointer}.folders button.active[b-3143ucdvny]{background:#e9f6f5;color:#013e57;font-weight:800}.folders small[b-3143ucdvny]{display:block;padding:14px 12px 8px;color:#7a9098;line-height:1.45}.email-panel[b-3143ucdvny]{padding:22px}.primary[b-3143ucdvny],.ghost[b-3143ucdvny]{border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer}.primary[b-3143ucdvny]{border:0;background:#013e57;color:#fff}.ghost[b-3143ucdvny]{border:1px solid #cfdee2;background:#fff;color:#315966}.form-grid[b-3143ucdvny]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.form-grid label[b-3143ucdvny]{display:flex;flex-direction:column;gap:7px;color:#234d5b;font-weight:700}.form-grid label span[b-3143ucdvny]{font-weight:400;color:#7b9199}.form-grid .wide[b-3143ucdvny]{grid-column:1/-1}.form-grid input[b-3143ucdvny],.form-grid textarea[b-3143ucdvny]{border:1px solid #cbdcdf;border-radius:10px;padding:11px 12px;font:inherit;outline:none}.form-grid input:focus[b-3143ucdvny],.form-grid textarea:focus[b-3143ucdvny]{border-color:#18a3a1}.form-grid input:disabled[b-3143ucdvny],.form-grid textarea:disabled[b-3143ucdvny]{background:#f7fafb;color:#355965}.actions[b-3143ucdvny]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.status[b-3143ucdvny]{margin-top:16px;padding:12px;border-radius:10px}.status.ok[b-3143ucdvny]{background:#edf8f3;color:#176542}.status.bad[b-3143ucdvny]{background:#fff0f0;color:#9b2c2c}.meta[b-3143ucdvny]{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e4edef;color:#657e87;font-size:13px}.message-list[b-3143ucdvny]{margin-top:18px;border-top:1px solid #e4edef}.message-row[b-3143ucdvny]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:0;border-bottom:1px solid #e4edef;background:#fff;padding:15px 4px;cursor:pointer}.message-row:hover[b-3143ucdvny]{background:#f8fbfb}.message-row div[b-3143ucdvny]{display:flex;flex-direction:column;gap:4px;min-width:0}.message-row strong[b-3143ucdvny]{color:#173f4d}.message-row span[b-3143ucdvny],.message-row time[b-3143ucdvny]{color:#789098;font-size:13px}.message-row em[b-3143ucdvny]{color:#9b2c2c;font-size:12px;font-style:normal}.empty[b-3143ucdvny]{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;color:#789098}.empty strong[b-3143ucdvny]{color:#315966}@media(max-width:800px){.email-center[b-3143ucdvny]{padding:14px}.email-head[b-3143ucdvny]{align-items:flex-start;flex-direction:column}.email-head .primary[b-3143ucdvny]{width:100%}.email-layout[b-3143ucdvny]{grid-template-columns:1fr}.folders[b-3143ucdvny]{display:grid;grid-template-columns:1fr 1fr}.folders small[b-3143ucdvny]{grid-column:1/-1}.form-grid[b-3143ucdvny]{grid-template-columns:1fr}.form-grid .wide[b-3143ucdvny]{grid-column:auto}.email-panel[b-3143ucdvny]{padding:16px}.actions[b-3143ucdvny]{flex-direction:column-reverse}.actions button[b-3143ucdvny]{width:100%}.message-row[b-3143ucdvny]{align-items:flex-start;flex-direction:column}}
.head-actions[b-3143ucdvny]{display:flex;align-items:center;gap:9px}.danger[b-3143ucdvny],.delete-row[b-3143ucdvny]{border:1px solid #efcaca;background:#fff5f5;color:#a53434;border-radius:10px;font-weight:800;cursor:pointer}.danger[b-3143ucdvny]{padding:11px 15px}.message-row[b-3143ucdvny]{padding:0}.message-open[b-3143ucdvny]{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:0;background:transparent;padding:15px 4px;cursor:pointer}.message-open div[b-3143ucdvny]{display:flex;flex-direction:column;gap:4px;min-width:0}.message-open strong[b-3143ucdvny]{color:#173f4d}.message-open span[b-3143ucdvny],.message-open time[b-3143ucdvny]{color:#789098;font-size:13px}.message-open em[b-3143ucdvny]{color:#9b2c2c;font-size:12px;font-style:normal}.delete-row[b-3143ucdvny]{margin-right:4px;padding:8px 10px;white-space:nowrap}@media(max-width:800px){.panel-head[b-3143ucdvny]{align-items:flex-start}.head-actions[b-3143ucdvny]{flex-wrap:wrap;justify-content:flex-end}.message-row[b-3143ucdvny]{align-items:stretch;flex-direction:column}.message-open[b-3143ucdvny]{align-items:flex-start;flex-direction:column}.delete-row[b-3143ucdvny]{margin:0 0 10px 4px;align-self:flex-start}}

.sync-info[b-3143ucdvny]{display:block;margin-top:4px;font-size:12px;font-weight:700}.sync-info.ok[b-3143ucdvny]{color:#28795d}.sync-info.bad[b-3143ucdvny]{color:#b42318}.imap-warning[b-3143ucdvny]{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:12px 14px;border-radius:10px;background:#fff0f0;color:#9b2c2c}.imap-warning span[b-3143ucdvny]{font-size:13px}

.form-grid input[readonly][b-3143ucdvny],.form-grid textarea[readonly][b-3143ucdvny]{background:#fff;color:#173f4d;cursor:default}
.mail-html-frame[b-3143ucdvny]{width:100%;min-height:420px;border:1px solid #cbdcdf;border-radius:10px;background:#fff}

.attachments[b-3143ucdvny]{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid #e4edef}
.attachments-title[b-3143ucdvny]{font-weight:800;color:#234d5b;font-size:13px}
.attachment-item[b-3143ucdvny]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dce8ea;border-radius:10px;color:#013e57;font-weight:700}
.attachment-item small[b-3143ucdvny]{margin-left:6px;color:#7b9199;font-weight:400}
.attachment-actions[b-3143ucdvny]{display:flex;gap:14px;flex:0 0 auto}
.attachment-actions a[b-3143ucdvny]{color:#18a3a1;font-weight:800;font-size:13px;text-decoration:none}
.attachment-actions a:hover[b-3143ucdvny]{text-decoration:underline}
@media(max-width:800px){.attachment-item[b-3143ucdvny]{flex-direction:column;align-items:flex-start}.attachment-actions[b-3143ucdvny]{width:100%;justify-content:flex-start}}

.signatur-open-button[b-3143ucdvny]{margin-top:8px;width:100%;border:1px dashed #b9d1d4;background:#f2f8f8;border-radius:12px;padding:12px 13px;display:flex;justify-content:center;color:#013e57;font-weight:800;cursor:pointer}
.signatur-open-button:hover[b-3143ucdvny]{background:#e9f6f5}

.signatur-overlay[b-3143ucdvny]{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(1,38,53,.48);backdrop-filter:blur(2px)}
.signatur-modal[b-3143ucdvny]{width:min(760px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(1,62,87,.28)}
.signatur-head[b-3143ucdvny]{flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 24px 14px;border-bottom:1px solid #e4edef}
.signatur-head h2[b-3143ucdvny]{margin:2px 0 0;color:#013e57}
.signatur-head p[b-3143ucdvny]{margin:6px 0 0;color:#667d86;font-size:13px}
.signatur-body[b-3143ucdvny]{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 24px 24px}
.signatur-modal .status[b-3143ucdvny]{margin:14px 24px 0}
.signatur-modal .actions[b-3143ucdvny]{flex:0 0 auto;padding:16px 24px 24px;margin:0;border-top:1px solid #e4edef}

@media(max-width:800px){
  .signatur-body[b-3143ucdvny]{padding:4px 17px 17px}
  .signatur-modal .status[b-3143ucdvny]{margin:14px 17px 0}
  .signatur-modal .actions[b-3143ucdvny]{padding:14px 17px calc(17px + env(safe-area-inset-bottom));flex-direction:column-reverse}
  .signatur-modal .actions button[b-3143ucdvny]{width:100%}
}
/* /Components/Pages/KalkulationBewertungPanel.razor.rz.scp.css */
.doc-settings-panel[b-bxs3b9yzdg]{margin-top:22px;padding:22px;background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(0,40,60,.07)}
.doc-settings-head[b-bxs3b9yzdg]{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.doc-settings-kicker[b-bxs3b9yzdg]{color:#18a3a1;font-size:10px;font-weight:800;letter-spacing:.7px}
.doc-settings-head h2[b-bxs3b9yzdg]{margin:3px 0 0;color:#00283c;font-size:22px}
.doc-settings-head p[b-bxs3b9yzdg]{margin:5px 0 0;color:#71838d;font-size:13px;max-width:640px}
.doc-settings-primary[b-bxs3b9yzdg]{border:0;border-radius:11px;padding:11px 15px;background:#18a3a1;color:#fff;font-weight:700;cursor:pointer;white-space:nowrap}
.doc-settings-primary:disabled[b-bxs3b9yzdg]{opacity:.6;cursor:not-allowed}

.doc-settings-form-grid[b-bxs3b9yzdg]{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px 0 0}
.doc-settings-form-grid label[b-bxs3b9yzdg]{display:flex;flex-direction:column;gap:6px;color:#365467;font-size:11px;font-weight:700}
.doc-settings-form-grid label.full[b-bxs3b9yzdg]{grid-column:1/-1}
.doc-settings-form-grid input[b-bxs3b9yzdg]{width:100%;box-sizing:border-box;border:1px solid #d5e0e5;border-radius:9px;padding:10px 11px;outline:none;background:#fff}

.bewertung-meldung[b-bxs3b9yzdg] {
    margin: 10px 0 0;
    color: #18a3a1;
    font-size: 12px;
    font-weight: 700;
}

.bewertung-profile-grid[b-bxs3b9yzdg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 18px;
}

.bewertung-profil[b-bxs3b9yzdg] {
    border: 1px solid #e1eaed;
    border-radius: 14px;
    padding: 16px 18px;
    background: #f9fcfc;
}

.bewertung-profil h3[b-bxs3b9yzdg] {
    margin: 0;
    color: #013e57;
    font-size: 14px;
}

.bewertung-hinweis[b-bxs3b9yzdg] {
    margin: 16px 0 0;
    color: #8a9aa1;
    font-size: 12px;
}

@media (max-width: 760px) {
    .doc-settings-panel[b-bxs3b9yzdg] { padding: 15px; }
    .doc-settings-head[b-bxs3b9yzdg] { flex-direction: column; }
    .doc-settings-head .doc-settings-primary[b-bxs3b9yzdg] { width: 100%; }
    .doc-settings-form-grid[b-bxs3b9yzdg] { grid-template-columns: 1fr; }
    .doc-settings-form-grid label.full[b-bxs3b9yzdg] { grid-column: auto; }
    .bewertung-profile-grid[b-bxs3b9yzdg] { grid-template-columns: 1fr; }
}
/* /Components/Pages/KalkulationRichtwertePanel.razor.rz.scp.css */
.richtwert-liste[b-qhle96mi4c] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
}

/* Eine Leistung je Zeile. Auf schmalen Displays klappen die Felder
   untereinander, damit nichts gequetscht wird. */
.richtwert-zeile[b-qhle96mi4c] {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    background: #f8fbfc;
    border: 1px solid #e6eef1;
    border-radius: 14px;
    padding: 14px 16px;
}

    .richtwert-zeile.aus[b-qhle96mi4c] {
        opacity: .55;
    }

    .richtwert-zeile label[b-qhle96mi4c] {
        display: flex;
        flex-direction: column;
        gap: 5px;
        font-size: 12px;
        font-weight: 600;
        color: #43606d;
    }

    .richtwert-zeile input[b-qhle96mi4c] {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d9e5ea;
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 15px;
        font-family: inherit;
        color: #062b45;
        background: #ffffff;
        min-height: 42px;
    }

        .richtwert-zeile input:focus[b-qhle96mi4c] {
            outline: none;
            border-color: #18a3a1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, .15);
        }

.richtwert-aktionen[b-qhle96mi4c] {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .richtwert-aktionen button[b-qhle96mi4c] {
        background: #ffffff;
        border: 1px solid #dbe6ea;
        color: #a8352b;
        border-radius: 999px;
        padding: 10px 16px;
        font-size: 13px;
        font-weight: 600;
        font-family: inherit;
        cursor: pointer;
        min-height: 42px;
    }

.richtwert-schalter[b-qhle96mi4c] {
    flex-direction: row !important;
    align-items: center;
    gap: 7px !important;
    white-space: nowrap;
}

    .richtwert-schalter input[b-qhle96mi4c] {
        width: 18px !important;
        min-height: 18px !important;
        height: 18px;
        margin: 0;
    }

/* Die Beispielrechnung spannt sich über die ganze Zeile. */
.richtwert-beispiel[b-qhle96mi4c] {
    grid-column: 1 / -1;
    margin: 2px 0 0;
    color: #0e6f6d;
    font-size: 13px;
    font-weight: 600;
}

.richtwert-global[b-qhle96mi4c] {
    padding-top: 18px;
    border-top: 1px solid #edf2f4;
}

@media (max-width: 900px) {

    .richtwert-zeile[b-qhle96mi4c] {
        grid-template-columns: 1fr 1fr;
    }

    .richtwert-name[b-qhle96mi4c],
    .richtwert-aktionen[b-qhle96mi4c],
    .richtwert-beispiel[b-qhle96mi4c] {
        grid-column: 1 / -1;
    }

    .richtwert-aktionen[b-qhle96mi4c] {
        justify-content: space-between;
    }
}
/* /Components/Pages/Kalkulator.razor.rz.scp.css */
.page-header[b-herwpxtq05] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

    .page-header h1[b-herwpxtq05] {
        margin: 0;
        color: #00283c;
        font-size: 28px;
        font-weight: 700;
    }

    .page-header p[b-herwpxtq05] {
        margin: 5px 0 0;
        color: #6b7c86;
    }

/* Kalkulator weicht bewusst vom globalen Button-Basisstil ab:
   grösserer Radius, fetterer Primary-Text. */
.fcc-primary-button[b-herwpxtq05] {
    border-radius: 12px;
    font-weight: 700;
}

.fcc-secondary-button[b-herwpxtq05] {
    border-radius: 12px;
}


/* STATS */

.kalkulation-stats[b-herwpxtq05] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.stat-card[b-herwpxtq05] {
    background: white;
    border-radius: 14px;
    padding: 20px;
    border-left: 4px solid #18a3a1;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

    .stat-card span[b-herwpxtq05] {
        display: block;
        color: #71838d;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .stat-card strong[b-herwpxtq05] {
        color: #00283c;
        font-size: 25px;
    }


/* KALKULATOR */

.calculator-layout[b-herwpxtq05] {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(310px, 0.7fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 20px;
}

.calculator-form-panel[b-herwpxtq05],
.live-calculation-panel[b-herwpxtq05] {
    background: white;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(0, 40, 60, 0.08);
}

.calculator-form-panel[b-herwpxtq05] {
    padding: 24px;
}

.live-calculation-panel[b-herwpxtq05] {
    padding: 22px;
    position: sticky;
    top: 20px;
}

.form-header[b-herwpxtq05] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}

    .form-header h2[b-herwpxtq05] {
        margin: 0;
        color: #00283c;
    }

    .form-header p[b-herwpxtq05] {
        margin: 5px 0 0;
        color: #71838d;
    }

.close-button[b-herwpxtq05] {
    border: none;
    background: transparent;
    font-size: 28px;
    color: #71838d;
    cursor: pointer;
}

.form-section-title[b-herwpxtq05] {
    margin: 25px 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8eef1;
    color: #174e59;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

    .form-section-title:first-of-type[b-herwpxtq05] {
        margin-top: 0;
    }

.form-grid[b-herwpxtq05] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full-width[b-herwpxtq05] {
        grid-column: 1 / -1;
    }

    .form-field label[b-herwpxtq05] {
        color: #365467;
        font-size: 13px;
        font-weight: 700;
    }

    .form-field small[b-herwpxtq05] {
        color: #84959d;
        font-size: 11px;
    }

    .form-field textarea[b-herwpxtq05] {
        min-height: 100px;
    }

.input-with-unit[b-herwpxtq05] {
    position: relative;
}

    .input-with-unit input[b-herwpxtq05] {
        padding-right: 60px !important;
    }

    .input-with-unit > span[b-herwpxtq05] {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #52727b;
        font-size: 12px;
        font-weight: 700;
        pointer-events: none;
    }

.form-actions[b-herwpxtq05] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 25px;
}


/* VALIDIERUNG */

.fcc-validation-alert[b-herwpxtq05] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.11);
    border: 1px solid rgba(24, 163, 161, 0.30);
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.08);
}

.fcc-validation-symbol[b-herwpxtq05] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.18);
    color: #087c7a;
    font-size: 20px;
    font-weight: 800;
}

.fcc-validation-content[b-herwpxtq05] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

    .fcc-validation-content strong[b-herwpxtq05] {
        color: #087c7a;
    }

    .fcc-validation-content span[b-herwpxtq05] {
        color: #54727a;
        font-size: 13px;
    }

    .fcc-validation-content ul[b-herwpxtq05] {
        margin: 8px 0 0;
        padding-left: 18px;
        color: #245f66;
        font-size: 13px;
    }

.fcc-validation-close[b-herwpxtq05] {
    border: none;
    background: transparent;
    color: #388087;
    font-size: 21px;
    cursor: pointer;
}

[b-herwpxtq05] .validation-message {
    display: none !important;
}


/* LIVE PANEL */

.live-title[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
    margin-bottom: 17px;
}

    .live-title span[b-herwpxtq05] {
        color: #00283c;
        font-size: 18px;
        font-weight: 800;
    }

    .live-title small[b-herwpxtq05] {
        margin-top: 3px;
        color: #80919a;
    }

.rating-card[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 16px;
    border-radius: 15px;
    margin-bottom: 18px;
    border: 1px solid rgba(24, 163, 161, 0.18);
}

    .rating-card > span[b-herwpxtq05] {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        opacity: 0.7;
    }

    .rating-card > strong[b-herwpxtq05] {
        font-size: 22px;
    }

    .rating-card > small[b-herwpxtq05] {
        font-size: 12px;
    }

    .rating-card.offen[b-herwpxtq05],
    .rating-badge.offen[b-herwpxtq05] {
        background: #eef4f5;
        color: #557078;
    }

    .rating-card.sehr-gut[b-herwpxtq05],
    .rating-badge.sehr-gut[b-herwpxtq05] {
        background: rgba(24, 163, 161, 0.15);
        color: #087c6d;
    }

    .rating-card.gut[b-herwpxtq05],
    .rating-badge.gut[b-herwpxtq05] {
        background: rgba(44, 151, 126, 0.12);
        color: #26735f;
    }

    .rating-card.okay[b-herwpxtq05],
    .rating-badge.okay[b-herwpxtq05] {
        background: rgba(189, 162, 63, 0.12);
        color: #7b6a25;
    }

    .rating-card.kritisch[b-herwpxtq05],
    .rating-badge.kritisch[b-herwpxtq05] {
        background: rgba(173, 91, 91, 0.10);
        color: #8c4e4e;
    }

.result-group[b-herwpxtq05] {
    border: 1px solid #e6edef;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 15px;
}

.result-row[b-herwpxtq05] {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 13px;
    border-bottom: 1px solid #edf2f4;
}

    .result-row:last-child[b-herwpxtq05] {
        border-bottom: none;
    }

    .result-row span[b-herwpxtq05] {
        color: #6d818b;
        font-size: 12px;
    }

    .result-row strong[b-herwpxtq05] {
        color: #173b4a;
        font-size: 13px;
    }

    .result-row.total-cost[b-herwpxtq05] {
        background: #f7fafb;
    }

.result-highlight[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
    padding: 17px;
    margin-bottom: 15px;
    border-radius: 15px;
    background: linear-gradient( 135deg, rgba(24, 163, 161, 0.16), rgba(1, 62, 87, 0.07) );
    border: 1px solid rgba(24, 163, 161, 0.27);
}

    .result-highlight span[b-herwpxtq05] {
        color: #54727a;
        font-size: 12px;
    }

    .result-highlight strong[b-herwpxtq05] {
        margin-top: 2px;
        color: #013e57;
        font-size: 28px;
    }

    .result-highlight small[b-herwpxtq05] {
        color: #087c7a;
        font-weight: 700;
    }

.hourly-grid[b-herwpxtq05] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 15px;
}

.hourly-card[b-herwpxtq05] {
    padding: 14px;
    border-radius: 14px;
    background: #f7fafb;
    border: 1px solid #e5edef;
}

    .hourly-card span[b-herwpxtq05] {
        display: block;
        color: #71858e;
        font-size: 11px;
    }

    .hourly-card strong[b-herwpxtq05] {
        display: block;
        margin: 4px 0 2px;
        color: #00283c;
        font-size: 20px;
    }

    .hourly-card small[b-herwpxtq05] {
        color: #8999a0;
        font-size: 10px;
    }

.volume-box[b-herwpxtq05] {
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(1, 62, 87, 0.035);
    border: 1px solid rgba(1, 62, 87, 0.08);
}

    .volume-box div[b-herwpxtq05] {
        display: flex;
        justify-content: space-between;
        gap: 12px;
    }

    .volume-box span[b-herwpxtq05] {
        color: #71838d;
        font-size: 12px;
    }

    .volume-box strong[b-herwpxtq05] {
        color: #173b4a;
        font-size: 13px;
    }

.calculation-note[b-herwpxtq05] {
    margin-top: 14px;
    color: #81929a;
    font-size: 10px;
    line-height: 1.5;
}


/* LISTE */

.kalkulation-panel[b-herwpxtq05] {
    padding: 20px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

.kalkulation-toolbar[b-herwpxtq05] {
    display: flex;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8eef1;
}

.kalkulation-search[b-herwpxtq05] {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 180px;
}

.kalkulation-filter[b-herwpxtq05] {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 150px;
}

.empty-state[b-herwpxtq05] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-herwpxtq05] {
    font-size: 38px;
    margin-bottom: 12px;
}

.empty-state h2[b-herwpxtq05] {
    color: #00283c;
}

.empty-state p[b-herwpxtq05] {
    color: #71838d;
}

.kalkulation-table-header[b-herwpxtq05],
.kalkulation-row[b-herwpxtq05] {
    display: grid;
    grid-template-columns: 1.5fr 1.4fr 0.9fr 0.9fr 0.9fr 0.8fr 55px;
    gap: 15px;
    align-items: center;
    padding: 14px 12px;
}

.kalkulation-table-header[b-herwpxtq05] {
    color: #71838d;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e8eef1;
}

.kalkulation-row[b-herwpxtq05] {
    position: relative;
    border-bottom: 1px solid #edf2f4;
}

    .kalkulation-row:hover[b-herwpxtq05] {
        background: #f8fbfc;
    }

.kalkulation-name[b-herwpxtq05],
.kalkulation-customer[b-herwpxtq05],
.kalkulation-price[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
}

.kalkulation-row strong[b-herwpxtq05] {
    color: #00283c;
}

.kalkulation-row small[b-herwpxtq05],
.table-small[b-herwpxtq05] {
    color: #81929c;
    font-size: 11px;
}

.rating-badge[b-herwpxtq05] {
    display: inline-block;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.rating-modus[b-herwpxtq05] {
    display: block;
    margin-top: 5px;
    color: #8a9aa1;
    font-size: 10px;
    font-weight: 600;
}


/* MENÜ */

.kalkulation-actions[b-herwpxtq05] {
    position: relative;
    justify-self: end;
}

.kalkulation-menu-button[b-herwpxtq05] {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #18a3a1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
}

.kalkulation-row:hover .kalkulation-menu-button[b-herwpxtq05],
.kalkulation-actions.menu-open .kalkulation-menu-button[b-herwpxtq05] {
    opacity: 1;
    pointer-events: auto;
}

.kalkulation-menu-button span[b-herwpxtq05] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: white;
}

.kalkulation-action-menu[b-herwpxtq05] {
    position: absolute;
    top: 40px;
    right: 0;
    min-width: 165px;
    padding: 7px;
    background: white;
    border: 1px solid #e3ebef;
    border-radius: 13px;
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.15);
    z-index: 100;
}

.action-menu-item[b-herwpxtq05] {
    width: 100%;
    border: none;
    background: transparent;
    padding: 10px 12px;
    border-radius: 9px;
    text-align: left;
    color: #00283c;
    cursor: pointer;
}

    .action-menu-item:hover[b-herwpxtq05] {
        background: #f1f7f8;
    }

    .action-menu-item.danger[b-herwpxtq05] {
        color: #b65353;
    }


/* LÖSCHDIALOG */

.fcc-delete-overlay[b-herwpxtq05] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: rgba(0, 40, 60, 0.32);
    backdrop-filter: blur(4px);
}

.fcc-delete-dialog[b-herwpxtq05] {
    width: min(540px, 100%);
    padding: 28px;
    background: white;
    border-radius: 20px;
    border: 1px solid rgba(24, 163, 161, 0.20);
    box-shadow: 0 30px 80px rgba(0, 40, 60, 0.22);
}

.fcc-delete-icon[b-herwpxtq05] {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.13);
    color: #087c7a;
    font-size: 23px;
    font-weight: 800;
}

.fcc-delete-header[b-herwpxtq05] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .fcc-delete-header h2[b-herwpxtq05] {
        margin: 0;
        color: #00283c;
    }

.fcc-delete-x[b-herwpxtq05] {
    border: none;
    background: transparent;
    font-size: 24px;
    cursor: pointer;
}

.fcc-delete-intro[b-herwpxtq05] {
    color: #526b76;
}

.fcc-delete-warning[b-herwpxtq05] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.10);
    border: 1px solid rgba(24, 163, 161, 0.24);
}

.fcc-delete-details[b-herwpxtq05] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

    .fcc-delete-details div[b-herwpxtq05] {
        padding: 13px 15px;
        border: 1px solid #e1eaed;
        border-radius: 12px;
    }

    .fcc-delete-details span[b-herwpxtq05] {
        display: block;
        color: #82939a;
        font-size: 11px;
    }

.fcc-delete-actions[b-herwpxtq05] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.fcc-delete-button[b-herwpxtq05] {
    padding: 11px 18px;
    border: none;
    border-radius: 12px;
    background: #18a3a1;
    color: white;
    font-weight: 700;
    cursor: pointer;
}


/* RESPONSIVE */

@media (max-width: 1150px) {

    .calculator-layout[b-herwpxtq05] {
        grid-template-columns: 1fr;
    }

    .live-calculation-panel[b-herwpxtq05] {
        position: static;
    }

    .kalkulation-table-header[b-herwpxtq05],
    .kalkulation-row[b-herwpxtq05] {
        grid-template-columns: 1.4fr 1.3fr 0.8fr 0.8fr 0.8fr 55px;
    }

        .kalkulation-table-header > span:nth-child(5)[b-herwpxtq05],
        .kalkulation-row > div:nth-child(5)[b-herwpxtq05] {
            display: none;
        }
}

@media (max-width: 900px) {

    .kalkulation-stats[b-herwpxtq05] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 750px) {

    .form-grid[b-herwpxtq05] {
        grid-template-columns: 1fr;
    }

    .form-field.full-width[b-herwpxtq05] {
        grid-column: auto;
    }

    .kalkulation-toolbar[b-herwpxtq05] {
        flex-direction: column;
    }

    .kalkulation-filter[b-herwpxtq05],
    .kalkulation-search[b-herwpxtq05] {
        width: 100% !important;
    }

    .hourly-grid[b-herwpxtq05] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {

    .page-header[b-herwpxtq05] {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .kalkulation-stats[b-herwpxtq05] {
        grid-template-columns: 1fr;
    }

    .kalkulation-table-header[b-herwpxtq05] {
        display: none;
    }

    .kalkulation-row[b-herwpxtq05] {
        grid-template-columns: 1fr 45px;
    }

        .kalkulation-row > div:not(.kalkulation-actions)[b-herwpxtq05] {
            grid-column: 1;
            display: flex;
        }

    .kalkulation-actions[b-herwpxtq05] {
        grid-column: 2;
        grid-row: 1;
    }

    .kalkulation-menu-button[b-herwpxtq05] {
        opacity: 1;
        pointer-events: auto;
    }

    .fcc-delete-details[b-herwpxtq05] {
        grid-template-columns: 1fr;
    }

    .fcc-delete-actions[b-herwpxtq05] {
        flex-direction: column-reverse;
    }
}
/* /Components/Pages/Kunden.razor.rz.scp.css */
.page-header[b-vjg44mq712] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

/* KUNDENWERT-MODAL: FCC-Standard-Wizard-Optik, dieselben Werte wie
   das Termin-/Terminplaner-Modal (verschwommener Overlay-Hintergrund,
   abgerundete Box). */

.customer-value-overlay[b-vjg44mq712] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 35, 52, 0.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.customer-value-modal[b-vjg44mq712] {
    width: min(640px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(24, 163, 161, 0.25);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 35, 52, 0.28), 0 8px 24px rgba(0, 35, 52, 0.12);
}

.customer-value-header[b-vjg44mq712] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 22px;
    border-bottom: 1px solid rgba(0, 62, 87, 0.10);
}

.customer-value-kicker[b-vjg44mq712] {
    color: #18a3a1;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}

.customer-value-header h2[b-vjg44mq712] {
    margin: 4px 0 0;
    color: #013e57;
    font-size: 21px;
}

.customer-value-header p[b-vjg44mq712] {
    margin: 4px 0 0;
    color: #7b9099;
    font-size: 13px;
}

.customer-value-close[b-vjg44mq712] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #7b9099;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.customer-value-close:hover[b-vjg44mq712] {
    background: #eaf1f3;
    color: #013e57;
}

.customer-value-body[b-vjg44mq712] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 22px;
}

.customer-value-hero[b-vjg44mq712] {
    text-align: center;
    padding: 22px;
    margin-bottom: 18px;
    background: linear-gradient(135deg, rgba(24, 163, 161, 0.12), rgba(1, 62, 87, 0.06));
    border-radius: 16px;
}

.customer-value-hero span[b-vjg44mq712] {
    display: block;
    color: #365467;
    font-size: 13px;
    margin-bottom: 6px;
}

.customer-value-hero strong[b-vjg44mq712] {
    display: block;
    color: #013e57;
    font-size: 32px;
}

.customer-value-grid[b-vjg44mq712] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.customer-value-card[b-vjg44mq712] {
    background: #f5f8fb;
    border-radius: 12px;
    padding: 14px 16px;
}

.customer-value-card span[b-vjg44mq712] {
    display: block;
    color: #71838d;
    font-size: 12px;
    margin-bottom: 6px;
}

.customer-value-card strong[b-vjg44mq712] {
    color: #00283C;
    font-size: 18px;
}

.customer-value-recurring[b-vjg44mq712] {
    margin-bottom: 18px;
}

.customer-value-recurring-badge[b-vjg44mq712] {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: #eaf1f3;
    color: #365467;
}

.customer-value-recurring-badge.active[b-vjg44mq712] {
    background: #e5f8f0;
    color: #0f7a4d;
}

.customer-value-list[b-vjg44mq712] {
    margin-bottom: 18px;
}

.customer-value-list-row[b-vjg44mq712] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #edf2f4;
    font-size: 13px;
    color: #365467;
}

.customer-value-disclaimer[b-vjg44mq712] {
    margin: 0;
    padding: 12px 14px;
    background: #fff8ea;
    border-radius: 10px;
    color: #7a6420;
    font-size: 12px;
    line-height: 1.5;
}

    .page-header h1[b-vjg44mq712] {
        margin: 0;
        color: #00283C;
        font-size: 28px;
        font-weight: 700;
    }

    .page-header p[b-vjg44mq712] {
        margin: 5px 0 0;
        color: #6b7c86;
    }



/* STATISTIK */

.customer-stats[b-vjg44mq712] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.stat-card[b-vjg44mq712] {
    display: block;
    width: 100%;
    text-align: left;
    background: white;
    border: none;
    border-radius: 12px;
    padding: 20px;
    border-left: 4px solid #18A3A1;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
    font-family: inherit;
    cursor: pointer;
    transition: box-shadow .15s ease, transform .15s ease;
}

    .stat-card:hover[b-vjg44mq712] {
        box-shadow: 0 7px 22px rgba(0, 40, 60, 0.1);
    }

    .stat-card.active[b-vjg44mq712] {
        background: #eefaf9;
        box-shadow: 0 0 0 2px #18A3A1 inset, 0 5px 18px rgba(0, 40, 60, 0.06);
    }

    .stat-card span[b-vjg44mq712] {
        display: block;
        color: #71838d;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .stat-card strong[b-vjg44mq712] {
        color: #00283C;
        font-size: 26px;
    }


/* FORMULAR */

.customer-form-panel[b-vjg44mq712] {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0, 40, 60, 0.08);
}

.form-header[b-vjg44mq712] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}

    .form-header h2[b-vjg44mq712] {
        margin: 0;
        color: #00283C;
    }

    .form-header p[b-vjg44mq712] {
        margin: 5px 0 0;
        color: #71838d;
    }

.close-button[b-vjg44mq712] {
    border: none;
    background: transparent;
    font-size: 28px;
    color: #71838d;
    cursor: pointer;
}

.form-grid[b-vjg44mq712] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field[b-vjg44mq712] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full-width[b-vjg44mq712] {
        grid-column: 1 / -1;
    }

    .form-field label[b-vjg44mq712] {
        font-size: 13px;
        font-weight: 700;
        color: #365467;
    }

    .form-field input[b-vjg44mq712],
    .form-field select[b-vjg44mq712],
    .form-field textarea[b-vjg44mq712] {
        width: 100%;
        border: 1px solid #d5e0e5;
        border-radius: 9px;
        padding: 11px 12px;
        outline: none;
        background: white;
    }

    .form-field textarea[b-vjg44mq712] {
        min-height: 100px;
        resize: vertical;
    }

        .form-field input:focus[b-vjg44mq712],
        .form-field select:focus[b-vjg44mq712],
        .form-field textarea:focus[b-vjg44mq712] {
            border-color: #18A3A1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10);
        }


/*
    Blazor setzt bei fehlerhaften Feldern automatisch
    die Klasse "invalid".

    Wir wollen bewusst KEINE roten Felder.
*/

[b-vjg44mq712] .invalid {
    border-color: rgba(24, 163, 161, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10) !important;
}

[b-vjg44mq712] .validation-message {
    display: none !important;
}


/* FCC VALIDIERUNGS-ALERT */

.fcc-validation-alert[b-vjg44mq712] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.11);
    border: 1px solid rgba(24, 163, 161, 0.30);
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.08);
    backdrop-filter: blur(8px);
    animation: fccAlertIn-b-vjg44mq712 0.22s ease-out;
}

.fcc-validation-symbol[b-vjg44mq712] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.18);
    color: #087c7a;
    font-size: 20px;
    font-weight: 800;
}

.fcc-validation-content[b-vjg44mq712] {
    flex: 1;
    display: flex;
    flex-direction: column;
    color: #174e59;
}

    .fcc-validation-content strong[b-vjg44mq712] {
        color: #087c7a;
        font-size: 15px;
        font-weight: 800;
        margin-bottom: 3px;
    }

    .fcc-validation-content > span[b-vjg44mq712] {
        color: #54727a;
        font-size: 13px;
    }

    .fcc-validation-content ul[b-vjg44mq712] {
        margin: 9px 0 0;
        padding-left: 18px;
        color: #245f66;
        font-size: 13px;
    }

    .fcc-validation-content li[b-vjg44mq712] {
        margin: 3px 0;
    }

.fcc-validation-close[b-vjg44mq712] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #388087;
    font-size: 21px;
    cursor: pointer;
}

    .fcc-validation-close:hover[b-vjg44mq712] {
        background: rgba(24, 163, 161, 0.10);
    }

@keyframes fccAlertIn-b-vjg44mq712 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* FORMULAR BUTTONS */

.form-actions[b-vjg44mq712] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}


/* KUNDENLISTE */

.customer-panel[b-vjg44mq712] {
    background: white;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

.customer-toolbar[b-vjg44mq712] {
    display: flex;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8eef1;
}

.customer-search[b-vjg44mq712],
.customer-filter[b-vjg44mq712] {
    border: 1px solid #d5e0e5;
    border-radius: 9px;
    padding: 10px 12px;
    outline: none;
}

.customer-reset-filter[b-vjg44mq712] {
    border: 1px solid #18A3A1;
    border-radius: 9px;
    padding: 0 16px;
    height: 40px;
    box-sizing: border-box;
    background: white;
    color: #18A3A1;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

    .customer-reset-filter:hover[b-vjg44mq712] {
        background: #18A3A1;
        color: white;
    }

.customer-search[b-vjg44mq712] {
    flex: 1;
}

    .customer-search:focus[b-vjg44mq712],
    .customer-filter:focus[b-vjg44mq712] {
        border-color: #18A3A1;
    }


/* EMPTY STATE */

.empty-state[b-vjg44mq712] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-vjg44mq712] {
    font-size: 38px;
    margin-bottom: 12px;
}

.empty-state h2[b-vjg44mq712] {
    color: #00283C;
    margin-bottom: 8px;
}

.empty-state p[b-vjg44mq712] {
    color: #71838d;
    margin-bottom: 20px;
}


/* TABELLE */

.customer-table[b-vjg44mq712] {
    margin-top: 8px;
}

.customer-table-header[b-vjg44mq712],
.customer-row[b-vjg44mq712] {
    display: grid;
    grid-template-columns: 2fr 1fr 1.3fr 1fr 0.8fr 60px;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
}

.customer-table-header[b-vjg44mq712] {
    color: #71838d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e8eef1;
}

.customer-row[b-vjg44mq712] {
    position: relative;
    border-bottom: 1px solid #edf2f4;
}

    .customer-row:hover[b-vjg44mq712] {
        background: #f8fbfc;
    }

.customer-name[b-vjg44mq712] {
    display: flex;
    flex-direction: column;
}

    .customer-name strong[b-vjg44mq712] {
        color: #00283C;
    }

.customer-row small[b-vjg44mq712] {
    color: #81929c;
}


/* STATUS */

.status-badge[b-vjg44mq712] {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.status-aktiv[b-vjg44mq712] {
    background: #e5f7f3;
    color: #087c6d;
}

.status-interessent[b-vjg44mq712] {
    background: #e9f2ff;
    color: #2867a8;
}

.status-pausiert[b-vjg44mq712] {
    background: #f1f3f4;
    color: #6b7479;
}


/* AKTIONSMENÜ */

.customer-actions[b-vjg44mq712] {
    position: relative;
    justify-self: end;
    width: 40px;
    display: flex;
    justify-content: flex-end;
}

.customer-menu-button[b-vjg44mq712] {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #18A3A1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.92);
    transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
    box-shadow: 0 4px 14px rgba(0, 40, 60, 0.12);
}

.customer-row:hover .customer-menu-button[b-vjg44mq712],
.customer-actions.menu-open .customer-menu-button[b-vjg44mq712] {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.customer-menu-button:hover[b-vjg44mq712] {
    background: #0f8f8d;
}

.customer-menu-button span[b-vjg44mq712] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: white;
    display: block;
}

.customer-action-menu[b-vjg44mq712] {
    position: absolute;
    top: 40px;
    right: 0;
    min-width: 150px;
    padding: 7px;
    background: white;
    border: 1px solid #e3ebef;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.15);
    z-index: 100;
}

.action-menu-item[b-vjg44mq712] {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    padding: 10px 12px;
    border-radius: 8px;
    text-align: left;
    font-weight: 600;
    color: #00283C;
    cursor: pointer;
}

    .action-menu-item:hover[b-vjg44mq712] {
        background: #f1f7f8;
    }

    .action-menu-item.danger[b-vjg44mq712] {
        color: #c0392b;
    }

        .action-menu-item.danger:hover[b-vjg44mq712] {
            background: #fff0ee;
        }


/* RESPONSIVE */

@media (max-width: 900px) {

    .customer-stats[b-vjg44mq712] {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 800px) {

    .form-grid[b-vjg44mq712] {
        grid-template-columns: 1fr;
    }

    .form-field.full-width[b-vjg44mq712] {
        grid-column: auto;
    }
}


@media (max-width: 600px) {

    .page-header[b-vjg44mq712] {
        align-items: flex-start;
        gap: 15px;
        flex-direction: column;
    }

        .page-header .fcc-primary-button[b-vjg44mq712] {
            width: 100%;
        }

    .customer-toolbar[b-vjg44mq712] {
        flex-direction: column;
    }

    .fcc-validation-alert[b-vjg44mq712] {
        padding: 14px;
    }


    /* ---------------------------------------------------------
       MOBILE KUNDENKARTEN
       Die Desktop-Tabelle wird auf dem Smartphone in Karten
       umgebaut. Kein horizontaler Tabellen-Scroll mehr.
       --------------------------------------------------------- */

    .customer-panel[b-vjg44mq712] {
        padding: 12px;
        border-radius: 14px;
        overflow: visible;
    }

    .customer-table[b-vjg44mq712] {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 12px;
    }

    .customer-table-header[b-vjg44mq712] {
        display: none;
    }

    .customer-row[b-vjg44mq712] {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name actions"
            "number status"
            "contact contact"
            "location location";
        gap: 10px 12px;
        align-items: start;
        padding: 16px;
        border: 1px solid #e3ecef;
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 4px 14px rgba(0, 40, 60, 0.045);
        overflow: visible;
    }

        .customer-row:hover[b-vjg44mq712],
        .customer-row:active[b-vjg44mq712] {
            background: #f8fbfc;
        }

        .customer-row > .customer-name[b-vjg44mq712] {
            grid-area: name;
            min-width: 0;
            padding-right: 4px;
        }

    .customer-name strong[b-vjg44mq712] {
        font-size: 17px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .customer-name small[b-vjg44mq712] {
        margin-top: 3px;
        font-size: 12px;
    }

    /* Kundennummer */
    .customer-row > span:nth-child(2)[b-vjg44mq712] {
        grid-area: number;
        display: flex;
        flex-direction: column;
        min-width: 0;
        color: #254b5b;
        font-size: 13px;
        font-weight: 700;
    }

        .customer-row > span:nth-child(2)[b-vjg44mq712]::before {
            content: "Kundennummer";
            margin-bottom: 2px;
            color: #8a9aa1;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

    /* Kontakt */
    .customer-row > div:nth-child(3)[b-vjg44mq712] {
        grid-area: contact;
        min-width: 0;
        padding-top: 10px;
        border-top: 1px solid #edf2f4;
        color: #254b5b;
        font-size: 13px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

        .customer-row > div:nth-child(3)[b-vjg44mq712]::before {
            content: "Kontakt";
            display: block;
            margin-bottom: 4px;
            color: #8a9aa1;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .customer-row > div:nth-child(3) small[b-vjg44mq712] {
            display: block;
            margin-top: 2px;
            font-size: 12px;
            overflow-wrap: anywhere;
        }

    /* Ort */
    .customer-row > span:nth-child(4)[b-vjg44mq712] {
        grid-area: location;
        display: flex;
        flex-direction: column;
        min-width: 0;
        color: #254b5b;
        font-size: 13px;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

        .customer-row > span:nth-child(4)[b-vjg44mq712]::before {
            content: "Ort";
            margin-bottom: 2px;
            color: #8a9aa1;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

    /* Status */
    .customer-row > .status-badge[b-vjg44mq712] {
        grid-area: status;
        justify-self: end;
        align-self: end;
        margin: 0;
        padding: 5px 9px;
        font-size: 10px;
    }

    /* Aktionen / 3-Punkte-Menü */
    .customer-row > .customer-actions[b-vjg44mq712] {
        grid-area: actions;
        justify-self: end;
        align-self: start;
        width: 38px;
        min-width: 38px;
        z-index: 20;
    }

    .customer-menu-button[b-vjg44mq712] {
        width: 36px;
        height: 36px;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .customer-action-menu[b-vjg44mq712] {
        top: 42px;
        right: 0;
        min-width: 165px;
        z-index: 500;
    }

    .action-menu-item[b-vjg44mq712] {
        padding: 11px 13px;
        font-size: 13px;
    }

    .form-actions[b-vjg44mq712] {
        flex-direction: column-reverse;
    }

        .form-actions button[b-vjg44mq712] {
            width: 100%;
        }
}


@media (max-width: 380px) {

    .customer-row[b-vjg44mq712] {
        padding: 14px;
        gap: 9px 10px;
    }

    .customer-name strong[b-vjg44mq712] {
        font-size: 16px;
    }

    .customer-row > .status-badge[b-vjg44mq712] {
        font-size: 9px;
    }
}
/* FCC CSV IMPORT 1.6.0 */
.customer-header-actions[b-vjg44mq712] { display:flex; gap:10px; align-items:center; }
.csv-import-backdrop[b-vjg44mq712] { position:fixed; inset:0; background:rgba(1,38,53,.48); z-index:1090; backdrop-filter:blur(2px); }
.csv-import-modal[b-vjg44mq712] { position:fixed; z-index:1100; left:50%; top:50%; transform:translate(-50%,-50%); width:min(940px,calc(100vw - 32px)); max-height:min(820px,calc(100dvh - 40px)); background:#fff; border-radius:22px; box-shadow:0 24px 80px rgba(1,62,87,.28); display:flex; flex-direction:column; overflow:hidden; }
.csv-import-header[b-vjg44mq712] { flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; padding:22px 24px 14px; border-bottom:1px solid #e4edef; }
.csv-import-header h2[b-vjg44mq712] { margin:3px 0 0; color:#013e57; }
.csv-import-kicker[b-vjg44mq712] { color:#18a3a1; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.csv-import-stepper[b-vjg44mq712] { flex:0 0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:16px 24px; background:#f8fbfc; border-bottom:1px solid #e4edef; }
.csv-import-step[b-vjg44mq712] { display:flex; align-items:center; gap:8px; color:#82949c; min-width:0; }
.csv-import-step span[b-vjg44mq712] { width:28px; height:28px; border-radius:50%; background:#e7eef0; display:grid; place-items:center; font-weight:800; flex:0 0 auto; }
.csv-import-step small[b-vjg44mq712] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.csv-import-step.active[b-vjg44mq712] { color:#013e57; } .csv-import-step.active span[b-vjg44mq712],.csv-import-step.done span[b-vjg44mq712] { background:#18a3a1; color:white; }
.csv-import-content[b-vjg44mq712] { flex:1 1 auto; min-height:0; overflow:auto; padding:22px 24px; overscroll-behavior:contain; }
.csv-import-actions[b-vjg44mq712] { flex:0 0 auto; display:flex; justify-content:flex-end; gap:10px; padding:15px 24px calc(15px + env(safe-area-inset-bottom)); border-top:1px solid #e4edef; background:#fff; }
.csv-upload-zone[b-vjg44mq712] { border:2px dashed #b8d6da; background:#f7fbfb; border-radius:18px; padding:34px 24px; text-align:center; }
.csv-upload-zone strong[b-vjg44mq712] { display:block; color:#013e57; font-size:18px; } .csv-upload-zone p[b-vjg44mq712] { color:#617b86; max-width:560px; margin:8px auto 18px; }
.csv-import-working[b-vjg44mq712] { display:block; margin-top:12px; color:#18a3a1; font-weight:700; }
.csv-import-summary[b-vjg44mq712] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.csv-import-summary>div[b-vjg44mq712] { border:1px solid #dce9eb; background:#f9fcfc; border-radius:14px; padding:14px; }
.csv-import-summary strong[b-vjg44mq712] { display:block; color:#013e57; font-size:22px; } .csv-import-summary span[b-vjg44mq712] { color:#6a828c; font-size:12px; }
.csv-preview-list[b-vjg44mq712] { display:grid; gap:8px; }
.csv-preview-card[b-vjg44mq712] { display:flex; justify-content:space-between; gap:14px; border:1px solid #dce8eb; border-radius:13px; padding:12px 14px; }
.csv-preview-card.skip[b-vjg44mq712] { background:#fafafa; opacity:.76; } .csv-preview-card.ready[b-vjg44mq712] { border-left:4px solid #18a3a1; }
.csv-preview-main[b-vjg44mq712] { display:flex; flex-direction:column; min-width:0; } .csv-preview-main strong[b-vjg44mq712] { color:#013e57; } .csv-preview-main span[b-vjg44mq712],.csv-preview-main small[b-vjg44mq712] { color:#6f858e; overflow-wrap:anywhere; }
.csv-preview-status[b-vjg44mq712] { align-self:center; color:#7a6161; font-size:12px; text-align:right; } .csv-preview-status label[b-vjg44mq712] { color:#166e70; font-weight:700; }
.csv-confirm-panel[b-vjg44mq712],.csv-import-success[b-vjg44mq712] { max-width:620px; margin:30px auto; padding:28px; border-radius:18px; background:#f7fbfb; border:1px solid #d8e9ea; text-align:center; }
.csv-confirm-panel strong[b-vjg44mq712],.csv-import-success strong[b-vjg44mq712] { display:block; color:#013e57; font-size:20px; } .csv-confirm-panel p[b-vjg44mq712],.csv-import-success p[b-vjg44mq712] { color:#677f89; }
.csv-confirm-stats[b-vjg44mq712] { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; } .csv-confirm-stats span[b-vjg44mq712] { background:#fff; border:1px solid #dce8ea; border-radius:999px; padding:7px 11px; font-size:12px; }
.csv-import-success>span[b-vjg44mq712] { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#18a3a1; color:#fff; margin:0 auto 14px; font-size:28px; }
@media (max-width:700px) {
  .customer-header-actions[b-vjg44mq712] { width:100%; flex-direction:column; } .customer-header-actions button[b-vjg44mq712] { width:100%; }
  .csv-import-modal[b-vjg44mq712] { top:max(10px,env(safe-area-inset-top)); left:10px; right:10px; bottom:10px; width:auto; max-height:none; transform:none; border-radius:18px; }
  .csv-import-header[b-vjg44mq712] { padding:17px 16px 12px; }
  .csv-import-stepper[b-vjg44mq712] { padding:12px 14px; gap:4px; } .csv-import-step[b-vjg44mq712] { justify-content:center; } .csv-import-step small[b-vjg44mq712] { display:none; } .csv-import-step.active small[b-vjg44mq712] { display:block; font-size:11px; }
  .csv-import-content[b-vjg44mq712] { padding:16px; }
  .csv-import-actions[b-vjg44mq712] { padding:12px 14px calc(12px + env(safe-area-inset-bottom)); flex-direction:column-reverse; } .csv-import-actions button[b-vjg44mq712] { width:100%; min-height:46px; }
  .csv-import-summary[b-vjg44mq712] { grid-template-columns:repeat(2,1fr); }
  .csv-preview-card[b-vjg44mq712] { flex-direction:column; } .csv-preview-status[b-vjg44mq712] { align-self:flex-start; text-align:left; }
}

/* FCC Kunden Schnellfilter & Sortierung */
.customer-toolbar[b-vjg44mq712] { flex-wrap:wrap; align-items:center; }
.customer-search[b-vjg44mq712] { min-width:260px; }
.customer-filter[b-vjg44mq712] { min-width:145px; background:#fff; color:#17394a; }
.customer-sort[b-vjg44mq712] { min-width:175px; }
@media (max-width:600px) {
  .customer-search[b-vjg44mq712],.customer-filter[b-vjg44mq712],.customer-sort[b-vjg44mq712],.customer-reset-filter[b-vjg44mq712] { width:100%; min-width:0; }
}

/* FCC v3: kompakte 2x2-KPIs auf Mobilgeräten */
@media (max-width: 700px) {
    .stats-grid[b-vjg44mq712], .stat-grid[b-vjg44mq712], .customer-stats[b-vjg44mq712] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .55rem !important;
    }
    .stats-grid .stat-card[b-vjg44mq712], .stat-grid .stat-card[b-vjg44mq712], .customer-stats .stat-card[b-vjg44mq712] {
        min-height: 0 !important;
        padding: .7rem .65rem !important;
    }
    .stats-grid .stat-card span[b-vjg44mq712], .stat-grid .stat-card span[b-vjg44mq712], .customer-stats .stat-card span[b-vjg44mq712] {
        font-size: .72rem !important;
        line-height: 1.15 !important;
    }
    .stats-grid .stat-card strong[b-vjg44mq712], .stat-grid .stat-card strong[b-vjg44mq712], .customer-stats .stat-card strong[b-vjg44mq712] {
        font-size: 1.15rem !important;
    }
}
/* /Components/Pages/KundenportalPanel.razor.rz.scp.css */
.portalverw-panel[b-3kqaxmf2a4] {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px 28px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, .07);
    margin-bottom: 24px;
}

.portalverw-head span[b-3kqaxmf2a4] {
    display: block;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    color: #18a3a1;
    margin-bottom: 6px;
}

.portalverw-head h2[b-3kqaxmf2a4] {
    margin: 0 0 6px;
    font-size: 20px;
    color: #062b45;
}

.portalverw-head p[b-3kqaxmf2a4] {
    margin: 0 0 18px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.5;
}

/* Zweiter Abschnitt im selben Panel - sichtbar abgesetzt, damit
   Zugang und Freigabe nicht als eine Liste gelesen werden. */
.portalverw-abschnitt[b-3kqaxmf2a4] {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #edf2f4;
}

.portalverw-warnung[b-3kqaxmf2a4] {
    display: block;
    margin-top: 3px;
    color: #a8352b;
    font-size: 11px;
    font-weight: 600;
}

.portalverw-passwort[b-3kqaxmf2a4] {
    background: #eef7f7;
    border: 1px solid rgba(24, 163, 161, .3);
    border-radius: 13px;
    padding: 15px 17px;
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .portalverw-passwort code[b-3kqaxmf2a4] {
        font-size: 19px;
        font-weight: 700;
        letter-spacing: .06em;
        color: #0d6d6b;
        background: #ffffff;
        border-radius: 9px;
        padding: 9px 13px;
        word-break: break-all;
    }

    .portalverw-passwort small[b-3kqaxmf2a4] {
        color: #5c7079;
        font-size: 12px;
        line-height: 1.5;
    }

.portalverw-neu[b-3kqaxmf2a4] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    padding-bottom: 20px;
    margin-bottom: 8px;
    border-bottom: 1px solid #edf2f4;
}

    .portalverw-neu label[b-3kqaxmf2a4] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        font-size: 13px;
        font-weight: 600;
        color: #43606d;
        flex: 1 1 220px;
    }

    .portalverw-neu select[b-3kqaxmf2a4],
    .portalverw-neu input[b-3kqaxmf2a4] {
        border: 1px solid #dbe6ea;
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 14px;
        background: #f8fbfc;
    }

.portalverw-tabelle[b-3kqaxmf2a4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-top: 10px;
}

    .portalverw-tabelle th[b-3kqaxmf2a4] {
        text-align: left;
        font-size: 11px;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: #8a9aa1;
        font-weight: 700;
        padding: 0 10px 8px 0;
        border-bottom: 1px solid #edf2f4;
    }

    .portalverw-tabelle td[b-3kqaxmf2a4] {
        padding: 11px 10px 11px 0;
        border-bottom: 1px solid #f4f8f9;
        vertical-align: middle;
    }

    .portalverw-tabelle tr.aus td[b-3kqaxmf2a4] {
        opacity: .55;
    }

    .portalverw-tabelle strong[b-3kqaxmf2a4] {
        display: block;
        color: #062b45;
    }

    .portalverw-tabelle small[b-3kqaxmf2a4] {
        color: #8a9aa1;
        font-size: 12px;
    }

.portalverw-aktionen[b-3kqaxmf2a4] {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

    .portalverw-aktionen button[b-3kqaxmf2a4] {
        border: 1px solid #dbe6ea;
        background: #ffffff;
        color: #43606d;
        border-radius: 999px;
        padding: 6px 13px;
        font-size: 12px;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
    }

.portalverw-hinweis[b-3kqaxmf2a4] {
    margin-top: 14px;
    background: #f3f7fa;
    border-radius: 12px;
    padding: 14px 16px;
    color: #43606d;
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 700px) {

    .portalverw-panel[b-3kqaxmf2a4] {
        padding: 20px 14px;
    }

    .portalverw-tabelle th:nth-child(3)[b-3kqaxmf2a4],
    .portalverw-tabelle td:nth-child(3)[b-3kqaxmf2a4] {
        display: none;
    }

    .portalverw-aktionen[b-3kqaxmf2a4] {
        justify-content: flex-start;
    }
}

/* =====================================================
   KUNDENSUCHE

   Ersetzt die frühere Auswahlliste: Bei über 40 Kunden lief
   sie aus dem Bild und ließ sich nicht durchsuchen.
   ===================================================== */

.portalverw-suche[b-3kqaxmf2a4] {
    position: relative;
}

    .portalverw-suche input[type="search"][b-3kqaxmf2a4] {
        border: 1px solid #dbe6ea;
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 14px;
        background: #f8fbfc;
        width: 100%;
        box-sizing: border-box;
    }

.portalverw-treffer[b-3kqaxmf2a4] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 20;
    margin-top: 5px;
    max-height: 260px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #dbe6ea;
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(6, 43, 69, .14);
}

    .portalverw-treffer button[b-3kqaxmf2a4] {
        display: flex;
        align-items: baseline;
        gap: 9px;
        width: 100%;
        border: none;
        background: none;
        text-align: left;
        padding: 10px 13px;
        cursor: pointer;
        border-bottom: 1px solid #f4f8f9;
    }

        .portalverw-treffer button:last-child[b-3kqaxmf2a4] {
            border-bottom: none;
        }

        .portalverw-treffer button:hover[b-3kqaxmf2a4] {
            background: #eef7f7;
        }

        .portalverw-treffer button strong[b-3kqaxmf2a4] {
            color: #062b45;
            font-size: 14px;
            font-weight: 600;
        }

        .portalverw-treffer button small[b-3kqaxmf2a4] {
            color: #8a9aa1;
            font-size: 12px;
        }

.portalverw-kein-treffer[b-3kqaxmf2a4] {
    display: block;
    padding: 12px 13px;
    color: #8a9aa1;
    font-size: 13px;
}

.portalverw-gewaehlt[b-3kqaxmf2a4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid rgba(24, 163, 161, .38);
    background: #eef7f7;
    border-radius: 10px;
    padding: 9px 9px 9px 13px;
}

    .portalverw-gewaehlt span[b-3kqaxmf2a4] {
        color: #0d6d6b;
        font-size: 14px;
        font-weight: 600;
    }

    .portalverw-gewaehlt button[b-3kqaxmf2a4] {
        border: none;
        background: none;
        color: #0d6d6b;
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        padding: 0 6px;
    }
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-dg0cxgqpym] {
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    background: radial-gradient( circle at 15% 15%, rgba(24, 163, 161, .18), transparent 35% ), radial-gradient( circle at 85% 80%, rgba(1, 62, 87, .14), transparent 34% ), linear-gradient( 145deg, #eef8f8 0%, #f7fbfc 47%, #edf4f7 100% );
}


.login-background-shape[b-dg0cxgqpym] {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(4px);
}


.shape-one[b-dg0cxgqpym] {
    width: 420px;
    height: 420px;
    top: -180px;
    right: -110px;
    background: rgba(24, 163, 161, .08);
    border: 1px solid rgba(24, 163, 161, .13);
}


.shape-two[b-dg0cxgqpym] {
    width: 500px;
    height: 500px;
    bottom: -260px;
    left: -160px;
    background: rgba(1, 62, 87, .055);
    border: 1px solid rgba(1, 62, 87, .08);
}


.login-container[b-dg0cxgqpym] {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 460px;
}


.login-brand[b-dg0cxgqpym] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 25px;
}


.login-logo-box[b-dg0cxgqpym] {
    width: 74px;
    height: 74px;
    padding: 5px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .84);
    border: 1px solid rgba(24, 163, 161, .18);
    box-shadow: 0 12px 30px rgba(1, 62, 87, .10);
    overflow: hidden;
}


    .login-logo-box img[b-dg0cxgqpym] {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain;
        border-radius: 15px;
    }


.login-brand-text[b-dg0cxgqpym] {
    display: flex;
    flex-direction: column;
}


.login-company[b-dg0cxgqpym] {
    color: #013e57;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}


.login-product[b-dg0cxgqpym] {
    margin-top: 4px;
    color: #18a3a1;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
}


.login-card[b-dg0cxgqpym] {
    padding: 34px;
    border-radius: 26px;
    background: rgba(255, 255, 255, .83);
    border: 1px solid rgba(255, 255, 255, .95);
    box-shadow: 0 25px 70px rgba(1, 62, 87, .13);
    backdrop-filter: blur(20px);
}


.login-card-header[b-dg0cxgqpym] {
    margin-bottom: 27px;
}


.login-eyebrow[b-dg0cxgqpym] {
    display: inline-flex;
    margin-bottom: 9px;
    color: #18a3a1;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}


.login-card-header h1[b-dg0cxgqpym] {
    margin: 0;
    color: #013e57;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.03em;
}


.login-card-header p[b-dg0cxgqpym] {
    margin: 9px 0 0;
    color: #718492;
    font-size: 14px;
    line-height: 1.55;
}


.login-alert[b-dg0cxgqpym] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
    padding: 14px 15px;
    border-radius: 17px;
    color: #7c3d3d;
    background: rgba(210, 82, 82, .08);
    border: 1px solid rgba(210, 82, 82, .16);
}


.login-alert-icon[b-dg0cxgqpym] {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(210, 82, 82, .12);
    font-weight: 900;
}


.login-alert strong[b-dg0cxgqpym],
.login-alert span[b-dg0cxgqpym] {
    display: block;
}


.login-alert strong[b-dg0cxgqpym] {
    margin-bottom: 2px;
    font-size: 13px;
}


.login-alert span[b-dg0cxgqpym] {
    font-size: 12px;
    opacity: .82;
}


.login-form[b-dg0cxgqpym] {
    display: flex;
    flex-direction: column;
    gap: 17px;
}


.login-field[b-dg0cxgqpym] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}


    .login-field label[b-dg0cxgqpym] {
        color: #234b5e;
        font-size: 12px;
        font-weight: 750;
    }


    .login-field input[b-dg0cxgqpym] {
        width: 100% !important;
        min-height: 50px;
        padding: 13px 15px !important;
        color: #102f46 !important;
        background: linear-gradient( 135deg, rgba(24, 163, 161, .11), rgba(1, 62, 87, .055) ) !important;
        border: 1px solid rgba(24, 163, 161, .27) !important;
        border-radius: 16px !important;
        outline: none !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65) !important;
        transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
    }


        .login-field input:hover[b-dg0cxgqpym] {
            border-color: rgba(24, 163, 161, .48) !important;
        }


        .login-field input:focus[b-dg0cxgqpym] {
            border-color: rgba(24, 163, 161, .8) !important;
            background: linear-gradient( 135deg, rgba(24, 163, 161, .16), rgba(1, 62, 87, .07) ) !important;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, .10) !important;
        }


.remember-row[b-dg0cxgqpym] {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 9px;
    color: #587180;
    font-size: 13px;
    cursor: pointer;
}


    .remember-row input[b-dg0cxgqpym] {
        width: 17px !important;
        height: 17px !important;
        accent-color: #18a3a1;
        cursor: pointer;
    }


.login-button[b-dg0cxgqpym] {
    width: 100%;
    min-height: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin-top: 3px;
    border: 0;
    border-radius: 16px;
    color: white;
    background: linear-gradient( 135deg, #18a3a1, #087f87 );
    box-shadow: 0 12px 28px rgba(24, 163, 161, .22);
    font-weight: 800;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .14s ease;
}


    .login-button:hover[b-dg0cxgqpym] {
        transform: translateY(-1px);
        box-shadow: 0 16px 34px rgba(24, 163, 161, .28);
    }


    .login-button:active[b-dg0cxgqpym] {
        transform: translateY(0);
    }


    .login-button span[b-dg0cxgqpym] {
        font-size: 20px;
        line-height: 1;
    }


.login-security[b-dg0cxgqpym] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
    color: #82939e;
    font-size: 11px;
}


.security-dot[b-dg0cxgqpym] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #18a3a1;
    box-shadow: 0 0 0 4px rgba(24, 163, 161, .10);
}


.login-footer[b-dg0cxgqpym] {
    margin-top: 19px;
    text-align: center;
    color: #81929d;
    font-size: 11px;
}


@media (max-width: 600px) {

    .login-page[b-dg0cxgqpym] {
        padding: 20px 15px;
    }


    .login-card[b-dg0cxgqpym] {
        padding: 27px 21px;
        border-radius: 22px;
    }


    .login-card-header h1[b-dg0cxgqpym] {
        font-size: 26px;
    }


    .login-logo-box[b-dg0cxgqpym] {
        width: 65px;
        height: 65px;
    }
}

/* FCC 1.6.1 - LOGIN LAYOUT REGRESSION FIX
   Login ist absichtlich vom normalen FCC-App-/Wizard-Layout isoliert. */
.login-page[b-dg0cxgqpym] {
    position: absolute !important;
    inset: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.login-container[b-dg0cxgqpym] {
    flex: 0 1 460px !important;
    width: min(460px, 100%) !important;
    max-width: 460px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

@media (max-width: 600px) {
    .login-page[b-dg0cxgqpym] {
        padding: max(20px, env(safe-area-inset-top)) 15px max(20px, env(safe-area-inset-bottom)) !important;
    }
    .login-container[b-dg0cxgqpym] {
        width: 100% !important;
        max-width: 460px !important;
    }
}
/* /Components/Pages/Objekte.razor.rz.scp.css */
.page-header[b-u16fnpltl8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

    .page-header h1[b-u16fnpltl8] {
        margin: 0;
        color: #00283C;
        font-size: 28px;
        font-weight: 700;
    }

    .page-header p[b-u16fnpltl8] {
        margin: 5px 0 0;
        color: #6b7c86;
    }

.object-stats[b-u16fnpltl8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.stat-card[b-u16fnpltl8] {
    background: white;
    border-radius: 12px;
    padding: 20px;
    border-left: 4px solid #18A3A1;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

    .stat-card span[b-u16fnpltl8] {
        display: block;
        color: #71838d;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .stat-card strong[b-u16fnpltl8] {
        color: #00283C;
        font-size: 26px;
    }

.object-form-panel[b-u16fnpltl8] {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0, 40, 60, 0.08);
}

.form-header[b-u16fnpltl8] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}

    .form-header h2[b-u16fnpltl8] {
        margin: 0;
        color: #00283C;
    }

    .form-header p[b-u16fnpltl8] {
        margin: 5px 0 0;
        color: #71838d;
    }

.close-button[b-u16fnpltl8] {
    border: none;
    background: transparent;
    font-size: 28px;
    color: #71838d;
    cursor: pointer;
}

.form-grid[b-u16fnpltl8] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field[b-u16fnpltl8] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full-width[b-u16fnpltl8] {
        grid-column: 1 / -1;
    }

    .form-field label[b-u16fnpltl8] {
        font-size: 13px;
        font-weight: 700;
        color: #365467;
    }

    .form-field input[b-u16fnpltl8],
    .form-field select[b-u16fnpltl8],
    .form-field textarea[b-u16fnpltl8] {
        width: 100%;
        border: 1px solid #d5e0e5;
        border-radius: 9px;
        padding: 11px 12px;
        outline: none;
        background: white;
    }

    .form-field textarea[b-u16fnpltl8] {
        min-height: 100px;
        resize: vertical;
    }

        .form-field input:focus[b-u16fnpltl8],
        .form-field select:focus[b-u16fnpltl8],
        .form-field textarea:focus[b-u16fnpltl8] {
            border-color: #18A3A1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10);
        }

[b-u16fnpltl8] .invalid {
    border-color: rgba(24, 163, 161, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10) !important;
}

[b-u16fnpltl8] .validation-message {
    display: none !important;
}

.fcc-validation-alert[b-u16fnpltl8] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.11);
    border: 1px solid rgba(24, 163, 161, 0.30);
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.08);
    backdrop-filter: blur(8px);
    animation: fccAlertIn-b-u16fnpltl8 0.22s ease-out;
}

.fcc-validation-symbol[b-u16fnpltl8] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.18);
    color: #087c7a;
    font-size: 20px;
    font-weight: 800;
}

.fcc-validation-content[b-u16fnpltl8] {
    flex: 1;
    display: flex;
    flex-direction: column;
    color: #174e59;
}

    .fcc-validation-content strong[b-u16fnpltl8] {
        color: #087c7a;
        font-size: 15px;
        font-weight: 800;
        margin-bottom: 3px;
    }

    .fcc-validation-content > span[b-u16fnpltl8] {
        color: #54727a;
        font-size: 13px;
    }

    .fcc-validation-content ul[b-u16fnpltl8] {
        margin: 9px 0 0;
        padding-left: 18px;
        color: #245f66;
        font-size: 13px;
    }

    .fcc-validation-content li[b-u16fnpltl8] {
        margin: 3px 0;
    }

.fcc-validation-close[b-u16fnpltl8] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #388087;
    font-size: 21px;
    cursor: pointer;
}

    .fcc-validation-close:hover[b-u16fnpltl8] {
        background: rgba(24, 163, 161, 0.10);
    }

@keyframes fccAlertIn-b-u16fnpltl8 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-actions[b-u16fnpltl8] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

.object-panel[b-u16fnpltl8] {
    background: white;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

.object-toolbar[b-u16fnpltl8] {
    display: flex;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8eef1;
}

.object-search[b-u16fnpltl8],
.object-filter[b-u16fnpltl8] {
    border: 1px solid #d5e0e5;
    border-radius: 9px;
    padding: 10px 12px;
    outline: none;
}

.object-search[b-u16fnpltl8] {
    flex: 1;
}

    .object-search:focus[b-u16fnpltl8],
    .object-filter:focus[b-u16fnpltl8] {
        border-color: #18A3A1;
    }

.empty-state[b-u16fnpltl8] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-u16fnpltl8] {
    font-size: 38px;
    margin-bottom: 12px;
}

.empty-state h2[b-u16fnpltl8] {
    color: #00283C;
    margin-bottom: 8px;
}

.empty-state p[b-u16fnpltl8] {
    color: #71838d;
    margin-bottom: 20px;
}

.object-table[b-u16fnpltl8] {
    margin-top: 8px;
}

.object-table-header[b-u16fnpltl8],
.object-row[b-u16fnpltl8] {
    display: grid;
    grid-template-columns: 2fr 1.4fr 1fr 1fr 0.8fr 60px;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
}

.object-table-header[b-u16fnpltl8] {
    color: #71838d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e8eef1;
}

.object-row[b-u16fnpltl8] {
    position: relative;
    border-bottom: 1px solid #edf2f4;
}

    .object-row:hover[b-u16fnpltl8] {
        background: #f8fbfc;
    }

.object-name[b-u16fnpltl8] {
    display: flex;
    flex-direction: column;
}

    .object-name strong[b-u16fnpltl8] {
        color: #00283C;
    }

.object-row small[b-u16fnpltl8] {
    color: #81929c;
}

.object-badge[b-u16fnpltl8] {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: #e5f7f3;
    color: #087c6d;
}

.object-actions[b-u16fnpltl8] {
    position: relative;
    justify-self: end;
    width: 40px;
    display: flex;
    justify-content: flex-end;
}

.object-menu-button[b-u16fnpltl8] {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #18A3A1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.92);
    transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
    box-shadow: 0 4px 14px rgba(0, 40, 60, 0.12);
}

.object-row:hover .object-menu-button[b-u16fnpltl8],
.object-actions.menu-open .object-menu-button[b-u16fnpltl8] {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.object-menu-button:hover[b-u16fnpltl8] {
    background: #0f8f8d;
}

.object-menu-button span[b-u16fnpltl8] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: white;
    display: block;
}

.object-action-menu[b-u16fnpltl8] {
    position: absolute;
    top: 40px;
    right: 0;
    min-width: 150px;
    padding: 7px;
    background: white;
    border: 1px solid #e3ebef;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.15);
    z-index: 100;
}

.action-menu-item[b-u16fnpltl8] {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    padding: 10px 12px;
    border-radius: 8px;
    text-align: left;
    font-weight: 600;
    color: #00283C;
    cursor: pointer;
}

    .action-menu-item:hover[b-u16fnpltl8] {
        background: #f1f7f8;
    }

    .action-menu-item.danger[b-u16fnpltl8] {
        color: #c0392b;
    }

        .action-menu-item.danger:hover[b-u16fnpltl8] {
            background: #fff0ee;
        }


/* --------------------------------------------------
   FCC LÖSCHDIALOG
-------------------------------------------------- */

.fcc-delete-overlay[b-u16fnpltl8] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: rgba(0, 40, 60, 0.32);
    backdrop-filter: blur(4px);
}

.fcc-delete-dialog[b-u16fnpltl8] {
    position: relative;
    width: min(540px, 100%);
    padding: 28px;
    background: white;
    border: 1px solid rgba(24, 163, 161, 0.22);
    border-radius: 20px;
    box-shadow: 0 30px 80px rgba(0, 40, 60, 0.22);
    animation: fccDeleteOpen-b-u16fnpltl8 0.18s ease-out;
}

@keyframes fccDeleteOpen-b-u16fnpltl8 {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.fcc-delete-icon[b-u16fnpltl8] {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.13);
    color: #087c7a;
    font-size: 23px;
    font-weight: 800;
}

.fcc-delete-header[b-u16fnpltl8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .fcc-delete-header h2[b-u16fnpltl8] {
        margin: 0;
        color: #00283C;
        font-size: 22px;
    }

.fcc-delete-x[b-u16fnpltl8] {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #68818c;
    font-size: 24px;
    cursor: pointer;
}

    .fcc-delete-x:hover[b-u16fnpltl8] {
        background: #edf4f5;
    }

.fcc-delete-intro[b-u16fnpltl8] {
    margin: 14px 0 18px;
    color: #526b76;
    line-height: 1.55;
}

    .fcc-delete-intro strong[b-u16fnpltl8] {
        color: #00283C;
    }

.fcc-delete-warning[b-u16fnpltl8] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 13px;
    background: rgba(24, 163, 161, 0.10);
    border: 1px solid rgba(24, 163, 161, 0.24);
    color: #3b666b;
}

    .fcc-delete-warning strong[b-u16fnpltl8] {
        color: #087c7a;
    }

.fcc-delete-details[b-u16fnpltl8] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

    .fcc-delete-details div[b-u16fnpltl8] {
        min-width: 0;
        padding: 13px 15px;
        border: 1px solid #e1eaed;
        border-radius: 11px;
        background: #fafcfd;
    }

    .fcc-delete-details span[b-u16fnpltl8] {
        display: block;
        margin-bottom: 4px;
        color: #82939a;
        font-size: 11px;
    }

    .fcc-delete-details strong[b-u16fnpltl8] {
        display: block;
        color: #143b4d;
        font-size: 14px;
        word-break: break-word;
    }

.fcc-delete-actions[b-u16fnpltl8] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.fcc-delete-button[b-u16fnpltl8] {
    padding: 11px 18px;
    border: none;
    border-radius: 10px;
    background: #18A3A1;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

    .fcc-delete-button:hover[b-u16fnpltl8] {
        background: #0f8f8d;
    }

    .fcc-delete-button:disabled[b-u16fnpltl8] {
        opacity: 0.55;
        cursor: not-allowed;
    }


@media (max-width: 900px) {
    .object-stats[b-u16fnpltl8] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    .form-grid[b-u16fnpltl8] {
        grid-template-columns: 1fr;
    }

    .form-field.full-width[b-u16fnpltl8] {
        grid-column: auto;
    }
}

@media (max-width: 600px) {

    .page-header[b-u16fnpltl8] {
        align-items: flex-start;
        gap: 15px;
        flex-direction: column;
    }

    .object-stats[b-u16fnpltl8] {
        grid-template-columns: 1fr;
    }

    .object-toolbar[b-u16fnpltl8] {
        flex-direction: column;
    }

    .fcc-delete-overlay[b-u16fnpltl8] {
        padding: 15px;
    }

    .fcc-delete-dialog[b-u16fnpltl8] {
        padding: 22px;
    }

    .fcc-delete-details[b-u16fnpltl8] {
        grid-template-columns: 1fr;
    }

    .fcc-delete-actions[b-u16fnpltl8] {
        flex-direction: column-reverse;
    }

        .fcc-delete-actions button[b-u16fnpltl8] {
            width: 100%;
        }
}
/* /Components/Pages/Portal/PortalAnliegenDetail.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – ANLIEGENDETAIL
   Mobil zuerst, damit Nachrichtenverlauf, Status und Antworten
   bereits ab 375px ohne horizontales Scrollen funktionieren.
   ========================================================= */

.portal-zurueck[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    margin-bottom: 12px;
    padding: 8px 0;

    color: #118c8a;

    text-decoration: none;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
}


.portal-gruss[b-m5uzxldums] {
    margin: 0 0 5px;

    color: #062b45;

    font-size: 22px;
    line-height: 1.28;
    font-weight: 800;
    letter-spacing: -.015em;
}


.portal-datum[b-m5uzxldums] {
    margin: 0 0 22px;

    color: #7f929b;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   KARTEN
   ========================================================= */

.portal-karte[b-m5uzxldums] {
    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
    padding: 18px 15px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 8px 26px
        rgba(6, 43, 69, .055);
}


.portal-kicker[b-m5uzxldums] {
    display: block;

    margin-bottom: 10px;

    color: #18a3a1;

    font-size: 11px;
    line-height: 1.25;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;
}


.portal-leer[b-m5uzxldums] {
    margin: 0;

    color: #60747e;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   KOPFBEREICH DES ANLIEGENS
   ========================================================= */

.portal-kopf[b-m5uzxldums] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 9px;

    min-width: 0;
}


.portal-kopf-zeile[b-m5uzxldums] {
    min-width: 0;

    overflow-wrap: anywhere;

    color: #4c6671;

    font-size: 14px;
    line-height: 1.5;
}


.portal-status[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;

    padding:
        5px
        12px;

    box-sizing: border-box;

    border-radius: 999px;

    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
}


.portal-status.offen[b-m5uzxldums] {
    color: #536a75;

    background: #eef2f4;
}


.portal-status.wartet[b-m5uzxldums] {
    color: #8a5d18;

    background: #fff3df;
}


.portal-status.erledigt[b-m5uzxldums] {
    color: #2f6a42;

    background: #e9f4ec;
}


.portal-status.abgelehnt[b-m5uzxldums] {
    color: #9a3d34;

    background: #fbe9e7;
}


/* =========================================================
   TERMINVORSCHLAG
   ========================================================= */

/* Der Terminvorschlag ist die zentrale Entscheidung innerhalb
   des Vorgangs und hebt sich deshalb deutlich vom Verlauf ab. */
.portal-vorschlag[b-m5uzxldums] {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 4px;

    width: 100%;

    padding:
        19px
        18px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, .06);

    border-radius: 17px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(24, 163, 161, .24),
            transparent 170px
        ),
        linear-gradient(
            145deg,
            #062b45 0%,
            #053249 58%,
            #04212f 100%
        );

    box-shadow:
        0 12px 28px
        rgba(4, 33, 47, .13);
}


.portal-vorschlag .portal-kicker[b-m5uzxldums] {
    color: #73d8d5;
}


.portal-vorschlag-datum[b-m5uzxldums] {
    color: #ffffff;

    font-size: 22px;
    line-height: 1.2;
    font-weight: 850;
}


.portal-vorschlag-zeit[b-m5uzxldums] {
    color: #9fd9d8;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}


.portal-vorschlag-text[b-m5uzxldums] {
    margin:
        11px
        0
        14px;

    color:
        rgba(255, 255, 255, .80);

    font-size: 14px;
    line-height: 1.6;
}


/* Entscheidung zum Terminvorschlag. Auf dem Telefon
   untereinander, damit beide Schaltflächen die volle Breite
   bekommen und sicher zu treffen sind. */
.portal-vorschlag-aktionen[b-m5uzxldums] {
    display: flex;
    flex-direction: column;

    gap: 9px;

    width: 100%;
}


.portal-hell[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 46px;

    padding:
        11px
        18px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(255, 255, 255, .22);

    border-radius: 12px;

    color: #ffffff;

    background:
        rgba(255, 255, 255, .09);

    font: inherit;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease;
}


.portal-hell:hover:not(:disabled)[b-m5uzxldums] {
    border-color:
        rgba(255, 255, 255, .38);

    background:
        rgba(255, 255, 255, .15);
}


.portal-hell:disabled[b-m5uzxldums] {
    opacity: .5;

    cursor: default;
}


/* Formular zum Ablehnen. Es sitzt auf der dunklen Karte,
   deshalb hellere Beschriftungen. */
.portal-ablehnen[b-m5uzxldums] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    gap: 11px;

    width: 100%;

    margin-bottom: 15px;
}


.portal-ablehnen label[b-m5uzxldums] {
    display: flex;
    flex-direction: column;

    gap: 6px;

    min-width: 0;
}


.portal-ablehnen span[b-m5uzxldums] {
    color:
        rgba(255, 255, 255, .78);

    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
}


/* 16px verhindert das Hineinzoomen mobiler Browser. */
.portal-ablehnen input[b-m5uzxldums],
.portal-ablehnen select[b-m5uzxldums],
.portal-ablehnen textarea[b-m5uzxldums] {
    width: 100%;
    min-width: 0;
    min-height: 46px;

    padding:
        11px
        13px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(255, 255, 255, .20);

    border-radius: 11px;

    outline: none;

    color: #ffffff;

    background:
        rgba(255, 255, 255, .10);

    font: inherit;
    font-size: 16px;
    line-height: 1.4;
}


.portal-ablehnen textarea[b-m5uzxldums] {
    min-height: 78px;

    resize: vertical;

    line-height: 1.5;
}


.portal-ablehnen input:focus[b-m5uzxldums],
.portal-ablehnen select:focus[b-m5uzxldums],
.portal-ablehnen textarea:focus[b-m5uzxldums] {
    border-color: #6fd0ce;

    background:
        rgba(255, 255, 255, .16);
}


.portal-ablehnen option[b-m5uzxldums] {
    color: #062b45;
}


.portal-fehler-dunkel[b-m5uzxldums] {
    margin:
        14px
        0
        0;

    border:
        1px solid
        rgba(255, 255, 255, .18);

    color: #ffd9d4;

    background:
        rgba(154, 61, 52, .35);
}


/* =========================================================
   ABGESCHLOSSENER VORGANG
   ========================================================= */

.portal-geschlossen[b-m5uzxldums] {
    border-left: 4px solid #cdd9de;
}


.portal-geschlossen-aktionen[b-m5uzxldums] {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 9px;

    margin-top: 15px;
}


.portal-hell-link[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    color: #5f747e;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 650;
}


/* =========================================================
   PREISEINSCHÄTZUNG
   ========================================================= */

.portal-schaetzung-preis[b-m5uzxldums] {
    display: block;

    margin-bottom: 8px;

    color: #062b45;

    font-size: 22px;
    line-height: 1.2;
    font-weight: 850;
}


/* =========================================================
   NACHRICHTENVERLAUF
   ========================================================= */

.portal-verlauf[b-m5uzxldums] {
    display: flex;
    flex-direction: column;

    gap: 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.portal-verlauf li[b-m5uzxldums] {
    display: flex;
    flex-direction: column;

    gap: 6px;

    width: fit-content;
    max-width: 100%;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border-radius: 15px;
}


/* Eigene Beiträge stehen rechts und Antworten links, damit der
   Verlauf auch ohne wiederholtes Lesen des Absenders erfassbar ist. */
.portal-verlauf li.kunde[b-m5uzxldums] {
    align-self: flex-end;

    border-bottom-right-radius: 5px;

    background:
        linear-gradient(
            180deg,
            #edf9f8 0%,
            #e4f4f4 100%
        );
}


.portal-verlauf li.betrieb[b-m5uzxldums] {
    align-self: flex-start;

    border-bottom-left-radius: 5px;

    background: #f3f7f9;
}


.portal-verlauf li.hinweis[b-m5uzxldums] {
    align-self: stretch;

    width: 100%;
    max-width: none;

    border:
        1px dashed #d5e1e5;

    border-radius: 13px;

    color: #60747e;

    background: #fbfdfd;
}


.portal-verlauf-kopf[b-m5uzxldums] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;

    gap:
        3px
        8px;

    min-width: 0;
}


.portal-verlauf-kopf strong[b-m5uzxldums] {
    color: #062b45;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
}


.portal-verlauf-kopf small[b-m5uzxldums] {
    color: #82949c;

    font-size: 11px;
    line-height: 1.35;
}


.portal-verlauf-text[b-m5uzxldums] {
    min-width: 0;

    overflow-wrap: anywhere;

    color: #274754;

    font-size: 14px;
    line-height: 1.6;

    /* Zeilenumbrüche aus dem Eingabefeld bleiben sichtbar. */
    white-space: pre-wrap;
}


/* =========================================================
   ANTWORTFELD
   ========================================================= */

.portal-feld[b-m5uzxldums] {
    display: flex;
    flex-direction: column;

    gap: 7px;

    width: 100%;
    min-width: 0;

    margin-bottom: 14px;
}


.portal-feld > span[b-m5uzxldums] {
    color: #43606d;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
}


/* 16px verhindert das automatische Hineinzoomen mobiler
   Browser beim Antippen des Textfeldes. */
.portal-feld textarea[b-m5uzxldums] {
    width: 100%;
    min-width: 0;
    min-height: 120px;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #d8e4e8;

    border-radius: 12px;

    outline: none;

    color: #062b45;

    background: #ffffff;

    font: inherit;
    font-size: 16px;
    line-height: 1.55;

    resize: vertical;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.portal-feld textarea[b-m5uzxldums]::placeholder {
    color: #9aabb2;

    opacity: 1;
}


.portal-feld textarea:hover[b-m5uzxldums] {
    border-color: #c8d9de;
}


.portal-feld textarea:focus[b-m5uzxldums] {
    border-color: #18a3a1;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(24, 163, 161, .11);
}


/* =========================================================
   FEHLERMELDUNG
   ========================================================= */

.portal-fehler[b-m5uzxldums] {
    width: 100%;

    margin-bottom: 14px;
    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #efd7d4;

    border-radius: 12px;

    color: #9a3d34;

    background: #fdf3f2;

    font-size: 14px;
    line-height: 1.5;
}


/* =========================================================
   AKTIONEN
   ========================================================= */

.portal-primaer[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 48px;

    padding:
        12px
        20px;

    box-sizing: border-box;

    border:
        1px solid #18a3a1;

    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    font: inherit;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;

    text-decoration: none;

    cursor: pointer;

    box-shadow:
        0 8px 20px
        rgba(24, 163, 161, .19);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


.portal-primaer:hover:not(:disabled)[b-m5uzxldums] {
    transform: translateY(-1px);

    box-shadow:
        0 11px 25px
        rgba(24, 163, 161, .25);
}


.portal-primaer:active:not(:disabled)[b-m5uzxldums] {
    transform: translateY(0);
}


.portal-primaer:disabled[b-m5uzxldums] {
    opacity: .52;

    cursor: default;

    box-shadow: none;
}


.portal-sekundaer[b-m5uzxldums] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    margin-top: 10px;
    padding:
        9px
        4px;

    color: #118c8a;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
}


.portal-abgeschlossen[b-m5uzxldums] {
    margin-top: 12px;

    color: #687d87;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-zurueck:focus-visible[b-m5uzxldums],
.portal-primaer:focus-visible[b-m5uzxldums],
.portal-sekundaer:focus-visible[b-m5uzxldums] {
    outline:
        3px solid
        rgba(24, 163, 161, .30);

    outline-offset: 3px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-gruss[b-m5uzxldums] {
        font-size: 26px;
    }


    .portal-datum[b-m5uzxldums] {
        margin-bottom: 25px;

        font-size: 14px;
    }


    .portal-karte[b-m5uzxldums] {
        padding:
            21px
            22px;

        border-radius: 19px;
    }


    .portal-verlauf li[b-m5uzxldums] {
        max-width: 82%;

        padding:
            13px
            15px;
    }


    .portal-primaer[b-m5uzxldums] {
        width: auto;

        padding:
            12px
            24px;
    }


    .portal-vorschlag-aktionen[b-m5uzxldums],
    .portal-geschlossen-aktionen[b-m5uzxldums] {
        flex-direction: row;
        align-items: center;

        gap: 10px;
    }


    .portal-hell[b-m5uzxldums] {
        width: auto;

        padding:
            11px
            22px;
    }


    .portal-ablehnen[b-m5uzxldums] {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 12px;
    }


    .portal-ablehnen-text[b-m5uzxldums] {
        grid-column: 1 / -1;
    }


    .portal-sekundaer[b-m5uzxldums] {
        width: auto;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-gruss[b-m5uzxldums] {
        font-size: 29px;
    }


    .portal-datum[b-m5uzxldums] {
        margin-bottom: 28px;
    }


    .portal-karte[b-m5uzxldums] {
        padding:
            23px
            24px;

        border-radius: 20px;

        box-shadow:
            0 10px 30px
            rgba(6, 43, 69, .055);
    }


    .portal-vorschlag[b-m5uzxldums] {
        padding:
            22px
            24px;
    }


    .portal-vorschlag-datum[b-m5uzxldums] {
        font-size: 24px;
    }


    .portal-verlauf[b-m5uzxldums] {
        gap: 14px;
    }


    .portal-verlauf li[b-m5uzxldums] {
        max-width: 76%;
    }


    .portal-verlauf-text[b-m5uzxldums] {
        font-size: 14px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-feld textarea[b-m5uzxldums],
    .portal-primaer[b-m5uzxldums] {
        transition: none;
    }
}
/* /Components/Pages/Portal/PortalAnliegenListe.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – ANLIEGEN
   Mobil zuerst, damit Reiter und Anliegenlisten bereits ab
   375px kompakt und ohne horizontales Scrollen funktionieren.
   ========================================================= */

.portal-gruss[b-9lujr3pdv7] {
    margin: 0 0 5px;

    color: #062b45;

    font-size: 23px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
}


.portal-datum[b-9lujr3pdv7] {
    margin: 0 0 22px;

    color: #7f929b;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   KARTEN
   ========================================================= */

.portal-karte[b-9lujr3pdv7] {
    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
    padding: 18px 15px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 8px 26px
        rgba(6, 43, 69, .055);
}


.portal-leer[b-9lujr3pdv7] {
    margin: 0;

    color: #60747e;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   REITER
   ========================================================= */

/* Die Reiter bleiben auf kleinen Bildschirmen in einer Reihe
   und lassen sich horizontal verschieben, statt umzubrechen. */
.portal-reiter[b-9lujr3pdv7] {
    display: flex;
    gap: 6px;

    width: 100%;
    min-width: 0;

    margin-bottom: 18px;

    overflow-x: auto;
    overflow-y: hidden;

    border-bottom:
        1px solid #e8eef1;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
}


.portal-reiter[b-9lujr3pdv7]::-webkit-scrollbar {
    display: none;
}


.portal-reiter button[b-9lujr3pdv7] {
    position: relative;

    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 46px;

    padding:
        10px
        13px;

    box-sizing: border-box;

    border: 0;
    border-bottom:
        2px solid transparent;

    color: #667b85;

    background: transparent;

    font: inherit;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 650;

    white-space: nowrap;

    cursor: pointer;

    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease;
}


.portal-reiter button:hover[b-9lujr3pdv7] {
    color: #0c7775;

    background:
        rgba(24, 163, 161, .045);
}


.portal-reiter button.aktiv[b-9lujr3pdv7] {
    color: #0c7775;

    border-bottom-color: #18a3a1;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(24, 163, 161, .055) 100%
        );
}


.portal-reiter-zahl[b-9lujr3pdv7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 22px;
    min-height: 22px;

    padding:
        2px
        7px;

    box-sizing: border-box;

    border-radius: 999px;

    color: #0c7775;

    background: #eaf6f6;

    font-size: 11px;
    line-height: 1;
    font-weight: 800;
}


/* =========================================================
   ANLIEGENLISTE
   ========================================================= */

.portal-anliegenliste[b-9lujr3pdv7] {
    display: flex;
    flex-direction: column;

    gap: 10px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.portal-anliegenliste a[b-9lujr3pdv7] {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 7px;

    width: 100%;
    min-width: 0;
    min-height: 44px;

    padding:
        15px
        15px
        16px;

    box-sizing: border-box;

    border:
        1px solid #e2ebee;

    border-radius: 15px;

    color: inherit;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfefe 100%
        );

    text-decoration: none;

    box-shadow:
        0 4px 14px
        rgba(6, 43, 69, .025);

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}


.portal-anliegenliste a:hover[b-9lujr3pdv7] {
    border-color:
        rgba(24, 163, 161, .52);

    background: #fbfefe;

    box-shadow:
        0 8px 20px
        rgba(6, 43, 69, .055);

    transform: translateY(-1px);
}


.portal-anliegenliste a:active[b-9lujr3pdv7] {
    transform: translateY(0);
}


/* =========================================================
   KOPFZEILE EINES ANLIEGENS
   ========================================================= */

.portal-anliegen-kopf[b-9lujr3pdv7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 6px;

    min-width: 0;
}


.portal-anliegen-art[b-9lujr3pdv7],
.portal-anliegen-status[b-9lujr3pdv7],
.portal-anliegen-neu[b-9lujr3pdv7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 24px;

    padding:
        4px
        9px;

    box-sizing: border-box;

    border-radius: 999px;

    font-size: 11px;
    line-height: 1.1;
    font-weight: 800;

    white-space: nowrap;
}


.portal-anliegen-art[b-9lujr3pdv7] {
    color: #0c7775;

    background: #eaf6f6;
}


.portal-anliegen-art.dringend[b-9lujr3pdv7] {
    color: #9e3d34;

    background: #fbe9e7;
}


.portal-anliegen-status.offen[b-9lujr3pdv7] {
    color: #536a75;

    background: #eef2f4;
}


.portal-anliegen-status.wartet[b-9lujr3pdv7] {
    color: #8a5d18;

    background: #fff4e2;
}


.portal-anliegen-status.erledigt[b-9lujr3pdv7] {
    color: #2e6941;

    background: #e9f4ec;
}


.portal-anliegen-status.abgelehnt[b-9lujr3pdv7] {
    color: #9e3d34;

    background: #fbe9e7;
}


.portal-anliegen-neu[b-9lujr3pdv7] {
    color: #ffffff;

    background: #18a3a1;
}


/* =========================================================
   ANLIEGENINHALT
   ========================================================= */

.portal-anliegen-betreff[b-9lujr3pdv7] {
    overflow-wrap: anywhere;

    color: #062b45;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 760;
}


.portal-anliegen-meta[b-9lujr3pdv7] {
    overflow-wrap: anywhere;

    color: #81949d;

    font-size: 12px;
    line-height: 1.45;
}


.portal-anliegen-mehr[b-9lujr3pdv7] {
    align-self: flex-start;

    min-height: 24px;

    color: #0c8583;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
}


/* =========================================================
   LEERZUSTAND
   ========================================================= */

.portal-leer-aktionen[b-9lujr3pdv7] {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 9px;

    width: 100%;

    margin-top: 17px;
}


.portal-primaer[b-9lujr3pdv7],
.portal-sekundaer[b-9lujr3pdv7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 46px;

    padding:
        11px
        18px;

    box-sizing: border-box;

    border-radius: 12px;

    text-align: center;
    text-decoration: none;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 750;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}


.portal-primaer[b-9lujr3pdv7] {
    border:
        1px solid #18a3a1;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    box-shadow:
        0 8px 20px
        rgba(24, 163, 161, .18);
}


.portal-primaer:hover[b-9lujr3pdv7] {
    transform: translateY(-1px);

    box-shadow:
        0 11px 24px
        rgba(24, 163, 161, .23);
}


.portal-sekundaer[b-9lujr3pdv7] {
    border:
        1px solid #dfe8eb;

    color: #5f747e;

    background: #ffffff;
}


.portal-sekundaer:hover[b-9lujr3pdv7] {
    color: #0c7775;

    border-color:
        rgba(24, 163, 161, .38);

    background: #f8fbfc;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-reiter button:focus-visible[b-9lujr3pdv7],
.portal-anliegenliste a:focus-visible[b-9lujr3pdv7],
.portal-primaer:focus-visible[b-9lujr3pdv7],
.portal-sekundaer:focus-visible[b-9lujr3pdv7] {
    outline:
        3px solid
        rgba(24, 163, 161, .30);

    outline-offset: 3px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-gruss[b-9lujr3pdv7] {
        font-size: 27px;
    }


    .portal-datum[b-9lujr3pdv7] {
        margin-bottom: 25px;

        font-size: 14px;
    }


    .portal-karte[b-9lujr3pdv7] {
        padding:
            21px
            22px;

        border-radius: 19px;
    }


    .portal-anliegenliste[b-9lujr3pdv7] {
        gap: 11px;
    }


    .portal-anliegenliste a[b-9lujr3pdv7] {
        padding:
            16px
            17px;
    }


    .portal-leer-aktionen[b-9lujr3pdv7] {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;

        gap: 10px;
    }


    .portal-primaer[b-9lujr3pdv7],
    .portal-sekundaer[b-9lujr3pdv7] {
        width: auto;

        padding:
            11px
            20px;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-gruss[b-9lujr3pdv7] {
        font-size: 30px;
    }


    .portal-datum[b-9lujr3pdv7] {
        margin-bottom: 28px;
    }


    .portal-karte[b-9lujr3pdv7] {
        margin-bottom: 18px;

        padding:
            23px
            24px;

        border-radius: 20px;

        box-shadow:
            0 10px 30px
            rgba(6, 43, 69, .055);
    }


    .portal-reiter[b-9lujr3pdv7] {
        margin-bottom: 20px;
    }


    .portal-reiter button[b-9lujr3pdv7] {
        padding:
            11px
            15px;
    }


    .portal-anliegenliste a[b-9lujr3pdv7] {
        padding:
            17px
            18px;
    }


    .portal-anliegen-betreff[b-9lujr3pdv7] {
        font-size: 16px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-reiter button[b-9lujr3pdv7],
    .portal-anliegenliste a[b-9lujr3pdv7],
    .portal-primaer[b-9lujr3pdv7],
    .portal-sekundaer[b-9lujr3pdv7] {
        transition: none;
    }
}
/* /Components/Pages/Portal/PortalAnliegenNeu.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – ANGEBOTSANFRAGE
   Mobil zuerst, damit der komplette Ablauf bereits ab 375px
   ohne horizontales Scrollen und mit sicheren Touch-Zielen läuft.
   ========================================================= */

.portal-gruss[b-25zq9ymvxl] {
    margin: 0 0 5px;

    color: #062b45;

    font-size: 23px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
}


.portal-datum[b-25zq9ymvxl] {
    margin: 0 0 22px;

    color: #7f929b;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   KARTE
   ========================================================= */

.portal-karte[b-25zq9ymvxl] {
    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
    padding: 18px 15px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 8px 26px
        rgba(6, 43, 69, .055);
}


.portal-leer[b-25zq9ymvxl] {
    margin: 0 0 16px;

    color: #60747e;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   FORTSCHRITT
   ========================================================= */

/* Die Schritte bleiben auf kleinen Bildschirmen horizontal
   lesbar und werden nicht auf mehrere Reihen verteilt. */
.portal-schritte[b-25zq9ymvxl] {
    display: flex;
    gap: 8px;

    width: 100%;
    min-width: 0;

    margin: 0 0 22px;
    padding: 0 0 14px;

    overflow-x: auto;
    overflow-y: hidden;

    border-bottom:
        1px solid #e8eef1;

    list-style: none;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
}


.portal-schritte[b-25zq9ymvxl]::-webkit-scrollbar {
    display: none;
}


.portal-schritte li[b-25zq9ymvxl] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;

    gap: 7px;

    min-height: 32px;

    color: #9aaab1;

    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;

    white-space: nowrap;
}


.portal-schritte li.aktiv[b-25zq9ymvxl] {
    color: #062b45;

    font-weight: 800;
}


.portal-schritte li.fertig[b-25zq9ymvxl] {
    color: #0d7775;

    font-weight: 700;
}


.portal-schritt-zahl[b-25zq9ymvxl] {
    display: inline-flex;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;

    border-radius: 50%;

    color: #83959d;

    background: #eef2f4;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}


.portal-schritte li.aktiv .portal-schritt-zahl[b-25zq9ymvxl] {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    box-shadow:
        0 5px 12px
        rgba(24, 163, 161, .18);
}


.portal-schritte li.fertig .portal-schritt-zahl[b-25zq9ymvxl] {
    color: #0d7775;

    background: #dff1f0;
}


/* =========================================================
   FRAGE
   ========================================================= */

.portal-frage[b-25zq9ymvxl] {
    margin: 0 0 14px;

    color: #062b45;

    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}


/* =========================================================
   AUSWAHLKACHELN
   ========================================================= */

.portal-kacheln[b-25zq9ymvxl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    width: 100%;
    min-width: 0;

    margin-bottom: 8px;
}


.portal-kachel[b-25zq9ymvxl] {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 5px;

    min-width: 0;
    min-height: 92px;

    padding: 14px 13px;

    box-sizing: border-box;

    border:
        1px solid #dfe9ed;

    border-radius: 15px;

    color: inherit;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdfd 100%
        );

    text-align: left;

    font: inherit;

    cursor: pointer;

    box-shadow:
        0 4px 14px
        rgba(6, 43, 69, .025);

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}


.portal-kachel:hover[b-25zq9ymvxl] {
    border-color:
        rgba(24, 163, 161, .58);

    background: #ffffff;

    box-shadow:
        0 8px 20px
        rgba(6, 43, 69, .055);

    transform: translateY(-1px);
}


.portal-kachel:active[b-25zq9ymvxl] {
    transform: translateY(0);
}


.portal-kachel.gewaehlt[b-25zq9ymvxl] {
    border-color: #18a3a1;

    background:
        linear-gradient(
            180deg,
            #f5fbfb 0%,
            #edf8f8 100%
        );

    box-shadow:
        0 0 0 3px
        rgba(24, 163, 161, .11);
}


.portal-kachel strong[b-25zq9ymvxl] {
    overflow-wrap: anywhere;

    color: #062b45;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 760;
}


.portal-kachel small[b-25zq9ymvxl] {
    overflow-wrap: anywhere;

    color: #667b85;

    font-size: 12px;
    line-height: 1.45;
}


/* =========================================================
   FORMULARFELDER
   ========================================================= */

.portal-feld[b-25zq9ymvxl] {
    display: flex;
    flex-direction: column;

    gap: 7px;

    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
}


.portal-feld > span[b-25zq9ymvxl] {
    color: #43606d;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
}


/* 16px verhindert das automatische Hineinzoomen mobiler
   Browser beim Antippen von Eingabefeldern. */
.portal-feld input[b-25zq9ymvxl],
.portal-feld select[b-25zq9ymvxl],
.portal-feld textarea[b-25zq9ymvxl] {
    width: 100%;
    min-width: 0;
    min-height: 48px;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #d8e4e8;

    border-radius: 12px;

    outline: none;

    color: #062b45;

    background: #ffffff;

    font: inherit;
    font-size: 16px;
    line-height: 1.4;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.portal-feld input[b-25zq9ymvxl]::placeholder,
.portal-feld textarea[b-25zq9ymvxl]::placeholder {
    color: #9aabb2;

    opacity: 1;
}


.portal-feld input:hover[b-25zq9ymvxl],
.portal-feld select:hover[b-25zq9ymvxl],
.portal-feld textarea:hover[b-25zq9ymvxl] {
    border-color: #c8d9de;
}


.portal-feld input:focus[b-25zq9ymvxl],
.portal-feld select:focus[b-25zq9ymvxl],
.portal-feld textarea:focus[b-25zq9ymvxl] {
    border-color: #18a3a1;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(24, 163, 161, .11);
}


.portal-feld textarea[b-25zq9ymvxl] {
    min-height: 120px;

    resize: vertical;

    line-height: 1.55;
}


.portal-feld-paar[b-25zq9ymvxl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    gap: 0;

    width: 100%;
    min-width: 0;
}


/* =========================================================
   ZUSAMMENFASSUNG
   ========================================================= */

.portal-uebersicht[b-25zq9ymvxl] {
    display: flex;
    flex-direction: column;

    gap: 0;

    margin: 0 0 18px;
    padding: 0;

    list-style: none;
}


.portal-uebersicht li[b-25zq9ymvxl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    gap: 4px;

    padding:
        11px
        0;

    border-bottom:
        1px solid #edf2f4;

    font-size: 14px;
    line-height: 1.45;
}


.portal-uebersicht li:last-child[b-25zq9ymvxl] {
    border-bottom: 0;
}


.portal-uebersicht span[b-25zq9ymvxl] {
    color: #83959d;

    font-size: 12px;
    font-weight: 650;
}


.portal-uebersicht strong[b-25zq9ymvxl] {
    min-width: 0;

    overflow-wrap: anywhere;

    color: #062b45;

    font-weight: 700;
}


/* =========================================================
   PREISEINSCHÄTZUNG
   ========================================================= */

/* Die Einschätzung hebt sich deutlich ab, bleibt aber bewusst
   als vorläufiges Ergebnis des Anfrageprozesses erkennbar. */
.portal-schaetzung[b-25zq9ymvxl] {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 4px;

    width: 100%;

    margin-bottom: 18px;
    padding: 19px 18px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, .06);

    border-radius: 16px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(24, 163, 161, .22),
            transparent 170px
        ),
        linear-gradient(
            145deg,
            #062b45 0%,
            #053249 58%,
            #04212f 100%
        );

    box-shadow:
        0 12px 28px
        rgba(4, 33, 47, .13);
}


.portal-schaetzung .portal-kicker[b-25zq9ymvxl] {
    display: block;

    margin-bottom: 5px;

    color: #74d8d5;

    font-size: 11px;
    line-height: 1.25;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;
}


.portal-schaetzung strong[b-25zq9ymvxl] {
    color: #ffffff;

    font-size: 24px;
    line-height: 1.15;
    font-weight: 850;
}


.portal-schaetzung p[b-25zq9ymvxl] {
    margin: 12px 0 0;

    color:
        rgba(255, 255, 255, .76);

    font-size: 13px;
    line-height: 1.6;
}


.portal-schaetzung-monat[b-25zq9ymvxl] {
    color: #9fd9d8;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}


/* =========================================================
   ERFOLGSMELDUNG
   ========================================================= */

.portal-fertig[b-25zq9ymvxl] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 8px;

    width: 100%;

    padding:
        20px
        18px;

    box-sizing: border-box;

    border:
        1px solid #d5eceb;

    border-radius: 15px;

    background:
        linear-gradient(
            180deg,
            #f4fbfb 0%,
            #eef9f8 100%
        );
}


.portal-fertig strong[b-25zq9ymvxl] {
    color: #062b45;

    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
}


/* =========================================================
   FEHLERMELDUNG
   ========================================================= */

.portal-fehler[b-25zq9ymvxl] {
    width: 100%;

    margin-bottom: 14px;
    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #efd7d4;

    border-radius: 12px;

    color: #9a3d34;

    background: #fdf3f2;

    font-size: 14px;
    line-height: 1.5;
}


/* =========================================================
   AKTIONEN
   ========================================================= */

.portal-aktionen[b-25zq9ymvxl] {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;

    gap: 9px;

    width: 100%;

    margin-top: 22px;
}


.portal-primaer[b-25zq9ymvxl],
.portal-sekundaer-knopf[b-25zq9ymvxl],
.portal-sekundaer[b-25zq9ymvxl] {
    box-sizing: border-box;

    font-family: inherit;
}


.portal-primaer[b-25zq9ymvxl],
.portal-sekundaer-knopf[b-25zq9ymvxl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 48px;

    padding:
        12px
        18px;

    border-radius: 12px;

    text-align: center;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform .15s ease,
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}


.portal-primaer[b-25zq9ymvxl] {
    border:
        1px solid #18a3a1;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    text-decoration: none;

    box-shadow:
        0 8px 20px
        rgba(24, 163, 161, .19);
}


.portal-primaer:hover:not(:disabled)[b-25zq9ymvxl] {
    transform: translateY(-1px);

    box-shadow:
        0 11px 25px
        rgba(24, 163, 161, .25);
}


.portal-sekundaer-knopf[b-25zq9ymvxl] {
    border:
        1px solid #dbe6ea;

    color: #4f6873;

    background: #ffffff;
}


.portal-sekundaer-knopf:hover:not(:disabled)[b-25zq9ymvxl] {
    border-color:
        rgba(24, 163, 161, .4);

    color: #0c7775;

    background: #f8fbfc;
}


.portal-primaer:disabled[b-25zq9ymvxl],
.portal-sekundaer-knopf:disabled[b-25zq9ymvxl] {
    opacity: .48;

    cursor: default;

    box-shadow: none;

    transform: none;
}


.portal-sekundaer[b-25zq9ymvxl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding:
        10px
        8px;

    color: #60747e;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 650;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-kachel:focus-visible[b-25zq9ymvxl],
.portal-primaer:focus-visible[b-25zq9ymvxl],
.portal-sekundaer-knopf:focus-visible[b-25zq9ymvxl],
.portal-sekundaer:focus-visible[b-25zq9ymvxl] {
    outline:
        3px solid
        rgba(24, 163, 161, .30);

    outline-offset: 3px;
}


/* =========================================================
   SEHR KLEINE TELEFONE
   ========================================================= */

@media (max-width: 399px) {

    .portal-gruss[b-25zq9ymvxl] {
        font-size: 22px;
    }


    .portal-kacheln[b-25zq9ymvxl] {
        grid-template-columns: minmax(0, 1fr);
    }


    .portal-kachel[b-25zq9ymvxl] {
        min-height: 78px;
    }


    .portal-karte[b-25zq9ymvxl] {
        padding:
            17px
            14px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-gruss[b-25zq9ymvxl] {
        font-size: 27px;
    }


    .portal-datum[b-25zq9ymvxl] {
        margin-bottom: 25px;

        font-size: 14px;
    }


    .portal-karte[b-25zq9ymvxl] {
        padding:
            22px
            22px;

        border-radius: 19px;
    }


    .portal-kacheln[b-25zq9ymvxl] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;
    }


    .portal-kachel[b-25zq9ymvxl] {
        min-height: 96px;

        padding:
            16px
            15px;
    }


    .portal-feld-paar[b-25zq9ymvxl] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;
    }


    .portal-uebersicht li[b-25zq9ymvxl] {
        grid-template-columns:
            140px
            minmax(0, 1fr);

        gap: 14px;
    }


    .portal-uebersicht span[b-25zq9ymvxl] {
        font-size: 13px;
    }


    .portal-schaetzung[b-25zq9ymvxl] {
        padding:
            21px
            22px;
    }


    .portal-aktionen[b-25zq9ymvxl] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;

        gap: 12px;
    }


    .portal-primaer[b-25zq9ymvxl],
    .portal-sekundaer-knopf[b-25zq9ymvxl] {
        width: auto;

        padding:
            12px
            24px;
    }


    .portal-sekundaer[b-25zq9ymvxl] {
        width: auto;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-gruss[b-25zq9ymvxl] {
        font-size: 30px;
    }


    .portal-datum[b-25zq9ymvxl] {
        margin-bottom: 28px;
    }


    .portal-karte[b-25zq9ymvxl] {
        padding:
            25px
            27px;

        border-radius: 20px;

        box-shadow:
            0 10px 30px
            rgba(6, 43, 69, .055);
    }


    .portal-schritte[b-25zq9ymvxl] {
        margin-bottom: 26px;
    }


    .portal-frage[b-25zq9ymvxl] {
        font-size: 19px;
    }


    .portal-kacheln[b-25zq9ymvxl] {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 13px;
    }


    .portal-kachel[b-25zq9ymvxl] {
        min-height: 106px;

        padding:
            17px
            16px;
    }


    .portal-kachel strong[b-25zq9ymvxl] {
        font-size: 15px;
    }


    .portal-schaetzung strong[b-25zq9ymvxl] {
        font-size: 26px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-kachel[b-25zq9ymvxl],
    .portal-feld input[b-25zq9ymvxl],
    .portal-feld select[b-25zq9ymvxl],
    .portal-feld textarea[b-25zq9ymvxl],
    .portal-primaer[b-25zq9ymvxl],
    .portal-sekundaer-knopf[b-25zq9ymvxl] {
        transition: none;
    }
}
/* /Components/Pages/Portal/PortalHome.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – STARTSEITE
   Mobil zuerst, damit die Übersicht bereits auf 375px
   kompakt und ohne horizontales Scrollen funktioniert.
   ========================================================= */

.portal-gruss[b-qocqehpf72] {
    margin: 0 0 5px;

    color: #062b45;

    font-size: 24px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.02em;
}


.portal-datum[b-qocqehpf72] {
    margin: 0 0 22px;

    color: #7b909a;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   HAUPTINHALT
   ========================================================= */

/* Auf kleinen Geräten stehen die Bereiche bewusst
   untereinander. Erst auf großen Ansichten entsteht die
   zweispaltige Dashboard-Struktur. */
.portal-spalten[b-qocqehpf72] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    gap: 14px;

    width: 100%;
    min-width: 0;

    align-items: start;
}


.portal-nebenspalte[b-qocqehpf72] {
    display: flex;
    flex-direction: column;

    gap: 14px;

    min-width: 0;
}


/* =========================================================
   KARTEN
   ========================================================= */

.portal-karte[b-qocqehpf72] {
    position: relative;

    width: 100%;
    min-width: 0;

    padding: 18px 16px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 8px 26px
        rgba(6, 43, 69, .055);
}


.portal-kicker[b-qocqehpf72] {
    display: block;

    margin: 0 0 13px;

    color: #18a3a1;

    font-size: 11px;
    line-height: 1.25;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;
}


.portal-leer[b-qocqehpf72] {
    margin: 0;

    color: #5f747e;

    font-size: 14px;
    line-height: 1.6;
}


.portal-karte-link[b-qocqehpf72] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    margin-top: 14px;
    padding: 9px 13px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(24, 163, 161, .22);

    border-radius: 11px;

    color: #087d7c;

    background:
        rgba(24, 163, 161, .055);

    text-decoration: none;

    font-size: 13px;
    line-height: 1.3;
    font-weight: 750;

    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}


.portal-karte-link:hover[b-qocqehpf72] {
    color: #ffffff;

    border-color: #18a3a1;

    background: #18a3a1;
}


.portal-karte-link:active[b-qocqehpf72] {
    transform: scale(.985);
}


/* =========================================================
   AKTUELLES BEI FUNKELFRITZE
   ========================================================= */

.portal-news[b-qocqehpf72] {
    display: flex;
    flex-direction: column;

    gap: 0;

    margin: 0;
    padding: 0;

    list-style: none;
}


.portal-news li[b-qocqehpf72] {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 5px;

    padding:
        14px
        0
        14px
        16px;

    border-bottom:
        1px solid #edf2f4;
}


.portal-news li:first-child[b-qocqehpf72] {
    padding-top: 2px;
}


.portal-news li:last-child[b-qocqehpf72] {
    padding-bottom: 2px;

    border-bottom: 0;
}


.portal-news li[b-qocqehpf72]::before {
    content: "";

    position: absolute;

    top: 17px;
    left: 0;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #18a3a1;

    box-shadow:
        0 0 0 5px
        rgba(24, 163, 161, .09);
}


.portal-news li:first-child[b-qocqehpf72]::before {
    top: 5px;
}


.portal-news strong[b-qocqehpf72] {
    color: #062b45;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 750;
}


.portal-news span[b-qocqehpf72] {
    color: #687d87;

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   NÄCHSTER TERMIN
   ========================================================= */

/* Der nächste Termin erhält bewusst eine dunkle Fläche, damit
   die wichtigste zeitkritische Information sofort auffällt. */
.portal-termin[b-qocqehpf72] {
    color: #ffffff;

    border-color:
        rgba(255, 255, 255, .06);

    background:
        radial-gradient(
            circle at 95% 0%,
            rgba(24, 163, 161, .24),
            transparent 180px
        ),
        linear-gradient(
            145deg,
            #062b45 0%,
            #053249 55%,
            #04212f 100%
        );

    box-shadow:
        0 12px 30px
        rgba(4, 33, 47, .14);
}


.portal-termin .portal-kicker[b-qocqehpf72] {
    color: #74d8d5;
}


.portal-termin .portal-leer[b-qocqehpf72] {
    color:
        rgba(255, 255, 255, .76);
}


.portal-termin .portal-karte-link[b-qocqehpf72] {
    color: #ffffff;

    border-color:
        rgba(255, 255, 255, .16);

    background:
        rgba(255, 255, 255, .08);
}


.portal-termin .portal-karte-link:hover[b-qocqehpf72] {
    border-color: #18a3a1;

    background: #18a3a1;
}


.portal-termin-zeile[b-qocqehpf72] {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    min-width: 0;
}


.portal-termin-block[b-qocqehpf72] {
    display: flex;
    flex: 0 0 62px;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-width: 62px;
    min-height: 68px;

    padding: 8px 9px;

    box-sizing: border-box;

    border:
        1px solid
        rgba(255, 255, 255, .10);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, .08);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .07);
}


.portal-termin-block strong[b-qocqehpf72] {
    color: #ffffff;

    font-size: 23px;
    line-height: 1;
    font-weight: 850;
}


.portal-termin-block small[b-qocqehpf72] {
    margin-top: 4px;

    color: #86d9d7;

    font-size: 10px;
    line-height: 1.1;
    font-weight: 800;

    letter-spacing: .07em;
    text-transform: uppercase;
}


.portal-termin-text[b-qocqehpf72] {
    display: flex;
    flex: 1;
    flex-direction: column;

    gap: 4px;

    min-width: 0;

    padding-top: 2px;
}


.portal-termin-text strong[b-qocqehpf72] {
    overflow-wrap: anywhere;

    color: #ffffff;

    font-size: 15px;
    line-height: 1.35;
    font-weight: 750;
}


.portal-termin-text span[b-qocqehpf72] {
    overflow-wrap: anywhere;

    color: #9fd9d8;

    font-size: 13px;
    line-height: 1.45;
}


.portal-termin-rest[b-qocqehpf72] {
    align-self: flex-start;

    margin-top: 5px;
    padding: 5px 10px;

    border:
        1px solid
        rgba(255, 255, 255, .10);

    border-radius: 999px;

    color: #ffffff !important;

    background:
        rgba(255, 255, 255, .10);

    font-size: 11px;
    line-height: 1.2;
    font-weight: 750;
}


/* =========================================================
   SCHNELLZUGRIFF
   ========================================================= */

.portal-abschnitt[b-qocqehpf72] {
    margin:
        24px
        0
        12px;

    color: #062b45;

    font-size: 17px;
    line-height: 1.3;
    font-weight: 800;
}


.portal-schnellzugriff[b-qocqehpf72] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    width: 100%;
    min-width: 0;
}


.portal-schnell[b-qocqehpf72] {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 5px;

    min-width: 0;
    min-height: 104px;

    padding: 15px 14px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid #e1ebee;

    border-radius: 16px;

    color: inherit;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdfd 100%
        );

    text-decoration: none;

    box-shadow:
        0 7px 22px
        rgba(6, 43, 69, .045);

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.portal-schnell[b-qocqehpf72]::after {
    content: "›";

    position: absolute;

    top: 50%;
    right: 12px;

    transform:
        translateY(-50%);

    color:
        rgba(24, 163, 161, .48);

    font-size: 24px;
    line-height: 1;
    font-weight: 400;
}


.portal-schnell:hover[b-qocqehpf72] {
    transform: translateY(-1px);

    border-color:
        rgba(24, 163, 161, .55);

    background: #ffffff;

    box-shadow:
        0 11px 27px
        rgba(6, 43, 69, .075);
}


.portal-schnell:active[b-qocqehpf72] {
    transform: translateY(0);
}


.portal-schnell strong[b-qocqehpf72] {
    max-width: calc(100% - 24px);

    overflow-wrap: anywhere;

    color: #062b45;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 780;
}


.portal-schnell small[b-qocqehpf72] {
    max-width: calc(100% - 18px);

    overflow-wrap: anywhere;

    color: #687d87;

    font-size: 12px;
    line-height: 1.45;
}


/* Dringende Anliegen werden nur leicht hervorgehoben, damit
   Warnungen sichtbar bleiben ohne die ruhige Oberfläche zu
   dominieren. */
.portal-schnell.dringend[b-qocqehpf72] {
    border-color: #efd9d6;

    background:
        linear-gradient(
            180deg,
            #fffafa 0%,
            #fdf5f4 100%
        );
}


.portal-schnell.dringend[b-qocqehpf72]::after {
    color:
        rgba(168, 53, 43, .46);
}


.portal-schnell.dringend strong[b-qocqehpf72] {
    color: #9d372f;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-karte-link:focus-visible[b-qocqehpf72],
.portal-schnell:focus-visible[b-qocqehpf72] {
    outline:
        3px solid
        rgba(24, 163, 161, .30);

    outline-offset: 3px;
}


/* =========================================================
   SEHR KLEINE TELEFONE
   ========================================================= */

@media (max-width: 399px) {

    .portal-gruss[b-qocqehpf72] {
        font-size: 22px;
    }


    .portal-schnell[b-qocqehpf72] {
        min-height: 100px;

        padding:
            14px
            12px;
    }


    .portal-schnell strong[b-qocqehpf72] {
        font-size: 13px;
    }


    .portal-schnell small[b-qocqehpf72] {
        font-size: 11px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-gruss[b-qocqehpf72] {
        font-size: 27px;
    }


    .portal-datum[b-qocqehpf72] {
        margin-bottom: 26px;

        font-size: 14px;
    }


    .portal-spalten[b-qocqehpf72],
    .portal-nebenspalte[b-qocqehpf72] {
        gap: 16px;
    }


    .portal-karte[b-qocqehpf72] {
        padding:
            21px
            22px;

        border-radius: 19px;
    }


    .portal-news strong[b-qocqehpf72] {
        font-size: 15px;
    }


    .portal-news span[b-qocqehpf72] {
        font-size: 14px;
    }


    .portal-schnellzugriff[b-qocqehpf72] {
        gap: 12px;
    }


    .portal-schnell[b-qocqehpf72] {
        min-height: 112px;

        padding:
            17px
            17px;
    }


    .portal-schnell strong[b-qocqehpf72] {
        font-size: 15px;
    }


    .portal-schnell small[b-qocqehpf72] {
        font-size: 13px;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-gruss[b-qocqehpf72] {
        margin-bottom: 5px;

        font-size: 30px;
    }


    .portal-datum[b-qocqehpf72] {
        margin-bottom: 28px;
    }


    .portal-spalten[b-qocqehpf72] {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(320px, .85fr);

        gap: 18px;
    }


    .portal-nebenspalte[b-qocqehpf72] {
        gap: 18px;
    }


    .portal-karte[b-qocqehpf72] {
        padding:
            23px
            24px;

        border-radius: 20px;

        box-shadow:
            0 10px 30px
            rgba(6, 43, 69, .055);
    }


    .portal-kicker[b-qocqehpf72] {
        margin-bottom: 15px;
    }


    .portal-schnellzugriff[b-qocqehpf72] {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 14px;
    }


    .portal-schnell[b-qocqehpf72] {
        min-height: 118px;

        padding:
            18px
            18px;
    }


    .portal-abschnitt[b-qocqehpf72] {
        margin-top: 28px;

        font-size: 18px;
    }
}


/* =========================================================
   GROSSE DESKTOPS
   ========================================================= */

@media (min-width: 1200px) {

    .portal-spalten[b-qocqehpf72] {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(360px, .8fr);

        gap: 20px;
    }


    .portal-nebenspalte[b-qocqehpf72] {
        gap: 20px;
    }


    .portal-schnellzugriff[b-qocqehpf72] {
        gap: 16px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-karte-link[b-qocqehpf72],
    .portal-schnell[b-qocqehpf72] {
        transition: none;
    }
}
/* /Components/Pages/Portal/PortalLogin.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – LOGIN
   Mobil zuerst, damit die Anmeldung bereits ab 375px ohne
   horizontales Scrollen und mit sicheren Touch-Zielen läuft.
   ========================================================= */

.portal-login-raster[b-d2l0efwsha] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    width: 100%;
    max-width: 430px;

    margin: 0 auto;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .08);

    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 18px 50px
        rgba(6, 43, 69, .14);
}


/* =========================================================
   MARKENBEREICH
   ========================================================= */

/* Auf kleinen Geräten bleibt die Markenfläche bewusst kompakt,
   damit das Formular ohne unnötiges Scrollen erreichbar ist. */
.portal-login-buehne[b-d2l0efwsha] {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    min-width: 0;

    padding:
        26px
        22px
        24px;

    box-sizing: border-box;

    overflow: hidden;

    color: #ffffff;

    text-align: center;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(24, 163, 161, .30),
            transparent 150px
        ),
        linear-gradient(
            150deg,
            #062b45 0%,
            #06384b 56%,
            #07576a 100%
        );
}


.portal-login-buehne[b-d2l0efwsha]::before {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -135px;
    bottom: -145px;

    border-radius: 50%;

    background:
        rgba(24, 163, 161, .14);
}


.portal-login-buehne[b-d2l0efwsha]::after {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    left: -115px;
    bottom: -120px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, .045);
}


.portal-login-zeichen[b-d2l0efwsha] {
    position: relative;
    z-index: 1;

    width: 64px;
    height: 64px;

    margin: 0 0 6px;

    object-fit: contain;

    padding: 6px;

    box-sizing: border-box;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 10px 24px
        rgba(0, 0, 0, .14);
}


.portal-login-buehne strong[b-d2l0efwsha] {
    position: relative;
    z-index: 1;

    max-width: 100%;

    color: #ffffff;

    font-size: 23px;
    line-height: 1.15;
    font-weight: 850;

    letter-spacing: -.015em;
}


.portal-login-buehne p[b-d2l0efwsha] {
    position: relative;
    z-index: 1;

    max-width: 320px;

    margin: 3px 0 0;

    color:
        rgba(255, 255, 255, .75);

    font-size: 13px;
    line-height: 1.55;
}


.portal-login-buehne ul[b-d2l0efwsha] {
    display: none;
}


/* =========================================================
   LOGINBOX
   ========================================================= */

.portal-login-box[b-d2l0efwsha] {
    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
    min-width: 0;

    padding:
        28px
        22px
        30px;

    box-sizing: border-box;

    background: #ffffff;
}


.portal-login-willkommen[b-d2l0efwsha] {
    display: block;

    margin-bottom: 5px;

    color: #7e919a;

    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}


.portal-login-box h1[b-d2l0efwsha] {
    margin:
        0
        0
        8px;

    color: #062b45;

    font-size: 26px;
    line-height: 1.18;
    font-weight: 850;

    letter-spacing: -.02em;
}


.portal-login-box > p[b-d2l0efwsha] {
    margin:
        0
        0
        24px;

    color: #607680;

    font-size: 14px;
    line-height: 1.55;
}


/* =========================================================
   FORMULAR
   ========================================================= */

.portal-login-box form[b-d2l0efwsha] {
    display: flex;
    flex-direction: column;

    gap: 16px;

    width: 100%;
    min-width: 0;
}


.portal-login-box label[b-d2l0efwsha] {
    display: flex;
    flex-direction: column;

    gap: 7px;

    min-width: 0;

    color: #43606d;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
}


/* 16px verhindert das automatische Hineinzoomen mobiler
   Browser beim Antippen eines Eingabefeldes. */
.portal-login-box input[b-d2l0efwsha] {
    width: 100%;
    min-width: 0;
    min-height: 50px;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #d9e5e9;

    border-radius: 12px;

    outline: none;

    color: #062b45;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f7fbfc 100%
        );

    font: inherit;
    font-size: 16px;
    line-height: 1.4;

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}


.portal-login-box input[b-d2l0efwsha]::placeholder {
    color: #9badb5;

    opacity: 1;
}


.portal-login-box input:hover[b-d2l0efwsha] {
    border-color: #c9dadd;
}


.portal-login-box input:focus[b-d2l0efwsha] {
    border-color: #18a3a1;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(24, 163, 161, .11);
}


/* =========================================================
   ANMELDEKNOPF
   ========================================================= */

.portal-login-box button[b-d2l0efwsha] {
    width: 100%;
    min-height: 50px;

    margin-top: 3px;
    padding:
        12px
        18px;

    box-sizing: border-box;

    border: 0;
    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #118f90 100%
        );

    font: inherit;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 9px 22px
        rgba(24, 163, 161, .20);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


.portal-login-box button:hover[b-d2l0efwsha] {
    filter: brightness(1.025);

    transform: translateY(-1px);

    box-shadow:
        0 12px 28px
        rgba(24, 163, 161, .27);
}


.portal-login-box button:active[b-d2l0efwsha] {
    transform: translateY(0);
}


/* =========================================================
   HINWEIS UNTER DEM FORMULAR
   ========================================================= */

.portal-login-box small[b-d2l0efwsha] {
    display: block;

    margin-top: 23px;
    padding-top: 19px;

    border-top:
        1px solid #edf2f4;

    color: #80929a;

    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   FEHLERMELDUNG
   ========================================================= */

.portal-login-fehler[b-d2l0efwsha] {
    margin:
        0
        0
        17px;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #efd9d6;

    border-radius: 12px;

    color: #8f4038;

    background: #fdf4f3;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-login-box button:focus-visible[b-d2l0efwsha] {
    outline:
        3px solid
        rgba(24, 163, 161, .32);

    outline-offset: 3px;
}


/* =========================================================
   KLEINE TELEFONE
   ========================================================= */

@media (max-width: 399px) {

    .portal-login-buehne[b-d2l0efwsha] {
        padding:
            22px
            18px
            21px;
    }


    .portal-login-zeichen[b-d2l0efwsha] {
        width: 58px;
        height: 58px;

        border-radius: 16px;
    }


    .portal-login-buehne strong[b-d2l0efwsha] {
        font-size: 21px;
    }


    .portal-login-box[b-d2l0efwsha] {
        padding:
            25px
            18px
            28px;
    }


    .portal-login-box h1[b-d2l0efwsha] {
        font-size: 23px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-login-raster[b-d2l0efwsha] {
        max-width: 620px;

        border-radius: 26px;
    }


    .portal-login-buehne[b-d2l0efwsha] {
        padding:
            32px
            30px
            30px;
    }


    .portal-login-zeichen[b-d2l0efwsha] {
        width: 72px;
        height: 72px;

        border-radius: 20px;
    }


    .portal-login-buehne strong[b-d2l0efwsha] {
        font-size: 26px;
    }


    .portal-login-buehne p[b-d2l0efwsha] {
        font-size: 14px;
    }


    .portal-login-box[b-d2l0efwsha] {
        padding:
            34px
            34px
            36px;
    }


    .portal-login-box h1[b-d2l0efwsha] {
        font-size: 28px;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 821px) {

    .portal-login-raster[b-d2l0efwsha] {
        grid-template-columns:
            minmax(340px, .9fr)
            minmax(420px, 1.1fr);

        max-width: 980px;

        min-height: 610px;

        border-radius: 28px;

        box-shadow:
            0 28px 70px
            rgba(4, 33, 47, .18);
    }


    .portal-login-buehne[b-d2l0efwsha] {
        align-items: flex-start;

        justify-content: center;

        gap: 10px;

        padding:
            48px
            42px;

        text-align: left;
    }


    .portal-login-zeichen[b-d2l0efwsha] {
        width: 84px;
        height: 84px;

        margin-bottom: 12px;

        border-radius: 22px;
    }


    .portal-login-buehne strong[b-d2l0efwsha] {
        font-size: 34px;
        line-height: 1.08;
    }


    .portal-login-buehne p[b-d2l0efwsha] {
        max-width: 310px;

        margin:
            6px
            0
            20px;

        font-size: 15px;
        line-height: 1.65;
    }


    .portal-login-buehne ul[b-d2l0efwsha] {
        position: relative;
        z-index: 1;

        display: flex;
        flex-wrap: wrap;

        gap:
            10px
            18px;

        margin: 0;
        padding: 0;

        list-style: none;
    }


    .portal-login-buehne li[b-d2l0efwsha] {
        position: relative;

        padding-left: 17px;

        color:
            rgba(255, 255, 255, .72);

        font-size: 12px;
        line-height: 1.4;
        font-weight: 650;
    }


    .portal-login-buehne li[b-d2l0efwsha]::before {
        content: "✓";

        position: absolute;

        top: 0;
        left: 0;

        color: #6fd0ce;

        font-weight: 850;
    }


    .portal-login-box[b-d2l0efwsha] {
        padding:
            50px
            48px;
    }


    .portal-login-willkommen[b-d2l0efwsha] {
        font-size: 14px;
    }


    .portal-login-box h1[b-d2l0efwsha] {
        font-size: 31px;
    }


    .portal-login-box > p[b-d2l0efwsha] {
        margin-bottom: 28px;

        font-size: 14px;
    }


    .portal-login-box form[b-d2l0efwsha] {
        gap: 17px;
    }


    .portal-login-box input[b-d2l0efwsha] {
        min-height: 52px;

        padding:
            13px
            15px;
    }


    .portal-login-box button[b-d2l0efwsha] {
        min-height: 52px;

        margin-top: 5px;

        font-size: 16px;
    }
}


/* =========================================================
   GROSSE DESKTOPS
   ========================================================= */

@media (min-width: 1200px) {

    .portal-login-raster[b-d2l0efwsha] {
        max-width: 1040px;

        min-height: 640px;
    }


    .portal-login-buehne[b-d2l0efwsha] {
        padding:
            54px
            48px;
    }


    .portal-login-box[b-d2l0efwsha] {
        padding:
            56px
            54px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-login-box input[b-d2l0efwsha],
    .portal-login-box button[b-d2l0efwsha] {
        transition: none;
    }
}
/* /Components/Pages/Portal/PortalPasswortWechsel.razor.rz.scp.css */
/* Abgedunkelte Flaeche: macht sichtbar, dass gerade nichts anderes
   moeglich ist. Auf dem Telefon fuellt das Fenster den Schirm. */
.portal-pw-grund[b-xyjmtb7vq3] {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px 16px;
    background: radial-gradient(circle at 30% 20%, #0f3c52, #062b45 70%);
    box-sizing: border-box;
}

.portal-pw-fenster[b-xyjmtb7vq3] {
    width: 100%;
    max-width: 430px;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 28px 26px;
    box-shadow: 0 26px 64px rgba(3, 20, 33, .42);
    box-sizing: border-box;
}

.portal-pw-marke[b-xyjmtb7vq3] {
    display: block;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    text-transform: uppercase;
    color: #18a3a1;
    margin-bottom: 8px;
}

.portal-pw-fenster h1[b-xyjmtb7vq3] {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.25;
    color: #062b45;
}

.portal-pw-text[b-xyjmtb7vq3] {
    margin: 0 0 20px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.55;
}

.portal-pw-fehler[b-xyjmtb7vq3] {
    background: #fdecea;
    border: 1px solid rgba(168, 53, 43, .28);
    color: #a8352b;
    border-radius: 11px;
    padding: 11px 13px;
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 16px;
}

.portal-pw-fenster form:not(.portal-pw-abbruch) label[b-xyjmtb7vq3] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #43606d;
    margin-bottom: 14px;
}

.portal-pw-fenster form:not(.portal-pw-abbruch) input[b-xyjmtb7vq3] {
    border: 1px solid #dbe6ea;
    border-radius: 11px;
    padding: 12px 13px;
    font-size: 16px; /* unter 16px zoomt das Telefon beim Tippen hinein */
    background: #f8fbfc;
    box-sizing: border-box;
    width: 100%;
}

    .portal-pw-fenster form:not(.portal-pw-abbruch) input:focus[b-xyjmtb7vq3] {
        outline: none;
        border-color: #18a3a1;
        background: #ffffff;
    }

.portal-pw-regel[b-xyjmtb7vq3] {
    display: block;
    color: #8a9aa1;
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 18px;
}

.portal-pw-fenster form:not(.portal-pw-abbruch) button[type="submit"][b-xyjmtb7vq3] {
    width: 100%;
    border: none;
    border-radius: 999px;
    padding: 14px 18px;
    background: #18a3a1;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.portal-pw-abbruch[b-xyjmtb7vq3] {
    margin-top: 16px;
    text-align: center;
}

    .portal-pw-fenster .portal-pw-abbruch button[b-xyjmtb7vq3] {
        border: none;
        background: none;
        color: #8a9aa1;
        font-size: 13px;
        text-decoration: underline;
        cursor: pointer;
        padding: 4px 8px;
    }

@media (max-width: 480px) {

    .portal-pw-grund[b-xyjmtb7vq3] {
        padding: 0;
        align-items: stretch;
    }

    .portal-pw-fenster[b-xyjmtb7vq3] {
        max-width: none;
        border-radius: 0;
        padding: 30px 20px 26px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}
/* /Components/Pages/Portal/PortalProfil.razor.rz.scp.css */
.portal-profil[b-dbbgbsjv6m] {
    max-width: 720px;
}

.portal-profil-kopf span[b-dbbgbsjv6m] {
    display: block;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    text-transform: uppercase;
    color: #18a3a1;
    margin-bottom: 6px;
}

.portal-profil-kopf h1[b-dbbgbsjv6m] {
    margin: 0 0 6px;
    font-size: 24px;
    color: #062b45;
}

.portal-profil-kopf p[b-dbbgbsjv6m] {
    margin: 0 0 22px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.55;
}

.portal-profil-meldung[b-dbbgbsjv6m] {
    border-radius: 12px;
    padding: 12px 15px;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 20px;
}

    .portal-profil-meldung.gut[b-dbbgbsjv6m] {
        background: #eaf7f2;
        border: 1px solid rgba(26, 138, 96, .28);
        color: #1a8a60;
    }

    .portal-profil-meldung.schlecht[b-dbbgbsjv6m] {
        background: #fdecea;
        border: 1px solid rgba(168, 53, 43, .28);
        color: #a8352b;
    }

.portal-profil-karte[b-dbbgbsjv6m] {
    background: #ffffff;
    border-radius: 18px;
    padding: 24px 26px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, .07);
    margin-bottom: 20px;
}

    .portal-profil-karte h2[b-dbbgbsjv6m] {
        margin: 0 0 8px;
        font-size: 18px;
        color: #062b45;
    }

.portal-profil-text[b-dbbgbsjv6m] {
    margin: 0 0 18px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.55;
}

.portal-profil-form[b-dbbgbsjv6m] {
    max-width: 380px;
}

    .portal-profil-form label[b-dbbgbsjv6m] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        font-size: 13px;
        font-weight: 600;
        color: #43606d;
        margin-bottom: 14px;
    }

    .portal-profil-form input[b-dbbgbsjv6m] {
        border: 1px solid #dbe6ea;
        border-radius: 11px;
        padding: 12px 13px;
        font-size: 16px; /* verhindert das Hineinzoomen auf dem Telefon */
        background: #f8fbfc;
        box-sizing: border-box;
        width: 100%;
    }

        .portal-profil-form input:focus[b-dbbgbsjv6m] {
            outline: none;
            border-color: #18a3a1;
            background: #ffffff;
        }

.portal-profil-regel[b-dbbgbsjv6m] {
    display: block;
    color: #8a9aa1;
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 18px;
}

.portal-profil-form button[b-dbbgbsjv6m] {
    border: none;
    border-radius: 999px;
    padding: 13px 26px;
    background: #18a3a1;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.portal-profil-liste[b-dbbgbsjv6m] {
    margin: 0 0 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .portal-profil-liste > div[b-dbbgbsjv6m] {
        display: flex;
        gap: 14px;
        padding: 11px 0;
        border-bottom: 1px solid #f4f8f9;
    }

        .portal-profil-liste > div:last-child[b-dbbgbsjv6m] {
            border-bottom: none;
        }

    .portal-profil-liste dt[b-dbbgbsjv6m] {
        flex: 0 0 140px;
        color: #8a9aa1;
        font-size: 13px;
        font-weight: 600;
    }

    .portal-profil-liste dd[b-dbbgbsjv6m] {
        margin: 0;
        color: #062b45;
        font-size: 14px;
        line-height: 1.5;
        word-break: break-word;
    }

.portal-profil-link[b-dbbgbsjv6m] {
    display: inline-block;
    color: #18a3a1;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

    .portal-profil-link:hover[b-dbbgbsjv6m] {
        text-decoration: underline;
    }

@media (max-width: 620px) {

    .portal-profil-karte[b-dbbgbsjv6m] {
        padding: 20px 16px;
    }

    .portal-profil-form[b-dbbgbsjv6m] {
        max-width: none;
    }

        .portal-profil-form button[b-dbbgbsjv6m] {
            width: 100%;
        }

    .portal-profil-liste > div[b-dbbgbsjv6m] {
        flex-direction: column;
        gap: 3px;
    }

    .portal-profil-liste dt[b-dbbgbsjv6m] {
        flex: none;
    }
}
/* /Components/Pages/Portal/PortalRechnungen.razor.rz.scp.css */
.portal-rg[b-8czl1te47i] {
    max-width: 860px;
}

.portal-rg-kopf span[b-8czl1te47i] {
    display: block;
    font-size: 11px;
    letter-spacing: .09em;
    font-weight: 700;
    text-transform: uppercase;
    color: #18a3a1;
    margin-bottom: 6px;
}

.portal-rg-kopf h1[b-8czl1te47i] {
    margin: 0 0 6px;
    font-size: 24px;
    color: #062b45;
}

.portal-rg-kopf p[b-8czl1te47i] {
    margin: 0 0 22px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.55;
}

.portal-rg-offen[b-8czl1te47i] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    background: #fff6ed;
    border: 1px solid rgba(196, 122, 42, .28);
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 18px;
}

    .portal-rg-offen span[b-8czl1te47i] {
        color: #8a5a1c;
        font-size: 13px;
        font-weight: 600;
    }

    .portal-rg-offen strong[b-8czl1te47i] {
        color: #8a5a1c;
        font-size: 20px;
    }

.portal-rg-liste[b-8czl1te47i] {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.portal-rg-zeile[b-8czl1te47i] {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #ffffff;
    border-radius: 15px;
    padding: 15px 18px;
    box-shadow: 0 8px 26px rgba(6, 43, 69, .06);
}

    .portal-rg-zeile.faellig[b-8czl1te47i] {
        border-left: 4px solid #c4472a;
        padding-left: 14px;
    }

.portal-rg-haupt[b-8czl1te47i] {
    flex: 1 1 auto;
    min-width: 0;
}

    .portal-rg-haupt strong[b-8czl1te47i] {
        display: block;
        color: #062b45;
        font-size: 15px;
    }

    .portal-rg-haupt small[b-8czl1te47i] {
        display: block;
        margin-top: 3px;
        color: #8a9aa1;
        font-size: 12px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

.portal-rg-zahl[b-8czl1te47i] {
    flex: 0 0 auto;
    text-align: right;
}

    .portal-rg-zahl strong[b-8czl1te47i] {
        display: block;
        color: #062b45;
        font-size: 16px;
        white-space: nowrap;
    }

.portal-rg-status[b-8czl1te47i] {
    display: inline-block;
    margin-top: 4px;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

    .portal-rg-status.bezahlt[b-8czl1te47i] {
        background: #eaf7f2;
        color: #1a8a60;
    }

    .portal-rg-status.offen[b-8czl1te47i] {
        background: #eef3f7;
        color: #43606d;
    }

    .portal-rg-status.faellig[b-8czl1te47i] {
        background: #fdecea;
        color: #a8352b;
    }

    .portal-rg-status.storniert[b-8czl1te47i] {
        background: #f2f2f2;
        color: #8a9aa1;
        text-decoration: line-through;
    }

.portal-rg-tun[b-8czl1te47i] {
    flex: 0 0 auto;
}

    .portal-rg-tun a[b-8czl1te47i] {
        display: inline-block;
        border: 1px solid #dbe6ea;
        border-radius: 999px;
        padding: 8px 16px;
        color: #18a3a1;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
    }

        .portal-rg-tun a:hover[b-8czl1te47i] {
            background: #eef7f7;
        }

.portal-rg-ohne[b-8czl1te47i] {
    color: #b6c2c7;
    font-size: 12px;
    white-space: nowrap;
}

.portal-rg-leer[b-8czl1te47i] {
    color: #8a9aa1;
    font-size: 14px;
}

.portal-rg-leer-karte[b-8czl1te47i] {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 8px 26px rgba(6, 43, 69, .06);
    text-align: center;
}

    .portal-rg-leer-karte strong[b-8czl1te47i] {
        display: block;
        color: #062b45;
        font-size: 16px;
        margin-bottom: 6px;
    }

    .portal-rg-leer-karte p[b-8czl1te47i] {
        margin: 0;
        color: #5c7079;
        font-size: 14px;
        line-height: 1.55;
    }

.portal-rg-hinweis[b-8czl1te47i] {
    color: #8a9aa1;
    font-size: 13px;
    line-height: 1.55;
}

    .portal-rg-hinweis a[b-8czl1te47i] {
        color: #18a3a1;
        font-weight: 600;
    }

/* Auf dem Telefon steht der Betrag unter der Nummer statt daneben -
   nebeneinander bliebe fuer den Betreff kaum Platz. */
@media (max-width: 620px) {

    .portal-rg-zeile[b-8czl1te47i] {
        flex-wrap: wrap;
        gap: 10px 14px;
        padding: 14px 15px;
    }

    .portal-rg-haupt[b-8czl1te47i] {
        flex: 1 1 100%;
    }

    .portal-rg-zahl[b-8czl1te47i] {
        flex: 1 1 auto;
        text-align: left;
        display: flex;
        align-items: center;
        gap: 10px;
    }

        .portal-rg-zahl strong[b-8czl1te47i] {
            font-size: 15px;
        }

    .portal-rg-status[b-8czl1te47i] {
        margin-top: 0;
    }

    .portal-rg-tun[b-8czl1te47i] {
        margin-left: auto;
    }
}
/* /Components/Pages/Portal/PortalTermine.razor.rz.scp.css */
.portal-gruss[b-sxncwte4wc] {
    margin: 0 0 4px;
    font-size: 26px;
    color: #062b45;
}

.portal-datum[b-sxncwte4wc] {
    margin: 0 0 24px;
    color: #8a9aa1;
    font-size: 14px;
}

.portal-karte[b-sxncwte4wc] {
    background: #ffffff;
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, .07);
}

.portal-leer[b-sxncwte4wc] {
    margin: 0;
    color: #5c7079;
    font-size: 14px;
}

.portal-terminliste[b-sxncwte4wc] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

    .portal-terminliste li[b-sxncwte4wc] {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 13px 0;
        border-bottom: 1px solid #f0f5f7;
    }

        .portal-terminliste li:last-child[b-sxncwte4wc] {
            border-bottom: none;
        }

.portal-terminliste-datum[b-sxncwte4wc] {
    flex: 0 0 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #eef7f7;
    border-radius: 12px;
    padding: 7px 0;
    color: #0d7c7a;
}

    .portal-terminliste-datum strong[b-sxncwte4wc] {
        font-size: 17px;
        line-height: 1;
    }

    .portal-terminliste-datum small[b-sxncwte4wc] {
        font-size: 11px;
        text-transform: uppercase;
    }

.portal-terminliste-text[b-sxncwte4wc] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .portal-terminliste-text strong[b-sxncwte4wc] {
        color: #062b45;
        font-size: 15px;
    }

    .portal-terminliste-text small[b-sxncwte4wc] {
        color: #8a9aa1;
        font-size: 12px;
    }

@media (max-width: 640px) {

    .portal-gruss[b-sxncwte4wc] {
        font-size: 22px;
    }

    .portal-karte[b-sxncwte4wc] {
        padding: 16px 14px;
    }
}
/* /Components/Pages/Portal/PortalTerminWunsch.razor.rz.scp.css */
/* =========================================================
   FUNKELFRITZE KUNDENPORTAL – TERMINVEREINBARUNG
   Mobil zuerst, damit Kalender, Zeitfenster und Formular bereits
   ab 375px ohne horizontales Scrollen sauber funktionieren.
   ========================================================= */

.portal-gruss[b-110f6p1vlw] {
    margin: 0 0 5px;

    color: #062b45;

    font-size: 23px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
}


.portal-datum[b-110f6p1vlw] {
    margin: 0 0 22px;

    color: #7f929b;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   SPALTEN
   ========================================================= */

/* Auf kleinen Geräten stehen die Bereiche untereinander.
   Erst auf größeren Ansichten entsteht die Zweispaltenansicht. */
.portal-spalten[b-110f6p1vlw] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);

    gap: 14px;

    width: 100%;
    min-width: 0;

    align-items: start;
}


/* =========================================================
   KARTE
   ========================================================= */

.portal-karte[b-110f6p1vlw] {
    width: 100%;
    min-width: 0;

    padding: 18px 15px;

    box-sizing: border-box;

    overflow: hidden;

    border:
        1px solid
        rgba(6, 43, 69, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 8px 26px
        rgba(6, 43, 69, .055);
}


.portal-kicker[b-110f6p1vlw] {
    display: block;

    margin-bottom: 9px;

    color: #18a3a1;

    font-size: 11px;
    line-height: 1.25;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;
}


.portal-leer[b-110f6p1vlw] {
    margin: 0;

    color: #60747e;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   SCHRITTE
   ========================================================= */

.portal-schritt[b-110f6p1vlw] {
    display: flex;
    align-items: center;

    gap: 9px;

    margin:
        20px
        0
        11px;

    min-width: 0;
}


.portal-schritt:first-child[b-110f6p1vlw] {
    margin-top: 0;
}


.portal-schritt strong[b-110f6p1vlw] {
    min-width: 0;

    overflow-wrap: anywhere;

    color: #062b45;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 760;
}


.portal-schritt-zahl[b-110f6p1vlw] {
    display: inline-flex;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;

    border-radius: 50%;

    color: #0d7775;

    background: #e8f5f5;

    font-size: 12px;
    line-height: 1;
    font-weight: 850;
}


/* =========================================================
   AUSWAHL UND TEXTFELD
   ========================================================= */

/* 16px verhindert das automatische Hineinzoomen mobiler
   Browser beim Antippen. */
.portal-auswahl[b-110f6p1vlw],
.portal-textfeld[b-110f6p1vlw] {
    width: 100%;
    min-width: 0;
    min-height: 48px;

    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #d8e4e8;

    border-radius: 12px;

    outline: none;

    color: #062b45;

    background: #ffffff;

    font: inherit;
    font-size: 16px;
    line-height: 1.4;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.portal-auswahl:hover[b-110f6p1vlw],
.portal-textfeld:hover[b-110f6p1vlw] {
    border-color: #c8d9de;
}


.portal-auswahl:focus[b-110f6p1vlw],
.portal-textfeld:focus[b-110f6p1vlw] {
    border-color: #18a3a1;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(24, 163, 161, .11);
}


.portal-textfeld[b-110f6p1vlw] {
    min-height: 110px;

    resize: vertical;

    line-height: 1.55;
}


/* =========================================================
   ADRESSE
   ========================================================= */

.portal-adresse[b-110f6p1vlw] {
    display: flex;
    flex-direction: column;

    gap: 4px;

    width: 100%;

    padding:
        13px
        14px;

    box-sizing: border-box;

    border:
        1px solid #e2ebee;

    border-radius: 13px;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f6fafb 100%
        );
}


.portal-adresse strong[b-110f6p1vlw] {
    color: #062b45;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 760;
}


.portal-adresse span[b-110f6p1vlw] {
    overflow-wrap: anywhere;

    color: #657b85;

    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   KALENDERKOPF
   ========================================================= */

.portal-kalender-kopf[b-110f6p1vlw] {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    width: 100%;
    min-width: 0;

    margin-bottom: 11px;
}


.portal-kalender-kopf strong[b-110f6p1vlw] {
    min-width: 0;

    color: #062b45;

    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;

    text-align: center;
}


.portal-kalender-kopf button[b-110f6p1vlw] {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    padding: 0;

    box-sizing: border-box;

    border:
        1px solid #dbe6ea;

    border-radius: 12px;

    color: #43606d;

    background: #ffffff;

    font: inherit;
    font-size: 19px;
    line-height: 1;

    cursor: pointer;

    transition:
        color .15s ease,
        border-color .15s ease,
        background .15s ease;
}


.portal-kalender-kopf button:hover[b-110f6p1vlw] {
    color: #0d7775;

    border-color:
        rgba(24, 163, 161, .45);

    background: #f5fbfb;
}


/* =========================================================
   KALENDER
   ========================================================= */

.portal-kalender[b-110f6p1vlw] {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0, 1fr));

    gap: 3px;

    width: 100%;
    min-width: 0;
}


.portal-kalender-tagkopf[b-110f6p1vlw] {
    min-width: 0;

    padding-bottom: 5px;

    color: #8799a1;

    text-align: center;

    font-size: 9px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: .04em;
    text-transform: uppercase;
}


.portal-kalender-leer[b-110f6p1vlw] {
    width: 100%;
    min-width: 0;

    aspect-ratio: 1;
}


/* Die Tagesfelder bleiben mindestens 44px hoch und damit
   zuverlässig mit dem Finger bedienbar. */
.portal-kalender-tag[b-110f6p1vlw] {
    width: 100%;
    min-width: 0;
    min-height: 44px;

    padding: 0;

    box-sizing: border-box;

    border:
        1px solid transparent;

    border-radius: 10px;

    color: #23414f;

    background: #f3f7f9;

    font: inherit;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;

    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}


.portal-kalender-tag:hover:not(:disabled)[b-110f6p1vlw] {
    border-color: #18a3a1;

    background: #f6fbfb;
}


.portal-kalender-tag:active:not(:disabled)[b-110f6p1vlw] {
    transform: scale(.96);
}


.portal-kalender-tag:disabled[b-110f6p1vlw] {
    color: #c3d0d6;

    border-color: transparent;

    background: transparent;

    cursor: default;
}


.portal-kalender-tag.gewaehlt[b-110f6p1vlw] {
    color: #ffffff;

    border-color: #18a3a1;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    box-shadow:
        0 6px 14px
        rgba(24, 163, 161, .18);
}


.portal-kalender-hinweis[b-110f6p1vlw] {
    margin:
        11px
        0
        0;

    color: #82949c;

    font-size: 12px;
    line-height: 1.5;
}


/* =========================================================
   ZEITFENSTER
   ========================================================= */

.portal-fenster[b-110f6p1vlw] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    width: 100%;
    min-width: 0;
}


.portal-fenster-knopf[b-110f6p1vlw] {
    width: 100%;
    min-width: 0;
    min-height: 46px;

    padding:
        11px
        9px;

    box-sizing: border-box;

    border:
        1px solid #dbe6ea;

    border-radius: 11px;

    color: #23414f;

    background: #ffffff;

    font: inherit;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;

    cursor: pointer;

    transition:
        color .15s ease,
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}


.portal-fenster-knopf:hover[b-110f6p1vlw] {
    border-color:
        rgba(24, 163, 161, .55);

    background: #f8fcfc;
}


.portal-fenster-knopf:active[b-110f6p1vlw] {
    transform: scale(.985);
}


.portal-fenster-knopf.gewaehlt[b-110f6p1vlw] {
    color: #ffffff;

    border-color: #18a3a1;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    box-shadow:
        0 6px 14px
        rgba(24, 163, 161, .16);
}


/* =========================================================
   ZUSAMMENFASSUNG
   ========================================================= */

.portal-zusammenfassung[b-110f6p1vlw] {
    display: flex;
    flex-direction: column;

    gap: 4px;

    width: 100%;

    margin:
        18px
        0
        14px;

    padding:
        14px
        15px;

    box-sizing: border-box;

    border:
        1px solid #e1ebee;

    border-radius: 14px;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f6fafb 100%
        );
}


.portal-zusammenfassung strong[b-110f6p1vlw] {
    overflow-wrap: anywhere;

    color: #062b45;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 780;
}


.portal-zusammenfassung span[b-110f6p1vlw] {
    overflow-wrap: anywhere;

    color: #60747e;

    font-size: 14px;
    line-height: 1.45;
}


/* =========================================================
   FEHLERMELDUNG
   ========================================================= */

.portal-fehler[b-110f6p1vlw] {
    width: 100%;

    margin-bottom: 12px;
    padding:
        12px
        14px;

    box-sizing: border-box;

    border:
        1px solid #efd7d4;

    border-radius: 12px;

    color: #9a3d34;

    background: #fdf3f2;

    font-size: 14px;
    line-height: 1.5;
}


/* =========================================================
   HAUPTAKTION
   ========================================================= */

.portal-primaer[b-110f6p1vlw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 48px;

    padding:
        12px
        20px;

    box-sizing: border-box;

    border:
        1px solid #18a3a1;

    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #18a3a1 0%,
            #128f90 100%
        );

    font: inherit;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;

    text-align: center;

    cursor: pointer;

    box-shadow:
        0 8px 20px
        rgba(24, 163, 161, .19);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


.portal-primaer:hover:not(:disabled)[b-110f6p1vlw] {
    transform: translateY(-1px);

    box-shadow:
        0 11px 25px
        rgba(24, 163, 161, .25);
}


.portal-primaer:active:not(:disabled)[b-110f6p1vlw] {
    transform: translateY(0);
}


.portal-primaer:disabled[b-110f6p1vlw] {
    opacity: .52;

    cursor: default;

    box-shadow: none;
}


/* =========================================================
   FOKUS
   ========================================================= */

.portal-kalender-kopf button:focus-visible[b-110f6p1vlw],
.portal-kalender-tag:focus-visible[b-110f6p1vlw],
.portal-fenster-knopf:focus-visible[b-110f6p1vlw],
.portal-primaer:focus-visible[b-110f6p1vlw] {
    outline:
        3px solid
        rgba(24, 163, 161, .30);

    outline-offset: 3px;
}


/* =========================================================
   SEHR KLEINE TELEFONE
   ========================================================= */

@media (max-width: 399px) {

    .portal-gruss[b-110f6p1vlw] {
        font-size: 22px;
    }


    .portal-karte[b-110f6p1vlw] {
        padding:
            17px
            13px;
    }


    .portal-kalender[b-110f6p1vlw] {
        gap: 2px;
    }


    .portal-kalender-tag[b-110f6p1vlw] {
        min-height: 42px;

        font-size: 12px;
    }


    .portal-fenster[b-110f6p1vlw] {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 641px) {

    .portal-gruss[b-110f6p1vlw] {
        font-size: 27px;
    }


    .portal-datum[b-110f6p1vlw] {
        margin-bottom: 25px;

        font-size: 14px;
    }


    .portal-spalten[b-110f6p1vlw] {
        gap: 16px;
    }


    .portal-karte[b-110f6p1vlw] {
        padding:
            21px
            22px;

        border-radius: 19px;
    }


    .portal-kalender[b-110f6p1vlw] {
        gap: 5px;
    }


    .portal-kalender-tagkopf[b-110f6p1vlw] {
        font-size: 10px;
    }


    .portal-kalender-tag[b-110f6p1vlw] {
        min-height: 46px;

        font-size: 14px;
    }


    .portal-fenster[b-110f6p1vlw] {
        gap: 9px;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .portal-gruss[b-110f6p1vlw] {
        font-size: 30px;
    }


    .portal-datum[b-110f6p1vlw] {
        margin-bottom: 28px;
    }


    .portal-spalten[b-110f6p1vlw] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }


    .portal-karte[b-110f6p1vlw] {
        padding:
            23px
            24px;

        border-radius: 20px;

        box-shadow:
            0 10px 30px
            rgba(6, 43, 69, .055);
    }


    .portal-schritt[b-110f6p1vlw] {
        margin-top: 22px;
    }


    .portal-kalender[b-110f6p1vlw] {
        gap: 6px;
    }


    .portal-kalender-tag[b-110f6p1vlw] {
        min-height: 48px;
    }


    .portal-fenster[b-110f6p1vlw] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
   ========================================================= */

/* Bewegungen werden reduziert, wenn dies vom Betriebssystem
   ausdrücklich angefordert wird. */
@media (prefers-reduced-motion: reduce) {

    .portal-auswahl[b-110f6p1vlw],
    .portal-textfeld[b-110f6p1vlw],
    .portal-kalender-kopf button[b-110f6p1vlw],
    .portal-kalender-tag[b-110f6p1vlw],
    .portal-fenster-knopf[b-110f6p1vlw],
    .portal-primaer[b-110f6p1vlw] {
        transition: none;
    }
}
/* /Components/Pages/Profil.razor.rz.scp.css */
.profile-grid[b-0ze8148j6g] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.profile-card[b-0ze8148j6g] {
    padding: 25px;
    border-radius: 22px;
    background: white;
    border: 1px solid rgba(1, 62, 87, .07);
    box-shadow: 0 10px 30px rgba(2, 40, 60, .07);
}

.profile-section-header[b-0ze8148j6g] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 25px;
}

.profile-icon[b-0ze8148j6g] {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 45px;
    border-radius: 15px;
    background: rgba(24, 163, 161, .10);
    font-size: 20px;
}

.profile-section-header h2[b-0ze8148j6g] {
    margin: 0;
    color: #013e57;
    font-size: 19px;
}

.profile-section-header p[b-0ze8148j6g] {
    margin: 4px 0 0;
    color: #718492;
    font-size: 12px;
}

.profile-form[b-0ze8148j6g] {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.profile-alert[b-0ze8148j6g] {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: 15px;
    color: #8a4545;
    background: rgba(200, 70, 70, .07);
    border: 1px solid rgba(200, 70, 70, .13);
    font-size: 12px;
}


/* =========================================================
   FCC BUTTONS
   ========================================================= */

.profile-form button[type="submit"][b-0ze8148j6g] {
    width: 100%;
    min-height: 48px;
    margin-top: 4px;
    padding: 12px 20px;
    border: 0;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient( 90deg, #18A3A1 0%, #00AAAA 100% );
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(24, 163, 161, .20);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

    .profile-form button[type="submit"]:hover[b-0ze8148j6g] {
        transform: translateY(-1px);
        box-shadow: 0 11px 26px rgba(24, 163, 161, .27);
        filter: brightness(1.025);
    }

    .profile-form button[type="submit"]:active[b-0ze8148j6g] {
        transform: translateY(0);
        box-shadow: 0 5px 14px rgba(24, 163, 161, .17);
    }

    .profile-form button[type="submit"]:focus-visible[b-0ze8148j6g] {
        outline: 3px solid rgba(24, 163, 161, .25);
        outline-offset: 3px;
    }

    .profile-form button[type="submit"]:disabled[b-0ze8148j6g] {
        cursor: not-allowed;
        opacity: .55;
        transform: none;
        box-shadow: none;
    }


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .profile-grid[b-0ze8148j6g] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .profile-card[b-0ze8148j6g] {
        padding: 20px;
        border-radius: 18px;
    }

    .profile-form button[type="submit"][b-0ze8148j6g] {
        min-height: 46px;
        border-radius: 13px;
        font-size: 14px;
    }
}
/* /Components/Pages/PushPanel.razor.rz.scp.css */
.push-panel[b-ho63ajmbo7] {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px 28px;
    box-shadow: 0 10px 34px rgba(6, 43, 69, 0.07);
    margin-bottom: 24px;
}

.push-head span[b-ho63ajmbo7] {
    display: block;
    font-size: 11px;
    letter-spacing: 0.09em;
    font-weight: 700;
    color: #18a3a1;
    margin-bottom: 6px;
}

.push-head h2[b-ho63ajmbo7] {
    margin: 0 0 6px;
    font-size: 20px;
    color: #062b45;
}

.push-head p[b-ho63ajmbo7] {
    margin: 0 0 18px;
    color: #5c7079;
    font-size: 14px;
    line-height: 1.5;
}

.push-status[b-ho63ajmbo7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

    .push-status span[b-ho63ajmbo7] {
        font-weight: 700;
        font-size: 15px;
    }

        .push-status span.an[b-ho63ajmbo7] {
            color: #18a3a1;
        }

        .push-status span.aus[b-ho63ajmbo7] {
            color: #8a9aa1;
        }

    .push-status small[b-ho63ajmbo7] {
        color: #8a9aa1;
        font-size: 12px;
    }

.push-actions[b-ho63ajmbo7] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.push-hinweis[b-ho63ajmbo7] {
    margin-top: 14px;
    background: #f3f7fa;
    border-radius: 12px;
    padding: 14px 16px;
    color: #43606d;
    font-size: 14px;
    line-height: 1.55;
}

    .push-hinweis.warn[b-ho63ajmbo7] {
        background: #fdf2f1;
        color: #8c3f38;
    }

    .push-hinweis code[b-ho63ajmbo7] {
        background: rgba(6, 43, 69, 0.07);
        border-radius: 5px;
        padding: 1px 5px;
        font-size: 12px;
    }

@media (max-width: 600px) {

    .push-panel[b-ho63ajmbo7] {
        padding: 20px 16px;
    }

    .push-actions button[b-ho63ajmbo7] {
        flex: 1 1 auto;
    }
}

.push-settings[b-ho63ajmbo7] {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #edf2f4;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

    .push-settings label[b-ho63ajmbo7] {
        font-size: 13px;
        font-weight: 600;
        color: #43606d;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .push-settings label span[b-ho63ajmbo7] {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 400;
        color: #5c7079;
    }

    .push-settings input[type="number"][b-ho63ajmbo7] {
        width: 90px;
        border: 1px solid #dbe6ea;
        border-radius: 9px;
        padding: 7px 10px;
        font-size: 14px;
    }

    .push-settings .push-check[b-ho63ajmbo7] {
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }
/* /Components/Pages/Vertraege.razor.rz.scp.css */
.page-header[b-26jj8ew9kg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

    .page-header h1[b-26jj8ew9kg] {
        margin: 0;
        color: #00283C;
        font-size: 28px;
        font-weight: 700;
    }

    .page-header p[b-26jj8ew9kg] {
        margin: 5px 0 0;
        color: #6b7c86;
    }

.vertrag-stats[b-26jj8ew9kg] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.stat-card[b-26jj8ew9kg] {
    background: white;
    border-radius: 12px;
    padding: 20px;
    border-left: 4px solid #18A3A1;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

    .stat-card span[b-26jj8ew9kg] {
        display: block;
        color: #71838d;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .stat-card strong[b-26jj8ew9kg] {
        color: #00283C;
        font-size: 26px;
    }

.vertrag-form-panel[b-26jj8ew9kg] {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0, 40, 60, 0.08);
}

.form-header[b-26jj8ew9kg] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}

    .form-header h2[b-26jj8ew9kg] {
        margin: 0;
        color: #00283C;
    }

    .form-header p[b-26jj8ew9kg] {
        margin: 5px 0 0;
        color: #71838d;
    }

.close-button[b-26jj8ew9kg] {
    border: none;
    background: transparent;
    font-size: 28px;
    color: #71838d;
    cursor: pointer;
}

.form-section-title[b-26jj8ew9kg] {
    margin: 24px 0 13px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8eef1;
    color: #174e59;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.form-grid[b-26jj8ew9kg] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field[b-26jj8ew9kg] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full-width[b-26jj8ew9kg] {
        grid-column: 1 / -1;
    }

    .form-field label[b-26jj8ew9kg] {
        font-size: 13px;
        font-weight: 700;
        color: #365467;
    }

    .form-field input[b-26jj8ew9kg],
    .form-field select[b-26jj8ew9kg],
    .form-field textarea[b-26jj8ew9kg] {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d5e0e5;
        border-radius: 9px;
        padding: 11px 12px;
        outline: none;
        background: white;
    }

        .form-field input:disabled[b-26jj8ew9kg] {
            background: #f4f7f8;
            color: #7b8d95;
        }

    .form-field textarea[b-26jj8ew9kg] {
        min-height: 100px;
        resize: vertical;
    }

        .form-field input:focus[b-26jj8ew9kg],
        .form-field select:focus[b-26jj8ew9kg],
        .form-field textarea:focus[b-26jj8ew9kg] {
            border-color: #18A3A1;
            box-shadow: 0 0 0 3px rgba(24, 163, 161, 0.10);
        }

.checkbox-field[b-26jj8ew9kg] {
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

    .checkbox-field input[b-26jj8ew9kg] {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        accent-color: #18A3A1;
    }

[b-26jj8ew9kg] .invalid {
    border-color: rgba(24, 163, 161, 0.55) !important;
}

[b-26jj8ew9kg] .validation-message {
    display: none !important;
}

.form-actions[b-26jj8ew9kg] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.fcc-validation-alert[b-26jj8ew9kg] {
    display: flex;
    gap: 14px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(24, 163, 161, 0.11);
    border: 1px solid rgba(24, 163, 161, 0.30);
}

.fcc-validation-symbol[b-26jj8ew9kg] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.18);
    color: #087c7a;
    font-weight: 800;
}

.fcc-validation-content[b-26jj8ew9kg] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

    .fcc-validation-content strong[b-26jj8ew9kg] {
        color: #087c7a;
    }

    .fcc-validation-content span[b-26jj8ew9kg] {
        color: #54727a;
        font-size: 13px;
    }

.fcc-validation-close[b-26jj8ew9kg] {
    border: none;
    background: transparent;
    font-size: 21px;
    color: #388087;
    cursor: pointer;
}

.vertrag-panel[b-26jj8ew9kg] {
    background: white;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 5px 18px rgba(0, 40, 60, 0.06);
}

.vertrag-toolbar[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8eef1;
}

.vertrag-search[b-26jj8ew9kg] {
    border: 1px solid #d5e0e5;
    border-radius: 999px;
    padding: 0 14px;
    height: 40px;
    font-size: 14px;
    box-sizing: border-box;
    outline: none;
    flex: 1;
}

/*
 * .vertrag-filter (das <select>) wird bewusst NICHT hier gestylt.
 * Theme.css definiert dafür bereits global ein eigenes Custom-Select
 * (appearance: base-select, Farbverlauf, Pfeil-Icon) mit !important.
 * Eigene appearance/background-Regeln hier würden dieses Theme brechen.
 */

    .vertrag-search:focus[b-26jj8ew9kg],
    .vertrag-filter:focus[b-26jj8ew9kg] {
        border-color: #18A3A1;
    }

.empty-state[b-26jj8ew9kg] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-26jj8ew9kg] {
    font-size: 38px;
}

.vertrag-table[b-26jj8ew9kg] {
    margin-top: 8px;
}

.vertrag-table-header[b-26jj8ew9kg],
.vertrag-row[b-26jj8ew9kg] {
    display: grid;
    grid-template-columns: 1.5fr 1.6fr 1fr 1fr 0.8fr 60px;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
}

.vertrag-table-header[b-26jj8ew9kg] {
    color: #71838d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e8eef1;
}

.vertrag-row[b-26jj8ew9kg] {
    position: relative;
    border-bottom: 1px solid #edf2f4;
}

    .vertrag-row:hover[b-26jj8ew9kg] {
        background: #f8fbfc;
    }

.vertrag-name[b-26jj8ew9kg],
.vertrag-customer[b-26jj8ew9kg],
.vertrag-price[b-26jj8ew9kg] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.vertrag-row strong[b-26jj8ew9kg] {
    color: #00283C;
    overflow-wrap: anywhere;
}

.vertrag-row small[b-26jj8ew9kg] {
    color: #81929c;
    overflow-wrap: anywhere;
}

.vertrag-number[b-26jj8ew9kg] {
    margin-top: 3px;
    color: #18A3A1 !important;
    font-size: 10px;
    font-weight: 800;
}

.intervall-badge[b-26jj8ew9kg],
.status-badge[b-26jj8ew9kg] {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.intervall-badge[b-26jj8ew9kg] {
    background: #edf5f6;
    color: #365f69;
}

.status-aktiv[b-26jj8ew9kg] {
    background: #e5f7f3;
    color: #087c6d;
}

.status-pausiert[b-26jj8ew9kg] {
    background: #f3f2e8;
    color: #7d7437;
}

.status-beendet[b-26jj8ew9kg] {
    background: #f3eded;
    color: #806262;
}

.vertrag-actions[b-26jj8ew9kg] {
    position: relative;
    justify-self: end;
}

.vertrag-menu-button[b-26jj8ew9kg] {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #18A3A1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 4px 14px rgba(0, 40, 60, .10);
    transition: opacity .15s ease, transform .15s ease, background .15s ease;
}

.vertrag-row:hover .vertrag-menu-button[b-26jj8ew9kg],
.vertrag-actions.menu-open .vertrag-menu-button[b-26jj8ew9kg] {
    opacity: 1;
    pointer-events: auto;
}

.vertrag-menu-button:hover[b-26jj8ew9kg] {
    background: #0f8f8d;
}

.vertrag-menu-button span[b-26jj8ew9kg] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: white;
}

.vertrag-action-menu[b-26jj8ew9kg] {
    position: absolute;
    right: 0;
    top: 40px;
    min-width: 170px;
    padding: 7px;
    background: white;
    border: 1px solid #e3ebef;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 40, 60, 0.15);
    z-index: 100;
}

.action-menu-item[b-26jj8ew9kg] {
    width: 100%;
    border: none;
    background: transparent;
    padding: 10px 12px;
    text-align: left;
    border-radius: 8px;
    cursor: pointer;
}

    .action-menu-item:hover[b-26jj8ew9kg] {
        background: #f1f7f8;
    }

    .action-menu-item.danger[b-26jj8ew9kg] {
        color: #c0392b;
    }

.fcc-delete-overlay[b-26jj8ew9kg] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 40, 60, 0.32);
    backdrop-filter: blur(4px);
}

.fcc-delete-dialog[b-26jj8ew9kg] {
    width: min(540px, 95%);
    padding: 28px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 30px 80px rgba(0, 40, 60, 0.22);
}

.fcc-delete-icon[b-26jj8ew9kg] {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(24, 163, 161, 0.13);
    color: #087c7a;
    font-size: 23px;
    font-weight: 800;
}

.fcc-delete-header[b-26jj8ew9kg] {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.fcc-delete-x[b-26jj8ew9kg] {
    border: none;
    background: transparent;
    font-size: 24px;
    cursor: pointer;
}

.fcc-delete-warning[b-26jj8ew9kg] {
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 13px;
    background: rgba(24, 163, 161, 0.10);
}

.fcc-delete-details[b-26jj8ew9kg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

    .fcc-delete-details div[b-26jj8ew9kg] {
        padding: 13px 15px;
        border: 1px solid #e1eaed;
        border-radius: 11px;
    }

    .fcc-delete-details span[b-26jj8ew9kg] {
        display: block;
        color: #82939a;
        font-size: 11px;
    }

.fcc-delete-actions[b-26jj8ew9kg] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.fcc-delete-button[b-26jj8ew9kg] {
    padding: 11px 18px;
    border: none;
    border-radius: 10px;
    background: #18A3A1;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 900px) {
    .vertrag-stats[b-26jj8ew9kg] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {

    .form-grid[b-26jj8ew9kg] {
        grid-template-columns: 1fr;
    }

    .form-field.full-width[b-26jj8ew9kg] {
        grid-column: auto;
    }

    .vertrag-stats[b-26jj8ew9kg] {
        grid-template-columns: 1fr;
    }

    .vertrag-toolbar[b-26jj8ew9kg] {
        flex-direction: column;
    }

    .page-header[b-26jj8ew9kg] {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

        .page-header .fcc-primary-button[b-26jj8ew9kg] {
            width: 100%;
        }

    .fcc-delete-details[b-26jj8ew9kg] {
        grid-template-columns: 1fr;
    }


    /* =========================================================
       MOBILE VERTRAGSKARTEN
       ========================================================= */

    .vertrag-panel[b-26jj8ew9kg] {
        padding: 12px;
        overflow: visible;
    }

    .vertrag-table[b-26jj8ew9kg] {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 12px;
    }

    .vertrag-table-header[b-26jj8ew9kg] {
        display: none;
    }

    .vertrag-row[b-26jj8ew9kg] {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name actions"
            "customer customer"
            "interval status"
            "price price";
        gap: 11px 12px;
        align-items: start;
        box-sizing: border-box;
        padding: 16px;
        border: 1px solid #e3ecef;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 4px 14px rgba(0, 40, 60, .045);
        overflow: visible;
    }

        .vertrag-row:hover[b-26jj8ew9kg],
        .vertrag-row:active[b-26jj8ew9kg] {
            background: #f8fbfc;
        }

        .vertrag-row > .vertrag-name[b-26jj8ew9kg] {
            grid-area: name;
        }

    .vertrag-name strong[b-26jj8ew9kg] {
        font-size: 17px;
        line-height: 1.25;
    }

    .vertrag-row > .vertrag-customer[b-26jj8ew9kg] {
        grid-area: customer;
        padding-top: 10px;
        border-top: 1px solid #edf2f4;
    }

    .vertrag-customer[b-26jj8ew9kg]::before {
        content: "Kunde / Objekt";
        display: block;
        margin-bottom: 4px;
        color: #8a9aa1;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .vertrag-customer strong[b-26jj8ew9kg] {
        font-size: 13px;
        line-height: 1.35;
    }

    .vertrag-customer small[b-26jj8ew9kg] {
        margin-top: 2px;
        font-size: 11px;
    }

    .vertrag-row > div:nth-child(3)[b-26jj8ew9kg] {
        grid-area: interval;
        min-width: 0;
    }

    .vertrag-row > .vertrag-price[b-26jj8ew9kg] {
        grid-area: price;
        padding-top: 10px;
        border-top: 1px solid #edf2f4;
    }

    .vertrag-price[b-26jj8ew9kg]::before {
        content: "Preis";
        display: block;
        margin-bottom: 4px;
        color: #8a9aa1;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .vertrag-price strong[b-26jj8ew9kg] {
        font-size: 16px;
    }

    .vertrag-row > div:nth-child(5)[b-26jj8ew9kg] {
        grid-area: status;
        justify-self: end;
    }

    .intervall-badge[b-26jj8ew9kg],
    .status-badge[b-26jj8ew9kg] {
        padding: 5px 9px;
        font-size: 10px;
    }

    .vertrag-row > .vertrag-actions[b-26jj8ew9kg] {
        grid-area: actions;
        justify-self: end;
        align-self: start;
        width: 38px;
        min-width: 38px;
        z-index: 20;
    }

    .vertrag-menu-button[b-26jj8ew9kg] {
        width: 36px;
        height: 36px;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .vertrag-action-menu[b-26jj8ew9kg] {
        top: 42px;
        right: 0;
        min-width: 175px;
        z-index: 500;
    }

    .form-actions[b-26jj8ew9kg] {
        flex-direction: column-reverse;
    }

        .form-actions button[b-26jj8ew9kg] {
            width: 100%;
        }

    .fcc-delete-actions[b-26jj8ew9kg] {
        flex-direction: column-reverse;
    }

        .fcc-delete-actions button[b-26jj8ew9kg] {
            width: 100%;
        }
}

@media (max-width: 390px) {

    .vertrag-row[b-26jj8ew9kg] {
        padding: 14px;
        gap: 10px;
    }

    .vertrag-name strong[b-26jj8ew9kg] {
        font-size: 16px;
    }

    .intervall-badge[b-26jj8ew9kg],
    .status-badge[b-26jj8ew9kg] {
        font-size: 9px;
    }
}


/* =========================================================
   VERTRAGSDETAILS / PDF
   ========================================================= */

.action-menu-link[b-26jj8ew9kg] {
    display: block;
    color: #00283C;
    text-decoration: none;
    font-weight: 400;
}

.vertrag-detail-overlay[b-26jj8ew9kg],
.vertrag-pdf-overlay[b-26jj8ew9kg] {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(0, 40, 60, .38);
    backdrop-filter: blur(5px);
}

.vertrag-detail-dialog[b-26jj8ew9kg] {
    width: min(800px, 100%);
    max-height: calc(100vh - 44px);
    overflow-y: auto;
    background: white;
    border-radius: 20px;
    box-shadow: 0 30px 90px rgba(0, 40, 60, .25);
}

.vertrag-detail-header[b-26jj8ew9kg],
.vertrag-pdf-header[b-26jj8ew9kg] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 22px 24px;
    border-bottom: 1px solid #e5edef;
}

    .vertrag-detail-kicker[b-26jj8ew9kg],
    .vertrag-pdf-header span[b-26jj8ew9kg] {
        display: block;
        margin-bottom: 4px;
        color: #18A3A1;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .vertrag-detail-header h2[b-26jj8ew9kg] {
        margin: 0;
        color: #00283C;
        font-size: 23px;
    }

    .vertrag-detail-header p[b-26jj8ew9kg] {
        margin: 5px 0 0;
        color: #71838d;
        font-size: 13px;
    }

.vertrag-detail-close[b-26jj8ew9kg] {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: none;
    border-radius: 50%;
    background: #edf3f5;
    color: #58717b;
    font-size: 22px;
    cursor: pointer;
}

.vertrag-detail-body[b-26jj8ew9kg] {
    padding: 22px 24px;
}

.vertrag-detail-grid[b-26jj8ew9kg] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.vertrag-detail-card[b-26jj8ew9kg] {
    padding: 14px;
    border: 1px solid #e1eaed;
    border-radius: 12px;
    background: #f7fafb;
}

    .vertrag-detail-card span[b-26jj8ew9kg],
    .vertrag-detail-text > span[b-26jj8ew9kg] {
        display: block;
        margin-bottom: 5px;
        color: #82939a;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .vertrag-detail-card strong[b-26jj8ew9kg] {
        color: #244956;
        font-size: 13px;
    }

.vertrag-detail-text[b-26jj8ew9kg] {
    margin-top: 14px;
    padding: 15px;
    border: 1px solid #e1eaed;
    border-radius: 12px;
    background: #f7fafb;
}

    .vertrag-detail-text p[b-26jj8ew9kg] {
        margin: 0;
        color: #365467;
        font-size: 13px;
        line-height: 1.5;
        white-space: pre-wrap;
    }

.vertrag-document-panel[b-26jj8ew9kg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-top: 16px;
    padding: 15px;
    border: 1px solid rgba(24, 163, 161, .25);
    border-radius: 13px;
    background: rgba(24, 163, 161, .06);
}

.vertrag-document-info[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.vertrag-document-icon[b-26jj8ew9kg] {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #18A3A1;
    color: white;
    font-size: 10px;
    font-weight: 900;
}

.vertrag-document-info > div:last-child[b-26jj8ew9kg] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.vertrag-document-info strong[b-26jj8ew9kg] {
    color: #174e59;
    font-size: 13px;
}

.vertrag-document-info span[b-26jj8ew9kg],
.vertrag-document-info small[b-26jj8ew9kg] {
    overflow: hidden;
    color: #71838d;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vertrag-document-actions[b-26jj8ew9kg] {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.document-link[b-26jj8ew9kg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.vertrag-document-empty[b-26jj8ew9kg] {
    margin-top: 16px;
    padding: 14px;
    border-radius: 11px;
    background: #f3f6f7;
    color: #71838d;
    font-size: 12px;
}

.vertrag-detail-footer[b-26jj8ew9kg],
.vertrag-pdf-footer[b-26jj8ew9kg] {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding: 16px 24px;
    border-top: 1px solid #e5edef;
    background: #fafcfc;
}

.vertrag-pdf-dialog[b-26jj8ew9kg] {
    width: min(980px, 100%);
    height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: white;
    border-radius: 20px;
    box-shadow: 0 30px 90px rgba(0, 40, 60, .28);
}

.vertrag-pdf-header[b-26jj8ew9kg] {
    align-items: center;
}

    .vertrag-pdf-header > div[b-26jj8ew9kg] {
        min-width: 0;
    }

    .vertrag-pdf-header strong[b-26jj8ew9kg] {
        display: block;
        overflow: hidden;
        color: #00283C;
        font-size: 14px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.vertrag-pdf-frame[b-26jj8ew9kg] {
    width: 100%;
    flex: 1;
    border: 0;
    background: #e9eef0;
}

@media (max-width: 700px) {

    .vertrag-detail-overlay[b-26jj8ew9kg],
    .vertrag-pdf-overlay[b-26jj8ew9kg] {
        padding: 10px;
        align-items: flex-end;
    }

    .vertrag-detail-dialog[b-26jj8ew9kg],
    .vertrag-pdf-dialog[b-26jj8ew9kg] {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 18px 18px 0 0;
    }

    .vertrag-detail-grid[b-26jj8ew9kg] {
        grid-template-columns: 1fr;
    }

    .vertrag-document-panel[b-26jj8ew9kg] {
        align-items: stretch;
        flex-direction: column;
    }

    .vertrag-document-actions[b-26jj8ew9kg] {
        width: 100%;
    }

        .vertrag-document-actions > *[b-26jj8ew9kg] {
            flex: 1;
        }

    .vertrag-detail-footer[b-26jj8ew9kg],
    .vertrag-pdf-footer[b-26jj8ew9kg] {
        flex-direction: column-reverse;
    }

        .vertrag-detail-footer > *[b-26jj8ew9kg],
        .vertrag-pdf-footer > *[b-26jj8ew9kg] {
            width: 100%;
        }

    .vertrag-pdf-dialog[b-26jj8ew9kg] {
        height: calc(100vh - 20px);
    }
}


/* =========================================================
   DOKUMENTVERSIONEN
   ========================================================= */

.vertrag-document-overlay[b-26jj8ew9kg] {
    position: fixed;
    inset: 0;
    z-index: 6100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(0, 40, 60, .40);
    backdrop-filter: blur(5px);
}

.vertrag-document-dialog[b-26jj8ew9kg] {
    width: min(900px, 100%);
    max-height: calc(100vh - 44px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: white;
    border-radius: 20px;
    box-shadow: 0 30px 90px rgba(0, 40, 60, .28);
}

.vertrag-document-dialog-header[b-26jj8ew9kg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
    border-bottom: 1px solid #e5edef;
}

    .vertrag-document-dialog-header h2[b-26jj8ew9kg] {
        margin: 0;
        color: #00283C;
        font-size: 23px;
    }

    .vertrag-document-dialog-header p[b-26jj8ew9kg] {
        margin: 5px 0 0;
        color: #71838d;
        font-size: 12px;
    }

.vertrag-document-dialog-body[b-26jj8ew9kg] {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
}

.vertrag-version-hint[b-26jj8ew9kg] {
    margin-bottom: 15px;
    padding: 13px 15px;
    border: 1px solid rgba(24, 163, 161, .22);
    border-radius: 12px;
    background: rgba(24, 163, 161, .07);
    color: #54727a;
    font-size: 12px;
    line-height: 1.45;
}

.vertrag-version-toolbar[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
}

    .vertrag-version-toolbar > span[b-26jj8ew9kg] {
        color: #71838d;
        font-size: 12px;
        font-weight: 700;
    }

.vertrag-version-list[b-26jj8ew9kg] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.vertrag-version-row[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px;
    border: 1px solid #e3ebef;
    border-radius: 13px;
    background: #fff;
}

.vertrag-version-main[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.vertrag-version-icon[b-26jj8ew9kg] {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #18A3A1;
    color: white;
    font-size: 10px;
    font-weight: 900;
}

.vertrag-version-main > div:last-child[b-26jj8ew9kg] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.vertrag-version-title[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

    .vertrag-version-title strong[b-26jj8ew9kg] {
        color: #174e59;
        font-size: 13px;
    }

.vertrag-version-current[b-26jj8ew9kg] {
    padding: 3px 7px;
    border-radius: 999px;
    background: #e5f7f3;
    color: #087c6d;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.vertrag-version-main span[b-26jj8ew9kg],
.vertrag-version-main small[b-26jj8ew9kg] {
    max-width: 430px;
    overflow: hidden;
    color: #71838d;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vertrag-version-actions[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
}

.version-action-button[b-26jj8ew9kg] {
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: none;
    border-radius: 8px;
    background: #edf3f5;
    color: #365467;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

    .version-action-button:hover[b-26jj8ew9kg] {
        background: #e3edef;
    }

    .version-action-button.danger[b-26jj8ew9kg] {
        background: #fff0ee;
        color: #c0392b;
    }

        .version-action-button.danger:hover[b-26jj8ew9kg] {
            background: #ffe4df;
        }

.version-action-link[b-26jj8ew9kg] {
    color: #365467;
}

.vertrag-delete-documents-option[b-26jj8ew9kg] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #e2eaed;
    border-radius: 11px;
    background: #f8fafb;
    color: #365467;
    font-size: 12px;
    cursor: pointer;
}

    .vertrag-delete-documents-option input[b-26jj8ew9kg] {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
        margin-top: 1px;
        accent-color: #18A3A1;
    }

@media (max-width: 700px) {

    .vertrag-document-overlay[b-26jj8ew9kg] {
        padding: 10px;
        align-items: flex-end;
    }

    .vertrag-document-dialog[b-26jj8ew9kg] {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 18px 18px 0 0;
    }

    .vertrag-document-dialog-header[b-26jj8ew9kg],
    .vertrag-document-dialog-body[b-26jj8ew9kg] {
        padding-left: 17px;
        padding-right: 17px;
    }

    .vertrag-version-toolbar[b-26jj8ew9kg] {
        align-items: stretch;
        flex-direction: column;
    }

        .vertrag-version-toolbar .fcc-primary-button[b-26jj8ew9kg] {
            width: 100%;
        }

    .vertrag-version-row[b-26jj8ew9kg] {
        align-items: stretch;
        flex-direction: column;
    }

    .vertrag-version-actions[b-26jj8ew9kg] {
        width: 100%;
    }

        .vertrag-version-actions > *[b-26jj8ew9kg] {
            flex: 1;
        }

    .vertrag-version-main span[b-26jj8ew9kg],
    .vertrag-version-main small[b-26jj8ew9kg] {
        max-width: 100%;
    }
}


/* =========================================================
   VORSCHAU VOR DEM SPEICHERN
   ========================================================= */

.vertrag-save-preview-overlay[b-26jj8ew9kg] {
    position: fixed;
    inset: 0;
    z-index: 7000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 40, 60, .44);
    backdrop-filter: blur(6px);
}

.vertrag-save-preview-dialog[b-26jj8ew9kg] {
    width: min(1050px, 100%);
    height: min(90vh, 920px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: white;
    border-radius: 20px;
    box-shadow: 0 32px 100px rgba(0, 40, 60, .30);
    transition: width .16s ease, height .16s ease, border-radius .16s ease;
}

    .vertrag-save-preview-dialog.fullscreen[b-26jj8ew9kg] {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        max-width: none;
        border-radius: 14px;
    }

.vertrag-save-preview-header[b-26jj8ew9kg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    border-bottom: 1px solid #e5edef;
    background: white;
}

    .vertrag-save-preview-header h2[b-26jj8ew9kg] {
        margin: 0;
        color: #00283C;
        font-size: 19px;
    }

    .vertrag-save-preview-header p[b-26jj8ew9kg] {
        margin: 5px 0 0;
        color: #71838d;
        font-size: 11px;
    }

.vertrag-save-preview-header-actions[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.vertrag-preview-icon-button[b-26jj8ew9kg] {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #edf3f5;
    color: #365467;
    font-size: 18px;
    cursor: pointer;
}

    .vertrag-preview-icon-button:hover[b-26jj8ew9kg] {
        background: #e1ecee;
    }

.vertrag-save-preview-frame[b-26jj8ew9kg] {
    width: 100%;
    flex: 1;
    min-height: 0;
    border: 0;
    background: #dfe5e7;
}

.vertrag-save-preview-footer[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-top: 1px solid #e5edef;
    background: #fafcfc;
}

.vertrag-save-preview-footer-right[b-26jj8ew9kg] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.vertrag-preview-discard-button[b-26jj8ew9kg] {
    min-height: 40px;
    padding: 0 14px;
    border: none;
    border-radius: 10px;
    background: #fff0ee;
    color: #c0392b;
    font-weight: 700;
    cursor: pointer;
}

    .vertrag-preview-discard-button:hover[b-26jj8ew9kg] {
        background: #ffe4df;
    }

.vertrag-save-preview-footer button:disabled[b-26jj8ew9kg] {
    opacity: .58;
    cursor: not-allowed;
}

@media (max-width: 700px) {

    .vertrag-save-preview-overlay[b-26jj8ew9kg] {
        padding: 0;
    }

    .vertrag-save-preview-dialog[b-26jj8ew9kg],
    .vertrag-save-preview-dialog.fullscreen[b-26jj8ew9kg] {
        width: 100vw;
        height: 100vh;
        border-radius: 0;
    }

    .vertrag-save-preview-header[b-26jj8ew9kg] {
        padding: 14px 15px;
    }

        .vertrag-save-preview-header h2[b-26jj8ew9kg] {
            font-size: 16px;
        }

        .vertrag-save-preview-header p[b-26jj8ew9kg] {
            display: none;
        }

    .vertrag-save-preview-footer[b-26jj8ew9kg] {
        align-items: stretch;
        flex-direction: column-reverse;
        padding: 12px;
    }

    .vertrag-save-preview-footer-right[b-26jj8ew9kg] {
        width: 100%;
    }

        .vertrag-save-preview-footer-right > *[b-26jj8ew9kg],
        .vertrag-preview-discard-button[b-26jj8ew9kg] {
            flex: 1;
            width: 100%;
        }
}

/* FCC v3: Vertragsartfilter */
.contract-type-filter[b-26jj8ew9kg] { display:flex; align-items:center; gap:.55rem; }
.contract-type-filter button[b-26jj8ew9kg] {
    border: 1px solid #dbe7ea;
    border-radius: 999px;
    padding: 0 16px;
    height: 40px;
    box-sizing: border-box;
    background: white;
    color: #365467;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.contract-type-filter button:hover[b-26jj8ew9kg] { background: #eaf1f3; }
.contract-type-filter button.active[b-26jj8ew9kg] { color: #fff; background: #18a3a1; border-color: #18a3a1; }
.contract-type-filter button.active:hover[b-26jj8ew9kg] { background: #138d8b; }
/* FCC v3: kompakte 2x2-KPIs auf Mobilgeräten */
@media (max-width: 700px) {
    .stats-grid[b-26jj8ew9kg], .stat-grid[b-26jj8ew9kg], .customer-stats[b-26jj8ew9kg] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .55rem !important;
    }
    .stats-grid .stat-card[b-26jj8ew9kg], .stat-grid .stat-card[b-26jj8ew9kg], .customer-stats .stat-card[b-26jj8ew9kg] {
        min-height: 0 !important;
        padding: .7rem .65rem !important;
    }
    .stats-grid .stat-card span[b-26jj8ew9kg], .stat-grid .stat-card span[b-26jj8ew9kg], .customer-stats .stat-card span[b-26jj8ew9kg] {
        font-size: .72rem !important;
        line-height: 1.15 !important;
    }
    .stats-grid .stat-card strong[b-26jj8ew9kg], .stat-grid .stat-card strong[b-26jj8ew9kg], .customer-stats .stat-card strong[b-26jj8ew9kg] {
        font-size: 1.15rem !important;
    }
}
/* /Components/Pages/VertragTerminplaner.razor.rz.scp.css */
/* FCC-Standard-Wizard-Optik: verschwommener Overlay-Hintergrund,
   abgerundete Modal-Box, wie das bestehende Termin-Formular im Kalender. */

.planner-overlay[b-dr34tzixyp] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 35, 52, 0.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    animation: plannerOverlayOpen-b-dr34tzixyp .15s ease-out;
}

.planner-modal[b-dr34tzixyp] {
    width: min(900px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(24, 163, 161, 0.25);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 35, 52, 0.28), 0 8px 24px rgba(0, 35, 52, 0.12);
    animation: plannerModalOpen-b-dr34tzixyp .18s ease-out;
}

@keyframes plannerOverlayOpen-b-dr34tzixyp {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes plannerModalOpen-b-dr34tzixyp {
    from { opacity: 0; transform: translateY(10px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.planner-modal-header[b-dr34tzixyp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 22px;
    border-bottom: 1px solid rgba(0, 62, 87, 0.10);
    flex: 0 0 auto;
}

.planner-modal-header h2[b-dr34tzixyp] {
    margin: 0;
    color: #013e57;
    font-size: 21px;
}

.planner-modal-header p[b-dr34tzixyp] {
    margin: 4px 0 0;
    color: #7b9099;
    font-size: 13px;
}

.planner-modal-close[b-dr34tzixyp] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #7b9099;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.planner-modal-close:hover[b-dr34tzixyp] {
    background: #eaf1f3;
    color: #013e57;
}

.planner-modal-body[b-dr34tzixyp] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 22px;
}

.planner-modal-footer[b-dr34tzixyp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    flex: 0 0 auto;
    padding: 16px 22px;
    background: #ffffff;
    border-top: 1px solid rgba(0, 62, 87, 0.10);
}

.planner-banner[b-dr34tzixyp] {
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 600;
}

.planner-banner.success[b-dr34tzixyp] {
    background: #e5f8f0;
    color: #0f7a4d;
}

.planner-banner.error[b-dr34tzixyp] {
    background: #fdecec;
    color: #b02a2a;
}

.planner-year-bar[b-dr34tzixyp] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 18px;
}

.planner-year-bar strong[b-dr34tzixyp] {
    color: #013e57;
    font-size: 18px;
    min-width: 60px;
    text-align: center;
}

.planner-nav-button[b-dr34tzixyp] {
    min-width: 36px;
    min-height: 36px;
    border: none;
    border-radius: 10px;
    background: #eaf1f3;
    color: #365467;
    font-size: 16px;
    cursor: pointer;
}

.planner-nav-button:hover[b-dr34tzixyp] {
    background: #dde8eb;
}

.planner-month-grid[b-dr34tzixyp] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.planner-month-tile[b-dr34tzixyp] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #dbe7ea;
    background: white;
    cursor: pointer;
    text-align: left;
}

.planner-month-tile.faellig[b-dr34tzixyp] {
    border-color: #18a3a1;
}

.planner-month-tile.active[b-dr34tzixyp] {
    background: #eefaf9;
    border-color: #18a3a1;
}

.planner-month-name[b-dr34tzixyp] {
    color: #013e57;
    font-weight: 700;
    font-size: 14px;
}

.planner-month-count[b-dr34tzixyp] {
    font-size: 12px;
    color: #18a3a1;
    font-weight: 600;
}

.planner-month-count.muted[b-dr34tzixyp] {
    color: #a3b3ba;
    font-weight: 500;
}

.planner-month-count.complete[b-dr34tzixyp] {
    color: #0f7a4d;
}

.planner-day-panel[b-dr34tzixyp] {
    background: white;
    border: 1px solid #dbe7ea;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 18px;
}

.planner-day-panel-header[b-dr34tzixyp] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
}

.planner-day-panel-header strong[b-dr34tzixyp] {
    color: #013e57;
    font-size: 16px;
}

.planner-day-panel-header span[b-dr34tzixyp] {
    color: #69818c;
    font-size: 12px;
}

.planner-weekdays[b-dr34tzixyp],
.planner-day-grid[b-dr34tzixyp] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.planner-weekdays[b-dr34tzixyp] {
    margin-bottom: 8px;
    color: #91a1a8;
    font-size: 12px;
    text-align: center;
}

.planner-day[b-dr34tzixyp] {
    aspect-ratio: 1;
    border: none;
    border-radius: 8px;
    background: #f5f8fb;
    color: #365467;
    font-size: 13px;
    cursor: pointer;
}

.planner-day.empty[b-dr34tzixyp] {
    background: transparent;
    cursor: default;
}

.planner-day:not(.empty):hover[b-dr34tzixyp] {
    background: #eaf1f3;
}

.planner-day.neu[b-dr34tzixyp] {
    background: #18a3a1;
    color: white;
    font-weight: 700;
}

.planner-day.bestehend[b-dr34tzixyp] {
    background: #ffd166;
    color: #6b4a00;
    font-weight: 700;
    cursor: default;
}

.planner-summary-text[b-dr34tzixyp] {
    color: #365467;
    font-size: 14px;
}

.planner-summary-actions[b-dr34tzixyp] {
    display: flex;
    gap: 10px;
}

.planner-existing-list[b-dr34tzixyp] {
    margin-top: 18px;
}

.planner-existing-list h3[b-dr34tzixyp] {
    color: #013e57;
    font-size: 16px;
    margin-bottom: 10px;
}

.planner-existing-row[b-dr34tzixyp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: white;
    border: 1px solid #dbe7ea;
    border-radius: 10px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #365467;
}

.planner-remove-button[b-dr34tzixyp] {
    border: none;
    background: none;
    color: #b02a2a;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.planner-remove-button:hover[b-dr34tzixyp] {
    text-decoration: underline;
}

.appointment-status[b-dr34tzixyp] {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.appointment-status.planned[b-dr34tzixyp] {
    background: #eaf1f3;
    color: #365467;
}

.appointment-status.confirmed[b-dr34tzixyp] {
    background: #e5f8f0;
    color: #0f7a4d;
}

.appointment-status.done[b-dr34tzixyp] {
    background: #e8eef0;
    color: #5a6b72;
}

.appointment-status.cancelled[b-dr34tzixyp] {
    background: #fdecec;
    color: #b02a2a;
}
/* /Components/Shared/AdminCenter.razor.rz.scp.css */
.admin-head-button[b-dzw3ytm0uc]{position:relative;width:50px;height:50px;padding:3px;border:1px solid rgba(255,255,255,.35);border-radius:15px;background:rgba(255,255,255,.14);cursor:pointer;overflow:visible}.admin-head-button:hover[b-dzw3ytm0uc],.admin-head-button.open[b-dzw3ytm0uc]{background:rgba(255,255,255,.25)}.admin-head-button img[b-dzw3ytm0uc]{width:100%;height:100%;object-fit:cover;border-radius:10px}.admin-dot[b-dzw3ytm0uc]{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border:2px solid #18a3a1;border-radius:50%;background:#76d59a}.admin-dot.maintenance[b-dzw3ytm0uc]{background:#ffb24a}.admin-overlay[b-dzw3ytm0uc]{position:fixed;inset:0;z-index:30000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,27,41,.58)}.admin-modal[b-dzw3ytm0uc]{width:min(820px,95vw);max-height:90vh;overflow:auto;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}.admin-header[b-dzw3ytm0uc]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;color:#fff;background:linear-gradient(120deg,#18a3a1,#007f8b)}.admin-brand[b-dzw3ytm0uc]{display:flex;align-items:center;gap:13px}.admin-brand img[b-dzw3ytm0uc]{width:52px;height:52px;object-fit:cover;border-radius:14px;background:#fff}.admin-brand span[b-dzw3ytm0uc]{font-size:9px;letter-spacing:1px;opacity:.8}.admin-brand h2[b-dzw3ytm0uc]{margin:2px 0 0;font-size:19px}.admin-header>button[b-dzw3ytm0uc]{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:rgba(255,255,255,.12);font-size:22px;cursor:pointer}.admin-body[b-dzw3ytm0uc]{padding:22px}.admin-status[b-dzw3ytm0uc]{display:flex;flex-direction:column;padding:13px 15px;margin-bottom:16px;border-radius:12px;background:#eaf8f4;color:#166c55}.admin-status.warn[b-dzw3ytm0uc]{background:#fff2df;color:#9b5a00}.admin-status span[b-dzw3ytm0uc]{font-size:11px;margin-top:2px}.admin-grid[b-dzw3ytm0uc]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-grid button[b-dzw3ytm0uc]{display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid #dce8ea;border-radius:15px;background:#fff;text-align:left;cursor:pointer}.admin-grid button:hover[b-dzw3ytm0uc]{border-color:#18a3a1;background:#f3fbfa}.admin-grid b[b-dzw3ytm0uc]{color:#013e57;font-size:14px}.admin-grid span[b-dzw3ytm0uc]{margin-top:4px;color:#74868e;font-size:11px}.admin-back[b-dzw3ytm0uc]{margin-bottom:15px;border:0;background:transparent;color:#087f7d;font-weight:700;cursor:pointer}.admin-create[b-dzw3ytm0uc]{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px;border-radius:14px;background:#f4f9fa}.admin-create input[b-dzw3ytm0uc],.admin-create select[b-dzw3ytm0uc],.admin-user select[b-dzw3ytm0uc]{padding:10px;border:1px solid #d4e0e4;border-radius:9px;background:#fff}.admin-create button[b-dzw3ytm0uc]{border:0;border-radius:9px;background:#18a3a1;color:#fff;font-weight:800;cursor:pointer}.admin-message[b-dzw3ytm0uc]{margin:10px 0;padding:10px;border-radius:9px;background:#eaf8f4;color:#166c55}.admin-user-list[b-dzw3ytm0uc]{margin-top:14px}.admin-user[b-dzw3ytm0uc]{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf2f4}.admin-user>div[b-dzw3ytm0uc]{display:flex;gap:8px;align-items:center}.admin-user>div:first-child[b-dzw3ytm0uc]{flex-direction:column;align-items:flex-start}.admin-user span[b-dzw3ytm0uc]{font-size:10px;color:#788991}.admin-user button[b-dzw3ytm0uc]{padding:9px;border:0;border-radius:8px;background:#eaf8f4;color:#176b56;cursor:pointer}.admin-user button.danger[b-dzw3ytm0uc]{background:#fff0f0;color:#a43c3c}.role-card[b-dzw3ytm0uc],.maintenance-card[b-dzw3ytm0uc]{padding:17px;margin-bottom:11px;border:1px solid #dfe9ec;border-radius:14px}.role-card strong[b-dzw3ytm0uc],.maintenance-card h3[b-dzw3ytm0uc]{color:#013e57}.role-card p[b-dzw3ytm0uc],.maintenance-card p[b-dzw3ytm0uc]{color:#6e818a;font-size:12px}.maintenance-card>span[b-dzw3ytm0uc]{font-size:9px;font-weight:800;letter-spacing:1px;color:#18a3a1}.maintenance-toggle[b-dzw3ytm0uc]{padding:11px 15px;border:0;border-radius:10px;background:#013e57;color:#fff;font-weight:800;cursor:pointer}.maintenance-toggle.on[b-dzw3ytm0uc]{background:#c66b12}.system-grid[b-dzw3ytm0uc]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.system-grid>div[b-dzw3ytm0uc]{display:flex;flex-direction:column;padding:17px;border-radius:14px;background:#f2f8f9}.system-grid span[b-dzw3ytm0uc]{font-size:10px;color:#71838d}.system-grid strong[b-dzw3ytm0uc]{margin-top:4px;color:#013e57}@media(max-width:650px){.admin-overlay[b-dzw3ytm0uc]{padding:0}.admin-modal[b-dzw3ytm0uc]{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.admin-grid[b-dzw3ytm0uc],.admin-create[b-dzw3ytm0uc],.system-grid[b-dzw3ytm0uc]{grid-template-columns:1fr}.admin-user[b-dzw3ytm0uc]{align-items:flex-start;flex-direction:column}.admin-user>div:last-child[b-dzw3ytm0uc]{width:100%}.admin-user select[b-dzw3ytm0uc]{flex:1}}
/* /Components/Shared/DokumentEditor.razor.rz.scp.css */
.document-editor-overlay[b-cb90omfz8i] {
    position: fixed;
    inset: 0;
    z-index: 30000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(0,40,60,.42);
    backdrop-filter: blur(5px);
}

.document-editor-dialog[b-cb90omfz8i] {
    width: min(980px, 100%);
    max-height: calc(100dvh - 44px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: white;
    box-shadow: 0 30px 90px rgba(0,40,60,.30);
}

.document-editor-header[b-cb90omfz8i] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #e5edef;
}

.document-editor-kicker[b-cb90omfz8i] {
    display: block;
    margin-bottom: 4px;
    color: #18a3a1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
}

.document-editor-header h2[b-cb90omfz8i] {
    margin: 0;
    color: #00283c;
    font-size: 23px;
}

.document-editor-header p[b-cb90omfz8i] {
    margin: 5px 0 0;
    color: #71838d;
    font-size: 12px;
}

.document-editor-close[b-cb90omfz8i] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: none;
    border-radius: 50%;
    color: #607982;
    background: #edf3f5;
    font-size: 25px;
    cursor: pointer;
}

.document-editor-body[b-cb90omfz8i] {
    min-height: 0;
    overflow-y: auto;
    padding: 22px 24px 26px;
}

.document-editor-alert[b-cb90omfz8i] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 16px 24px 0;
    padding: 14px 16px;
    border: 1px solid rgba(24,163,161,.28);
    border-radius: 14px;
    background: rgba(24,163,161,.09);
}

.document-editor-alert strong[b-cb90omfz8i] {
    color: #087c7a;
    font-size: 13px;
}

.document-editor-alert span[b-cb90omfz8i],
.document-editor-alert li[b-cb90omfz8i] {
    color: #54727a;
    font-size: 12px;
}

.document-editor-alert ul[b-cb90omfz8i] {
    margin: 5px 0 0;
    padding-left: 18px;
}

.document-editor-grid[b-cb90omfz8i] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.document-editor-field[b-cb90omfz8i] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.document-editor-field.full[b-cb90omfz8i] {
    grid-column: 1 / -1;
}

.document-editor-field label[b-cb90omfz8i] {
    color: #365467;
    font-size: 12px;
    font-weight: 700;
}

.document-editor-field input[b-cb90omfz8i],
.document-editor-field select[b-cb90omfz8i],
.document-editor-field textarea[b-cb90omfz8i] {
    width: 100%;
    border: 1px solid #d5e0e5;
    border-radius: 10px;
    padding: 11px 12px;
    outline: none;
    background: white;
    color: #173b4c;
}

.document-editor-field textarea[b-cb90omfz8i] {
    min-height: 80px;
    resize: vertical;
}

.document-editor-field input:focus[b-cb90omfz8i],
.document-editor-field select:focus[b-cb90omfz8i],
.document-editor-field textarea:focus[b-cb90omfz8i] {
    border-color: #18a3a1;
    box-shadow: 0 0 0 3px rgba(24,163,161,.10);
}

.document-editor-input-suffix[b-cb90omfz8i] {
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
    border: 1px solid #d5e0e5;
    border-radius: 10px;
    background: white;
}

.document-editor-input-suffix input[b-cb90omfz8i] {
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    background: transparent;
}

.document-editor-input-suffix span[b-cb90omfz8i] {
    flex: 0 0 auto;
    padding: 0 12px;
    color: #71838d;
    font-size: 12px;
    white-space: nowrap;
}

.document-editor-section-head[b-cb90omfz8i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 24px 0 12px;
}

.document-editor-section-head > div[b-cb90omfz8i] {
    display: flex;
    flex-direction: column;
}

.document-editor-section-head strong[b-cb90omfz8i] {
    color: #013e57;
    font-size: 15px;
}

.document-editor-section-head span[b-cb90omfz8i] {
    margin-top: 2px;
    color: #81929c;
    font-size: 11px;
}

.document-editor-add-position[b-cb90omfz8i] {
    border: none;
    border-radius: 10px;
    padding: 9px 13px;
    color: white;
    background: #18a3a1;
    font-weight: 700;
    cursor: pointer;
}

.document-position-list[b-cb90omfz8i] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.document-position-card[b-cb90omfz8i] {
    padding: 15px;
    border: 1px solid #e1eaed;
    border-radius: 15px;
    background: #fafcfc;
}

.document-position-top[b-cb90omfz8i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.document-position-top strong[b-cb90omfz8i] {
    color: #365467;
    font-size: 12px;
}

.document-position-remove[b-cb90omfz8i] {
    border: none;
    background: transparent;
    color: #a34a42;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.document-position-grid[b-cb90omfz8i] {
    display: grid;
    grid-template-columns: 2fr .7fr .8fr 1fr 1fr;
    gap: 10px;
    align-items: end;
}

.document-position-grid .full[b-cb90omfz8i] {
    grid-column: 1 / -1;
}

.document-position-total[b-cb90omfz8i] {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 10px;
    background: #edf5f6;
    color: #013e57;
    font-weight: 800;
}

.document-total-card[b-cb90omfz8i] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 16px;
    padding: 17px 18px;
    border-radius: 15px;
    background: #013e57;
}

.document-total-card span[b-cb90omfz8i] {
    color: #a9d9d8;
    font-size: 11px;
}

.document-total-card strong[b-cb90omfz8i] {
    margin-top: 2px;
    color: white;
    font-size: 24px;
}

.document-total-card small[b-cb90omfz8i] {
    margin-top: 5px;
    color: #bcd1d8;
    font-size: 10px;
}

.document-editor-bottom-grid[b-cb90omfz8i] {
    margin-top: 18px;
}

.document-editor-footer[b-cb90omfz8i] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e5edef;
    background: #fafcfc;
}

.document-editor-primary[b-cb90omfz8i],
.document-editor-secondary[b-cb90omfz8i] {
    min-height: 42px;
    padding: 0 17px;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.document-editor-primary[b-cb90omfz8i] {
    color: white;
    background: #18a3a1;
}

.document-editor-secondary[b-cb90omfz8i] {
    color: #365467;
    background: #edf3f5;
}

.document-editor-primary:disabled[b-cb90omfz8i],
.document-editor-secondary:disabled[b-cb90omfz8i] {
    opacity: .6;
    cursor: default;
}

@media (max-width: 850px) {

    .document-editor-overlay[b-cb90omfz8i] {
        align-items: flex-end;
        padding: 0;
    }

    .document-editor-dialog[b-cb90omfz8i] {
        width: 100%;
        max-height: 94dvh;
        border-radius: 22px 22px 0 0;
    }

    .document-editor-header[b-cb90omfz8i] {
        padding: 18px 16px 15px;
    }

    .document-editor-body[b-cb90omfz8i] {
        padding: 16px 14px 22px;
    }

    .document-editor-alert[b-cb90omfz8i] {
        margin: 12px 14px 0;
    }

    .document-position-grid[b-cb90omfz8i] {
        grid-template-columns: 1fr 1fr;
    }

    .document-position-grid .position-name[b-cb90omfz8i],
    .document-position-grid .full[b-cb90omfz8i] {
        grid-column: 1 / -1;
    }

    .document-editor-footer[b-cb90omfz8i] {
        padding:
            12px
            12px
            calc(12px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 520px) {

    .document-editor-grid[b-cb90omfz8i] {
        grid-template-columns: 1fr;
    }

    .document-editor-field.full[b-cb90omfz8i] {
        grid-column: auto;
    }

    .document-position-grid[b-cb90omfz8i] {
        grid-template-columns: 1fr;
    }

    .document-position-grid .position-name[b-cb90omfz8i],
    .document-position-grid .full[b-cb90omfz8i] {
        grid-column: auto;
    }

    .document-editor-section-head[b-cb90omfz8i] {
        align-items: flex-end;
    }

    .document-total-card[b-cb90omfz8i] {
        align-items: stretch;
    }

    .document-editor-footer[b-cb90omfz8i] {
        flex-direction: column-reverse;
    }

    .document-editor-primary[b-cb90omfz8i],
    .document-editor-secondary[b-cb90omfz8i] {
        width: 100%;
    }
}


.position-add-actions[b-cb90omfz8i]{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.position-add-actions button[b-cb90omfz8i],.primary-mini[b-cb90omfz8i]{border:0;border-radius:9px;padding:8px 10px;background:#edf3f5;color:#365467;font-size:10px;font-weight:800;cursor:pointer}
.position-add-actions button:first-child[b-cb90omfz8i],.primary-mini[b-cb90omfz8i]{background:#18a3a1;color:#fff}
.document-position-card.free-text[b-cb90omfz8i]{background:#f8fbfc}
.document-position-top>div:first-child[b-cb90omfz8i]{display:flex;flex-direction:column;gap:2px}
.document-position-top small[b-cb90omfz8i]{color:#81929c;font-size:9px}
.position-card-actions[b-cb90omfz8i]{display:flex;gap:6px}.position-card-actions button[b-cb90omfz8i]{border:0;background:#edf3f5;border-radius:7px;padding:6px 8px;color:#365467;font-size:9px;font-weight:700;cursor:pointer}.position-card-actions .danger[b-cb90omfz8i]{background:#fff0ee;color:#b74c42}
.internal-note[b-cb90omfz8i]{padding:9px 11px;border-radius:9px;background:#fff8e7;border:1px solid #f0dfb5;display:flex;flex-direction:column;gap:3px}.internal-note strong[b-cb90omfz8i]{font-size:9px;color:#8b6c22}.internal-note span[b-cb90omfz8i]{font-size:10px;color:#715d2e}
.document-total-card[b-cb90omfz8i]{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch!important}
.document-total-card>div[b-cb90omfz8i]{display:flex;flex-direction:column;align-items:flex-end}.document-total-card .grand[b-cb90omfz8i]{padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
.subdialog-overlay[b-cb90omfz8i]{position:fixed;inset:0;z-index:33000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,40,60,.48);backdrop-filter:blur(5px)}.subdialog-overlay.top[b-cb90omfz8i]{z-index:34000}
.subdialog[b-cb90omfz8i]{width:min(720px,100%);max-height:88dvh;overflow:auto;background:#fff;border-radius:19px;box-shadow:0 28px 80px rgba(0,40,60,.3)}.subdialog.quick[b-cb90omfz8i]{width:min(650px,100%)}
.subdialog-head[b-cb90omfz8i]{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;border-bottom:1px solid #e5edef}.subdialog-head span[b-cb90omfz8i]{color:#18a3a1;font-size:9px;font-weight:800;letter-spacing:.7px}.subdialog-head h3[b-cb90omfz8i]{margin:3px 0 0;color:#00283c}.subdialog-head button[b-cb90omfz8i]{width:33px;height:33px;border:0;border-radius:50%;background:#edf3f5;color:#607982;font-size:21px;cursor:pointer}
.catalog-toolbar[b-cb90omfz8i]{display:flex;gap:9px;padding:14px 16px}.catalog-toolbar input[b-cb90omfz8i]{flex:1;border:1px solid #d5e0e5;border-radius:9px;padding:9px 11px}
.catalog-list[b-cb90omfz8i]{padding:0 12px 14px}.catalog-item[b-cb90omfz8i]{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:0;border-bottom:1px solid #edf2f4;background:#fff;text-align:left;cursor:pointer}.catalog-item:hover[b-cb90omfz8i]{background:#f5f9fa}.catalog-item>div[b-cb90omfz8i]{display:flex;flex-direction:column;gap:3px}.catalog-item strong[b-cb90omfz8i]{color:#00283c}.catalog-item span[b-cb90omfz8i]{color:#81929c;font-size:10px}.catalog-item-price[b-cb90omfz8i]{align-items:flex-end}
.quick-grid[b-cb90omfz8i]{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:17px}.quick-grid label[b-cb90omfz8i]{display:flex;flex-direction:column;gap:5px;color:#365467;font-size:10px;font-weight:700}.quick-grid .full[b-cb90omfz8i]{grid-column:1/-1}.quick-grid input[b-cb90omfz8i],.quick-grid select[b-cb90omfz8i],.quick-grid textarea[b-cb90omfz8i]{width:100%;box-sizing:border-box;border:1px solid #d5e0e5;border-radius:9px;padding:9px 10px}.quick-grid textarea[b-cb90omfz8i]{min-height:65px}
.subdialog-actions[b-cb90omfz8i]{display:flex;justify-content:flex-end;gap:8px;padding:13px 16px;border-top:1px solid #e5edef}.subdialog-actions button[b-cb90omfz8i]{border:0;border-radius:9px;padding:9px 12px;background:#edf3f5;color:#365467;font-weight:700;cursor:pointer}.subdialog-actions .primary-mini[b-cb90omfz8i]{background:#18a3a1;color:#fff}
@media(max-width:650px){.position-add-actions[b-cb90omfz8i]{width:100%;justify-content:flex-start}.document-editor-section-head[b-cb90omfz8i]{align-items:flex-start;flex-direction:column}.document-total-card[b-cb90omfz8i]{grid-template-columns:1fr}.document-total-card>div[b-cb90omfz8i]{align-items:flex-start}.document-total-card .grand[b-cb90omfz8i]{padding-left:0;padding-top:8px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.subdialog-overlay[b-cb90omfz8i]{align-items:flex-end;padding:0}.subdialog[b-cb90omfz8i],.subdialog.quick[b-cb90omfz8i]{width:100%;border-radius:20px 20px 0 0}.quick-grid[b-cb90omfz8i]{grid-template-columns:1fr}.quick-grid .full[b-cb90omfz8i]{grid-column:auto}}

/* FCC 0.2 PDF preview */
.document-preview-overlay[b-cb90omfz8i] { position:fixed; inset:0; z-index:32000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(0,27,41,.72); }
.document-preview-dialog[b-cb90omfz8i] { width:min(1120px,96vw); height:min(900px,94vh); display:flex; flex-direction:column; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.document-preview-head[b-cb90omfz8i] { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background:linear-gradient(90deg,#013e57,#18a3a1); color:#fff; }
.document-preview-head > div:first-child[b-cb90omfz8i] { display:flex; flex-direction:column; }
.document-preview-head span[b-cb90omfz8i] { font-size:9px; letter-spacing:1px; opacity:.8; }
.document-preview-head strong[b-cb90omfz8i] { font-size:15px; }
.document-preview-actions[b-cb90omfz8i] { display:flex; gap:8px; align-items:center; }
.document-preview-actions button[b-cb90omfz8i] { border:1px solid rgba(255,255,255,.35); border-radius:9px; padding:8px 11px; color:#fff; background:rgba(255,255,255,.12); cursor:pointer; }
.document-preview-actions .save[b-cb90omfz8i] { background:#fff; color:#013e57; font-weight:800; }
.document-preview-actions .close[b-cb90omfz8i] { width:36px; font-size:20px; padding:5px; }
.document-preview-frame[b-cb90omfz8i] { width:100%; flex:1; border:0; background:#e9eef0; }
.document-preview-dialog.fullscreen[b-cb90omfz8i] { position:fixed; inset:0; z-index:33000; width:100vw; height:100vh; max-width:none; max-height:none; border-radius:0; }
@media(max-width:700px){.document-preview-overlay[b-cb90omfz8i]{padding:0}.document-preview-dialog[b-cb90omfz8i]{width:100vw;height:100dvh;border-radius:0}.document-preview-head[b-cb90omfz8i]{align-items:flex-start}.document-preview-actions[b-cb90omfz8i]{flex-wrap:wrap;justify-content:flex-end}.document-preview-actions button[b-cb90omfz8i]{font-size:11px;padding:7px}}


/* =========================================================
   CORE 0.2.1 - INPUT SUFFIX HARDENING
   ========================================================= */

.document-editor-input-suffix[b-cb90omfz8i] {
    box-sizing: border-box;
}

.document-editor-input-suffix input[b-cb90omfz8i] {
    box-sizing: border-box;
    height: 100%;
    padding-right: 6px;
}

.document-editor-input-suffix span[b-cb90omfz8i] {
    min-width: max-content;
    border-left: 1px solid #e3ebee;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* FCC 1.3.1 wizard */
.document-editor-dialog[b-cb90omfz8i]{width:min(980px,calc(100vw - 32px))!important;max-height:94dvh!important;display:flex;flex-direction:column;overflow:hidden!important}.document-wizard-steps[b-cb90omfz8i]{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 24px;border-bottom:1px solid #e1eaec;background:#fbfdfd}.wizard-step[b-cb90omfz8i]{display:flex;align-items:center;gap:8px;color:#8a9ba0;font-size:12px;min-width:0}.wizard-step b[b-cb90omfz8i]{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6edef;color:#60767d}.wizard-step.active[b-cb90omfz8i]{color:#013e57;font-weight:800}.wizard-step.active b[b-cb90omfz8i],.wizard-step.done b[b-cb90omfz8i]{background:#18a3a1;color:#fff}.wizard-body[b-cb90omfz8i]{overflow:auto!important;min-height:0;flex:1;padding:22px 24px!important}.wizard-panel>h3[b-cb90omfz8i]{margin:3px 0 18px;color:#013e57;font-size:22px}.wizard-kicker[b-cb90omfz8i]{color:#18a3a1;font-size:11px;font-weight:900;letter-spacing:.08em}.wizard-customer[b-cb90omfz8i]{padding:13px 15px;background:#eef8f7;border:1px solid #c7e7e5;border-radius:13px;display:grid;gap:2px}.wizard-customer strong[b-cb90omfz8i]{color:#013e57}.wizard-customer span[b-cb90omfz8i],.wizard-customer small[b-cb90omfz8i]{color:#60777f}.wizard-review-grid[b-cb90omfz8i]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wizard-review-grid>div[b-cb90omfz8i]{display:grid;gap:4px;padding:14px;border:1px solid #dce7e9;border-radius:13px;background:#f9fbfb}.wizard-review-grid span[b-cb90omfz8i]{font-size:11px;color:#758a91}.wizard-review-grid strong[b-cb90omfz8i]{color:#013e57}.wizard-preview-button[b-cb90omfz8i]{margin-top:18px;border:1px solid #18a3a1;background:#eaf8f7;color:#087f7e;padding:12px 16px;border-radius:12px;font-weight:800}.wizard-footer[b-cb90omfz8i]{flex:0 0 auto!important}.wizard-footer-right[b-cb90omfz8i]{display:flex;gap:9px;margin-left:auto}
@media(max-width:700px){.document-editor-overlay[b-cb90omfz8i]{padding:0!important;align-items:stretch!important}.document-editor-dialog[b-cb90omfz8i]{width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.document-editor-header[b-cb90omfz8i]{padding:14px 16px!important}.document-editor-header h2[b-cb90omfz8i]{font-size:20px!important}.document-editor-header p[b-cb90omfz8i]{display:none}.document-wizard-steps[b-cb90omfz8i]{padding:9px 12px;gap:4px}.wizard-step[b-cb90omfz8i]{justify-content:center}.wizard-step span[b-cb90omfz8i]{display:none}.wizard-step b[b-cb90omfz8i]{width:28px;height:28px}.wizard-body[b-cb90omfz8i]{padding:16px!important}.document-editor-grid[b-cb90omfz8i],.document-position-grid[b-cb90omfz8i],.document-editor-bottom-grid[b-cb90omfz8i],.wizard-review-grid[b-cb90omfz8i]{grid-template-columns:1fr!important}.document-editor-field[b-cb90omfz8i],.document-editor-field.full[b-cb90omfz8i],.position-name[b-cb90omfz8i]{grid-column:1!important;width:100%!important;min-width:0!important}.position-add-actions[b-cb90omfz8i]{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.position-add-actions button[b-cb90omfz8i]{width:100%;min-width:0}.document-position-card[b-cb90omfz8i]{padding:12px!important}.document-position-top[b-cb90omfz8i]{align-items:flex-start!important;gap:8px}.position-card-actions[b-cb90omfz8i]{flex-wrap:wrap;justify-content:flex-end}.document-total-card[b-cb90omfz8i]{width:100%!important}.wizard-footer[b-cb90omfz8i]{padding:10px 12px!important;gap:8px}.wizard-footer-right[b-cb90omfz8i]{flex:1;justify-content:flex-end}.wizard-footer button[b-cb90omfz8i]{min-height:44px;padding:9px 12px!important}.document-editor-input-suffix[b-cb90omfz8i]{width:100%}.document-editor-input-suffix input[b-cb90omfz8i]{min-width:0;width:100%}}
/* /Shared/DokumentEditor.razor.rz.scp.css */
.document-editor-overlay[b-n0mtq0xx3z] {
    position: fixed;
    inset: 0;
    z-index: 30000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(0,40,60,.42);
    backdrop-filter: blur(5px);
}

.document-editor-dialog[b-n0mtq0xx3z] {
    width: min(980px, 100%);
    max-height: calc(100dvh - 44px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: white;
    box-shadow: 0 30px 90px rgba(0,40,60,.30);
}

.document-editor-header[b-n0mtq0xx3z] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #e5edef;
}

.document-editor-kicker[b-n0mtq0xx3z] {
    display: block;
    margin-bottom: 4px;
    color: #18a3a1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
}

.document-editor-header h2[b-n0mtq0xx3z] {
    margin: 0;
    color: #00283c;
    font-size: 23px;
}

.document-editor-header p[b-n0mtq0xx3z] {
    margin: 5px 0 0;
    color: #71838d;
    font-size: 12px;
}

.document-editor-close[b-n0mtq0xx3z] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: none;
    border-radius: 50%;
    color: #607982;
    background: #edf3f5;
    font-size: 25px;
    cursor: pointer;
}

.document-editor-body[b-n0mtq0xx3z] {
    min-height: 0;
    overflow-y: auto;
    padding: 22px 24px 26px;
}

.document-editor-alert[b-n0mtq0xx3z] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 16px 24px 0;
    padding: 14px 16px;
    border: 1px solid rgba(24,163,161,.28);
    border-radius: 14px;
    background: rgba(24,163,161,.09);
}

.document-editor-alert strong[b-n0mtq0xx3z] {
    color: #087c7a;
    font-size: 13px;
}

.document-editor-alert span[b-n0mtq0xx3z],
.document-editor-alert li[b-n0mtq0xx3z] {
    color: #54727a;
    font-size: 12px;
}

.document-editor-alert ul[b-n0mtq0xx3z] {
    margin: 5px 0 0;
    padding-left: 18px;
}

.document-editor-grid[b-n0mtq0xx3z] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.document-editor-field[b-n0mtq0xx3z] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.document-editor-field.full[b-n0mtq0xx3z] {
    grid-column: 1 / -1;
}

.document-editor-field label[b-n0mtq0xx3z] {
    color: #365467;
    font-size: 12px;
    font-weight: 700;
}

.document-editor-field input[b-n0mtq0xx3z],
.document-editor-field select[b-n0mtq0xx3z],
.document-editor-field textarea[b-n0mtq0xx3z] {
    width: 100%;
    border: 1px solid #d5e0e5;
    border-radius: 10px;
    padding: 11px 12px;
    outline: none;
    background: white;
    color: #173b4c;
}

.document-editor-field textarea[b-n0mtq0xx3z] {
    min-height: 80px;
    resize: vertical;
}

.document-editor-field input:focus[b-n0mtq0xx3z],
.document-editor-field select:focus[b-n0mtq0xx3z],
.document-editor-field textarea:focus[b-n0mtq0xx3z] {
    border-color: #18a3a1;
    box-shadow: 0 0 0 3px rgba(24,163,161,.10);
}

.document-editor-input-suffix[b-n0mtq0xx3z] {
    display: flex;
    align-items: center;
    border: 1px solid #d5e0e5;
    border-radius: 10px;
    background: white;
}

.document-editor-input-suffix input[b-n0mtq0xx3z] {
    min-width: 0;
    flex: 1;
    border: none;
    box-shadow: none !important;
}

.document-editor-input-suffix span[b-n0mtq0xx3z] {
    padding-right: 12px;
    color: #71838d;
    font-size: 12px;
}

.document-editor-section-head[b-n0mtq0xx3z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 24px 0 12px;
}

.document-editor-section-head > div[b-n0mtq0xx3z] {
    display: flex;
    flex-direction: column;
}

.document-editor-section-head strong[b-n0mtq0xx3z] {
    color: #013e57;
    font-size: 15px;
}

.document-editor-section-head span[b-n0mtq0xx3z] {
    margin-top: 2px;
    color: #81929c;
    font-size: 11px;
}

.document-editor-add-position[b-n0mtq0xx3z] {
    border: none;
    border-radius: 10px;
    padding: 9px 13px;
    color: white;
    background: #18a3a1;
    font-weight: 700;
    cursor: pointer;
}

.document-position-list[b-n0mtq0xx3z] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.document-position-card[b-n0mtq0xx3z] {
    padding: 15px;
    border: 1px solid #e1eaed;
    border-radius: 15px;
    background: #fafcfc;
}

.document-position-top[b-n0mtq0xx3z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.document-position-top strong[b-n0mtq0xx3z] {
    color: #365467;
    font-size: 12px;
}

.document-position-remove[b-n0mtq0xx3z] {
    border: none;
    background: transparent;
    color: #a34a42;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.document-position-grid[b-n0mtq0xx3z] {
    display: grid;
    grid-template-columns: 2fr .7fr .8fr 1fr 1fr;
    gap: 10px;
    align-items: end;
}

.document-position-grid .full[b-n0mtq0xx3z] {
    grid-column: 1 / -1;
}

.document-position-total[b-n0mtq0xx3z] {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 10px;
    background: #edf5f6;
    color: #013e57;
    font-weight: 800;
}

.document-total-card[b-n0mtq0xx3z] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 16px;
    padding: 17px 18px;
    border-radius: 15px;
    background: #013e57;
}

.document-total-card span[b-n0mtq0xx3z] {
    color: #a9d9d8;
    font-size: 11px;
}

.document-total-card strong[b-n0mtq0xx3z] {
    margin-top: 2px;
    color: white;
    font-size: 24px;
}

.document-total-card small[b-n0mtq0xx3z] {
    margin-top: 5px;
    color: #bcd1d8;
    font-size: 10px;
}

.document-editor-bottom-grid[b-n0mtq0xx3z] {
    margin-top: 18px;
}

.document-editor-footer[b-n0mtq0xx3z] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e5edef;
    background: #fafcfc;
}

.document-editor-primary[b-n0mtq0xx3z],
.document-editor-secondary[b-n0mtq0xx3z] {
    min-height: 42px;
    padding: 0 17px;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.document-editor-primary[b-n0mtq0xx3z] {
    color: white;
    background: #18a3a1;
}

.document-editor-secondary[b-n0mtq0xx3z] {
    color: #365467;
    background: #edf3f5;
}

.document-editor-primary:disabled[b-n0mtq0xx3z],
.document-editor-secondary:disabled[b-n0mtq0xx3z] {
    opacity: .6;
    cursor: default;
}

@media (max-width: 850px) {

    .document-editor-overlay[b-n0mtq0xx3z] {
        align-items: flex-end;
        padding: 0;
    }

    .document-editor-dialog[b-n0mtq0xx3z] {
        width: 100%;
        max-height: 94dvh;
        border-radius: 22px 22px 0 0;
    }

    .document-editor-header[b-n0mtq0xx3z] {
        padding: 18px 16px 15px;
    }

    .document-editor-body[b-n0mtq0xx3z] {
        padding: 16px 14px 22px;
    }

    .document-editor-alert[b-n0mtq0xx3z] {
        margin: 12px 14px 0;
    }

    .document-position-grid[b-n0mtq0xx3z] {
        grid-template-columns: 1fr 1fr;
    }

    .document-position-grid .position-name[b-n0mtq0xx3z],
    .document-position-grid .full[b-n0mtq0xx3z] {
        grid-column: 1 / -1;
    }

    .document-editor-footer[b-n0mtq0xx3z] {
        padding:
            12px
            12px
            calc(12px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 520px) {

    .document-editor-grid[b-n0mtq0xx3z] {
        grid-template-columns: 1fr;
    }

    .document-editor-field.full[b-n0mtq0xx3z] {
        grid-column: auto;
    }

    .document-position-grid[b-n0mtq0xx3z] {
        grid-template-columns: 1fr;
    }

    .document-position-grid .position-name[b-n0mtq0xx3z],
    .document-position-grid .full[b-n0mtq0xx3z] {
        grid-column: auto;
    }

    .document-editor-section-head[b-n0mtq0xx3z] {
        align-items: flex-end;
    }

    .document-total-card[b-n0mtq0xx3z] {
        align-items: stretch;
    }

    .document-editor-footer[b-n0mtq0xx3z] {
        flex-direction: column-reverse;
    }

    .document-editor-primary[b-n0mtq0xx3z],
    .document-editor-secondary[b-n0mtq0xx3z] {
        width: 100%;
    }
}
